/* Social Wall Pro compatibility layer over the POLLME shared stylesheet. */
:root {
  --swp-primary: #00aaec;
  --swp-secondary: #eb6600;
  --screen-display-aspect-width: 16;
  --screen-display-aspect-height: 9;
  --screen-display-aspect-ratio: 16 / 9;
}

/* Simplified new-event flow */
.swp-edit-event-nav {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 12px;
  margin-bottom: 14px;
  padding: 11px 16px;
  border: 1px solid rgba(var(--branding-primary-rgb), .14);
  border-radius: 16px;
  background: rgba(255,255,255,.86);
  box-shadow: 0 10px 28px rgba(15,23,42,.05);
}

.swp-edit-event-context {
  display: grid;
  min-width: 0;
  justify-items: start;
  gap: 1px;
  text-align: left;
}

.swp-edit-event-context span {
  color: var(--muted);
  font-size: .64rem;
  font-weight: 600;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.swp-edit-event-context strong {
  max-width: min(46vw, 420px);
  overflow: hidden;
  color: var(--text);
  font-size: .84rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}

html.swp-theme-dark .swp-edit-event-nav {
  border-color: rgba(255,255,255,.1);
  background: rgba(255,255,255,.045);
}

.swp-new-event-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 320px;
  align-items: start;
  gap: 18px;
}

@media (max-width: 520px) {
  .swp-edit-event-nav {
    align-items: stretch;
    flex-direction: column;
  }

  .swp-edit-event-context {
    justify-items: start;
    text-align: left;
  }

  .swp-edit-event-context strong {
    max-width: 100%;
  }
}

.swp-new-event-main,
.swp-new-event-side {
  display: grid;
  gap: 14px;
}

.swp-new-event-card {
  padding: clamp(20px, 2.6vw, 30px);
  border: 1px solid rgba(var(--branding-primary-rgb), .1);
  border-radius: 24px;
  box-shadow: 0 16px 44px rgba(15,23,42,.065);
}

.swp-new-event-identity-card,
.swp-new-event-wall-card {
  position: relative;
  overflow: hidden;
}

.swp-new-event-identity-card::before,
.swp-new-event-wall-card::before {
  content: "";
  position: absolute;
  top: -90px;
  right: -80px;
  width: 250px;
  height: 250px;
  pointer-events: none;
  border-radius: 999px;
  background: radial-gradient(circle, rgba(var(--branding-primary-rgb), .1), transparent 68%);
}

.swp-new-event-identity-card > :not(.swp-identity-clipart),
.swp-new-event-wall-card > :not(.swp-wall-config-clipart) {
  position: relative;
  z-index: 1;
}

.swp-identity-clipart,
.swp-wall-config-clipart {
  position: absolute;
  z-index: 0;
  top: 24px;
  right: 30px;
  width: 180px;
  height: 92px;
  pointer-events: none;
}

.swp-new-event-identity-card .swp-new-event-step,
.swp-new-event-wall-card .swp-new-event-step {
  padding-right: 0;
}

.swp-identity-art-logo,
.swp-identity-art-type,
.swp-identity-art-colors,
.swp-identity-art-spark {
  position: absolute;
  display: grid;
  place-items: center;
  border: 1px solid rgba(var(--branding-primary-rgb), .12);
  background: rgba(255,255,255,.94);
  box-shadow: 0 14px 34px rgba(15,23,42,.1);
}

.swp-identity-art-logo {
  left: 2px;
  bottom: 6px;
  width: 64px;
  height: 58px;
  border-radius: 19px;
  color: var(--accent-2);
  background:
    linear-gradient(rgba(var(--branding-primary-rgb), .045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(var(--branding-primary-rgb), .045) 1px, transparent 1px),
    #fff;
  background-size: 14px 14px;
  font-size: 1.35rem;
  transform: rotate(-6deg);
}

.swp-identity-art-type {
  left: 58px;
  top: 3px;
  width: 76px;
  height: 66px;
  align-content: center;
  border-radius: 20px;
  transform: rotate(4deg);
}

.swp-identity-art-type strong {
  color: var(--text);
  font-family: Georgia, serif;
  font-size: 1.45rem;
  line-height: 1;
}

.swp-identity-art-type small {
  margin-top: 3px;
  color: var(--muted);
  font-size: .58rem;
  font-weight: 600;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.swp-identity-art-colors {
  right: 0;
  bottom: 2px;
  width: 58px;
  height: 32px;
  grid-template-columns: repeat(3, 12px);
  gap: 4px;
  border-radius: 13px;
}

.swp-identity-art-colors i {
  width: 12px;
  height: 12px;
  border-radius: 999px;
  background: var(--btn-primary);
}

.swp-identity-art-colors i:nth-child(2) {
  background: var(--btn-secondary);
}

.swp-identity-art-colors i:nth-child(3) {
  background: #10b981;
}

.swp-identity-art-spark {
  top: 0;
  right: 5px;
  width: 34px;
  height: 34px;
  border-radius: 12px;
  color: var(--btn-secondary);
  transform: rotate(9deg);
}

.swp-wall-config-clipart {
  top: 20px;
  height: 105px;
}

.swp-wall-art-screen {
  position: relative;
  width: 158px;
  height: 88px;
  display: grid;
  grid-template-columns: 1.25fr .75fr;
  grid-template-rows: repeat(2, 1fr);
  gap: 5px;
  padding: 13px 8px 8px;
  overflow: hidden;
  border: 6px solid #1e293b;
  border-radius: 16px;
  background: linear-gradient(135deg, #e9f8fe, #fff5ed);
  box-shadow: 0 18px 38px rgba(15,23,42,.16);
  transform: rotate(2deg);
}

.swp-wall-art-live {
  position: absolute;
  z-index: 2;
  top: 4px;
  left: 8px;
  display: inline-flex;
  align-items: center;
  gap: 3px;
  color: #047857;
  font-size: .45rem;
  font-weight: 600;
  letter-spacing: .08em;
}

.swp-wall-art-live i {
  width: 5px;
  height: 5px;
  border-radius: 999px;
  background: #10b981;
  box-shadow: 0 0 0 3px rgba(16,185,129,.12);
}

.swp-wall-art-card {
  display: grid;
  place-items: center;
  overflow: hidden;
  border-radius: 7px;
  color: var(--accent-2);
  background: #fff;
  box-shadow: 0 4px 10px rgba(15,23,42,.07);
}

.swp-wall-art-card.is-photo {
  grid-row: 1 / 3;
  background: linear-gradient(145deg, rgba(var(--branding-primary-rgb), .22), rgba(var(--branding-secondary-rgb), .13));
  font-size: 1.25rem;
}

.swp-wall-art-card.is-copy {
  align-content: center;
  justify-items: start;
  gap: 4px;
  padding: 7px;
}

.swp-wall-art-card.is-copy b {
  width: 100%;
  height: 3px;
  border-radius: 99px;
  background: #dbe5ef;
}

.swp-wall-art-card.is-copy b:nth-child(2) {
  width: 76%;
}

.swp-wall-art-card.is-copy b:nth-child(3) {
  width: 46%;
}

.swp-wall-art-card.is-accent {
  color: #fff;
  background: linear-gradient(135deg, var(--btn-secondary), var(--btn-secondary-2));
}

.swp-wall-art-stand {
  position: absolute;
  left: 60px;
  bottom: 0;
  width: 45px;
  height: 13px;
  border-bottom: 5px solid #64748b;
}

.swp-wall-art-stand::before {
  content: "";
  position: absolute;
  top: -2px;
  left: 50%;
  width: 7px;
  height: 12px;
  background: #475569;
  transform: translateX(-50%);
}

.swp-new-event-step {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  align-items: center;
  gap: 12px;
  margin-bottom: 18px;
}

.swp-new-event-step > span {
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  border-radius: 14px;
  color: #fff;
  background: linear-gradient(135deg, var(--btn-primary), var(--btn-primary-2));
  box-shadow: 0 12px 24px var(--btn-shadow);
  font-size: 1rem;
  font-weight: 600;
}

.swp-new-event-step h2,
.swp-new-event-todo h2 {
  margin: 0;
  color: var(--text);
  font-size: 1.32rem;
  font-weight: 600;
  letter-spacing: -.015em;
}

.swp-new-event-step p {
  margin: 3px 0 0;
  color: var(--muted);
}

.swp-new-event-fields {
  display: grid;
  grid-template-columns: 1.35fr 1fr;
  gap: 14px;
}

.swp-new-event-personalize-head {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  align-items: center;
  gap: 12px;
  margin-top: 4px;
  padding-top: 18px;
  border-top: 1px solid rgba(var(--branding-primary-rgb), .1);
}

.swp-new-event-personalize-head > span {
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  border-radius: 14px;
  color: var(--accent-2);
  background: rgba(var(--branding-primary-rgb), .09);
  font-size: 1.1rem;
}

.swp-new-event-personalize-head h3,
.swp-new-event-personalize-head p {
  margin: 0;
}

.swp-new-event-personalize-head h3 {
  color: var(--text);
  font-size: 1.12rem;
  font-weight: 600;
}

.swp-new-event-personalize-head p {
  margin-top: 2px;
  color: var(--muted);
  font-size: .84rem;
}

.swp-new-event-logo-upload {
  min-height: 164px;
  display: grid;
  place-items: center;
  align-content: center;
  gap: 8px;
  padding: 16px;
  cursor: pointer;
  text-align: center;
  border: 1px dashed rgba(var(--branding-primary-rgb), .34);
  border-radius: 20px;
  color: var(--accent-2);
  background:
    radial-gradient(circle at 50% 0, rgba(var(--branding-primary-rgb), .11), transparent 46%),
    rgba(var(--branding-primary-rgb), .035);
  transition: border-color .2s ease, transform .2s ease, background .2s ease;
}

.swp-new-event-logo-upload:hover {
  transform: translateY(-2px);
  border-color: var(--accent);
  background-color: rgba(var(--branding-primary-rgb), .07);
}

.swp-new-event-logo-preview-frame {
  width: min(100%, 190px);
  height: 72px;
  display: grid;
  place-items: center;
  overflow: hidden;
  border: 1px solid rgba(var(--branding-primary-rgb), .11);
  border-radius: 17px;
  background:
    linear-gradient(rgba(var(--branding-primary-rgb), .045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(var(--branding-primary-rgb), .045) 1px, transparent 1px),
    rgba(255,255,255,.7);
  background-size: 18px 18px;
  transition: width .2s ease, height .2s ease, background .2s ease;
}

.swp-new-event-logo-preview-frame > i,
.swp-new-event-logo-preview-frame > img {
  grid-area: 1 / 1;
}

.swp-new-event-logo-preview-frame > i {
  font-size: 2rem;
}

.swp-new-event-logo-preview-frame > img {
  display: block;
  width: 100%;
  height: 100%;
  padding: 9px;
  object-fit: contain;
}

.swp-new-event-logo-preview-frame > img[hidden] {
  display: none;
}

.swp-new-event-logo-upload.has-preview .swp-new-event-logo-preview-frame {
  border-style: solid;
  background: #fff;
  box-shadow: 0 10px 24px rgba(15,23,42,.08);
}

.swp-new-event-logo-upload strong,
.swp-new-event-logo-upload small {
  display: block;
}

.swp-new-event-logo-upload strong {
  color: var(--text);
  font-size: .95rem;
}

.swp-new-event-logo-upload small {
  margin-top: 3px;
  color: var(--muted);
  font-size: .74rem;
}

.swp-new-event-brand-options {
  display: grid;
  gap: 8px;
}

/* Keep the opening step dense: the following wall and access choices carry the detail. */
.swp-new-event-form .swp-new-event-identity-card {
  padding-block: 20px;
}

.swp-new-event-form .swp-new-event-identity-card .swp-new-event-step {
  margin-bottom: 12px;
}

.swp-new-event-form .swp-new-event-identity-card .swp-new-event-fields {
  grid-template-columns: 1fr;
  gap: 10px 12px;
}

.swp-new-event-form .swp-new-event-identity-card .swp-new-event-logo-field,
.swp-new-event-form .swp-new-event-identity-card .swp-new-event-brand-options {
  grid-column: 1 / -1;
}

.swp-new-event-form .swp-new-event-identity-card textarea.form-control {
  min-height: 76px;
}

.swp-new-event-form .swp-new-event-identity-card .swp-new-event-logo-upload {
  min-height: 82px;
  grid-template-columns: 142px minmax(0, 1fr);
  place-items: center start;
  align-content: stretch;
  gap: 14px;
  padding: 10px 14px;
  text-align: left;
}

.swp-new-event-form .swp-new-event-identity-card .swp-new-event-logo-preview-frame {
  width: 142px;
  height: 56px;
}

.swp-new-event-form .swp-new-event-identity-card .swp-new-event-brand-options {
  grid-template-columns: minmax(190px, 1.25fr) repeat(2, minmax(150px, 1fr));
  align-items: end;
  gap: 10px;
}

.swp-new-event-form .swp-new-event-identity-card .swp-new-event-font-field {
  margin-top: 0;
}

.swp-new-event-color-row {
  min-height: 54px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 42px;
  align-items: center;
  gap: 12px;
  padding: 8px 9px 8px 14px;
  border: 1px solid #dbe5ef;
  border-radius: 15px;
  background: #fbfdff;
}

.swp-new-event-color-copy {
  min-width: 0;
}

.swp-new-event-color-row label {
  display: block;
  margin: 0;
  cursor: text;
}

.swp-new-event-color-row span {
  color: var(--ink-soft);
  font-size: .8rem;
  font-weight: 600;
}

.swp-new-event-hex-input {
  display: block;
  width: 100%;
  min-width: 0;
  margin-top: 1px;
  padding: 0;
  border: 0;
  outline: 0;
  color: var(--muted);
  background: transparent;
  font-size: .72rem;
  font-family: "IBM Plex Mono", "SFMono-Regular", Consolas, monospace;
  font-weight: 600;
  letter-spacing: .02em;
  text-transform: uppercase;
}

.swp-new-event-hex-input:focus {
  color: var(--text);
}

.swp-new-event-color-row:focus-within {
  border-color: rgba(var(--branding-primary-rgb), .46);
  box-shadow: 0 0 0 3px rgba(var(--branding-primary-rgb), .1);
}

.swp-new-event-color-row:has(.swp-new-event-hex-input:invalid) {
  border-color: rgba(220, 38, 38, .52);
}

.swp-new-event-color-row input[type="color"] {
  width: 42px;
  height: 42px;
  padding: 3px;
  cursor: pointer;
  border: 0;
  border-radius: 12px;
  background: transparent;
}

.swp-new-event-color-row input[type="color"]::-webkit-color-swatch {
  border: 0;
  border-radius: 10px;
}

.swp-new-event-font-field {
  margin-top: 2px;
}

.swp-new-event-font-field .form-label {
  margin-bottom: 5px;
}

.swp-new-event-font-field > small {
  display: block;
  margin-top: 5px;
  color: var(--muted);
  font-size: .72rem;
}

.swp-new-event-wall-card {
  gap: 0;
}

.swp-wall-choice-section + .swp-wall-choice-section,
.swp-banned-words-block {
  margin-top: 18px;
  padding-top: 18px;
  border-top: 1px solid rgba(var(--branding-primary-rgb), .1);
}

.swp-wall-choice-head {
  margin-bottom: 11px;
}

.swp-wall-choice-head h3,
.swp-wall-choice-head p,
.swp-banned-words-status h3,
.swp-banned-words-status p {
  margin: 0;
}

.swp-wall-choice-head h3,
.swp-banned-words-status h3 {
  color: var(--text);
  font-size: 1.02rem;
  font-weight: 600;
}

.swp-wall-choice-head p {
  margin-top: 3px;
  color: var(--muted);
  font-size: .82rem;
}

.swp-reaction-config {
  margin-top: 12px !important;
  padding-top: 12px !important;
}

.swp-reaction-config .swp-wall-choice-head {
  margin-bottom: 7px;
}

.swp-reaction-intro {
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr) auto;
  align-items: start;
  gap: 10px;
}

.swp-reaction-intro-copy {
  min-width: 0;
}

.swp-reaction-count-badge {
  align-self: start;
  min-width: 38px;
  margin-top: 1px;
  padding: 4px 7px;
  font-size: .66rem;
  line-height: 1.1;
  white-space: nowrap;
}

.swp-reaction-intro-icon {
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(var(--branding-primary-rgb), .14);
  border-radius: 12px;
  color: var(--accent-2);
  background: rgba(var(--branding-primary-rgb), .08);
  font-size: 1rem;
}

.swp-reaction-intro-kicker {
  display: block;
  margin-bottom: 2px;
  color: var(--accent-2);
  font-size: .6rem;
  line-height: 1;
  font-weight: 600;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.swp-reaction-config .swp-wall-choice-head h3 {
  font-size: .94rem;
}

.swp-reaction-config .swp-wall-choice-head p {
  margin-top: 1px;
  font-size: .74rem;
  line-height: 1.22;
}

.swp-wall-layout-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}

.swp-monitor-config-grid {
  display: grid;
  grid-template-columns: minmax(220px, .9fr) minmax(280px, 1.1fr);
  align-items: stretch;
  gap: 18px;
  padding: 16px;
  border: 1px solid rgba(var(--branding-primary-rgb), .1);
  border-radius: 22px;
  background:
    radial-gradient(circle at 0 0, rgba(var(--branding-primary-rgb), .09), transparent 38%),
    #fbfdff;
}

.swp-monitor-preview-wrap {
  min-height: 230px;
  display: grid;
  place-items: center;
  padding: 16px;
  overflow: hidden;
  border-radius: 18px;
  background:
    linear-gradient(rgba(var(--branding-primary-rgb), .035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(var(--branding-primary-rgb), .035) 1px, transparent 1px),
    rgba(var(--branding-primary-rgb), .035);
  background-size: 22px 22px;
}

.swp-monitor-preview {
  width: min(100%, 260px, calc(178px * var(--preview-aspect-width) / var(--preview-aspect-height)));
  display: grid;
  justify-items: center;
  transition: width .25s ease;
}

.swp-monitor-preview-screen {
  width: 100%;
  max-height: 178px;
  aspect-ratio: var(--preview-aspect-width) / var(--preview-aspect-height);
  display: grid;
  place-items: center;
  align-content: center;
  gap: 5px;
  overflow: hidden;
  padding: 12px;
  border: 7px solid #1e293b;
  border-radius: 13px;
  color: #fff;
  text-align: center;
  background:
    radial-gradient(circle at 20% 10%, rgba(255,255,255,.24), transparent 34%),
    linear-gradient(135deg, var(--btn-primary-2), var(--btn-primary), var(--btn-secondary));
  box-shadow: 0 18px 36px rgba(15,23,42,.18);
  transition: aspect-ratio .25s ease;
}

.swp-monitor-preview-screen > span {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 4px 7px;
  border-radius: 999px;
  background: rgba(255,255,255,.16);
  font-size: .58rem;
  font-weight: 600;
  letter-spacing: .08em;
}

.swp-monitor-preview-screen strong {
  font-size: clamp(.95rem, 2vw, 1.35rem);
  line-height: 1;
}

.swp-monitor-preview-screen small {
  color: rgba(255,255,255,.78);
  font-size: .62rem;
}

.swp-monitor-preview-stand {
  position: relative;
  width: 46px;
  height: 17px;
  border-bottom: 6px solid #64748b;
}

.swp-monitor-preview-stand::before {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  width: 8px;
  height: 13px;
  border-radius: 0 0 3px 3px;
  background: #475569;
  transform: translateX(-50%);
}

.swp-monitor-controls {
  display: grid;
  align-content: center;
  gap: 14px;
}

.swp-screen-aspect-preset-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 7px;
}

.swp-screen-aspect-preset {
  min-height: 42px;
  padding: 8px 6px;
  cursor: pointer;
  border: 1px solid rgba(15,23,42,.08);
  border-radius: 13px;
  color: var(--text);
  background: rgba(255,255,255,.84);
  font: inherit;
  font-size: .8rem;
  font-weight: 600;
  line-height: 1;
  transition: transform .18s ease, border-color .18s ease, background .18s ease, color .18s ease;
}

.swp-screen-aspect-preset:hover,
.swp-screen-aspect-preset:focus-visible {
  transform: translateY(-1px);
  border-color: rgba(var(--branding-primary-rgb), .3);
}

.swp-screen-aspect-preset.is-active {
  border-color: transparent;
  color: #fff;
  background: linear-gradient(135deg, var(--btn-primary-2), var(--btn-primary));
  box-shadow: 0 8px 18px var(--btn-shadow);
}

.swp-screen-aspect-manual {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  align-items: end;
  gap: 10px;
}

.swp-screen-aspect-manual label {
  display: grid;
  gap: 6px;
  min-width: 0;
}

.swp-screen-aspect-manual label > span {
  color: var(--muted);
  font-size: .68rem;
  font-weight: 600;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.swp-screen-aspect-manual .form-control {
  min-height: 46px;
  text-align: center;
  font-weight: 600;
}

.swp-screen-aspect-separator {
  min-height: 46px;
  display: grid;
  place-items: center;
  color: var(--muted);
  font-size: 1.2rem;
  font-weight: 600;
}

.swp-screen-aspect-reset {
  width: max-content;
  padding: 5px 0;
  cursor: pointer;
  border: 0;
  color: var(--accent-2);
  background: transparent;
  font: inherit;
  font-size: .76rem;
  font-weight: 600;
}

.swp-regia-monitor-panel {
  padding: clamp(20px, 2.5vw, 28px);
}

.swp-regia-monitor-panel .swp-panel-head {
  margin-bottom: 16px;
}

.swp-regia-monitor-panel .swp-panel-head h2 {
  margin: 4px 0 2px;
  font-size: 1.2rem;
}

.swp-regia-monitor-panel .swp-panel-head p {
  margin: 0;
  color: var(--muted);
}

.swp-regia-monitor-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.swp-regia-monitor-actions .btn {
  min-height: 44px;
}

.swp-screen-aspect-feedback {
  min-height: 18px;
  color: #047857;
  font-size: .76rem;
  font-weight: 600;
}

.swp-wall-layout-option,
.swp-moderation-option {
  position: relative;
  display: grid;
  align-items: center;
  cursor: pointer;
  border: 1px solid #dbe5ef;
  color: var(--muted);
  background: #fbfdff;
  transition: border-color .2s ease, background .2s ease, transform .2s ease, box-shadow .2s ease;
}

.swp-wall-layout-option {
  grid-template-columns: 40px minmax(0, 1fr);
  gap: 10px;
  min-height: 82px;
  padding: 12px;
  border-radius: 17px;
}

.swp-wall-layout-option:hover,
.swp-moderation-option:hover {
  transform: translateY(-2px);
  border-color: rgba(var(--branding-primary-rgb), .34);
}

.swp-wall-layout-icon,
.swp-moderation-icon {
  display: grid;
  place-items: center;
  color: var(--accent-2);
  background: rgba(var(--branding-primary-rgb), .08);
}

.swp-wall-layout-icon {
  width: 40px;
  height: 40px;
  border-radius: 13px;
}

.swp-wall-layout-option strong,
.swp-wall-layout-option small,
.swp-moderation-option strong,
.swp-moderation-option small {
  display: block;
}

.swp-wall-layout-option strong,
.swp-moderation-option strong {
  color: var(--text);
  font-size: .87rem;
  font-weight: 600;
}

.swp-wall-layout-option small,
.swp-moderation-option small {
  margin-top: 2px;
  color: var(--muted);
  font-size: .7rem;
  line-height: 1.25;
}

.swp-wall-layout-check,
.swp-moderation-check {
  position: absolute;
  top: 8px;
  right: 8px;
  color: var(--accent-2);
  opacity: 0;
  transform: scale(.7);
  transition: opacity .2s ease, transform .2s ease;
}

.swp-wall-layout-option:has(input:checked),
.swp-moderation-option:has(input:checked) {
  border-color: rgba(var(--branding-primary-rgb), .55);
  color: var(--accent-2);
  background: rgba(var(--branding-primary-rgb), .075);
  box-shadow: 0 10px 24px rgba(var(--branding-primary-rgb), .09);
}

.swp-wall-layout-option:has(input:checked) .swp-wall-layout-check,
.swp-moderation-option:has(input:checked) .swp-moderation-check {
  opacity: 1;
  transform: scale(1);
}

.swp-moderation-choice-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.swp-moderation-option {
  grid-template-columns: 48px minmax(0, 1fr);
  gap: 12px;
  min-height: 90px;
  padding: 14px;
  border-radius: 18px;
}

.swp-moderation-icon {
  width: 48px;
  height: 48px;
  border-radius: 15px;
  font-size: 1.2rem;
}

.swp-new-event-error {
  display: flex;
  align-items: center;
  gap: 9px;
  margin-bottom: 18px;
  border: 1px solid rgba(239,68,68,.18);
  border-radius: 17px;
}

.swp-access-choice-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.swp-access-option {
  position: relative;
  min-height: 92px;
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr);
  align-items: center;
  gap: 12px;
  padding: 14px;
  cursor: pointer;
  border: 1px solid #dbe5ef;
  border-radius: 18px;
  color: var(--muted);
  background: #fbfdff;
  transition: border-color .2s ease, background .2s ease, transform .2s ease, box-shadow .2s ease;
}

.swp-access-option:hover {
  transform: translateY(-2px);
  border-color: rgba(var(--branding-primary-rgb), .34);
}

.swp-access-icon {
  width: 48px;
  height: 48px;
  display: grid;
  place-items: center;
  border-radius: 15px;
  color: var(--accent-2);
  background: rgba(var(--branding-primary-rgb), .08);
  font-size: 1.2rem;
}

.swp-access-option strong,
.swp-access-option small {
  display: block;
}

.swp-access-option strong {
  color: var(--text);
  font-size: .9rem;
}

.swp-access-option small {
  margin-top: 3px;
  color: var(--muted);
  font-size: .72rem;
  line-height: 1.3;
}

.swp-access-check {
  position: absolute;
  top: 9px;
  right: 9px;
  color: var(--accent-2);
  opacity: 0;
  transform: scale(.7);
  transition: opacity .2s ease, transform .2s ease;
}

.swp-access-option:has(input:checked) {
  border-color: rgba(var(--branding-primary-rgb), .55);
  background: rgba(var(--branding-primary-rgb), .075);
  box-shadow: 0 10px 24px rgba(var(--branding-primary-rgb), .09);
}

.swp-access-option:has(input:checked) .swp-access-check {
  opacity: 1;
  transform: scale(1);
}

.swp-participant-import {
  grid-template-columns: 50px minmax(0, 1fr);
  align-items: start;
  gap: 13px;
  margin-top: 13px;
  padding: 15px;
  border: 1px dashed rgba(var(--branding-primary-rgb), .3);
  border-radius: 18px;
  background: rgba(var(--branding-primary-rgb), .045);
}

.swp-participant-import:not([hidden]) {
  display: grid;
}

.swp-participant-import-icon {
  width: 50px;
  height: 50px;
  display: grid;
  place-items: center;
  border-radius: 16px;
  color: var(--accent-2);
  background: #fff;
  font-size: 1.25rem;
  box-shadow: 0 10px 24px rgba(var(--branding-primary-rgb), .1);
}

.swp-participant-import .form-label {
  margin-bottom: 7px;
}

.swp-participant-import small {
  display: block;
  margin-top: 7px;
  color: var(--muted);
  font-size: .72rem;
  line-height: 1.35;
}

.swp-excel-upload {
  min-height: 88px;
  display: grid;
  grid-template-columns: 56px minmax(0, 1fr) auto;
  align-items: center;
  gap: 13px;
  padding: 14px;
  cursor: pointer;
  border: 1px solid rgba(15,23,42,.1);
  border-radius: 18px;
  color: var(--text);
  background:
    radial-gradient(circle at 0 0, rgba(16,185,129,.1), transparent 34%),
    linear-gradient(145deg, #fff, #f8fcfa);
  box-shadow: 0 12px 30px rgba(15,23,42,.06);
  transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease, background .18s ease;
}

.swp-excel-upload:hover {
  transform: translateY(-2px);
  border-color: rgba(16,185,129,.42);
  box-shadow: 0 18px 38px rgba(15,23,42,.09);
}

.visually-hidden:focus-visible + .swp-excel-upload {
  border-color: #10b981;
  box-shadow: 0 0 0 4px rgba(16,185,129,.14), 0 18px 38px rgba(15,23,42,.09);
}

.swp-excel-upload-mark {
  width: 56px;
  height: 56px;
  display: grid;
  place-items: center;
  border-radius: 17px;
  color: #047857;
  background: linear-gradient(145deg, #ecfdf5, #d1fae5);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.8);
  font-size: 1.45rem;
}

.swp-excel-upload-copy {
  min-width: 0;
}

.swp-excel-upload-copy strong,
.swp-excel-upload-copy small {
  display: block;
}

.swp-excel-upload-copy strong {
  color: var(--text);
  font-size: .9rem;
  font-weight: 600;
}

.swp-excel-upload-copy small {
  margin: 4px 0 0;
  overflow: hidden;
  color: var(--muted);
  font-size: .73rem;
  font-weight: 550;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.swp-excel-upload-action {
  min-height: 38px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 8px 12px;
  border: 1px solid rgba(16,185,129,.2);
  border-radius: 12px;
  color: #047857;
  background: rgba(16,185,129,.08);
  font-size: .76rem;
  font-weight: 600;
}

.swp-excel-upload.has-file {
  border-color: rgba(16,185,129,.5);
  background:
    radial-gradient(circle at 0 0, rgba(16,185,129,.15), transparent 38%),
    linear-gradient(145deg, #fff, #f0fdf4);
}

.swp-excel-upload.has-file .swp-excel-upload-mark {
  color: #fff;
  background: linear-gradient(145deg, #10b981, #047857);
  box-shadow: 0 10px 22px rgba(16,185,129,.22);
}

.swp-excel-upload.has-file .swp-excel-upload-action {
  color: #fff;
  border-color: transparent;
  background: #10b981;
}

.swp-participant-roster {
  margin-top: 12px;
  padding: 12px;
  border: 1px solid rgba(16,185,129,.22);
  border-radius: 16px;
  background: rgba(255,255,255,.76);
  box-shadow: 0 10px 28px rgba(15,23,42,.045);
}

.swp-participant-roster[hidden] {
  display: none !important;
}

.swp-participant-roster.is-replacing {
  border-color: rgba(245,158,11,.36);
  background: rgba(255,251,235,.82);
}

.swp-participant-roster-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.swp-participant-roster-title {
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 9px;
}

.swp-participant-roster-icon {
  width: 32px;
  height: 32px;
  flex: 0 0 32px;
  display: grid;
  place-items: center;
  border-radius: 10px;
  color: #047857;
  background: #d1fae5;
}

.swp-participant-roster-title > span:last-child > strong {
  display: block;
  color: var(--text);
  font-size: .82rem;
  line-height: 1.1;
  font-weight: 600;
}

.swp-participant-import .swp-participant-roster-title small {
  display: inline-flex;
  align-items: baseline;
  gap: 3px;
  margin: 3px 0 0;
  color: var(--muted);
  font-size: .68rem;
}

.swp-participant-roster-title small b {
  color: #047857;
  font-size: .76rem;
}

.swp-participant-roster-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 6px;
  flex-wrap: wrap;
}

.swp-participant-roster-actions .btn {
  min-height: 32px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  padding: 5px 9px;
  border-radius: 10px;
  font-size: .68rem;
  font-weight: 600;
}

.swp-participant-reload {
  color: #047857;
  border-color: rgba(16,185,129,.28);
  background: rgba(16,185,129,.08);
}

.swp-participant-clear {
  color: #b91c1c;
  border-color: rgba(239,68,68,.22);
  background: rgba(239,68,68,.06);
}

.swp-participant-reload:hover,
.swp-participant-reload:focus-visible {
  color: #065f46;
  border-color: rgba(16,185,129,.5);
  background: rgba(16,185,129,.14);
}

.swp-participant-clear:hover,
.swp-participant-clear:focus-visible {
  color: #991b1b;
  border-color: rgba(239,68,68,.42);
  background: rgba(239,68,68,.12);
}

.swp-participant-email-list {
  max-height: 142px;
  display: flex;
  align-content: flex-start;
  flex-wrap: wrap;
  gap: 5px;
  margin-top: 10px;
  padding: 8px;
  overflow: auto;
  border: 1px solid rgba(var(--branding-primary-rgb), .1);
  border-radius: 12px;
  background: rgba(248,250,252,.88);
  scrollbar-width: thin;
}

.swp-participant-email-chip {
  max-width: 100%;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 4px 7px;
  border: 1px solid rgba(14,116,144,.13);
  border-radius: 999px;
  color: #155e75;
  background: #ecfeff;
  font-size: .64rem;
  line-height: 1;
  font-weight: 600;
}

.swp-participant-email-chip > i {
  flex: 0 0 auto;
  color: #0891b2;
  font-size: .66rem;
}

.swp-participant-email-chip > span {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.swp-participant-email-list .swp-participant-email-empty {
  width: 100%;
  padding: 6px;
  color: var(--muted);
  font-size: .7rem;
  text-align: center;
}

.swp-participant-import .swp-participant-roster-status {
  margin: 7px 0 0;
  color: #92400e;
  font-size: .68rem;
  line-height: 1.35;
}

.swp-manual-email-box {
  margin-top: 12px;
  padding: 12px;
  border: 1px solid rgba(var(--branding-primary-rgb), .12);
  border-radius: 16px;
  background: rgba(255, 255, 255, .68);
}

.swp-manual-email-box .form-label {
  margin-bottom: 7px;
  font-size: .78rem;
  font-weight: 600 !important;
}

.swp-manual-email-box textarea.form-control {
  min-height: 106px;
  resize: vertical;
  border-radius: 14px;
  font-size: .86rem;
  line-height: 1.45;
  background: rgba(255, 255, 255, .92);
}

.swp-manual-email-entry {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: stretch;
  gap: 9px;
}

.swp-manual-email-entry .btn {
  min-width: 118px;
  min-height: 48px;
  align-self: stretch;
  justify-content: center;
  border-radius: 14px;
}

.swp-manual-email-counter {
  display: flex !important;
  align-items: center;
  gap: 6px;
}

.swp-manual-email-counter strong {
  color: var(--accent-2);
  font-weight: 600;
}

@media (max-width: 575.98px) {
  .swp-manual-email-entry {
    grid-template-columns: 1fr;
  }

  .swp-manual-email-entry .btn {
    width: 100%;
    min-height: 46px;
  }
}

.swp-privacy-upload {
  position: relative;
  min-height: 78px;
  display: grid;
  grid-template-columns: 52px minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
  overflow: hidden;
  padding: 12px;
  cursor: pointer;
  border: 1px solid rgba(220,38,38,.16);
  border-radius: 18px;
  color: var(--text);
  background:
    radial-gradient(circle at 0 0, rgba(239,68,68,.12), transparent 36%),
    linear-gradient(145deg, #fff, #fff9f9);
  box-shadow: 0 12px 30px rgba(127,29,29,.07);
  transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease, background .18s ease;
}

.swp-privacy-upload::after {
  content: '';
  position: absolute;
  top: -46px;
  right: -30px;
  width: 104px;
  height: 104px;
  pointer-events: none;
  border: 18px solid rgba(239,68,68,.045);
  border-radius: 50%;
}

.swp-privacy-upload:hover {
  transform: translateY(-2px);
  border-color: rgba(220,38,38,.42);
  box-shadow: 0 18px 38px rgba(127,29,29,.11);
}

.swp-privacy-upload:active {
  transform: translateY(0) scale(.995);
}

.visually-hidden:focus-visible + .swp-privacy-upload {
  border-color: #dc2626;
  box-shadow: 0 0 0 4px rgba(239,68,68,.13), 0 18px 38px rgba(127,29,29,.11);
}

.swp-privacy-upload-mark {
  position: relative;
  z-index: 1;
  width: 52px;
  height: 52px;
  display: grid;
  place-items: center;
  border-radius: 16px;
  color: #b91c1c;
  background: linear-gradient(145deg, #fff1f2, #fee2e2);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.9);
  font-size: 1.38rem;
  transition: color .18s ease, background .18s ease, box-shadow .18s ease;
}

.swp-privacy-upload-copy {
  position: relative;
  z-index: 1;
  min-width: 0;
}

.swp-privacy-upload-copy strong,
.swp-privacy-upload-copy small {
  display: block;
}

.swp-privacy-upload-copy strong {
  color: var(--text);
  font-size: .88rem;
  font-weight: 600;
  line-height: 1.25;
}

.swp-privacy-upload-copy small {
  margin-top: 4px;
  overflow: hidden;
  color: var(--muted);
  font-size: .72rem;
  font-weight: 550;
  line-height: 1.3;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.swp-privacy-upload-action {
  position: relative;
  z-index: 1;
  min-height: 38px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  padding: 8px 13px;
  border: 1px solid rgba(220,38,38,.18);
  border-radius: 12px;
  color: #b91c1c;
  background: rgba(239,68,68,.075);
  font-size: .76rem;
  font-weight: 600;
  white-space: nowrap;
  transition: color .18s ease, border-color .18s ease, background .18s ease;
}

.swp-privacy-upload:hover .swp-privacy-upload-action {
  color: #fff;
  border-color: transparent;
  background: linear-gradient(135deg, #ef4444, #b91c1c);
}

.swp-privacy-upload.has-file {
  border-color: rgba(16,185,129,.42);
  background:
    radial-gradient(circle at 0 0, rgba(16,185,129,.14), transparent 38%),
    linear-gradient(145deg, #fff, #f0fdf4);
  box-shadow: 0 14px 32px rgba(6,95,70,.09);
}

.swp-privacy-upload.has-file .swp-privacy-upload-mark {
  color: #fff;
  background: linear-gradient(145deg, #ef4444, #b91c1c);
  box-shadow: 0 10px 22px rgba(185,28,28,.2);
}

.swp-privacy-upload.has-file .swp-privacy-upload-action,
.swp-privacy-upload.has-file:hover .swp-privacy-upload-action {
  color: #fff;
  border-color: transparent;
  background: linear-gradient(135deg, #10b981, #047857);
}

.swp-privacy-upload.is-error {
  border-color: rgba(220,38,38,.58);
  background: linear-gradient(145deg, #fff, #fff1f2);
  box-shadow: 0 0 0 3px rgba(239,68,68,.09);
}

.swp-privacy-upload.is-error .swp-privacy-upload-mark,
.swp-privacy-upload.is-error .swp-privacy-upload-action {
  color: #fff;
  border-color: transparent;
  background: linear-gradient(135deg, #ef4444, #b91c1c);
}

.swp-privacy-upload-meta {
  min-height: 27px;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-top: 6px;
}

.swp-privacy-upload-help {
  display: flex;
  align-items: flex-start;
  gap: 6px;
  margin: 0;
  color: var(--muted);
  font-size: .7rem;
  line-height: 1.35;
}

.swp-privacy-upload-help i {
  flex: 0 0 auto;
  margin-top: 1px;
  color: #059669;
}

.swp-privacy-upload-clear {
  min-height: 27px;
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  gap: 5px;
  padding: 4px 8px;
  cursor: pointer;
  border: 0;
  border-radius: 9px;
  color: #b91c1c;
  background: rgba(239,68,68,.075);
  font: inherit;
  font-size: .67rem;
  font-weight: 600;
  transition: color .18s ease, background .18s ease, box-shadow .18s ease;
}

.swp-privacy-upload-clear:hover {
  color: #fff;
  background: #dc2626;
}

.swp-privacy-upload-clear:focus-visible {
  outline: 0;
  box-shadow: 0 0 0 3px rgba(239,68,68,.18);
}

.swp-privacy-upload-clear[hidden] {
  display: none;
}

/* Live Excel participant import preview */
.swp-participant-preview-modal {
  display: none;
  position: fixed;
  inset: 0;
  z-index: 1090;
  overflow-x: hidden;
  overflow-y: auto;
  padding: 18px;
  background: rgba(15,23,42,.42);
  backdrop-filter: blur(12px);
}

.swp-participant-preview-modal.show {
  display: block;
}

.swp-participant-preview-modal .modal-dialog {
  width: 100%;
  max-width: 920px;
  min-height: calc(100vh - 36px);
  display: flex;
  align-items: center;
  margin: 0 auto;
}

.swp-participant-preview-modal .modal-content {
  position: relative;
  width: 100%;
  overflow: hidden;
  border: 1px solid rgba(15,23,42,.08);
  border-radius: 28px;
  color: var(--text);
  background:
    radial-gradient(circle at 8% 0, rgba(16,185,129,.12), transparent 32%),
    radial-gradient(circle at 100% 100%, rgba(var(--branding-primary-rgb), .09), transparent 35%),
    #fff;
  box-shadow: 0 36px 90px rgba(15,23,42,.22);
}

.swp-participant-preview-grid {
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: .46;
  background-image:
    linear-gradient(rgba(16,185,129,.055) 1px, transparent 1px),
    linear-gradient(90deg, rgba(16,185,129,.055) 1px, transparent 1px);
  background-size: 34px 34px;
  mask-image: linear-gradient(to bottom, #000, transparent 66%);
}

.swp-participant-preview-modal .modal-header,
.swp-participant-preview-modal .modal-body,
.swp-participant-preview-modal .modal-footer {
  position: relative;
  z-index: 1;
}

.swp-participant-preview-modal .modal-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 24px 26px 18px;
  border: 0;
}

.swp-participant-preview-heading {
  display: flex;
  align-items: center;
  gap: 13px;
}

.swp-participant-preview-icon {
  width: 52px;
  height: 52px;
  display: grid;
  flex: 0 0 auto;
  place-items: center;
  border: 1px solid rgba(16,185,129,.16);
  border-radius: 17px;
  color: #047857;
  background: linear-gradient(145deg, #ecfdf5, #d1fae5);
  box-shadow: 0 12px 25px rgba(16,185,129,.15);
  font-size: 1.35rem;
}

.swp-participant-preview-heading .ops-card-kicker {
  margin: 0 0 3px;
  color: #047857;
}

.swp-participant-preview-heading .modal-title {
  margin: 0;
  color: var(--text);
  font-size: clamp(1.15rem, 2vw, 1.45rem);
  font-weight: 600;
  letter-spacing: -.025em;
}

.swp-participant-preview-modal .btn-close {
  position: relative;
  width: 36px;
  height: 36px;
  flex: 0 0 36px;
  margin: 0;
  padding: 0;
  cursor: pointer;
  border: 0;
  border-radius: 12px;
  background: rgba(15,23,42,.055);
  opacity: .72;
}

.swp-participant-preview-modal .btn-close::before,
.swp-participant-preview-modal .btn-close::after {
  content: "";
  position: absolute;
  top: 17px;
  left: 11px;
  width: 14px;
  height: 2px;
  border-radius: 999px;
  background: currentColor;
}

.swp-participant-preview-modal .btn-close::before {
  transform: rotate(45deg);
}

.swp-participant-preview-modal .btn-close::after {
  transform: rotate(-45deg);
}

.swp-participant-preview-modal .modal-body {
  padding: 4px 26px 22px;
}

.swp-participant-preview-summary {
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr) auto;
  align-items: center;
  gap: 13px;
  padding: 15px;
  border: 1px solid rgba(var(--branding-primary-rgb), .15);
  border-radius: 20px;
  background: rgba(var(--branding-primary-rgb), .055);
  transition: border-color .2s ease, background .2s ease;
}

.swp-participant-preview-status-icon {
  width: 48px;
  height: 48px;
  display: grid;
  place-items: center;
  border-radius: 15px;
  color: var(--accent-2);
  background: #fff;
  box-shadow: 0 9px 20px rgba(15,23,42,.08);
  font-size: 1.25rem;
}

.swp-participant-preview-status-icon .spinner-border {
  width: 19px;
  height: 19px;
  border: 2px solid currentColor;
  border-right-color: transparent;
  border-radius: 999px;
  animation: swpParticipantPreviewSpin .7s linear infinite;
}

@keyframes swpParticipantPreviewSpin {
  to { transform: rotate(360deg); }
}

.swp-participant-preview-summary > div strong,
.swp-participant-preview-summary > div small,
.swp-participant-preview-count strong,
.swp-participant-preview-count small {
  display: block;
}

.swp-participant-preview-summary > div strong {
  color: var(--text);
  font-size: .94rem;
}

.swp-participant-preview-summary > div small {
  max-width: 500px;
  margin-top: 3px;
  overflow: hidden;
  color: var(--muted);
  font-size: .75rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.swp-participant-preview-count {
  min-width: 104px;
  padding: 8px 12px;
  border-left: 1px solid rgba(15,23,42,.09);
  text-align: right;
}

.swp-participant-preview-count strong {
  color: var(--accent-2);
  font-size: 1.35rem;
  font-variant-numeric: tabular-nums;
  line-height: 1;
}

.swp-participant-preview-count small {
  margin-top: 4px;
  color: var(--muted);
  font-size: .66rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .055em;
}

.swp-participant-preview-summary.is-success {
  border-color: rgba(16,185,129,.24);
  background: rgba(16,185,129,.075);
}

.swp-participant-preview-summary.is-success .swp-participant-preview-status-icon,
.swp-participant-preview-summary.is-success .swp-participant-preview-count strong {
  color: #059669;
}

.swp-participant-preview-summary.is-error {
  border-color: rgba(239,68,68,.24);
  background: rgba(239,68,68,.065);
}

.swp-participant-preview-summary.is-error .swp-participant-preview-status-icon,
.swp-participant-preview-summary.is-error .swp-participant-preview-count strong {
  color: #dc2626;
}

.swp-participant-preview-progress {
  height: 7px;
  margin: 12px 3px 20px;
  overflow: hidden;
  border-radius: 999px;
  background: rgba(15,23,42,.075);
}

.swp-participant-preview-progress > span {
  position: relative;
  display: block;
  width: 0;
  height: 100%;
  overflow: hidden;
  border-radius: inherit;
  background: linear-gradient(90deg, #10b981, var(--accent-2));
  box-shadow: 0 0 14px rgba(16,185,129,.32);
  transition: width .22s ease;
}

.swp-participant-preview-progress > span.is-running::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(105deg, transparent 20%, rgba(255,255,255,.7) 50%, transparent 80%);
  transform: translateX(-100%);
  animation: swpParticipantPreviewSweep 1.1s ease-in-out infinite;
}

@keyframes swpParticipantPreviewSweep {
  to { transform: translateX(100%); }
}

.swp-participant-preview-list-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 9px;
}

.swp-participant-preview-list-head strong {
  color: var(--text);
  font-size: .82rem;
}

.swp-participant-preview-list-head span {
  color: var(--muted);
  font-size: .7rem;
  font-weight: 600;
}

.swp-participant-preview-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  min-height: 104px;
  max-height: 310px;
  padding: 10px;
  overflow: auto;
  overscroll-behavior: contain;
  border: 1px solid rgba(15,23,42,.075);
  border-radius: 19px;
  background: rgba(248,250,252,.78);
  scrollbar-color: rgba(16,185,129,.45) transparent;
}

.swp-participant-preview-list:empty {
  background:
    linear-gradient(90deg, transparent, rgba(255,255,255,.74), transparent),
    repeating-linear-gradient(to bottom, rgba(15,23,42,.045) 0 37px, transparent 37px 45px);
  background-size: 45% 100%, 100% 100%;
  animation: swpParticipantPreviewSkeleton 1.2s linear infinite;
}

@keyframes swpParticipantPreviewSkeleton {
  from { background-position: -80% 0, 0 0; }
  to { background-position: 180% 0, 0 0; }
}

.swp-participant-preview-email {
  min-width: 0;
  display: grid;
  grid-template-columns: 30px minmax(0, 1fr) 22px;
  align-items: center;
  gap: 8px;
  min-height: 43px;
  padding: 7px 9px;
  border: 1px solid rgba(16,185,129,.13);
  border-radius: 13px;
  background: #fff;
  box-shadow: 0 5px 14px rgba(15,23,42,.035);
  animation: swpParticipantPreviewEnter .2s ease both;
}

.swp-participant-preview-email > span {
  width: 28px;
  height: 28px;
  display: grid;
  place-items: center;
  border-radius: 9px;
  color: #047857;
  background: rgba(16,185,129,.09);
  font-size: .66rem;
  font-weight: 600;
  font-variant-numeric: tabular-nums;
}

.swp-participant-preview-email strong {
  overflow: hidden;
  color: var(--text);
  font-size: .73rem;
  font-weight: 600;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.swp-participant-preview-email > i {
  color: #10b981;
  font-size: .88rem;
}

@keyframes swpParticipantPreviewEnter {
  from { opacity: 0; transform: translateY(4px); }
}

.swp-participant-preview-error {
  display: flex;
  align-items: flex-start;
  gap: 9px;
  margin-top: 11px;
  padding: 12px 14px;
  border: 1px solid rgba(239,68,68,.2);
  border-radius: 14px;
  color: #b91c1c;
  background: rgba(239,68,68,.07);
  font-size: .78rem;
  line-height: 1.4;
}

.swp-participant-preview-error[hidden] {
  display: none;
}

.swp-participant-preview-modal .modal-footer {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 16px 26px 22px;
  border: 0;
}

.swp-participant-preview-modal .modal-footer > span {
  color: var(--muted);
  font-size: .72rem;
}

.swp-participant-preview-modal .modal-footer > span i {
  margin-right: 4px;
  color: #10b981;
}

.swp-participant-preview-modal .modal-footer .btn {
  min-width: 132px;
}

.swp-banned-words-block {
  display: grid;
  gap: 12px;
}

.swp-banned-words-status {
  display: grid;
  grid-template-columns: 52px minmax(0, 1fr) auto;
  align-items: center;
  gap: 14px;
  margin-bottom: 4px;
  padding: 16px;
  border: 1px solid rgba(16,185,129,.18);
  border-radius: 20px;
  background:
    radial-gradient(circle at 100% 0, rgba(16,185,129,.1), transparent 38%),
    rgba(16,185,129,.055);
}

.swp-banned-words-icon {
  width: 52px;
  height: 52px;
  display: grid;
  place-items: center;
  border-radius: 17px;
  color: #047857;
  background: #fff;
  box-shadow: 0 10px 24px rgba(16,185,129,.12);
  font-size: 1.25rem;
}

.swp-banned-words-status p {
  margin-top: 4px;
  color: var(--muted);
  font-size: .8rem;
  line-height: 1.35;
}

.swp-banned-words-status p strong {
  color: #047857;
}

.swp-filter-on {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 7px 10px;
  border-radius: 999px;
  color: #047857;
  background: rgba(16,185,129,.11);
  font-size: .72rem;
  font-weight: 600;
}

.swp-banned-words-block textarea.form-control {
  min-height: 88px;
}

.swp-banned-words-help {
  display: flex;
  align-items: flex-start;
  gap: 6px;
  color: var(--muted);
  font-size: .74rem;
  line-height: 1.35;
}

.swp-custom-banned-builder {
  display: grid;
  gap: 10px;
}

.swp-custom-banned-entry {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 9px;
}

.swp-custom-banned-entry .btn {
  min-width: 118px;
  border-radius: 15px;
}

.swp-custom-banned-list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}

.swp-custom-banned-empty {
  grid-column: 1 / -1;
  min-height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  padding: 10px 13px;
  border: 1px dashed #dbe5ef;
  border-radius: 14px;
  color: var(--muted);
  background: rgba(255,255,255,.55);
  font-size: .78rem;
}

.swp-custom-banned-chip {
  min-width: 0;
  min-height: 43px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 30px;
  align-items: center;
  gap: 7px;
  padding: 6px 6px 6px 12px;
  border: 1px solid rgba(239,68,68,.16);
  border-radius: 14px;
  color: #991b1b;
  background: rgba(254,242,242,.84);
  font-size: .8rem;
  font-weight: 600;
  box-shadow: 0 7px 18px rgba(127,29,29,.04);
}

.swp-custom-banned-chip > span {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.swp-custom-banned-chip button {
  width: 30px;
  height: 30px;
  display: grid;
  place-items: center;
  padding: 0;
  cursor: pointer;
  border: 0;
  border-radius: 10px;
  color: #b91c1c;
  background: rgba(255,255,255,.82);
  font-size: .72rem;
  transition: color .16s ease, background .16s ease, transform .16s ease;
}

.swp-custom-banned-chip button:hover,
.swp-custom-banned-chip button:focus-visible {
  color: #fff;
  background: #ef4444;
  transform: scale(1.04);
}

.swp-custom-banned-feedback {
  min-height: 17px;
  color: #047857;
  font-size: .73rem;
  font-weight: 600;
}

.swp-custom-banned-feedback.is-error {
  color: #b91c1c;
}

.swp-field-featured,
.swp-new-event-date-grid {
  grid-column: 1 / -1;
}

.swp-new-event-date-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}

.swp-new-event-card .form-label,
.swp-new-event-advanced .form-label {
  margin-bottom: 7px;
  color: var(--ink-soft);
  font-size: .88rem;
}

.swp-new-event-card .form-label small,
.swp-new-event-advanced .form-label small {
  margin-left: 4px;
  color: var(--muted);
  font-size: .76rem;
  font-weight: 500;
}

.swp-new-event-card .form-control,
.swp-new-event-card .form-select,
.swp-new-event-advanced .form-control,
.swp-new-event-advanced .form-select {
  min-height: 52px;
  border-radius: 15px;
  background-color: #fbfdff;
}

.swp-new-event-form .form-control::placeholder,
.swp-config-form .form-control::placeholder {
  color: rgba(100, 116, 139, .3);
  opacity: 1;
}

.swp-new-event-card .form-control-lg {
  min-height: 60px;
  padding-inline: 18px;
  font-size: 1.08rem;
}

.swp-new-event-card textarea.form-control {
  min-height: 124px;
  padding: 16px 18px;
  resize: vertical;
}

.swp-new-event-safe-note {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-top: 16px;
  padding: 12px 14px;
  border-radius: 15px;
  color: #047857;
  background: rgba(16,185,129,.08);
  font-size: .86rem;
  font-weight: 600;
}

.swp-new-event-safe-note i {
  font-size: 1.05rem;
}

/* Compact, clearly separated creation steps */
.swp-new-event-participation-card,
.swp-new-event-security-card {
  position: relative;
  overflow: hidden;
}

.swp-new-event-participation-card::before,
.swp-new-event-security-card::before {
  content: "";
  position: absolute;
  top: -105px;
  right: -90px;
  width: 250px;
  height: 250px;
  pointer-events: none;
  border-radius: 999px;
}

.swp-new-event-participation-card::before {
  background: radial-gradient(circle, rgba(var(--branding-secondary-rgb), .1), transparent 68%);
}

.swp-new-event-security-card::before {
  background: radial-gradient(circle, rgba(16,185,129,.11), transparent 68%);
}

.swp-new-event-participation-card > :not(.swp-compact-card-clipart),
.swp-new-event-security-card > :not(.swp-compact-card-clipart) {
  position: relative;
  z-index: 1;
}

.swp-new-event-participation-card .swp-new-event-step,
.swp-new-event-security-card .swp-new-event-step {
  padding-right: 0;
}

.swp-new-event-participation-card .swp-new-event-step > span {
  background: linear-gradient(135deg, var(--btn-secondary), var(--btn-secondary-2));
  box-shadow: 0 12px 24px rgba(var(--branding-secondary-rgb), .18);
}

.swp-new-event-security-card .swp-new-event-step > span {
  background: linear-gradient(135deg, #10b981, #047857);
  box-shadow: 0 12px 24px rgba(16,185,129,.2);
}

.swp-compact-card-clipart {
  position: absolute;
  z-index: 0;
  top: 18px;
  right: 26px;
  width: 142px;
  height: 64px;
  pointer-events: none;
}

.swp-compact-card-clipart span {
  position: absolute;
  display: grid;
  place-items: center;
  border: 1px solid rgba(var(--branding-primary-rgb), .13);
  color: var(--accent-2);
  background: rgba(255,255,255,.94);
  box-shadow: 0 10px 24px rgba(15,23,42,.09);
}

.swp-participation-clipart span {
  width: 46px;
  height: 46px;
  border-radius: 15px;
  font-size: 1rem;
}

.swp-participation-clipart span:nth-child(1) {
  left: 2px;
  top: 13px;
  color: #047857;
  transform: rotate(-7deg);
}

.swp-participation-clipart span:nth-child(2) {
  left: 48px;
  top: 1px;
  color: var(--btn-secondary);
  transform: rotate(4deg);
}

.swp-participation-clipart span:nth-child(3) {
  right: 1px;
  top: 14px;
  transform: rotate(8deg);
}

.swp-security-clipart span:first-child {
  left: 12px;
  top: 0;
  width: 58px;
  height: 58px;
  border-radius: 19px;
  color: #047857;
  background: rgba(236,253,245,.96);
  font-size: 1.35rem;
  transform: rotate(-5deg);
}

.swp-security-clipart span:last-child {
  right: 2px;
  top: 18px;
  width: 66px;
  height: 34px;
  border-radius: 13px;
  color: #b91c1c;
  background: rgba(254,242,242,.96);
  font-size: .82rem;
  letter-spacing: .08em;
  transform: rotate(6deg);
}

.swp-new-event-form .swp-new-event-card .form-control,
.swp-new-event-form .swp-new-event-card .form-select {
  min-height: 48px;
}

.swp-new-event-form .swp-new-event-card .form-control-lg {
  min-height: 54px;
}

.swp-new-event-form .swp-new-event-card textarea.form-control {
  min-height: 98px;
  padding-block: 13px;
}

.swp-new-event-form .swp-new-event-safe-note {
  margin-top: 12px;
  padding: 10px 13px;
  font-size: .8rem;
}

.swp-new-event-form .swp-monitor-config-grid {
  grid-template-columns: minmax(180px, .78fr) minmax(260px, 1.22fr);
  gap: 14px;
  padding: 12px;
  border-radius: 18px;
}

.swp-new-event-form .swp-monitor-preview-wrap {
  min-height: 178px;
  padding: 12px;
  border-radius: 15px;
}

.swp-new-event-form .swp-monitor-preview {
  width: min(100%, 230px, calc(145px * var(--preview-aspect-width) / var(--preview-aspect-height)));
}

.swp-new-event-form .swp-monitor-preview-screen {
  max-height: 145px;
  border-width: 6px;
}

.swp-new-event-form .swp-monitor-controls {
  gap: 10px;
}

.swp-new-event-form .swp-screen-aspect-preset {
  min-height: 38px;
  border-radius: 11px;
  font-size: .75rem;
}

.swp-new-event-form .swp-screen-aspect-manual .form-control,
.swp-new-event-form .swp-screen-aspect-separator {
  min-height: 42px;
}

.swp-new-event-form .swp-wall-layout-option {
  min-height: 70px;
  grid-template-columns: 36px minmax(0, 1fr);
  gap: 9px;
  padding: 10px;
  border-radius: 15px;
}

.swp-new-event-form .swp-wall-layout-icon {
  width: 36px;
  height: 36px;
  border-radius: 11px;
}

.swp-new-event-form .swp-moderation-choice-grid,
.swp-new-event-form .swp-access-choice-grid {
  gap: 9px;
}

.swp-new-event-form .swp-moderation-option,
.swp-new-event-form .swp-access-option {
  min-height: 80px;
  grid-template-columns: 42px minmax(0, 1fr);
  gap: 10px;
  padding: 11px;
  border-radius: 16px;
}

.swp-new-event-form .swp-moderation-icon,
.swp-new-event-form .swp-access-icon {
  width: 42px;
  height: 42px;
  border-radius: 13px;
  font-size: 1.05rem;
}

.swp-new-event-form .swp-new-event-security-card .swp-banned-words-block {
  margin-top: 0;
  padding-top: 0;
  border-top: 0;
}

.swp-new-event-form .swp-banned-words-status {
  grid-template-columns: 36px minmax(0, 1fr) auto;
  gap: 9px;
  margin-bottom: 0;
  padding: 8px 10px;
  border-radius: 14px;
}

.swp-new-event-form .swp-banned-words-icon {
  width: 36px;
  height: 36px;
  border-radius: 11px;
  font-size: .88rem;
}

.swp-new-event-form .swp-banned-words-status > div {
  min-width: 0;
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  column-gap: 7px;
  row-gap: 1px;
}

.swp-new-event-form .swp-banned-words-status .ops-card-kicker {
  font-size: .56rem;
  letter-spacing: .07em;
}

.swp-new-event-form .swp-banned-words-status h3 {
  font-size: .86rem;
  line-height: 1.1;
}

.swp-new-event-form .swp-banned-words-status p {
  flex-basis: 100%;
  margin-top: 1px;
  font-size: .69rem;
  line-height: 1.22;
}

.swp-new-event-form .swp-banned-words-status .swp-filter-on {
  gap: 3px;
  padding: 4px 7px;
  font-size: .64rem;
}

.swp-new-event-form .swp-custom-banned-builder {
  gap: 8px;
}

.swp-new-event-form .swp-custom-banned-empty {
  min-height: 42px;
}

.swp-new-event-form .swp-custom-banned-feedback {
  min-height: 12px;
}

.swp-new-event-advanced {
  overflow: hidden;
  border: 1px solid rgba(var(--branding-primary-rgb), .1);
  border-radius: 21px;
  background: rgba(255,255,255,.72);
  box-shadow: none;
}

.swp-new-event-advanced summary {
  min-height: 72px;
  display: grid;
  grid-template-columns: 40px minmax(0, 1fr) auto;
  align-items: center;
  gap: 11px;
  padding: 14px 18px;
  cursor: pointer;
  list-style: none;
}

.swp-new-event-advanced summary::-webkit-details-marker {
  display: none;
}

.swp-new-event-advanced summary strong,
.swp-new-event-advanced summary small {
  display: block;
}

.swp-new-event-advanced summary strong {
  color: var(--text);
  font-size: 1rem;
}

.swp-new-event-advanced summary small {
  margin-top: 2px;
  color: var(--muted);
}

.swp-new-event-advanced-icon {
  width: 40px;
  height: 40px;
  display: grid;
  place-items: center;
  border-radius: 14px;
  color: var(--accent-2);
  background: rgba(var(--branding-primary-rgb), .09);
}

.swp-new-event-chevron {
  color: var(--muted);
  transition: transform .2s ease;
}

.swp-new-event-advanced[open] .swp-new-event-chevron {
  transform: rotate(180deg);
}

.swp-new-event-advanced-body {
  padding: 3px 18px 19px;
  border-top: 1px solid rgba(var(--branding-primary-rgb), .08);
}

.swp-new-event-advanced-body > .row {
  padding-top: 14px;
}

.swp-new-event-side {
  position: sticky;
  top: 112px;
}

.swp-new-event-guest-qr {
  display: grid;
  gap: 12px;
  padding: 16px;
  border: 1px solid rgba(var(--branding-primary-rgb), .14);
  border-radius: 24px;
  background:
    radial-gradient(circle at 100% 0, rgba(var(--branding-primary-rgb), .14), transparent 36%),
    linear-gradient(145deg, rgba(255,255,255,.98), rgba(248,251,253,.94));
  box-shadow: 0 20px 54px rgba(15,23,42,.08);
}

.swp-new-event-guest-qr.is-awaiting-save {
  border-color: rgba(148, 163, 184, .3);
  background:
    radial-gradient(circle at 100% 0, rgba(148, 163, 184, .12), transparent 36%),
    linear-gradient(145deg, rgba(255,255,255,.98), rgba(248,250,252,.96));
}

.swp-new-event-guest-qr.is-awaiting-save .swp-guest-qr-icon,
.swp-new-event-guest-qr.is-awaiting-save .swp-guest-qr-empty i {
  color: #64748b;
  background: rgba(148, 163, 184, .12);
}

.swp-new-event-guest-qr.is-awaiting-save .swp-guest-qr-preview {
  border-style: dashed;
  border-color: rgba(148, 163, 184, .34);
  background:
    linear-gradient(rgba(148, 163, 184, .04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(148, 163, 184, .04) 1px, transparent 1px),
    #f8fafc;
  background-size: 18px 18px;
}

.swp-new-event-guest-qr.is-awaiting-save .swp-guest-qr-url,
.swp-new-event-guest-qr.is-awaiting-save .swp-guest-qr-actions {
  opacity: .62;
}

.swp-new-event-guest-qr.is-awaiting-save [data-guest-qr-show-live] {
  cursor: not-allowed;
}

.swp-guest-qr-head {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr) auto;
  align-items: start;
  gap: 10px;
}

.swp-guest-qr-icon {
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  border-radius: 14px;
  color: var(--accent-2);
  background: rgba(var(--branding-primary-rgb), .1);
  font-size: 1.15rem;
}

.swp-guest-qr-head h2,
.swp-guest-qr-head p {
  margin: 0;
}

.swp-guest-qr-head h2 {
  color: var(--text);
  font-size: 1rem;
  font-weight: 600;
  letter-spacing: -.02em;
}

.swp-guest-qr-head p {
  margin-top: 2px;
  color: var(--muted);
  font-size: .74rem;
  line-height: 1.25;
}

.swp-guest-qr-preview {
  position: relative;
  min-height: 168px;
  display: grid;
  place-items: center;
  overflow: hidden;
  padding: 12px;
  border: 1px solid rgba(var(--branding-primary-rgb), .12);
  border-radius: 20px;
  background:
    linear-gradient(rgba(var(--branding-primary-rgb), .035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(var(--branding-primary-rgb), .035) 1px, transparent 1px),
    #fff;
  background-size: 18px 18px;
}

.swp-guest-qr-preview::after {
  content: "";
  position: absolute;
  inset: 10px;
  pointer-events: none;
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,.75);
}

.swp-guest-qr-preview img {
  position: relative;
  z-index: 1;
  display: block;
  width: min(142px, 100%);
  aspect-ratio: 1;
  object-fit: contain;
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 16px 34px rgba(15,23,42,.12);
}

.swp-guest-qr-empty {
  position: relative;
  z-index: 1;
  display: grid;
  justify-items: center;
  gap: 7px;
  max-width: 180px;
  color: var(--muted);
  text-align: center;
  font-size: .76rem;
  line-height: 1.25;
}

.swp-guest-qr-empty i {
  width: 46px;
  height: 46px;
  display: grid;
  place-items: center;
  border-radius: 15px;
  color: var(--accent-2);
  background: rgba(var(--branding-primary-rgb), .09);
  font-size: 1.2rem;
}

.swp-guest-qr-url-label {
  margin-bottom: -6px;
  color: var(--muted);
  font-size: .68rem;
  font-weight: 600;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.swp-guest-qr-url .form-control {
  min-width: 0;
  min-height: 42px;
  border-color: rgba(148,163,184,.2);
  color: #1e293b;
  background: rgba(255,255,255,.92);
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
  font-size: .72rem;
  font-weight: 600;
  letter-spacing: -.02em;
  box-shadow: none;
  text-overflow: ellipsis;
}

.swp-guest-qr-url .form-control:focus {
  border-color: rgba(var(--branding-primary-rgb), .34);
  box-shadow: 0 0 0 4px rgba(var(--branding-primary-rgb), .08);
}

.swp-guest-qr-url-icon {
  min-height: 42px;
  border-color: rgba(148,163,184,.2);
  border-radius: 14px 0 0 14px !important;
  color: var(--accent-2);
  background: rgba(var(--branding-primary-rgb), .08);
}

.swp-guest-qr-open.btn {
  min-width: 78px;
  min-height: 42px !important;
  height: 42px !important;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 0 12px !important;
  border-color: rgba(var(--branding-primary-rgb), .22) !important;
  border-radius: 0 14px 14px 0 !important;
  color: #075985;
  background: linear-gradient(180deg, #fff, rgba(var(--branding-primary-rgb), .055));
  box-shadow: none;
  font-size: .76rem !important;
  font-weight: 600;
}

.swp-guest-qr-open.btn:hover,
.swp-guest-qr-open.btn:focus-visible {
  color: #fff;
  border-color: transparent !important;
  background: linear-gradient(135deg, var(--swp-primary), color-mix(in srgb, var(--swp-primary) 70%, var(--swp-secondary)));
  transform: translateY(-1px);
}

.swp-guest-qr-open.btn.disabled,
.swp-guest-qr-open.btn[aria-disabled="true"] {
  pointer-events: auto;
  cursor: not-allowed;
  color: #94a3b8;
  border-color: rgba(148,163,184,.18) !important;
  background: rgba(241,245,249,.72);
  opacity: 1;
}

.swp-guest-qr-actions {
  display: grid;
  grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr);
  gap: 8px;
}

.swp-guest-qr-actions .btn {
  min-height: 42px;
  width: 100%;
  justify-content: center;
  gap: 6px;
  font-size: .78rem;
  border-radius: 13px;
}

.swp-guest-qr-actions .primary-button.is-live {
  border-color: rgba(239,68,68,.26);
  background: linear-gradient(135deg, #b42318, #f97316);
  box-shadow: 0 16px 28px rgba(239,68,68,.18);
}

.swp-guest-qr-note {
  color: var(--muted);
  font-size: .7rem;
  line-height: 1.25;
}

.swp-event-created-regia {
  width: 100%;
  min-height: 46px;
  margin-top: 2px;
  justify-content: center;
  border-radius: 14px;
  font-weight: 700;
}

.swp-event-created-wall {
  display: grid;
  gap: 12px;
  padding: 16px;
  border: 1px solid rgba(var(--branding-primary-rgb), .16);
  border-radius: 24px;
  background:
    radial-gradient(circle at 100% 0, rgba(var(--branding-secondary-rgb), .11), transparent 38%),
    linear-gradient(145deg, rgba(255,255,255,.98), rgba(247,250,253,.96));
  box-shadow: 0 20px 54px rgba(15, 23, 42, .08);
}

.swp-event-created-wall-head {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr) auto;
  align-items: start;
  gap: 10px;
}

.swp-event-created-wall-icon {
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  border-radius: 14px;
  color: #fff;
  background: linear-gradient(135deg, var(--swp-primary), var(--swp-secondary));
  box-shadow: 0 12px 24px rgba(var(--branding-primary-rgb), .18);
  font-size: 1.08rem;
}

.swp-event-created-wall-head h2,
.swp-event-created-wall-head p {
  margin: 0;
}

.swp-event-created-wall-head h2 {
  color: var(--text);
  font-size: 1rem;
  line-height: 1.08;
  font-weight: 650;
}

.swp-event-created-wall-head p {
  margin-top: 3px;
  color: var(--muted);
  font-size: .74rem;
  line-height: 1.3;
}

.swp-event-created-wall-head .badge {
  display: inline-flex;
  align-items: center;
  gap: 5px;
}

.swp-event-created-wall-preview {
  height: 174px;
  display: grid;
  place-items: center;
  overflow: hidden;
  padding: 12px;
  border: 1px solid rgba(15, 23, 42, .08);
  border-radius: 20px;
  background:
    linear-gradient(rgba(var(--branding-primary-rgb), .04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(var(--branding-primary-rgb), .04) 1px, transparent 1px),
    #eef5f9;
  background-size: 20px 20px;
}

.swp-event-created-wall-screen {
  width: auto;
  height: 148px;
  max-width: 100%;
  display: grid;
  place-content: center;
  justify-items: center;
  gap: 5px;
  aspect-ratio: var(--wall-preview-ratio, 16 / 9);
  overflow: hidden;
  padding: 14px;
  border: 4px solid #1e293b;
  border-radius: 12px;
  color: #fff;
  text-align: center;
  background:
    radial-gradient(circle at 18% 18%, rgba(255,255,255,.18), transparent 28%),
    linear-gradient(145deg, var(--swp-primary), color-mix(in srgb, var(--swp-secondary) 70%, #0f172a));
  box-shadow: 0 16px 30px rgba(15, 23, 42, .2);
}

.swp-event-created-wall-screen i {
  font-size: 1.25rem;
}

.swp-event-created-wall-screen strong {
  max-width: 18ch;
  overflow: hidden;
  font-size: .88rem;
  line-height: 1.05;
  font-weight: 700;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.swp-event-created-wall-screen small {
  font-size: .66rem;
  line-height: 1.1;
  opacity: .82;
}

.swp-event-created-wall-open {
  width: 100%;
  min-height: 46px;
  justify-content: center;
  border-radius: 14px;
  font-weight: 700;
}

.swp-event-created-banner {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 0 0 18px;
  padding: 14px 16px;
  border: 1px solid rgba(22, 163, 74, .2);
  border-radius: 18px;
  color: #166534;
  background: linear-gradient(135deg, rgba(240, 253, 244, .98), rgba(255, 255, 255, .96));
  box-shadow: 0 14px 30px rgba(22, 163, 74, .08);
}

.swp-event-created-banner-icon {
  width: 42px;
  height: 42px;
  flex: 0 0 42px;
  display: grid;
  place-items: center;
  border-radius: 14px;
  color: #fff;
  background: linear-gradient(135deg, #22c55e, #15803d);
  font-size: 1.15rem;
}

.swp-event-created-banner strong,
.swp-event-created-banner small {
  display: block;
}

.swp-event-created-banner strong {
  font-size: .98rem;
  line-height: 1.15;
  font-weight: 700;
}

.swp-event-created-banner small {
  margin-top: 3px;
  color: #4b6353;
  font-size: .8rem;
  line-height: 1.3;
}

.swp-new-event-form.is-created .swp-new-event-main {
  opacity: .88;
  pointer-events: none;
}

@media (max-width: 520px) {
  .swp-guest-qr-url {
    align-items: stretch;
  }

  .swp-guest-qr-url-icon {
    padding-inline: 10px;
  }

  .swp-guest-qr-url .form-control {
    font-size: .66rem;
  }

  .swp-guest-qr-open.btn span {
    display: none;
  }

  .swp-guest-qr-open.btn {
    min-width: 46px;
    padding-inline: 0 !important;
  }

  .swp-event-created-wall-head {
    grid-template-columns: 42px minmax(0, 1fr);
  }

  .swp-event-created-wall-head .badge {
    grid-column: 2;
    justify-self: start;
  }
}

.swp-new-event-todo {
  padding: 20px;
  border: 1px solid rgba(var(--branding-primary-rgb), .12);
  border-radius: 24px;
  background:
    radial-gradient(circle at 100% 0, rgba(var(--branding-primary-rgb), .1), transparent 34%),
    #fff;
  box-shadow: 0 24px 64px rgba(15,23,42,.09);
}

.swp-new-event-todo-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

.swp-new-event-todo-head > strong {
  min-width: 50px;
  height: 50px;
  display: grid;
  place-items: center;
  border-radius: 16px;
  color: var(--accent-2);
  background: rgba(var(--branding-primary-rgb), .09);
  font-size: .95rem;
}

.swp-new-event-progress {
  height: 7px;
  margin: 14px 0 15px;
  overflow: hidden;
  border-radius: 999px;
  background: #eaf1f5;
}

.swp-new-event-progress span {
  display: block;
  width: 0;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, var(--btn-primary), #31c48d);
  transition: width .3s ease;
}

.swp-new-event-todo-list {
  display: grid;
  grid-template-columns: 1fr;
  gap: 6px;
}

.swp-todo-item {
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr);
  align-items: center;
  gap: 7px;
  min-width: 0;
  padding: 7px;
  border-radius: 13px;
  color: var(--muted);
  transition: color .2s ease, background .2s ease;
}

.swp-todo-item > i {
  width: 27px;
  height: 27px;
  display: grid;
  place-items: center;
  border: 1px solid #dbe5ef;
  border-radius: 10px;
  color: transparent;
  background: #f8fafc;
  transition: all .2s ease;
}

.swp-todo-item strong,
.swp-todo-item small {
  display: block;
}

.swp-todo-item strong {
  font-size: .86rem;
  font-weight: 600;
  line-height: 1.15;
}

.swp-todo-item small {
  margin-top: 1px;
  color: #94a3b8;
  font-size: .7rem;
  line-height: 1.15;
}

.swp-todo-item.is-done {
  color: #047857;
  background: rgba(16,185,129,.065);
}

.swp-todo-item.is-done > i {
  color: #fff;
  border-color: #10b981;
  background: #10b981;
  box-shadow: 0 7px 16px rgba(16,185,129,.2);
}

.swp-todo-item.is-done strong {
  text-decoration: line-through;
  text-decoration-color: rgba(4,120,87,.35);
}

.swp-new-event-mini-preview {
  margin-top: 15px;
  padding: 14px;
  border: 1px solid rgba(var(--branding-primary-rgb), .1);
  border-radius: 20px;
  background:
    radial-gradient(circle at 85% 0, rgba(var(--branding-secondary-rgb), .12), transparent 34%),
    rgba(var(--branding-primary-rgb), .055);
}

.swp-new-event-mini-preview > span,
.swp-new-event-mini-preview > strong,
.swp-new-event-mini-preview > p {
  display: block;
}

.swp-new-event-mini-preview > span {
  margin-bottom: 8px;
  color: var(--accent-2);
  font-size: .69rem;
  font-weight: 600;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.swp-new-event-mini-preview > strong {
  color: var(--text);
  font-size: 1.04rem;
}

.swp-new-event-mini-preview > p {
  margin: 5px 0 0;
  color: var(--muted);
  font-size: .8rem;
  line-height: 1.35;
}

.swp-mini-preview-art {
  position: relative;
  height: 80px;
  margin: 7px 0 11px;
  overflow: hidden;
  border: 1px solid rgba(var(--branding-primary-rgb), .1);
  border-radius: 17px;
  background:
    linear-gradient(rgba(var(--branding-primary-rgb), .04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(var(--branding-primary-rgb), .04) 1px, transparent 1px),
    rgba(255,255,255,.74);
  background-size: 18px 18px;
}

.swp-mini-preview-logo,
.swp-mini-preview-bubble,
.swp-mini-preview-photo {
  position: absolute;
  display: grid;
  place-items: center;
  border: 1px solid rgba(var(--branding-primary-rgb), .11);
  background: #fff;
  box-shadow: 0 9px 20px rgba(15,23,42,.09);
}

.swp-mini-preview-logo {
  z-index: 2;
  left: 14px;
  top: 23px;
  width: 43px;
  height: 43px;
  border-radius: 15px;
  color: var(--accent-2);
  background: linear-gradient(145deg, #fff, rgba(var(--branding-primary-rgb), .11));
}

.swp-mini-preview-logo img {
  width: 100%;
  height: 100%;
  padding: 5px;
  object-fit: contain;
  border-radius: inherit;
}

.swp-mini-preview-logo.has-logo {
  background: rgba(255,255,255,.94);
}

.swp-mini-preview-logo.has-logo i {
  display: none;
}

.swp-mini-preview-bubble {
  left: 46px;
  top: 12px;
  width: 118px;
  height: 61px;
  grid-template-columns: 22px minmax(0, 1fr);
  align-content: center;
  justify-items: start;
  gap: 5px 7px;
  padding: 11px 10px 10px 18px;
  border-radius: 18px;
  color: var(--btn-secondary);
}

.swp-mini-preview-bubble .bi {
  grid-row: 1 / 3;
}

.swp-mini-preview-bubble b {
  width: 100%;
  height: 4px;
  border-radius: 999px;
  background: #dbe5ef;
}

.swp-mini-preview-bubble b:last-child {
  width: 64%;
}

.swp-mini-preview-photo {
  right: 13px;
  bottom: 10px;
  width: 57px;
  height: 52px;
  border-radius: 16px;
  color: #fff;
  background: linear-gradient(145deg, var(--btn-primary), var(--btn-primary-2));
  transform: rotate(5deg);
}

.swp-mini-preview-spark {
  position: absolute;
  top: 8px;
  right: 9px;
  color: var(--btn-secondary);
  font-size: 1rem;
}

.swp-new-event-submit {
  min-height: 60px;
  justify-content: space-between;
  padding-inline: 22px;
  border-radius: 18px;
  font-size: 1rem;
}

.swp-new-event-actions {
  display: grid;
  align-self: start;
  gap: 10px;
}

.swp-new-event-actions .swp-new-event-submit-note {
  grid-column: auto;
  margin-top: 0;
}

.swp-new-event-submit-note {
  margin: -6px 0 0;
  color: var(--muted);
  text-align: center;
  font-size: .8rem;
}

.swp-new-event-submit-note i {
  margin-right: 5px;
  color: var(--accent-2);
}

html.swp-theme-dark .swp-new-event-card,
html.swp-theme-dark .swp-new-event-advanced,
html.swp-theme-dark .swp-new-event-todo {
  border-color: rgba(191,245,255,.13);
  background: linear-gradient(145deg, rgba(13,31,40,.97), rgba(8,22,30,.95));
}

html.swp-theme-dark .swp-new-event-card .form-control,
html.swp-theme-dark .swp-new-event-advanced .form-control,
html.swp-theme-dark .swp-new-event-advanced .form-select {
  background-color: rgba(255,255,255,.055);
}

html.swp-theme-dark .swp-new-event-form .form-control::placeholder,
html.swp-theme-dark .swp-config-form .form-control::placeholder {
  color: rgba(158, 192, 202, .28);
  opacity: 1;
}

html.swp-theme-dark .swp-todo-item > i {
  border-color: rgba(191,245,255,.13);
  background: rgba(255,255,255,.06);
}

html.swp-theme-dark .swp-new-event-progress {
  background: rgba(255,255,255,.08);
}

html.swp-theme-dark .swp-new-event-color-row {
  border-color: rgba(191,245,255,.15);
  background: rgba(255,255,255,.055);
}

html.swp-theme-dark .swp-wall-layout-option,
html.swp-theme-dark .swp-moderation-option,
html.swp-theme-dark .swp-access-option {
  border-color: rgba(191,245,255,.14);
  background: rgba(255,255,255,.045);
}

html.swp-theme-dark .swp-monitor-config-grid,
html.swp-theme-dark .swp-screen-aspect-preset {
  border-color: rgba(191,245,255,.14);
  background-color: rgba(255,255,255,.045);
}

html.swp-theme-dark .swp-banned-words-status {
  border-color: rgba(52,211,153,.22);
  background: rgba(16,185,129,.08);
}

html.swp-theme-dark .swp-banned-words-icon {
  background: rgba(255,255,255,.08);
}

html.swp-theme-dark .swp-custom-banned-empty,
html.swp-theme-dark .swp-custom-banned-chip {
  border-color: rgba(248,113,113,.2);
  background: rgba(239,68,68,.08);
}

html.swp-theme-dark .swp-custom-banned-chip {
  color: #fecaca;
}

html.swp-theme-dark .swp-participant-import-icon {
  background: rgba(255,255,255,.08);
}

html.swp-theme-dark .swp-excel-upload {
  border-color: rgba(110,231,183,.18);
  background:
    radial-gradient(circle at 0 0, rgba(16,185,129,.12), transparent 36%),
    rgba(255,255,255,.045);
}

html.swp-theme-dark .swp-excel-upload-mark {
  color: #6ee7b7;
  background: rgba(16,185,129,.13);
}

html.swp-theme-dark .swp-participant-roster {
  border-color: rgba(110,231,183,.18);
  background: rgba(255,255,255,.045);
}

html.swp-theme-dark .swp-participant-roster.is-replacing {
  border-color: rgba(251,191,36,.28);
  background: rgba(120,53,15,.16);
}

html.swp-theme-dark .swp-participant-roster-icon {
  color: #6ee7b7;
  background: rgba(16,185,129,.14);
}

html.swp-theme-dark .swp-participant-roster-title small b {
  color: #6ee7b7;
}

html.swp-theme-dark .swp-participant-email-list {
  border-color: rgba(255,255,255,.08);
  background: rgba(15,23,42,.34);
}

html.swp-theme-dark .swp-participant-email-chip {
  color: #a5f3fc;
  border-color: rgba(34,211,238,.16);
  background: rgba(8,145,178,.13);
}

html.swp-theme-dark .swp-participant-email-chip > i {
  color: #67e8f9;
}

html.swp-theme-dark .swp-manual-email-box {
  border-color: rgba(110,231,183,.16);
  background: rgba(255,255,255,.045);
}

html.swp-theme-dark .swp-manual-email-box textarea.form-control {
  background: rgba(15,23,42,.42);
}

html.swp-theme-dark .swp-privacy-upload {
  border-color: rgba(248,113,113,.2);
  background:
    radial-gradient(circle at 0 0, rgba(239,68,68,.14), transparent 38%),
    rgba(255,255,255,.045);
  box-shadow: 0 12px 30px rgba(0,0,0,.14);
}

html.swp-theme-dark .swp-privacy-upload-mark {
  color: #fca5a5;
  background: rgba(239,68,68,.13);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.07);
}

html.swp-theme-dark .swp-privacy-upload-action {
  color: #fca5a5;
  border-color: rgba(248,113,113,.2);
  background: rgba(239,68,68,.1);
}

html.swp-theme-dark .swp-privacy-upload.has-file {
  border-color: rgba(52,211,153,.35);
  background:
    radial-gradient(circle at 0 0, rgba(16,185,129,.13), transparent 38%),
    rgba(255,255,255,.045);
}

html.swp-theme-dark .swp-privacy-upload.is-error {
  border-color: rgba(248,113,113,.55);
  background: rgba(239,68,68,.08);
}

html.swp-theme-dark .swp-privacy-upload-help i {
  color: #6ee7b7;
}

html.swp-theme-dark .swp-privacy-upload-clear {
  color: #fca5a5;
  background: rgba(239,68,68,.12);
}

html.swp-theme-dark .swp-privacy-upload-clear:hover {
  color: #fff;
  background: #dc2626;
}

html.swp-theme-dark .swp-participant-preview-modal .modal-content {
  border-color: rgba(110,231,183,.14);
  background:
    radial-gradient(circle at 8% 0, rgba(16,185,129,.14), transparent 32%),
    radial-gradient(circle at 100% 100%, rgba(var(--branding-primary-rgb), .12), transparent 35%),
    #0a1b23;
}

html.swp-theme-dark .swp-participant-preview-icon,
html.swp-theme-dark .swp-participant-preview-status-icon,
html.swp-theme-dark .swp-participant-preview-email {
  border-color: rgba(110,231,183,.15);
  background: rgba(255,255,255,.075);
}

html.swp-theme-dark .swp-participant-preview-list {
  border-color: rgba(191,245,255,.12);
  background-color: rgba(255,255,255,.035);
}

html.swp-theme-dark .swp-participant-preview-list:empty {
  background:
    linear-gradient(90deg, transparent, rgba(255,255,255,.045), transparent),
    repeating-linear-gradient(to bottom, rgba(255,255,255,.055) 0 37px, transparent 37px 45px);
  background-size: 45% 100%, 100% 100%;
}

html.swp-theme-dark .swp-participant-preview-count {
  border-left-color: rgba(191,245,255,.12);
}

html.swp-theme-dark .swp-participant-preview-modal .btn-close {
  color: #e2e8f0;
  background: rgba(255,255,255,.08);
}

html.swp-theme-dark .swp-identity-art-logo,
html.swp-theme-dark .swp-identity-art-type,
html.swp-theme-dark .swp-identity-art-colors,
html.swp-theme-dark .swp-identity-art-spark,
html.swp-theme-dark .swp-mini-preview-logo,
html.swp-theme-dark .swp-mini-preview-bubble,
html.swp-theme-dark .swp-mini-preview-photo {
  border-color: rgba(191,245,255,.14);
  background-color: rgba(255,255,255,.08);
}

html.swp-theme-dark .swp-mini-preview-art {
  border-color: rgba(191,245,255,.13);
  background-color: rgba(255,255,255,.04);
}

html.swp-theme-dark .swp-new-event-guest-qr,
html.swp-theme-dark .swp-guest-qr-preview {
  border-color: rgba(191,245,255,.13);
  background-color: rgba(15,23,42,.86);
}

html.swp-theme-dark .swp-guest-qr-preview {
  background:
    linear-gradient(rgba(255,255,255,.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.04) 1px, transparent 1px),
    rgba(15,23,42,.92);
  background-size: 18px 18px;
}

html.swp-theme-dark .swp-guest-qr-icon,
html.swp-theme-dark .swp-guest-qr-empty i {
  background: rgba(255,255,255,.08);
}

html.swp-theme-dark .swp-guest-qr-url-icon,
html.swp-theme-dark .swp-guest-qr-url .form-control,
html.swp-theme-dark .swp-guest-qr-open.btn {
  border-color: rgba(191,245,255,.16) !important;
}

html.swp-theme-dark .swp-guest-qr-url-icon {
  color: #67e8f9;
  background: rgba(255,255,255,.07);
}

html.swp-theme-dark .swp-guest-qr-url .form-control {
  color: #dbeafe;
  background: rgba(15,23,42,.84);
}

html.swp-theme-dark .swp-guest-qr-open.btn {
  color: #bae6fd;
  background: rgba(8,47,73,.76);
}

html.swp-theme-dark .swp-guest-qr-open.btn:hover,
html.swp-theme-dark .swp-guest-qr-open.btn:focus-visible {
  color: #fff;
  background: linear-gradient(135deg, #0284c7, #0f766e);
}

html.swp-theme-dark .swp-compact-card-clipart span {
  border-color: rgba(191,245,255,.14);
  background: rgba(255,255,255,.08);
}

html.swp-theme-dark .swp-security-clipart span:first-child {
  color: #6ee7b7;
  background: rgba(16,185,129,.12);
}

html.swp-theme-dark .swp-security-clipart span:last-child {
  color: #fca5a5;
  background: rgba(239,68,68,.1);
}

@media (max-width: 1040px) {
  .swp-new-event-grid {
    grid-template-columns: 1fr;
  }

  .swp-new-event-side {
    position: static;
    grid-template-columns: minmax(0, 1fr) 280px;
  }

  .swp-new-event-submit-note {
    grid-column: 2;
  }
}

@media (max-width: 700px) {
  .swp-identity-clipart,
  .swp-wall-config-clipart {
    display: none;
  }

  .swp-new-event-identity-card .swp-new-event-step,
  .swp-new-event-wall-card .swp-new-event-step {
    padding-right: 0;
  }

  .swp-new-event-card {
    padding: 22px;
    border-radius: 23px;
  }

  .swp-new-event-fields,
  .swp-new-event-date-grid,
  .swp-new-event-side {
    grid-template-columns: 1fr;
  }

  .swp-wall-layout-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .swp-monitor-config-grid {
    grid-template-columns: 1fr;
  }

  .swp-screen-aspect-preset-grid {
    grid-template-columns: repeat(5, minmax(46px, 1fr));
    overflow-x: auto;
  }

  .swp-moderation-choice-grid {
    grid-template-columns: 1fr;
  }

  .swp-access-choice-grid {
    grid-template-columns: 1fr;
  }

  .swp-excel-upload {
    grid-template-columns: 50px minmax(0, 1fr);
  }

  .swp-excel-upload-mark {
    width: 50px;
    height: 50px;
  }

  .swp-excel-upload-action {
    grid-column: 1 / -1;
    width: 100%;
  }

  .swp-participant-preview-modal {
    padding: 9px;
  }

  .swp-participant-preview-modal .modal-dialog {
    width: 100%;
    min-height: calc(100vh - 18px);
  }

  .swp-participant-preview-modal .modal-content {
    border-radius: 22px;
  }

  .swp-participant-preview-modal .modal-header {
    padding: 19px 18px 14px;
  }

  .swp-participant-preview-modal .modal-body {
    padding: 2px 18px 16px;
  }

  .swp-participant-preview-summary {
    grid-template-columns: 42px minmax(0, 1fr);
    padding: 12px;
  }

  .swp-participant-preview-status-icon {
    width: 42px;
    height: 42px;
  }

  .swp-participant-preview-count {
    grid-column: 1 / -1;
    min-width: 0;
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    padding: 9px 2px 0;
    border-top: 1px solid rgba(15,23,42,.09);
    border-left: 0;
    text-align: left;
  }

  .swp-participant-preview-count small {
    margin: 0;
  }

  .swp-participant-preview-list {
    grid-template-columns: 1fr;
    max-height: 260px;
  }

  .swp-participant-preview-list-head {
    align-items: flex-end;
  }

  .swp-participant-preview-list-head span {
    text-align: right;
  }

  .swp-participant-preview-modal .modal-footer {
    align-items: stretch;
    padding: 12px 18px 18px;
  }

  .swp-participant-preview-modal .modal-footer > span {
    flex: 1 1 100%;
  }

  .swp-participant-preview-modal .modal-footer .btn {
    width: 100%;
  }

  .swp-banned-words-status {
    grid-template-columns: 46px minmax(0, 1fr);
  }

  .swp-custom-banned-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .swp-custom-banned-entry {
    grid-template-columns: 1fr;
  }

  .swp-custom-banned-entry .btn {
    width: 100%;
  }

  .swp-filter-on {
    grid-column: 1 / -1;
    width: max-content;
  }

  .swp-new-event-submit-note {
    grid-column: auto;
  }
}

@media (max-width: 700px) {
  .swp-new-event-form .swp-compact-card-clipart {
    display: none;
  }

  .swp-new-event-form .swp-new-event-identity-card .swp-new-event-brand-options {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .swp-new-event-form .swp-new-event-identity-card .swp-new-event-font-field {
    grid-column: 1 / -1;
  }

  .swp-new-event-form .swp-new-event-participation-card .swp-new-event-step,
  .swp-new-event-form .swp-new-event-security-card .swp-new-event-step {
    padding-right: 0;
  }

  .swp-new-event-form .swp-new-event-card {
    padding: 18px;
    border-radius: 21px;
  }

  .swp-new-event-form .swp-new-event-fields {
    grid-template-columns: 1.35fr 1fr;
  }

  .swp-new-event-form .swp-new-event-side {
    grid-template-columns: minmax(0, 1fr) 250px;
  }

  .swp-new-event-form .swp-excel-upload {
    grid-template-columns: 50px minmax(0, 1fr) auto;
  }

  .swp-new-event-form .swp-excel-upload-action {
    grid-column: auto;
    width: auto;
  }

  .swp-new-event-form .swp-custom-banned-entry {
    grid-template-columns: minmax(0, 1fr) auto;
  }

  .swp-new-event-form .swp-custom-banned-entry .btn {
    width: auto;
  }

  .swp-new-event-form .swp-filter-on {
    grid-column: auto;
  }
}

@media (max-width: 560px) {
  .swp-new-event-form .swp-monitor-config-grid,
  .swp-new-event-form .swp-new-event-side {
    grid-template-columns: 1fr;
  }

  .swp-new-event-form .swp-new-event-submit-note {
    grid-column: auto;
  }
}

@media (max-width: 520px) {
  .swp-new-event-form .swp-new-event-fields,
  .swp-new-event-form .swp-moderation-choice-grid,
  .swp-new-event-form .swp-access-choice-grid,
  .swp-new-event-form .swp-custom-banned-entry {
    grid-template-columns: 1fr;
  }

  .swp-new-event-form .swp-excel-upload {
    grid-template-columns: 48px minmax(0, 1fr);
  }

  .swp-new-event-form .swp-privacy-upload {
    grid-template-columns: 48px minmax(0, 1fr);
  }

  .swp-new-event-form .swp-privacy-upload-mark {
    width: 48px;
    height: 48px;
  }

  .swp-new-event-form .swp-excel-upload-action,
  .swp-new-event-form .swp-privacy-upload-action {
    grid-column: 1 / -1;
    width: 100%;
  }

  .swp-participant-roster-head {
    align-items: stretch;
    flex-direction: column;
  }

  .swp-participant-roster-actions {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
  }

  .swp-participant-roster-actions .btn {
    width: 100%;
  }

  .swp-new-event-form .swp-banned-words-status {
    grid-template-columns: 44px minmax(0, 1fr);
  }

  .swp-new-event-form .swp-filter-on {
    grid-column: 1 / -1;
  }

  .swp-new-event-form .swp-custom-banned-entry .btn {
    width: 100%;
  }
}

@media (prefers-reduced-motion: reduce) {
  .swp-participant-preview-status-icon .spinner-border,
  .swp-participant-preview-progress > span.is-running::after,
  .swp-participant-preview-list:empty,
  .swp-participant-preview-email {
    animation: none;
  }
}

/* Header premium della webApp partecipante, visibile dopo l’accesso. */
body.swp-public-app [data-public-webapp]:not([hidden]) > .swp-public-event-header {
  position: relative;
  isolation: isolate;
  min-height: 76px;
  gap: 14px;
  padding: 12px clamp(18px, 3.4vw, 30px);
  overflow: hidden;
  border-bottom: 1px solid color-mix(in srgb, var(--swp-primary) 18%, #dfe7ed);
  background:
    radial-gradient(circle at 92% 0, color-mix(in srgb, var(--swp-secondary) 9%, transparent), transparent 38%),
    radial-gradient(circle at 13% 100%, color-mix(in srgb, var(--swp-primary) 10%, transparent), transparent 42%),
    linear-gradient(115deg, color-mix(in srgb, var(--swp-primary) 5%, #ffffff), #ffffff 46%, color-mix(in srgb, var(--swp-secondary) 4%, #ffffff));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.92);
}

body.swp-public-app [data-public-webapp]:not([hidden]) > .swp-public-event-header::before {
  content: "";
  position: absolute;
  right: clamp(62px, 10vw, 105px);
  top: -56px;
  z-index: -1;
  width: 150px;
  aspect-ratio: 1;
  border: 1px solid color-mix(in srgb, var(--swp-primary) 10%, transparent);
  border-radius: 42% 58% 50% 50%;
  background: color-mix(in srgb, var(--swp-primary) 5%, transparent);
  transform: rotate(18deg);
  pointer-events: none;
}

body.swp-public-app [data-public-webapp]:not([hidden]) > .swp-public-event-header::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 2;
  height: 2px;
  background: linear-gradient(90deg, var(--swp-primary), color-mix(in srgb, var(--swp-primary) 48%, var(--swp-secondary)), var(--swp-secondary));
  opacity: .72;
  pointer-events: none;
}

body.swp-public-app [data-public-webapp]:not([hidden]) > .swp-public-event-header > * {
  position: relative;
  z-index: 1;
}

body.swp-public-app [data-public-webapp]:not([hidden]) .swp-public-event-header-software-logo {
  width: clamp(104px, 14vw, 122px);
  height: 42px;
  padding-right: clamp(12px, 1.8vw, 18px);
  border-right: 1px solid color-mix(in srgb, var(--swp-primary) 15%, #dce5eb);
}

body.swp-public-app [data-public-webapp]:not([hidden]) .swp-public-event-header-software-logo img {
  max-height: 30px;
  object-position: left center;
}

body.swp-public-app [data-public-webapp]:not([hidden]) .swp-public-event-header-copy {
  gap: 3px;
}

body.swp-public-app [data-public-webapp]:not([hidden]) .swp-public-event-header-copy small {
  display: inline-flex;
  width: fit-content;
  align-items: center;
  gap: 6px;
  color: color-mix(in srgb, var(--swp-primary) 46%, #334155);
  font-size: .67rem;
  font-weight: 600;
  letter-spacing: .105em;
}

body.swp-public-app [data-public-webapp]:not([hidden]) .swp-public-event-header-copy small .bi {
  font-size: .72rem;
}

body.swp-public-app [data-public-webapp]:not([hidden]) .swp-public-event-header-copy strong {
  color: #111827;
  font-size: clamp(1rem, 2vw, 1.14rem);
  font-weight: 600;
  letter-spacing: -.012em;
  line-height: 1.12;
}

body.swp-public-app [data-public-webapp]:not([hidden]) .swp-public-event-header-live {
  min-height: 32px;
  gap: 7px;
  padding: 0 11px;
  border-color: rgba(16,185,129,.2);
  color: #047857;
  background: linear-gradient(180deg, rgba(236,253,245,.96), rgba(209,250,229,.72));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.88), 0 8px 20px rgba(16,185,129,.08);
  font-size: .66rem;
  letter-spacing: .09em;
}

body.swp-public-app [data-public-webapp]:not([hidden]) .swp-public-event-header-live .bi {
  color: #10b981;
  font-size: .5rem;
  filter: drop-shadow(0 0 5px rgba(16,185,129,.42));
  animation: swpPublicHeaderLivePulse 2.4s ease-in-out infinite;
}

@keyframes swpPublicHeaderLivePulse {
  0%, 100% {
    opacity: .72;
    transform: scale(.9);
  }
  48% {
    opacity: 1;
    transform: scale(1.14);
  }
}

@media (max-width: 575.98px) {
  body.swp-public-app [data-public-webapp]:not([hidden]) > .swp-public-event-header {
    min-height: 64px;
    gap: 10px;
    padding:
      calc(9px + env(safe-area-inset-top))
      calc(12px + env(safe-area-inset-right))
      9px
      calc(12px + env(safe-area-inset-left));
  }

  body.swp-public-app [data-public-webapp]:not([hidden]) .swp-public-event-header-software-logo {
    width: 84px;
    height: 36px;
    padding-right: 10px;
  }

  body.swp-public-app [data-public-webapp]:not([hidden]) .swp-public-event-header-software-logo img {
    max-height: 25px;
  }

  body.swp-public-app [data-public-webapp]:not([hidden]) .swp-public-event-header-copy {
    gap: 2px;
  }

  body.swp-public-app [data-public-webapp]:not([hidden]) .swp-public-event-header-copy small {
    gap: 4px;
    font-size: .56rem;
    letter-spacing: .08em;
  }

  body.swp-public-app [data-public-webapp]:not([hidden]) .swp-public-event-header-copy strong {
    font-size: .94rem;
  }

  body.swp-public-app [data-public-webapp]:not([hidden]) .swp-public-event-header-live {
    min-height: 28px;
    padding-inline: 9px;
    font-size: .6rem;
  }
}

@media (max-width: 360px) {
  body.swp-public-app [data-public-webapp]:not([hidden]) > .swp-public-event-header {
    gap: 8px;
    padding-inline: 10px;
  }

  body.swp-public-app [data-public-webapp]:not([hidden]) .swp-public-event-header-software-logo {
    width: 76px;
    padding-right: 8px;
  }

  body.swp-public-app [data-public-webapp]:not([hidden]) .swp-public-event-header-copy small {
    display: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.swp-public-app [data-public-webapp]:not([hidden]) .swp-public-event-header-live .bi {
    animation: none;
  }
}

/* Accesso partecipante premium: separato dal composer della webApp. */
body.swp-public-app .swp-public-access-panel {
  position: relative;
  isolation: isolate;
  min-height: 100%;
  overflow: hidden;
  padding: clamp(30px, 4.5vw, 58px);
  background:
    radial-gradient(circle at 10% 8%, color-mix(in srgb, var(--swp-primary) 44%, transparent), transparent 34%),
    radial-gradient(circle at 92% 90%, color-mix(in srgb, var(--swp-secondary) 34%, transparent), transparent 38%),
    linear-gradient(145deg, #07111f 0%, #102840 50%, #0a1829 100%);
}

body.swp-public-app .swp-public-access-panel::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -2;
  opacity: .22;
  background-image:
    linear-gradient(rgba(255,255,255,.13) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.13) 1px, transparent 1px);
  background-size: 42px 42px;
  mask-image: linear-gradient(135deg, #000, transparent 78%);
  -webkit-mask-image: linear-gradient(135deg, #000, transparent 78%);
}

body.swp-public-app .swp-public-access-panel::after {
  content: "";
  position: absolute;
  right: -110px;
  top: -120px;
  z-index: -1;
  width: 330px;
  aspect-ratio: 1;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 44% 56% 52% 48%;
  box-shadow: 0 0 100px color-mix(in srgb, var(--swp-primary) 26%, transparent) inset;
  transform: rotate(18deg);
}

body.swp-public-app .swp-public-access-card.swp-access-premium {
  position: relative;
  isolation: isolate;
  width: 100%;
  max-width: 550px;
  gap: 18px;
  overflow: hidden;
  padding: clamp(26px, 3.2vw, 38px);
  border: 1px solid rgba(255,255,255,.74);
  border-radius: 30px;
  background: linear-gradient(155deg, rgba(255,255,255,.99), rgba(244,249,252,.95));
  box-shadow:
    0 36px 96px rgba(0,0,0,.3),
    0 1px 0 rgba(255,255,255,.96) inset;
  backdrop-filter: blur(24px) saturate(1.16);
  -webkit-backdrop-filter: blur(24px) saturate(1.16);
}

body.swp-public-app .swp-public-access-card.swp-access-premium::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  z-index: 3;
  height: 4px;
  background: linear-gradient(90deg, var(--swp-primary), var(--swp-secondary));
}

body.swp-public-app .swp-access-premium > :not(.swp-access-premium-glow) {
  position: relative;
  z-index: 2;
}

body.swp-public-app .swp-access-premium-glow {
  position: absolute;
  z-index: 1;
  width: 220px;
  aspect-ratio: 1;
  border-radius: 999px;
  filter: blur(20px);
  opacity: .12;
  pointer-events: none;
}

body.swp-public-app .swp-access-premium-glow.is-primary {
  left: -100px;
  top: -110px;
  background: var(--swp-primary);
}

body.swp-public-app .swp-access-premium-glow.is-secondary {
  right: -130px;
  bottom: -150px;
  background: var(--swp-secondary);
}

body.swp-public-app .swp-access-event-context {
  display: grid;
  grid-template-columns: 40px minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  padding: 9px 10px;
  border: 1px solid color-mix(in srgb, var(--swp-primary) 15%, #dce5ec);
  border-radius: 17px;
  background: rgba(255,255,255,.72);
  box-shadow: 0 12px 30px rgba(15,23,42,.045);
}

body.swp-public-app .swp-access-event-icon {
  width: 40px;
  height: 40px;
  display: grid;
  place-items: center;
  border-radius: 13px;
  color: #fff;
  background: linear-gradient(135deg, var(--swp-primary), color-mix(in srgb, var(--swp-secondary) 72%, var(--swp-primary)));
  box-shadow: 0 10px 24px color-mix(in srgb, var(--swp-primary) 22%, transparent);
}

body.swp-public-app .swp-access-event-copy {
  min-width: 0;
  display: grid;
  gap: 1px;
}

body.swp-public-app .swp-access-event-copy small {
  color: #7a8797;
  font-size: .62rem;
  font-weight: 600;
  letter-spacing: .08em;
  text-transform: uppercase;
}

body.swp-public-app .swp-access-event-copy strong {
  overflow: hidden;
  color: #172033;
  font-size: .86rem;
  font-weight: 600;
  text-overflow: ellipsis;
  white-space: nowrap;
}

body.swp-public-app .swp-access-live {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 5px 8px;
  border-radius: 999px;
  color: #047857;
  background: rgba(16,185,129,.1);
  font-size: .64rem;
  font-weight: 600;
  letter-spacing: .08em;
  text-transform: uppercase;
}

body.swp-public-app .swp-access-live .bi {
  color: #10b981;
  font-size: .42rem;
  filter: drop-shadow(0 0 5px rgba(16,185,129,.58));
}

body.swp-public-app .swp-access-premium-head {
  justify-content: flex-start;
  gap: 14px;
}

body.swp-public-app .swp-access-premium-icon {
  width: 54px;
  height: 54px;
  flex: 0 0 54px;
  display: grid;
  place-items: center;
  border: 1px solid color-mix(in srgb, var(--swp-primary) 18%, #d8e4ec);
  border-radius: 18px;
  color: color-mix(in srgb, var(--swp-primary) 78%, #10243a);
  background: color-mix(in srgb, var(--swp-primary) 9%, #fff);
  box-shadow: 0 14px 30px color-mix(in srgb, var(--swp-primary) 13%, transparent);
  font-size: 1.3rem;
}

body.swp-public-app .swp-access-premium-head > div {
  min-width: 0;
}

body.swp-public-app .swp-access-premium-head .swp-composer-kicker {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  margin-bottom: 5px;
  font-size: .67rem;
  font-weight: 600;
  letter-spacing: .1em;
}

body.swp-public-app .swp-access-premium-head h2 {
  font-size: clamp(1.68rem, 2.5vw, 2.15rem);
  font-weight: 600;
  line-height: 1.02;
  letter-spacing: -.04em;
}

body.swp-public-app .swp-access-premium .swp-public-access-copy {
  gap: 5px;
}

body.swp-public-app .swp-access-premium .swp-public-access-copy strong {
  color: #1d2939;
  font-size: 1rem;
  font-weight: 600;
}

body.swp-public-app .swp-access-premium .swp-public-access-copy p {
  max-width: 48ch;
  color: #66758a;
  font-size: .88rem;
  line-height: 1.42;
}

body.swp-public-app .swp-access-perks {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 7px;
}

body.swp-public-app .swp-access-perks span {
  min-height: 34px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 7px 8px;
  border: 1px solid rgba(148,163,184,.17);
  border-radius: 12px;
  color: #526176;
  background: rgba(248,250,252,.8);
  font-size: .69rem;
  font-weight: 600;
  white-space: nowrap;
}

body.swp-public-app .swp-access-perks .bi {
  color: var(--swp-primary);
}

body.swp-public-app .swp-access-premium .swp-public-access-fields {
  gap: 14px;
}

body.swp-public-app .swp-access-field {
  gap: 7px;
}

body.swp-public-app .swp-access-field .form-label {
  justify-content: space-between;
  gap: 12px;
}

body.swp-public-app .swp-access-field .form-label span {
  color: #1d2939;
  font-size: .8rem;
  font-weight: 600;
}

body.swp-public-app .swp-access-field .form-label small {
  color: #8491a2;
  font-size: .65rem;
  font-weight: 600;
}

body.swp-public-app .swp-access-input-shell {
  position: relative;
}

body.swp-public-app .swp-access-input-shell > .bi {
  position: absolute;
  left: 16px;
  top: 50%;
  z-index: 2;
  color: var(--swp-primary);
  font-size: 1rem;
  transform: translateY(-50%);
  pointer-events: none;
}

body.swp-public-app .swp-access-premium .swp-public-access-fields .form-control {
  min-height: 56px;
  padding: 13px 16px 13px 47px;
  border: 1px solid #d6e0e8;
  border-radius: 17px;
  background: rgba(249,252,254,.96);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.9);
  font-size: .96rem;
  transition: border-color .2s ease, background .2s ease, box-shadow .2s ease, transform .2s ease;
}

body.swp-public-app .swp-access-premium .swp-public-access-fields .form-control:focus {
  border-color: color-mix(in srgb, var(--swp-primary) 58%, #fff);
  background: #fff;
  transform: translateY(-1px);
  box-shadow:
    0 0 0 4px color-mix(in srgb, var(--swp-primary) 12%, transparent),
    0 14px 30px rgba(15,23,42,.07);
}

body.swp-public-app .swp-access-premium .swp-access-privacy {
  min-height: 58px;
  padding: 12px 14px;
  border-color: color-mix(in srgb, var(--swp-primary) 13%, #e2e8f0);
  border-radius: 16px;
  background: color-mix(in srgb, var(--swp-primary) 4%, #fff);
}

body.swp-public-app .swp-access-premium .swp-access-actions {
  position: static;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  align-items: stretch;
  justify-content: stretch;
  gap: 8px;
  margin: 1px 0 0;
  padding: 0;
  background: transparent;
}

body.swp-public-app .swp-access-premium .swp-access-actions .form-feedback:empty {
  display: none;
}

body.swp-public-app .swp-access-premium .attendee-entry-submit {
  width: 100%;
  min-width: 0;
  min-height: 58px;
  justify-content: center;
  border-radius: 17px;
  background: linear-gradient(135deg, color-mix(in srgb, var(--swp-primary) 88%, #0f172a), color-mix(in srgb, var(--swp-secondary) 76%, #0f172a));
  box-shadow:
    0 18px 38px color-mix(in srgb, var(--swp-primary) 28%, transparent),
    inset 0 1px 0 rgba(255,255,255,.28);
  font-size: .98rem;
  font-weight: 600;
}

body.swp-public-app .swp-access-premium .attendee-entry-submit:hover,
body.swp-public-app .swp-access-premium .attendee-entry-submit:focus-visible {
  color: #fff;
  background: linear-gradient(135deg, color-mix(in srgb, var(--swp-primary) 82%, #0f172a), color-mix(in srgb, var(--swp-secondary) 68%, #0f172a));
  box-shadow:
    0 22px 44px color-mix(in srgb, var(--swp-primary) 34%, transparent),
    inset 0 1px 0 rgba(255,255,255,.3);
  transform: translateY(-2px);
}

body.swp-public-app .swp-access-secure-note {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  margin: -7px 0 0;
  color: #8491a2;
  font-size: .66rem;
  font-weight: 600;
  text-align: center;
}

body.swp-public-app .swp-access-secure-note .bi {
  color: #10b981;
}

@media (max-width: 991.98px) {
  body.swp-public-app .swp-public-intro-inner {
    padding: max(14px, env(safe-area-inset-top)) 18px 16px !important;
  }

  body.swp-public-app .swp-public-brand-row {
    margin-bottom: 8px !important;
  }

  body.swp-public-app .swp-public-title h1 {
    font-size: clamp(1.48rem, 7vw, 2.05rem) !important;
    line-height: 1.02 !important;
  }

  body.swp-public-app .swp-public-title p {
    -webkit-line-clamp: 2 !important;
    font-size: .8rem !important;
    line-height: 1.34 !important;
    opacity: .86;
  }

  body.swp-public-app .swp-public-access-panel {
    min-height: calc(100dvh - 116px);
    padding: 24px 16px calc(24px + env(safe-area-inset-bottom));
  }

  body.swp-public-app .swp-public-access-card.swp-access-premium {
    max-width: 580px;
    padding: 24px 20px;
    border-radius: 26px;
  }
}

@media (max-width: 420px) {
  body.swp-public-app .swp-public-access-panel {
    padding-inline: 12px;
  }

  body.swp-public-app .swp-public-access-card.swp-access-premium {
    gap: 16px;
    padding: 20px 15px;
    border-radius: 23px;
  }

  body.swp-public-app .swp-access-premium-head {
    gap: 11px;
  }

  body.swp-public-app .swp-access-premium-icon {
    width: 44px;
    height: 44px;
    flex-basis: 44px;
    border-radius: 14px;
    font-size: 1.05rem;
  }

  body.swp-public-app .swp-access-premium-head h2 {
    font-size: 1.48rem;
  }

  body.swp-public-app .swp-access-field .form-label small {
    display: none;
  }

  body.swp-public-app .swp-access-perks {
    gap: 5px;
  }

  body.swp-public-app .swp-access-perks span {
    min-height: 32px;
    padding: 6px 5px;
    font-size: .62rem;
  }
}

/* Picker emoji per la regia: cinque reazioni scelte da una palette ampia. */
.swp-reaction-picker {
  display: grid;
  gap: 7px;
  padding: 10px;
  border: 1px solid rgba(var(--branding-primary-rgb), .14);
  border-radius: 16px;
  background:
    radial-gradient(circle at top right, rgba(var(--branding-primary-rgb), .08), transparent 34%),
    rgba(255,255,255,.82);
  transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}

.swp-new-event-form .swp-reaction-config .swp-reaction-picker {
  --swp-reaction-full-bleed: clamp(20px, 2.6vw, 30px);
  width: calc(100% + (var(--swp-reaction-full-bleed) * 2));
  margin-inline: calc(var(--swp-reaction-full-bleed) * -1);
  padding-inline: var(--swp-reaction-full-bleed);
  border-inline: 0;
  border-radius: 0;
}

@media (max-width: 700px) {
  .swp-new-event-form .swp-reaction-config .swp-reaction-picker {
    --swp-reaction-full-bleed: 22px;
  }
}

.swp-reaction-selected {
  display: grid;
  grid-template-columns: repeat(5, minmax(36px, 1fr));
  gap: 5px;
}

.swp-reaction-selected button,
.swp-reaction-empty-slot {
  position: relative;
  height: 38px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(var(--branding-primary-rgb), .2);
  border-radius: 12px;
  background: #fff;
}

.swp-reaction-selected button {
  color: var(--text);
  box-shadow: 0 9px 24px rgba(15,23,42,.07);
  transition: transform .16s ease, border-color .16s ease, box-shadow .16s ease;
}

.swp-reaction-selected button:hover,
.swp-reaction-selected button:focus-visible {
  transform: translateY(-2px);
  border-color: rgba(var(--branding-primary-rgb), .48);
  box-shadow: 0 12px 28px rgba(var(--branding-primary-rgb), .12);
  outline: none;
}

.swp-reaction-selected button span {
  font-size: 1.12rem;
  line-height: 1;
}

.swp-reaction-selected button .bi {
  position: absolute;
  top: 2px;
  right: 3px;
  color: #64748b;
  font-size: .64rem;
}

.swp-reaction-empty-slot {
  color: rgba(var(--branding-primary-rgb), .42);
  border-style: dashed;
  background: rgba(var(--branding-primary-rgb), .035);
}

.swp-reaction-palette {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(32px, 38px));
  justify-content: start;
  gap: 4px;
  padding: 6px;
  border: 1px solid rgba(148,163,184,.18);
  border-radius: 13px;
  background: #f8fbfd;
}

.swp-reaction-palette button {
  position: relative;
  aspect-ratio: 1;
  width: 100%;
  max-width: 38px;
  min-width: 0;
  display: grid;
  place-items: center;
  padding: 2px;
  border: 1px solid transparent;
  border-radius: 10px;
  color: var(--text);
  background: transparent;
  font-size: clamp(1rem, 1.25vw, 1.15rem);
  line-height: 1;
  transition: transform .14s ease, background .14s ease, border-color .14s ease, box-shadow .14s ease;
}

.swp-reaction-palette button:hover,
.swp-reaction-palette button:focus-visible {
  transform: translateY(-2px) scale(1.06);
  border-color: rgba(var(--branding-primary-rgb), .2);
  background: #fff;
  box-shadow: 0 8px 20px rgba(15,23,42,.09);
  outline: none;
}

.swp-reaction-palette button.is-selected {
  border-color: rgba(var(--branding-primary-rgb), .42);
  background: rgba(var(--branding-primary-rgb), .1);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.72);
}

.swp-reaction-palette button .bi {
  position: absolute;
  right: 1px;
  bottom: 1px;
  display: none;
  color: var(--swp-primary);
  padding: 1px;
  border-radius: 50%;
  background: #fff;
  font-size: .56rem;
}

.swp-reaction-palette button.is-selected .bi {
  display: block;
}

.swp-reaction-picker-feedback {
  min-height: 1em;
  color: var(--muted);
  font-size: .7rem;
  font-weight: 600;
  line-height: 1.15;
}

.swp-reaction-picker.is-complete .swp-reaction-picker-feedback {
  color: #047857;
}

.swp-reaction-picker.is-incomplete .swp-reaction-picker-feedback,
.swp-reaction-picker.is-invalid .swp-reaction-picker-feedback {
  color: #b45309;
}

.swp-reaction-picker.is-invalid {
  border-color: rgba(239,68,68,.5);
  box-shadow: 0 0 0 4px rgba(239,68,68,.1);
}

.swp-reaction-picker.is-limit-hit {
  animation: swp-reaction-picker-shake .42s ease;
}

@keyframes swp-reaction-picker-shake {
  0%, 100% { transform: translateX(0); }
  25% { transform: translateX(-5px); }
  50% { transform: translateX(5px); }
  75% { transform: translateX(-3px); }
}

@media (max-width: 760px) {
  .swp-reaction-palette {
    grid-template-columns: repeat(auto-fit, minmax(32px, 38px));
  }
}

@media (max-width: 520px) {
  .swp-reaction-intro {
    column-gap: 8px;
  }

  .swp-reaction-count-badge {
    padding-inline: 6px;
    font-size: .62rem;
  }

  .swp-reaction-selected {
    grid-template-columns: repeat(5, minmax(36px, 1fr));
  }

  .swp-reaction-palette {
    grid-template-columns: repeat(auto-fit, minmax(32px, 38px));
    padding: 6px;
  }
}

/* Feedback premium quando arriva un nuovo voto con emoji. */
.swp-screen-post.is-reaction-hit,
.swp-public-feed-card.is-reaction-hit {
  z-index: 24;
  transform-origin: 50% 65%;
  animation: swp-reaction-card-hit 1.15s cubic-bezier(.16, 1, .3, 1) both;
}

.swp-public-feed-card {
  position: relative;
}

.swp-reaction-celebration {
  position: absolute;
  z-index: 30;
  left: 50%;
  bottom: 42px;
  width: 1px;
  height: 1px;
  overflow: visible;
  pointer-events: none;
}

.swp-public-feed-card .swp-reaction-celebration {
  bottom: 34px;
}

.swp-reaction-celebration::before {
  content: attr(data-emoji);
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  font-size: clamp(2.3rem, 5.2vw, 5.4rem);
  line-height: 1;
  filter: drop-shadow(0 12px 18px rgba(15,23,42,.2));
  animation: swp-reaction-emoji-pop 1.15s cubic-bezier(.16, 1, .3, 1) both;
}

.swp-reaction-celebration i {
  position: absolute;
  left: 0;
  top: 0;
  display: block;
  font-style: normal;
  font-size: clamp(1.25rem, 2.3vw, 2.25rem);
  line-height: 1;
  filter: drop-shadow(0 8px 12px rgba(15,23,42,.16));
  animation: swp-reaction-emoji-fly 1.45s var(--burst-delay) cubic-bezier(.16, .8, .25, 1) both;
}

.swp-screen-post.is-reaction-hit .swp-post-reactions,
.swp-public-feed-card.is-reaction-hit .swp-public-feed-reactions {
  animation: swp-reaction-bar-pulse .7s .12s ease-out both;
}

@keyframes swp-reaction-card-hit {
  0% {
    transform: scale(1);
    filter: saturate(1);
    box-shadow: var(--wall-card-shadow);
  }
  22% {
    transform: scale(1.035) translateY(-5px);
    filter: saturate(1.18);
    box-shadow: 0 30px 80px rgba(var(--branding-primary-rgb), .24), 0 0 0 3px rgba(var(--branding-secondary-rgb), .24);
  }
  48% {
    transform: scale(.992) translateY(1px);
  }
  100% {
    transform: scale(1) translateY(0);
    filter: saturate(1);
  }
}

@keyframes swp-reaction-emoji-pop {
  0% { opacity: 0; transform: translate(-50%, -20%) scale(.35) rotate(-12deg); }
  28% { opacity: 1; transform: translate(-50%, -62%) scale(1.18) rotate(7deg); }
  64% { opacity: 1; transform: translate(-50%, -72%) scale(.98) rotate(0); }
  100% { opacity: 0; transform: translate(-50%, -112%) scale(.72) rotate(0); }
}

@keyframes swp-reaction-emoji-fly {
  0% { opacity: 0; transform: translate(-50%, -50%) scale(.35) rotate(0); }
  18% { opacity: 1; }
  72% { opacity: 1; }
  100% { opacity: 0; transform: translate(calc(-50% + var(--burst-x)), calc(-50% + var(--burst-y))) scale(1.08) rotate(var(--burst-rotate)); }
}

@keyframes swp-reaction-bar-pulse {
  0%, 100% { transform: scale(1); }
  42% { transform: scale(1.075); }
}

@media (prefers-reduced-motion: reduce) {
  .swp-screen-post.is-reaction-hit,
  .swp-public-feed-card.is-reaction-hit,
  .swp-reaction-celebration::before,
  .swp-reaction-celebration i,
  .swp-screen-post.is-reaction-hit .swp-post-reactions,
  .swp-public-feed-card.is-reaction-hit .swp-public-feed-reactions {
    animation: none;
  }
}

body {
  font-weight: 400;
}

.container-fluid.swp-page-shell {
  width: min(calc(100% - 24px), var(--max));
  margin: 18px auto 42px;
  padding-inline: 0;
}

.swp-topbar {
  width: min(calc(100% - 24px), var(--max));
  margin-inline: auto;
}

.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border-radius: 14px;
  font-weight: 600;
  letter-spacing: 0;
}

.btn .bi {
  line-height: 1;
}

.btn-primary,
.primary-button {
  border: 0;
  background: linear-gradient(135deg, var(--btn-primary), var(--btn-primary-2));
  color: #fff;
  box-shadow: 0 16px 28px var(--btn-shadow);
}

.btn-outline-secondary,
.ghost-button {
  border: 1px solid rgba(var(--branding-primary-rgb), 0.18);
  background: #ffffff;
  color: var(--accent-2);
}

.btn-outline-danger {
  border-color: #fecaca;
  color: #b91c1c;
  background: #fff;
}

.btn-outline-success {
  border-color: rgba(16, 185, 129, 0.28);
  color: #047857;
  background: #fff;
}

.btn-dark,
.btn-outline-dark {
  border-color: rgba(15, 23, 42, 0.14);
  background: #1e293b;
  color: #fff;
}

.btn-outline-dark {
  background: #fff;
  color: #1e293b;
}

.btn-warning,
.btn-info,
.btn-secondary,
.btn-success {
  border: 0;
  color: #fff;
}

.btn-warning {
  background: linear-gradient(135deg, #f59e0b, #eb6600);
}

.btn-info {
  background: linear-gradient(135deg, var(--btn-primary), #0e7490);
}

.btn-secondary {
  background: linear-gradient(135deg, var(--btn-secondary), var(--btn-secondary-2));
}

.btn-success {
  background: linear-gradient(135deg, #10b981, #047857);
}

.form-control,
.form-select {
  min-height: 46px;
  border-radius: 14px;
  border-color: #dbe5ef;
  box-shadow: none;
}

.form-control:focus,
.form-select:focus {
  border-color: var(--accent);
  box-shadow: 0 0 0 .2rem rgba(var(--branding-primary-rgb), 0.12);
}

.form-label,
.fw-bold {
  font-weight: 600 !important;
}

.login-page,
.public-page {
  min-height: 100vh;
  display: grid;
  place-items: center;
  padding: 24px;
}

.login-box {
  width: min(100%, 460px);
  padding: 34px 28px 28px;
  border-radius: 28px;
  border: 1px solid var(--line);
  background: #ffffff;
  box-shadow: 0 24px 60px rgba(15, 23, 42, 0.08);
}

.swp-public-card textarea {
  width: 100%;
  min-height: 136px;
  padding: 18px;
  border-radius: 16px;
}

.swp-public-card input[type="file"] {
  padding: 14px 16px;
}

.swp-public-card .form-check {
  text-align: left;
}

.swp-public-card .form-check a {
  color: var(--accent-2);
  font-weight: 600;
}

.table-responsive.bg-white,
.swp-table-panel {
  border-radius: 24px !important;
  border-color: rgba(var(--branding-primary-rgb), 0.1) !important;
  box-shadow: var(--shadow);
}

.table {
  --bs-table-bg: rgba(255, 255, 255, 0.86);
  --bs-table-hover-bg: rgba(var(--branding-primary-rgb), 0.04);
  margin-bottom: 0;
}

.badge {
  border-radius: 999px;
  font-weight: 600;
}

.swp-metric-box {
  min-height: 112px;
}

.moderation-grid,
.swp-moderation-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: 8px;
}

.post-card,
.swp-post-card {
  overflow: hidden;
  border-radius: 24px;
  border: 1px solid rgba(var(--branding-primary-rgb), 0.1);
  background: rgba(255, 255, 255, 0.92);
  box-shadow: var(--shadow);
}

.post-card img,
.swp-post-card img {
  width: 100%;
  aspect-ratio: 16 / 10;
  object-fit: cover;
  background: #0f172a;
}

.post-card .body {
  padding: 16px;
}

.swp-post-author {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  margin: 0 8px 8px 0;
  color: var(--accent-2);
  font-size: .78rem;
  font-weight: 600;
}

.control-grid,
.swp-regia-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 12px;
}

.control-grid .btn {
  min-height: 76px;
}

.control-post,
.swp-regia-post {
  overflow: hidden;
  min-height: 132px;
  padding: 0;
  border: 1px solid rgba(var(--branding-primary-rgb), 0.12);
  border-radius: 20px;
  background: #fff;
  box-shadow: 0 12px 30px rgba(15, 23, 42, 0.07);
}

.control-post img {
  display: block;
  width: 100%;
  height: 120px;
  object-fit: cover;
}

.control-post span {
  display: block;
  padding: 12px;
  color: var(--text);
  font-weight: 600;
}

.wall-display {
  color: var(--screen-text);
}

.wall-display::before {
  display: none;
}

.wall-header {
  width: min(calc(100% - 36px), 1600px);
  margin: 0 auto 18px;
  position: relative;
  inset: auto;
  min-height: 72px;
  display: flex;
  align-items: center;
  gap: 18px;
  padding: 14px 22px;
  border-radius: 24px;
  border: 1px solid var(--screen-nav-border);
  background: var(--screen-nav-bg);
  backdrop-filter: blur(16px);
  color: var(--screen-text);
  font-size: 1.25rem;
  font-weight: 600;
}

.wall-header img {
  max-height: 48px;
  max-width: 160px;
  object-fit: contain;
}

#wall-stage {
  width: min(calc(100% - 36px), 1600px);
  min-height: calc(100vh - 132px);
  margin: 0 auto;
}

.wall-grid {
  display: grid;
  gap: 18px;
}

.layout-mosaic {
  grid-template-columns: repeat(5, 1fr);
}

.layout-feed {
  grid-template-columns: 1fr;
  max-width: 920px;
  margin: 0 auto;
}

.layout-cards {
  grid-template-columns: repeat(4, 1fr);
}

.layout-fullscreen {
  display: grid;
  place-items: center;
}

.wall-post {
  overflow: hidden;
  min-height: 180px;
  border-radius: 28px;
  border: 1px solid var(--screen-panel-border);
  background: var(--screen-panel);
  color: var(--screen-text);
  box-shadow:
    0 28px 90px rgba(15, 23, 42, 0.1),
    inset 0 1px 0 rgba(255, 255, 255, 0.86);
}

.wall-post img {
  width: 100%;
  height: 260px;
  object-fit: cover;
}

.wall-post p {
  margin: 0;
  padding: 20px;
  color: var(--screen-text);
  font-size: clamp(1.3rem, 2.2vw, 2rem);
  font-weight: 600;
  line-height: 1.08;
  letter-spacing: -0.03em;
}

.layout-fullscreen .wall-post {
  width: min(92vw, 1280px);
}

.layout-fullscreen .wall-post img {
  height: 62vh;
}

.layout-fullscreen .wall-post p {
  padding: 32px;
  font-size: clamp(2.2rem, 5vw, 4.6rem);
}

.qr-post {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, .95fr) minmax(260px, .72fr);
  align-items: center;
  justify-items: stretch;
  gap: clamp(20px, 3vw, 48px);
  min-height: min(680px, 78vh);
  padding: clamp(30px, 4vw, 70px);
  overflow: hidden;
  text-align: left;
}

.qr-post img {
  width: min(34vw, 420px);
  height: auto;
  object-fit: contain;
}

.qr-post p {
  color: var(--screen-text-muted);
  font-size: clamp(1rem, 2vw, 1.8rem);
  word-break: break-word;
}

.qr-post strong,
.swp-screen-qr-card strong {
  display: block;
  color: #0f172a;
  font-size: clamp(1.55rem, 3.2vw, 4.2rem);
  font-weight: 600;
  line-height: 1.08;
  text-align: left;
}

.swp-screen-qr-copy {
  position: relative;
  z-index: 2;
  display: grid;
  gap: clamp(10px, 1.2vw, 18px);
}

.swp-screen-qr-copy > span {
  width: fit-content;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 13px;
  border: 1px solid rgba(var(--branding-primary-rgb), .16);
  border-radius: 999px;
  color: var(--accent-2);
  background: rgba(var(--branding-primary-rgb), .08);
  font-size: clamp(.78rem, 1vw, 1rem);
  font-weight: 600;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.swp-screen-qr-copy p {
  max-width: 38ch;
  padding: 0;
  text-align: left;
}

.swp-screen-qr-clipart {
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 1;
}

.swp-screen-qr-clipart span {
  position: absolute;
  display: grid;
  place-items: center;
  border: 1px solid rgba(var(--branding-primary-rgb), .12);
  background: rgba(255,255,255,.72);
  box-shadow: 0 24px 58px rgba(15,23,42,.12);
  backdrop-filter: blur(14px);
}

.swp-screen-qr-clipart .is-phone {
  right: 7%;
  bottom: 8%;
  width: clamp(72px, 8vw, 130px);
  height: clamp(92px, 10vw, 164px);
  border-radius: 28px;
  color: var(--swp-primary);
  font-size: clamp(2rem, 3.2vw, 4rem);
  transform: rotate(8deg);
}

.swp-screen-qr-clipart .is-heart {
  left: 46%;
  top: 10%;
  width: clamp(62px, 6vw, 104px);
  height: clamp(62px, 6vw, 104px);
  border-radius: 28px;
  color: var(--swp-secondary);
  font-size: clamp(1.65rem, 2.7vw, 3.2rem);
  transform: rotate(-9deg);
}

.swp-screen-qr-clipart .is-spark {
  right: 13%;
  top: 9%;
  width: clamp(54px, 5vw, 88px);
  height: clamp(54px, 5vw, 88px);
  border-radius: 999px;
  color: #f59e0b;
  font-size: clamp(1.4rem, 2.2vw, 2.7rem);
}

@media (max-width: 900px) {
  .qr-post,
  .swp-screen-qr-card {
    grid-template-columns: 1fr;
    justify-items: center;
    text-align: center;
  }

  .swp-screen-qr-copy {
    justify-items: center;
  }

  .qr-post strong,
  .swp-screen-qr-card strong,
  .swp-screen-qr-copy p,
  .swp-screen-qr-card p {
    text-align: center;
  }

  .qr-post img,
  .swp-screen-qr-card figure {
    width: min(68vw, 360px);
  }

  .swp-screen-qr-clipart .is-heart {
    left: 5%;
    top: 8%;
  }

  .swp-screen-qr-clipart .is-phone {
    right: 4%;
    bottom: 4%;
  }
}

@media (max-width: 1100px) {
  .layout-mosaic,
  .layout-cards {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media (max-width: 900px) {
  .layout-mosaic,
  .layout-cards {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 560px) {
  .layout-mosaic,
  .layout-cards {
    grid-template-columns: 1fr;
  }
}

/* Polishing layer: product-grade surfaces for Social Wall Pro. */
body:not(.wall-display) {
  background:
    radial-gradient(circle at 10% 0%, rgba(var(--branding-primary-rgb), 0.16), transparent 30%),
    radial-gradient(circle at 90% 4%, rgba(var(--branding-secondary-rgb), 0.1), transparent 24%),
    linear-gradient(180deg, #fbfdff 0%, #f6f9fc 52%, #eef4f8 100%);
}

body:not(.wall-display)::before {
  opacity: .78;
}

.swp-topbar {
  margin-top: 14px;
  padding: 13px 16px;
  border-radius: 24px;
  box-shadow:
    0 18px 48px rgba(15, 23, 42, 0.08),
    inset 0 1px 0 rgba(255, 255, 255, 0.9);
}

.brand-copy strong {
  font-size: 1.05rem;
  letter-spacing: -0.02em;
}

.brand-copy span {
  font-size: .78rem;
  font-weight: 600;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.swp-topbar {
  min-height: 58px;
  padding: 10px 12px;
  border-radius: 20px;
}

.swp-topbar .brand {
  min-height: 38px;
}

.swp-topbar .brand-copy {
  gap: 1px;
}

.swp-topbar .brand-copy strong {
  font-size: .98rem;
  line-height: 1;
}

.swp-topbar .brand-copy span {
  font-size: .68rem;
  letter-spacing: .08em;
}

.swp-topbar .topnav {
  gap: 6px;
  margin-left: auto;
}

.swp-topbar .topnav .btn {
  min-width: 40px;
  min-height: 40px;
  padding: 0;
  border-radius: 13px;
}

.swp-topbar .topnav .swp-topbar-link {
  min-width: auto;
  padding: 0 13px;
  gap: 7px;
  border-radius: 13px;
  font-size: .82rem;
  font-weight: 600;
  white-space: nowrap;
}

.swp-topbar .topnav .swp-topbar-link .bi {
  font-size: .95rem;
}

.swp-topbar .topnav .swp-topbar-link.is-active {
  border-color: rgba(var(--branding-primary-rgb), .24);
  color: var(--accent-2);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, .98), rgba(var(--branding-primary-rgb), .08));
  box-shadow: 0 10px 22px rgba(var(--branding-primary-rgb), .08);
}

.swp-topbar .topnav .swp-topbar-link.primary-button,
.swp-topbar .topnav .swp-topbar-link.primary-button.is-active {
  color: #ffffff;
  border-color: transparent;
}

.swp-theme-toggle {
  position: relative;
  overflow: hidden;
  min-width: 152px !important;
  padding: 7px 9px 7px 12px !important;
  gap: 12px;
  border-radius: 999px !important;
  border-color: rgba(var(--branding-primary-rgb), .18) !important;
  color: var(--accent-2) !important;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, .96), rgba(248, 251, 253, .88)) !important;
  box-shadow: 0 10px 22px rgba(15, 23, 42, .06);
}

.swp-theme-toggle::after {
  content: none;
}

.swp-theme-toggle:hover,
.swp-theme-toggle:focus {
  color: #ffffff !important;
  border-color: rgba(var(--branding-primary-rgb), .34) !important;
  background:
    linear-gradient(135deg, var(--btn-primary), var(--btn-primary-2)) !important;
  box-shadow: 0 14px 28px rgba(var(--branding-primary-rgb), .18);
  transform: translateY(-1px);
}

.swp-theme-toggle.is-dark {
  color: #f8fafc !important;
  border-color: rgba(125, 211, 252, .2) !important;
  background:
    linear-gradient(135deg, rgba(14, 116, 144, .92), rgba(15, 23, 42, .94)) !important;
}

.swp-theme-toggle.is-dark::after {
  content: none;
}

.swp-switch-copy {
  min-width: 0;
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.swp-switch-copy .bi {
  line-height: 1;
}

.swp-switch-label {
  position: static;
  width: auto;
  height: auto;
  overflow: visible;
  clip: auto;
  white-space: nowrap;
  font-size: .82rem;
  font-weight: 600;
}

.swp-switch-control {
  position: relative;
  width: 46px;
  height: 24px;
  flex: 0 0 46px;
  display: inline-flex;
  align-items: center;
  border: 1px solid rgba(var(--branding-primary-rgb), .2);
  border-radius: 999px;
  background: rgba(var(--branding-primary-rgb), .1);
  box-shadow: inset 0 1px 2px rgba(15, 23, 42, .08);
  transition: background .2s ease, border-color .2s ease;
}

.swp-switch-knob {
  position: absolute;
  left: 3px;
  width: 18px;
  height: 18px;
  border-radius: 999px;
  background: #ffffff;
  border: 1px solid rgba(var(--branding-primary-rgb), .16);
  box-shadow: 0 4px 10px rgba(15, 23, 42, .14);
  transition: transform .22s ease, background .22s ease, border-color .22s ease;
}

.swp-theme-toggle.is-dark .swp-switch-control {
  border-color: rgba(56, 189, 248, .32);
  background: rgba(0, 170, 236, .28);
}

.swp-theme-toggle.is-dark .swp-switch-knob {
  transform: translateX(22px);
  background: #e0f7ff;
  border-color: rgba(125, 211, 252, .5);
}

.swp-underbar-actions {
  width: min(calc(100% - 24px), var(--max));
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  margin: 10px auto 0;
}

.swp-underbar-action,
.swp-underbar-action.action-pill {
  width: auto;
  min-width: 148px;
  min-height: 42px;
  gap: 9px;
  padding: 9px 15px;
  border-radius: 999px;
  text-decoration: none;
  line-height: 1.15;
  box-shadow: 0 12px 24px rgba(15, 23, 42, .07);
  cursor: pointer;
}

button.swp-underbar-action {
  font: inherit;
}

.swp-underbar-action .bi {
  font-size: .98rem;
  line-height: 1;
}

.swp-underbar-switch {
  min-width: 172px;
  justify-content: space-between;
  padding: 7px 8px 7px 14px;
  border-radius: 999px !important;
  color: var(--btn-secondary-text) !important;
  border: 1px solid rgba(var(--branding-secondary-rgb), .22) !important;
  background:
    linear-gradient(135deg, var(--btn-secondary), var(--btn-secondary-2)) !important;
  box-shadow: 0 12px 22px rgba(var(--branding-secondary-rgb), .16);
}

.swp-underbar-switch .swp-switch-control {
  width: 40px;
  height: 22px;
  flex-basis: 40px;
  border-color: rgba(255, 255, 255, .26);
  background: rgba(255, 255, 255, .2);
}

.swp-underbar-switch .swp-switch-knob {
  width: 16px;
  height: 16px;
  background: #ffffff;
  border-color: rgba(255, 255, 255, .7);
}

.swp-underbar-switch[aria-expanded="true"] .swp-switch-knob {
  transform: translateX(18px);
}

.swp-underbar-switch:hover,
.swp-underbar-switch:focus {
  color: #ffffff !important;
  border-color: rgba(var(--branding-secondary-rgb), .34) !important;
  background:
    linear-gradient(135deg, #f07812, var(--btn-secondary-2)) !important;
  box-shadow: 0 16px 28px rgba(var(--branding-secondary-rgb), .24);
  transform: translateY(-1px);
}

.swp-underbar-action[aria-expanded="false"] {
  opacity: .88;
  box-shadow: 0 8px 18px rgba(15, 23, 42, .055);
}

.swp-underbar-action.is-active {
  box-shadow:
    0 14px 28px rgba(15, 23, 42, .1),
    inset 0 0 0 1px rgba(255, 255, 255, .18);
}

.swp-events-manager[hidden] {
  display: none !important;
}

.swp-topbar-logout span {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
}

.swp-topbar-logout .bi {
  margin: 0;
  font-size: 1rem;
}

.container-fluid.swp-page-shell {
  display: grid;
  gap: 20px;
  margin-top: 22px;
}

.swp-page-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 24px;
  padding: clamp(22px, 3vw, 34px);
  overflow: hidden;
  background:
    radial-gradient(circle at 0% 0%, rgba(var(--branding-primary-rgb), .14), transparent 34%),
    radial-gradient(circle at 100% 0%, rgba(var(--branding-secondary-rgb), .12), transparent 30%),
    linear-gradient(135deg, rgba(255,255,255,.98), rgba(247,251,254,.94));
}

.swp-page-hero::after {
  content: "";
  position: absolute;
  right: -80px;
  bottom: -130px;
  width: 260px;
  height: 260px;
  border-radius: 999px;
  background: rgba(var(--branding-primary-rgb), .08);
  pointer-events: none;
}

.swp-page-hero > * {
  position: relative;
  z-index: 1;
}

.swp-page-hero h1 {
  margin: 12px 0 8px;
  max-width: 13ch;
  color: var(--text);
  font-size: clamp(2.25rem, 4.3vw, 4.8rem);
  line-height: .92;
  letter-spacing: -0.055em;
}

.swp-page-hero p {
  margin: 0;
  max-width: 56ch;
  color: var(--muted);
  line-height: 1.55;
}

.swp-hero-actions,
.swp-toolbar {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
  flex-wrap: wrap;
}

.swp-toolbar {
  min-width: min(100%, 620px);
}

.swp-toolbar .form-control,
.swp-toolbar .form-select {
  width: auto;
  min-width: 180px;
  background: rgba(255,255,255,.86);
}

.swp-section-head {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 16px;
}

.swp-section-head h2 {
  margin: 0 0 4px;
  color: var(--text);
  font-size: clamp(1.35rem, 2.2vw, 2rem);
  letter-spacing: -0.035em;
}

.swp-section-head p {
  margin: 0;
  color: var(--muted);
}

.swp-table-panel {
  background: rgba(255,255,255,.72) !important;
  backdrop-filter: blur(18px);
}

.swp-event-table .table > :not(caption) > * > * {
  padding: 18px 16px;
  vertical-align: middle;
}

.swp-event-table thead th {
  color: var(--muted);
  font-size: .72rem;
  font-weight: 600;
  letter-spacing: .09em;
  text-transform: uppercase;
  background: rgba(var(--branding-primary-rgb), .05);
  border-bottom: 1px solid rgba(var(--branding-primary-rgb), .08);
}

.swp-event-table tbody tr {
  transition: background .16s ease, transform .16s ease;
}

.swp-event-table tbody tr:hover {
  background: rgba(var(--branding-primary-rgb), .035);
}

.swp-table-title {
  color: var(--text);
  font-size: 1.03rem;
}

.swp-action-cell {
  display: flex;
  justify-content: flex-end;
  gap: 7px;
  flex-wrap: wrap;
}

.swp-metric-box {
  padding: 18px;
  border-radius: 24px;
  background:
    radial-gradient(circle at top right, rgba(var(--branding-primary-rgb), .11), transparent 36%),
    rgba(255,255,255,.9);
  border: 1px solid rgba(var(--branding-primary-rgb), .1);
  box-shadow: 0 16px 42px rgba(15,23,42,.065);
}

.swp-metric-label {
  color: var(--accent-2);
  font-size: .74rem;
  font-weight: 600;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.swp-metric-value {
  font-size: clamp(1.8rem, 3vw, 2.5rem);
  letter-spacing: -.045em;
}

.swp-panel {
  border-radius: 28px;
  border-color: rgba(var(--branding-primary-rgb), .1);
  background:
    radial-gradient(circle at top right, rgba(var(--branding-primary-rgb), .08), transparent 34%),
    rgba(255,255,255,.92);
  box-shadow: var(--shadow);
}

.input-group .form-control {
  background: rgba(255,255,255,.82);
}

.login-box.swp-login-card {
  display: grid;
  gap: 12px;
  width: min(100%, 480px);
  padding: 38px 32px 32px;
  border-radius: 32px;
  background:
    radial-gradient(circle at top right, rgba(var(--branding-primary-rgb), .14), transparent 32%),
    #ffffff;
}

.swp-login-card h1 {
  margin: 0;
  font-size: clamp(2rem, 5vw, 3.2rem);
  line-height: .95;
  letter-spacing: -.055em;
}

.attendee-entry-card.swp-public-card {
  width: min(100%, 520px);
  padding: 38px 32px 32px;
  gap: 24px;
  border-radius: 32px;
  background:
    radial-gradient(circle at top, rgba(var(--branding-primary-rgb), .12), transparent 32%),
    #ffffff;
}

.attendee-entry-copy strong {
  letter-spacing: -.045em;
}

.attendee-entry-form {
  gap: 13px;
}

.swp-public-card .form-check {
  padding: 14px 16px 14px 42px;
  border-radius: 18px;
  background: rgba(var(--branding-primary-rgb), .055);
  border: 1px solid rgba(var(--branding-primary-rgb), .1);
}

.post-card textarea {
  min-height: 110px;
  resize: vertical;
}

.post-card .badge {
  background: rgba(var(--branding-primary-rgb), .1) !important;
  color: var(--accent-2) !important;
}

.swp-regia-hero {
  background:
    radial-gradient(circle at 0% 0%, rgba(var(--branding-primary-rgb), .18), transparent 36%),
    radial-gradient(circle at 100% 0%, rgba(var(--branding-secondary-rgb), .15), transparent 30%),
    linear-gradient(135deg, rgba(255,255,255,.99), rgba(244,250,253,.96));
}

.swp-regia-grid .btn {
  min-height: 92px;
  border-radius: 22px;
  font-size: 1rem;
  box-shadow: 0 16px 34px rgba(15,23,42,.08);
}

.swp-layout-panel {
  display: grid;
  gap: 12px;
}

.swp-layout-panel .btn-group {
  gap: 8px;
}

.swp-layout-panel .btn {
  border-radius: 14px !important;
}

.swp-regia-post {
  transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease;
}

.swp-regia-post:hover {
  transform: translateY(-2px);
  border-color: rgba(var(--branding-primary-rgb), .22);
  box-shadow: 0 20px 46px rgba(15,23,42,.11);
}

.wall-display.screen-live-shell {
  padding-top: 22px;
}

.wall-header {
  box-shadow:
    0 22px 60px rgba(15,23,42,.08),
    inset 0 1px 0 rgba(255,255,255,.9);
}

.wall-grid {
  align-items: start;
}

.wall-post {
  transition: transform .2s ease, box-shadow .2s ease;
}

.wall-post:hover {
  transform: translateY(-2px);
  box-shadow:
    0 34px 92px rgba(15,23,42,.13),
    inset 0 1px 0 rgba(255,255,255,.9);
}

.layout-mosaic .wall-post:nth-child(3n + 1) {
  grid-row: span 2;
}

.layout-mosaic .wall-post:nth-child(3n + 1) img {
  height: 420px;
}

.layout-celebration .wall-post {
  border-color: rgba(var(--branding-secondary-rgb), .24);
  background:
    radial-gradient(circle at top right, rgba(var(--branding-secondary-rgb), .14), transparent 36%),
    var(--screen-panel);
}

@media (max-width: 900px) {
  .swp-page-hero {
    grid-template-columns: 1fr;
  }

  .swp-hero-actions,
  .swp-toolbar {
    justify-content: flex-start;
  }

  .swp-toolbar .form-control,
  .swp-toolbar .form-select {
    width: 100%;
  }

  .swp-action-cell {
    justify-content: flex-start;
  }

  .layout-mosaic .wall-post:nth-child(3n + 1) {
    grid-row: auto;
  }

  .layout-mosaic .wall-post:nth-child(3n + 1) img {
    height: 260px;
  }
}

/* Illustrated product surfaces */
.swp-page-hero {
  grid-template-columns: minmax(0, 1fr) minmax(230px, 360px) auto;
  min-height: 250px;
  background:
    linear-gradient(90deg, rgba(255,255,255,.9) 0 1px, transparent 1px),
    linear-gradient(0deg, rgba(255,255,255,.7) 0 1px, transparent 1px),
    radial-gradient(circle at 12% 12%, rgba(var(--branding-primary-rgb), .18), transparent 28%),
    radial-gradient(circle at 88% 20%, rgba(var(--branding-secondary-rgb), .16), transparent 25%),
    linear-gradient(135deg, rgba(255,255,255,.98), rgba(239,248,253,.96));
  background-size: 48px 48px, 48px 48px, auto, auto, auto;
}

.swp-page-hero h1 {
  max-width: 16ch;
}

.swp-hero-visual {
  position: relative;
  z-index: 1;
  min-height: 190px;
  display: grid;
  place-items: center;
  align-self: stretch;
  isolation: isolate;
}

.swp-hero-visual::before {
  content: "";
  position: absolute;
  inset: 18px 10px;
  border-radius: 34px;
  background:
    radial-gradient(circle at 25% 18%, rgba(var(--branding-primary-rgb), .16), transparent 32%),
    linear-gradient(135deg, rgba(255,255,255,.56), rgba(255,255,255,.18));
  border: 1px solid rgba(var(--branding-primary-rgb), .1);
  transform: rotate(-3deg);
  z-index: -1;
}

.swp-visual-screen {
  width: min(100%, 330px);
  padding: 18px;
  border-radius: 30px;
  border: 1px solid rgba(var(--branding-primary-rgb), .14);
  background:
    linear-gradient(180deg, rgba(255,255,255,.98), rgba(244,250,253,.95));
  box-shadow:
    0 26px 70px rgba(15,23,42,.13),
    inset 0 1px 0 rgba(255,255,255,.92);
  display: grid;
  gap: 12px;
}

.swp-visual-kicker {
  width: fit-content;
  min-height: 28px;
  display: inline-flex;
  align-items: center;
  padding: 7px 11px;
  border-radius: 999px;
  background: rgba(var(--branding-primary-rgb), .11);
  color: var(--accent-2);
  font-size: .65rem;
  font-weight: 600;
  letter-spacing: .12em;
}

.swp-visual-post {
  display: flex;
  align-items: center;
  gap: 12px;
  min-height: 72px;
  padding: 14px;
  border-radius: 22px;
  background:
    radial-gradient(circle at top right, rgba(var(--branding-secondary-rgb), .13), transparent 36%),
    #ffffff;
  border: 1px solid rgba(var(--branding-primary-rgb), .1);
  color: var(--text);
  font-weight: 600;
}

.swp-visual-post i {
  width: 42px;
  height: 42px;
  border-radius: 16px;
  display: grid;
  place-items: center;
  color: #fff;
  background: linear-gradient(135deg, var(--btn-primary), var(--btn-secondary));
  font-size: 1.25rem;
}

.swp-visual-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
}

.swp-visual-tile {
  aspect-ratio: 1;
  display: grid;
  place-items: center;
  border-radius: 18px;
  border: 1px solid rgba(var(--branding-primary-rgb), .1);
  background: rgba(var(--branding-primary-rgb), .08);
  color: var(--accent-2);
  font-size: 1.35rem;
}

.swp-visual-tile.is-accent {
  background: rgba(var(--branding-secondary-rgb), .12);
  color: #c95500;
}

.swp-visual-phone {
  width: 220px;
  padding: 16px;
  border-radius: 34px;
  border: 1px solid rgba(var(--branding-primary-rgb), .14);
  background: #ffffff;
  box-shadow: 0 28px 76px rgba(15,23,42,.13);
  display: grid;
  gap: 11px;
}

.swp-visual-phone-top {
  width: 74px;
  height: 7px;
  border-radius: 999px;
  background: #dbe5ef;
  margin: 0 auto 4px;
}

.swp-visual-message {
  min-height: 48px;
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr);
  align-items: center;
  gap: 10px;
  padding: 10px;
  border-radius: 16px;
  background: rgba(var(--branding-primary-rgb), .09);
  color: var(--accent-2);
  font-weight: 600;
  font-size: .82rem;
}

.swp-visual-message i {
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  border-radius: 12px;
  background: #ffffff;
}

.swp-visual-message.is-soft {
  background: rgba(16,185,129,.1);
  color: #047857;
}

.swp-visual-message.is-accent {
  background: rgba(var(--branding-secondary-rgb), .12);
  color: #c95500;
}

.swp-hero-visual-moderation {
  min-height: 210px;
}

.swp-visual-stack-card {
  position: absolute;
  width: 210px;
  min-height: 82px;
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr);
  align-items: center;
  gap: 12px;
  padding: 14px;
  border-radius: 22px;
  border: 1px solid rgba(var(--branding-primary-rgb), .12);
  background: rgba(255,255,255,.96);
  box-shadow: 0 20px 50px rgba(15,23,42,.12);
  color: var(--text);
  font-weight: 600;
}

.swp-visual-stack-card i {
  width: 44px;
  height: 44px;
  display: grid;
  place-items: center;
  border-radius: 16px;
  color: #fff;
  background: linear-gradient(135deg, var(--btn-primary), var(--btn-primary-2));
}

.swp-visual-stack-card.is-front {
  transform: translate(-22px, -38px) rotate(-4deg);
  z-index: 3;
}

.swp-visual-stack-card.is-middle {
  transform: translate(18px, 18px) rotate(4deg);
  z-index: 2;
}

.swp-visual-stack-card.is-back {
  transform: translate(-6px, 70px) rotate(-1deg);
  z-index: 1;
  opacity: .88;
}

.swp-visual-control-pad {
  width: 250px;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 12px;
  padding: 16px;
  border-radius: 30px;
  background: rgba(255,255,255,.94);
  border: 1px solid rgba(var(--branding-primary-rgb), .12);
  box-shadow: 0 28px 76px rgba(15,23,42,.13);
}

.swp-visual-control-pad span {
  aspect-ratio: 1.35;
  display: grid;
  place-items: center;
  border-radius: 20px;
  background:
    radial-gradient(circle at top right, rgba(var(--branding-primary-rgb), .12), transparent 30%),
    #f8fafc;
  color: var(--accent-2);
  font-size: 1.6rem;
}

.swp-visual-live-badge {
  position: absolute;
  right: 18px;
  top: 18px;
  min-height: 34px;
  display: inline-flex;
  align-items: center;
  padding: 8px 12px;
  border-radius: 999px;
  background: linear-gradient(135deg, #10b981, #047857);
  color: #fff;
  font-size: .68rem;
  font-weight: 600;
  letter-spacing: .1em;
  box-shadow: 0 12px 28px rgba(16,185,129,.24);
}

.swp-login-visual,
.swp-public-visual {
  position: relative;
  min-height: 124px;
  display: grid;
  place-items: center;
  margin-bottom: 2px;
  border-radius: 24px;
  background:
    linear-gradient(90deg, rgba(var(--branding-primary-rgb), .08) 0 1px, transparent 1px),
    linear-gradient(0deg, rgba(var(--branding-primary-rgb), .08) 0 1px, transparent 1px),
    radial-gradient(circle at top left, rgba(var(--branding-primary-rgb), .18), transparent 32%),
    radial-gradient(circle at bottom right, rgba(var(--branding-secondary-rgb), .14), transparent 30%),
    #f8fbfd;
  background-size: 34px 34px, 34px 34px, auto, auto, auto;
  border: 1px solid rgba(var(--branding-primary-rgb), .1);
}

.swp-login-visual {
  grid-template-columns: repeat(3, 62px);
  gap: 12px;
}

.swp-login-visual span {
  width: 62px;
  height: 62px;
  display: grid;
  place-items: center;
  border-radius: 20px;
  background: #fff;
  color: var(--accent-2);
  font-size: 1.45rem;
  box-shadow: 0 14px 34px rgba(15,23,42,.08);
}

.swp-public-visual {
  min-height: 150px;
  overflow: hidden;
}

.swp-public-visual-card {
  position: absolute;
  display: grid;
  place-items: center;
  border-radius: 22px;
  background: #fff;
  border: 1px solid rgba(var(--branding-primary-rgb), .1);
  box-shadow: 0 18px 44px rgba(15,23,42,.1);
}

.swp-public-visual-card.is-photo {
  left: 32px;
  top: 24px;
  width: 92px;
  height: 92px;
  color: var(--accent-2);
  font-size: 2rem;
  transform: rotate(-6deg);
}

.swp-public-visual-card.is-message {
  left: 108px;
  right: 56px;
  min-height: 72px;
  padding: 14px 18px;
  grid-template-columns: 36px minmax(0, 1fr);
  gap: 10px;
  color: var(--text);
  font-weight: 600;
}

.swp-public-visual-card.is-message i {
  color: var(--btn-secondary);
  font-size: 1.55rem;
}

.swp-public-visual-card.is-send {
  right: 24px;
  bottom: 22px;
  width: 62px;
  height: 62px;
  background: linear-gradient(135deg, var(--btn-primary), var(--btn-primary-2));
  color: #fff;
  font-size: 1.45rem;
}

@media (max-width: 1200px) {
  .swp-page-hero {
    grid-template-columns: minmax(0, 1fr) minmax(220px, 320px);
  }

  .swp-page-hero .swp-hero-actions,
  .swp-page-hero .swp-toolbar {
    grid-column: 1 / -1;
    justify-content: flex-start;
  }
}

@media (max-width: 760px) {
  .swp-hero-visual {
    min-height: 170px;
    order: -1;
  }

  .swp-page-hero {
    min-height: 0;
  }

  .swp-public-visual-card.is-photo {
    left: 20px;
  }

  .swp-public-visual-card.is-message {
    left: 74px;
    right: 42px;
  }
}

/* Event configuration page */
.swp-config-hero {
  grid-template-columns: minmax(0, 1fr) minmax(230px, 340px) auto;
}

.swp-config-form {
  display: grid;
}

.swp-config-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(310px, 390px);
  gap: 22px;
  align-items: start;
}

.swp-config-main,
.swp-config-side {
  display: grid;
  gap: 18px;
}

.swp-config-side {
  position: sticky;
  top: 112px;
}

.swp-config-section {
  display: grid;
  gap: 18px;
  padding: clamp(20px, 2.4vw, 28px);
}

.swp-config-section-head {
  display: grid;
  grid-template-columns: 54px minmax(0, 1fr);
  align-items: start;
  gap: 14px;
}

.swp-config-section-head > i {
  width: 54px;
  height: 54px;
  display: grid;
  place-items: center;
  border-radius: 18px;
  color: #fff;
  background: linear-gradient(135deg, var(--btn-primary), var(--btn-primary-2));
  box-shadow: 0 14px 28px rgba(var(--branding-primary-rgb), .18);
  font-size: 1.35rem;
}

.swp-config-section-head h2,
.swp-config-links h2,
.swp-config-checklist h2 {
  margin: 0 0 4px;
  color: var(--text);
  font-size: clamp(1.18rem, 1.8vw, 1.55rem);
  letter-spacing: 0;
  font-weight: 600;
}

.swp-config-section-head p {
  margin: 0;
  max-width: 66ch;
  color: var(--muted);
  line-height: 1.45;
}

.swp-config-section textarea {
  min-height: 142px;
  resize: vertical;
}

.swp-info-strip {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.swp-info-strip span {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  min-height: 38px;
  padding: 8px 12px;
  border-radius: 999px;
  background: rgba(var(--branding-primary-rgb), .08);
  border: 1px solid rgba(var(--branding-primary-rgb), .1);
  color: var(--accent-2);
  font-size: .82rem;
  font-weight: 600;
}

.swp-color-input {
  width: 100%;
  min-height: 48px;
  padding: 6px;
}

.swp-config-preview,
.swp-config-links,
.swp-config-checklist {
  display: grid;
  gap: 14px;
  padding: 20px;
}

.swp-preview-phone {
  display: grid;
  gap: 12px;
  padding: 18px;
  border-radius: 30px;
  background:
    radial-gradient(circle at top, rgba(var(--branding-primary-rgb), .1), transparent 30%),
    linear-gradient(180deg, #fff, #f8fbfd);
  border: 1px solid rgba(var(--branding-primary-rgb), .12);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.9);
}

.swp-preview-logo {
  width: 100%;
  min-height: 86px;
  display: grid;
  place-items: center;
  border-radius: 22px;
  background:
    linear-gradient(90deg, rgba(var(--branding-primary-rgb), .07) 0 1px, transparent 1px),
    linear-gradient(0deg, rgba(var(--branding-primary-rgb), .07) 0 1px, transparent 1px),
    #f8fafc;
  background-size: 30px 30px;
  color: var(--accent-2);
  font-size: 1.8rem;
}

.swp-preview-logo img {
  display: block;
  max-width: 210px;
  max-height: 70px;
  object-fit: contain;
}

.swp-preview-phone strong {
  color: var(--text);
  font-size: 1.38rem;
  line-height: 1;
  letter-spacing: 0;
  font-weight: 600;
}

.swp-preview-phone p {
  margin: 0;
  color: var(--muted);
  font-size: .9rem;
  line-height: 1.35;
}

.swp-preview-field {
  height: 52px;
  border-radius: 16px;
  background: #fff;
  border: 1px solid #dbe5ef;
}

.swp-preview-field.is-short {
  width: 72%;
}

.swp-preview-button {
  min-height: 48px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border-radius: 16px;
  background: linear-gradient(135deg, var(--btn-primary), var(--btn-primary-2));
  color: #fff;
  font-weight: 600;
}

.swp-config-links a,
.swp-config-checklist span {
  min-height: 42px;
  display: inline-flex;
  align-items: center;
  gap: 9px;
  padding: 10px 12px;
  border-radius: 14px;
  background: rgba(var(--branding-primary-rgb), .07);
  border: 1px solid rgba(var(--branding-primary-rgb), .1);
}

.swp-config-checklist span {
  color: #047857;
  background: rgba(16,185,129,.09);
  border-color: rgba(16,185,129,.16);
  font-weight: 600;
}

.swp-config-checklist span.is-warn {
  color: #9a3412;
  background: rgba(249,115,22,.1);
  border-color: rgba(249,115,22,.18);
}

.swp-config-visual-card {
  width: min(100%, 300px);
  display: grid;
  gap: 12px;
  padding: 18px;
  border-radius: 30px;
  background: rgba(255,255,255,.96);
  border: 1px solid rgba(var(--branding-primary-rgb), .12);
  box-shadow: 0 28px 76px rgba(15,23,42,.13);
}

.swp-config-visual-row {
  min-height: 54px;
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr);
  align-items: center;
  gap: 10px;
  padding: 10px;
  border-radius: 18px;
  background: rgba(var(--branding-primary-rgb), .07);
  color: var(--accent-2);
  font-weight: 600;
}

.swp-config-visual-row i {
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  border-radius: 14px;
  background: #fff;
}

.swp-layout-pills {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.swp-layout-pills span {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  min-height: 38px;
  padding: 8px 12px;
  border-radius: 14px;
  color: #245b74;
  background: linear-gradient(180deg, rgba(255,255,255,.9), rgba(var(--branding-primary-rgb), .07));
  border: 1px solid rgba(var(--branding-primary-rgb), .11);
  font-size: .82rem;
  font-weight: 600;
}

.swp-wall-list {
  display: grid;
  gap: 12px;
}

.swp-wall-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 14px;
  align-items: center;
  padding: 16px;
  border-radius: 22px;
  background:
    radial-gradient(circle at 12% 10%, rgba(var(--branding-primary-rgb), .1), transparent 28%),
    #fff;
  border: 1px solid rgba(var(--branding-primary-rgb), .12);
  box-shadow: 0 18px 42px rgba(15,23,42,.07);
}

.swp-wall-card h3 {
  margin: 8px 0 3px;
  color: var(--text);
  font-size: 1.06rem;
  font-weight: 600;
  letter-spacing: 0;
}

.swp-wall-card p {
  margin: 0;
  color: var(--muted);
  font-size: .9rem;
}

.swp-wall-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px;
}

.swp-empty-state {
  display: grid;
  grid-template-columns: 50px minmax(0, 1fr);
  gap: 14px;
  align-items: center;
  padding: 16px;
  border-radius: 22px;
  color: var(--muted);
  background: rgba(var(--branding-primary-rgb), .06);
  border: 1px dashed rgba(var(--branding-primary-rgb), .22);
}

.swp-empty-state > i {
  width: 50px;
  height: 50px;
  display: grid;
  place-items: center;
  border-radius: 18px;
  color: var(--accent-2);
  background: #fff;
  font-size: 1.25rem;
}

.swp-empty-state strong {
  display: block;
  color: var(--text);
  font-weight: 600;
}

.swp-empty-state p {
  margin: 2px 0 0;
  line-height: 1.4;
}

@media (max-width: 1180px) {
  .swp-config-layout {
    grid-template-columns: 1fr;
  }

  .swp-config-side {
    position: static;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .swp-config-side > .btn {
    grid-column: 1 / -1;
  }
}

@media (max-width: 760px) {
  .swp-config-hero {
    grid-template-columns: 1fr;
  }

  .swp-config-side {
    grid-template-columns: 1fr;
  }

  .swp-config-section-head {
    grid-template-columns: 1fr;
  }

  .swp-wall-card {
    grid-template-columns: 1fr;
  }

  .swp-wall-actions {
    justify-content: stretch;
  }

  .swp-wall-actions .btn {
    flex: 1 1 130px;
  }
}

.swp-kpi-chip {
  min-height: 52px;
  display: grid;
  grid-template-columns: 32px minmax(0, 1fr) auto;
  align-items: center;
  gap: 9px;
  padding: 9px 12px;
  border-radius: 16px;
  background: rgba(255,255,255,.9);
  border: 1px solid rgba(var(--branding-primary-rgb), .1);
  box-shadow: 0 10px 24px rgba(15,23,42,.045);
}

.swp-kpi-chip > i {
  width: 32px;
  height: 32px;
  display: grid;
  place-items: center;
  border-radius: 11px;
  color: var(--accent-2);
  background: rgba(var(--branding-primary-rgb), .08);
  font-size: .95rem;
}

.swp-kpi-chip span {
  min-width: 0;
  color: var(--muted);
  font-size: .78rem;
  font-weight: 560;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.swp-kpi-chip strong {
  color: var(--text);
  font-size: 1.08rem;
  line-height: 1;
  font-weight: 600;
}

.swp-panel-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 12px;
}

.swp-panel-head h2 {
  margin: 0 0 2px;
  color: var(--text);
  font-size: 1rem;
  line-height: 1.2;
  letter-spacing: 0;
  font-weight: 600;
}

.swp-panel-head p {
  margin: 0;
  color: var(--muted);
  font-size: .82rem;
  line-height: 1.25;
}

@media (max-width: 560px) {
  .swp-panel-head {
    align-items: stretch;
    flex-direction: column;
  }
}

/* Premium density pass */
.swp-page-shell {
  color: var(--text);
}

.swp-page-hero:not(.swp-config-hero) {
  min-height: 0;
  padding: 18px 20px;
  border-radius: 24px;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 18px;
}

.swp-page-hero:not(.swp-config-hero) h1 {
  max-width: none;
  margin: 7px 0 5px;
  font-size: clamp(1.65rem, 3vw, 2.6rem);
  line-height: 1.04;
  letter-spacing: 0;
  font-weight: 600;
}

.swp-page-hero:not(.swp-config-hero) p {
  max-width: 54ch;
  font-size: .94rem;
  line-height: 1.42;
}

.swp-page-hero:not(.swp-config-hero) .swp-hero-visual {
  display: none;
}

.swp-section-head {
  margin: 14px 0 10px;
}

.swp-section-head h2 {
  font-size: 1.14rem;
  letter-spacing: 0;
  font-weight: 600;
}

.swp-section-head p {
  font-size: .9rem;
}

.swp-event-table .table > :not(caption) > * > * {
  padding: 12px;
}

.swp-event-table thead th {
  font-size: .68rem;
  font-weight: 600;
}

.swp-table-title {
  font-size: .98rem;
  font-weight: 600 !important;
}

.swp-action-cell .btn,
.swp-toolbar .btn,
.swp-toolbar .form-control,
.swp-toolbar .form-select {
  min-height: 38px;
  border-radius: 12px;
  font-size: .84rem;
}

.metric-box-sm.swp-metric-box,
#moderation-stats .swp-metric-box {
  min-height: 58px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 8px;
  padding: 10px 12px;
  border-radius: 16px;
}

#moderation-stats .swp-metric-label {
  font-size: .68rem;
  font-weight: 560;
  letter-spacing: .04em;
}

#moderation-stats .swp-metric-value {
  font-size: 1.15rem;
  letter-spacing: 0;
}

.swp-post-card {
  border-radius: 20px;
  box-shadow: 0 14px 34px rgba(15,23,42,.055);
}

.swp-post-thumb {
  margin: 0;
  aspect-ratio: 4 / 3;
  background: #f5f9fc;
  border-bottom: 1px solid rgba(var(--branding-primary-rgb), .09);
  overflow: hidden;
}

.swp-post-thumb img,
.swp-post-card > img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.swp-post-card .body {
  padding: 13px;
}

.swp-post-card .post-message {
  min-height: 84px;
  border-radius: 12px;
  font-size: .9rem;
}

.swp-post-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}

.swp-post-actions .btn {
  min-height: 34px;
  padding: 7px 9px;
  border-radius: 11px;
  font-size: .78rem;
  font-weight: 600;
}

.swp-regia-grid {
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 10px;
  margin-bottom: 14px !important;
}

.swp-regia-grid .btn {
  min-height: 58px;
  border-radius: 16px;
  font-size: .92rem;
  font-weight: 600;
}

.swp-regia-post {
  border-radius: 18px;
}

.swp-regia-post img {
  height: 112px;
  object-fit: cover;
}

.swp-regia-post span {
  display: block;
  padding: 10px 12px;
  color: var(--text);
  font-size: .88rem;
  font-weight: 600;
}

.swp-layout-panel {
  padding: 14px;
  border-radius: 20px;
}

.swp-layout-panel .btn {
  min-height: 36px;
  padding: 7px 10px;
  font-size: .82rem;
  font-weight: 600;
}

/* Public attendee webapp */
body.swp-public-app {
  min-height: 100vh;
  display: flex;
  align-items: stretch;
  justify-content: center;
  padding: 0;
  background:
    linear-gradient(90deg, rgba(255,255,255,.42) 0 1px, transparent 1px),
    linear-gradient(0deg, rgba(255,255,255,.38) 0 1px, transparent 1px),
    linear-gradient(145deg, #eef7fb, #fff7f0 54%, #eef8f5);
  background-size: 38px 38px, 38px 38px, auto;
}

.swp-public-device {
  width: min(100%, 540px);
  min-height: 100vh;
  display: grid;
  grid-template-rows: auto 1fr;
  background: rgba(255,255,255,.78);
  box-shadow: 0 28px 90px rgba(15,23,42,.11);
  backdrop-filter: blur(18px);
}

.swp-public-top {
  padding: 12px 18px 18px;
  background:
    linear-gradient(90deg, rgba(255,255,255,.82) 0 1px, transparent 1px),
    linear-gradient(0deg, rgba(255,255,255,.65) 0 1px, transparent 1px),
    linear-gradient(150deg, rgba(var(--branding-primary-rgb), .13), rgba(255,255,255,.72) 52%, rgba(var(--branding-secondary-rgb), .12));
  background-size: 34px 34px, 34px 34px, auto;
  border-bottom: 1px solid rgba(var(--branding-primary-rgb), .09);
}

.swp-public-grip {
  width: 46px;
  height: 5px;
  margin: 0 auto 14px;
  border-radius: 99px;
  background: rgba(15,23,42,.16);
}

.swp-public-brand-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 18px;
}

.swp-public-logo-box {
  width: 74px;
  height: 54px;
  display: grid;
  place-items: center;
  border-radius: 18px;
  background: rgba(255,255,255,.86);
  border: 1px solid rgba(var(--branding-primary-rgb), .12);
  color: var(--accent-2);
  overflow: hidden;
}

.swp-public-logo-box img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  padding: 8px;
}

.swp-public-brand-row > span {
  min-height: 34px;
  display: inline-flex;
  align-items: center;
  padding: 7px 11px;
  border-radius: 999px;
  color: var(--accent-2);
  background: rgba(255,255,255,.78);
  border: 1px solid rgba(var(--branding-primary-rgb), .1);
  font-size: .78rem;
  font-weight: 600;
}

.swp-public-title h1 {
  margin: 0 0 7px;
  color: var(--text);
  font-size: clamp(1.8rem, 9vw, 3.1rem);
  line-height: .98;
  letter-spacing: 0;
  font-weight: 600;
}

.swp-public-title p {
  margin: 0;
  color: var(--muted);
  font-size: .98rem;
  line-height: 1.42;
}

.swp-public-composer {
  display: grid;
  align-content: start;
  gap: 12px;
  padding: 14px;
}

.swp-public-card-section {
  padding: 14px;
  border-radius: 22px;
  background: rgba(255,255,255,.92);
  border: 1px solid rgba(var(--branding-primary-rgb), .09);
  box-shadow: 0 12px 28px rgba(15,23,42,.045);
}

.swp-public-card-section .form-label {
  margin-bottom: 8px;
  color: var(--text);
  font-size: .86rem;
  font-weight: 600 !important;
}

.swp-public-composer textarea {
  min-height: 138px;
  resize: vertical;
  border-radius: 18px;
  font-size: 1rem;
  line-height: 1.45;
}

.swp-upload-drop {
  min-height: 118px;
  display: grid;
  place-items: center;
  gap: 4px;
  padding: 16px;
  border-radius: 20px;
  border: 1px dashed rgba(var(--branding-primary-rgb), .32);
  background:
    linear-gradient(180deg, rgba(255,255,255,.88), rgba(var(--branding-primary-rgb), .05));
  color: var(--accent-2);
  text-align: center;
  cursor: pointer;
}

.swp-upload-drop span {
  width: 44px;
  height: 44px;
  display: grid;
  place-items: center;
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 10px 24px rgba(15,23,42,.06);
  font-size: 1.25rem;
}

.swp-upload-drop strong {
  color: var(--text);
  font-size: .98rem;
  font-weight: 600;
}

.swp-upload-drop small {
  color: var(--muted);
  font-size: .78rem;
}

.swp-upload-preview figure {
  margin: 10px 0 0;
  overflow: hidden;
  border-radius: 18px;
  border: 1px solid rgba(var(--branding-primary-rgb), .1);
  background: #fff;
}

.swp-upload-preview img {
  display: block;
  width: 100%;
  max-height: 260px;
  object-fit: contain;
  background: #f7fbfd;
}

.swp-upload-preview figcaption {
  padding: 8px 10px;
  color: #047857;
  font-size: .78rem;
  font-weight: 600;
}

.swp-privacy-card {
  padding: 13px 14px;
}

.swp-privacy-card .form-check {
  margin: 0;
}

.swp-privacy-card .form-check-label {
  color: var(--text);
  font-size: .88rem;
  line-height: 1.35;
}

.swp-public-composer .attendee-entry-submit {
  min-height: 54px;
  border-radius: 18px;
  font-size: 1rem;
  font-weight: 600;
  box-shadow: 0 18px 34px var(--btn-shadow);
}

.swp-public-composer .alert {
  border: 0;
  border-radius: 16px;
  font-size: .9rem;
}

/* Premium live wall */
body.swp-wall-premium {
  min-height: 100vh;
  overflow: hidden;
  color: #f8fafc;
  background:
    linear-gradient(90deg, rgba(255,255,255,.055) 0 1px, transparent 1px),
    linear-gradient(0deg, rgba(255,255,255,.05) 0 1px, transparent 1px),
    linear-gradient(135deg, #07111f 0%, #0f2e3d 48%, #25150d 100%);
  background-size: 56px 56px, 56px 56px, auto;
}

.swp-wall-premium .swp-screen-header {
  position: relative;
  z-index: 3;
  width: min(calc(100% - 40px), 1680px);
  min-height: 76px;
  margin: 20px auto 0;
  padding: 12px 16px;
  border-radius: 24px;
  background: rgba(255,255,255,.1);
  border: 1px solid rgba(255,255,255,.14);
  backdrop-filter: blur(18px);
  box-shadow: 0 18px 48px rgba(0,0,0,.2);
}

.swp-wall-brand {
  display: flex;
  align-items: center;
  gap: 12px;
}

.swp-wall-brand img,
.swp-wall-brand-mark {
  width: 62px;
  height: 46px;
  display: grid;
  place-items: center;
  border-radius: 16px;
  object-fit: contain;
  padding: 7px;
  background: rgba(255,255,255,.92);
  color: var(--accent-2);
}

.swp-wall-brand strong {
  display: block;
  color: #fff;
  font-size: clamp(1.15rem, 2vw, 1.75rem);
  line-height: 1.05;
  letter-spacing: 0;
  font-weight: 600;
}

.swp-wall-brand span {
  display: block;
  color: rgba(255,255,255,.68);
  font-size: .84rem;
  font-weight: 560;
}

.swp-wall-live-pill {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  min-height: 34px;
  padding: 7px 12px;
  border-radius: 999px;
  color: #fff;
  background: rgba(255,255,255,.12);
  border: 1px solid rgba(255,255,255,.14);
  font-size: .82rem;
  font-weight: 600;
}

.swp-wall-live-pill .bi {
  color: #22c55e;
  font-size: .56rem;
}

.swp-wall-premium .swp-screen-stage {
  width: min(calc(100% - 40px), 1680px);
  height: calc(100vh - 116px);
  min-height: 0;
  margin: 14px auto 20px;
  padding: 0;
}

.swp-wall-loading {
  height: 100%;
  display: grid;
  place-items: center;
  color: rgba(255,255,255,.72);
  font-size: 3rem;
}

.swp-wall-empty {
  height: 100%;
  display: grid;
  place-items: center;
  align-content: center;
  gap: 14px;
  color: rgba(255,255,255,.78);
  border-radius: 34px;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.12);
  backdrop-filter: blur(14px);
}

.swp-wall-empty i {
  font-size: clamp(3rem, 8vw, 7rem);
  color: rgba(255,255,255,.42);
}

.swp-wall-empty strong {
  color: #fff;
  font-size: clamp(1.4rem, 3vw, 3rem);
  letter-spacing: 0;
  font-weight: 600;
}

.swp-wall-premium .swp-screen-grid {
  width: 100%;
  height: 100%;
  display: grid;
  gap: clamp(12px, 1.6vw, 24px);
  align-items: stretch;
}

.swp-wall-premium .swp-screen-post {
  min-width: 0;
  min-height: 0;
  display: grid;
  overflow: hidden;
  border-radius: clamp(20px, 2vw, 34px);
  background: rgba(255,255,255,.12);
  border: 1px solid rgba(255,255,255,.13);
  box-shadow: 0 24px 70px rgba(0,0,0,.22);
  backdrop-filter: blur(14px);
}

.swp-wall-premium .swp-screen-media {
  min-width: 0;
  min-height: 0;
  margin: 0;
  overflow: hidden;
  background: rgba(0,0,0,.2);
}

.swp-wall-premium .swp-screen-media img,
.swp-wall-premium .swp-screen-post > img,
.swp-wall-premium .swp-screen-post figure img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.swp-wall-premium .swp-screen-copy {
  display: grid;
  align-items: center;
  padding: clamp(18px, 2.2vw, 34px);
}

.swp-wall-premium .swp-screen-copy p,
.swp-wall-premium .swp-screen-post > p {
  margin: 0;
  color: #fff;
  font-size: clamp(1.25rem, 2.5vw, 3rem);
  line-height: 1.08;
  letter-spacing: 0;
  font-weight: 600;
  text-wrap: balance;
}

.swp-wall-premium .layout-mosaic {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  grid-auto-rows: minmax(0, 1fr);
}

.swp-wall-premium .layout-mosaic .swp-screen-post:nth-child(5n + 1) {
  grid-column: span 2;
  grid-row: span 2;
}

.swp-wall-premium .layout-cards {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-content: center;
}

.swp-wall-premium .layout-feed {
  grid-template-columns: minmax(0, 1fr);
  grid-auto-rows: minmax(120px, max-content);
  align-content: center;
}

.swp-wall-premium .layout-feed .swp-screen-post {
  grid-template-columns: minmax(180px, 32%) minmax(0, 1fr);
  min-height: min(24vh, 220px);
}

.swp-wall-premium .layout-feed .swp-screen-post.only-message {
  grid-template-columns: 1fr;
}

.swp-wall-premium .layout-fullscreen {
  grid-template-columns: 1fr;
  grid-template-rows: 1fr;
}

.swp-wall-premium .layout-fullscreen .swp-screen-post {
  grid-template-columns: minmax(0, 1.25fr) minmax(360px, .75fr);
}

.swp-wall-premium .layout-fullscreen .swp-screen-post.only-image,
.swp-wall-premium .layout-fullscreen .swp-screen-post.only-message,
.swp-wall-premium .is-qr-mode .swp-screen-post {
  grid-template-columns: 1fr;
}

.swp-wall-premium .layout-fullscreen .swp-screen-post.only-image .swp-screen-media img,
.swp-wall-premium .layout-fullscreen .swp-screen-post.has-image .swp-screen-media img {
  object-fit: contain;
  padding: clamp(10px, 1vw, 18px);
}

.swp-wall-premium .layout-celebration {
  grid-template-columns: repeat(5, minmax(0, 1fr));
  grid-auto-rows: 1fr;
}

.swp-wall-premium .layout-celebration .swp-screen-post {
  transform: rotate(-1deg);
}

.swp-wall-premium .layout-celebration .swp-screen-post:nth-child(even) {
  transform: rotate(1deg);
}

.swp-wall-premium .layout-minimal {
  grid-template-columns: minmax(0, 1fr);
  align-content: center;
}

.swp-wall-premium .layout-minimal .swp-screen-post {
  width: min(100%, 1100px);
  justify-self: center;
}

.swp-wall-premium .swp-screen-post.only-message {
  min-height: 180px;
  background:
    linear-gradient(135deg, rgba(var(--branding-primary-rgb), .24), rgba(var(--branding-secondary-rgb), .18)),
    rgba(255,255,255,.1);
}

.swp-wall-premium .swp-screen-post.has-image.has-message {
  grid-template-rows: minmax(0, 1fr) auto;
}

.swp-wall-premium .layout-feed .swp-screen-post.has-image.has-message,
.swp-wall-premium .layout-fullscreen .swp-screen-post.has-image.has-message {
  grid-template-rows: auto;
}

.swp-wall-premium .layout-mosaic .swp-screen-post.has-image.has-message,
.swp-wall-premium .layout-cards .swp-screen-post.has-image.has-message,
.swp-wall-premium .layout-celebration .swp-screen-post.has-image.has-message {
  grid-template-rows: minmax(120px, 64%) minmax(0, auto);
}

.swp-wall-premium .layout-mosaic .swp-screen-copy,
.swp-wall-premium .layout-cards .swp-screen-copy,
.swp-wall-premium .layout-celebration .swp-screen-copy {
  padding: clamp(12px, 1.25vw, 20px);
}

.swp-wall-premium .layout-mosaic .swp-screen-copy p,
.swp-wall-premium .layout-cards .swp-screen-copy p,
.swp-wall-premium .layout-celebration .swp-screen-copy p {
  font-size: clamp(1.05rem, 1.65vw, 2rem);
  line-height: 1.12;
}

.swp-wall-premium .layout-mosaic .swp-screen-post.only-message .swp-screen-copy p {
  font-size: clamp(1.35rem, 2.2vw, 2.65rem);
}

.swp-screen-qr-card {
  width: min(1180px, 100%);
  justify-self: center;
  align-self: center;
  padding: clamp(30px, 4vw, 70px);
  border-color: rgba(var(--branding-primary-rgb), .14);
  background:
    radial-gradient(circle at 86% 12%, rgba(var(--branding-primary-rgb), .14), transparent 32%),
    radial-gradient(circle at 14% 90%, rgba(var(--branding-secondary-rgb), .12), transparent 30%),
    rgba(255,255,255,.96);
  color: #0f172a;
}

.swp-screen-qr-card figure {
  position: relative;
  z-index: 3;
  width: min(420px, 34vw);
  aspect-ratio: 1;
  justify-self: center;
  margin: 0;
  padding: clamp(12px, 1.5vw, 20px);
  border: 1px solid rgba(15,23,42,.08);
  border-radius: 28px;
  background: #fff;
  box-shadow: 0 26px 62px rgba(15,23,42,.14);
}

.swp-screen-qr-card img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.swp-screen-qr-card strong {
  margin-bottom: 8px;
}

.swp-screen-qr-card p {
  color: #0f172a;
  font-size: clamp(1rem, 1.7vw, 1.45rem);
  text-align: left;
  overflow-wrap: anywhere;
}

@media (max-width: 1100px) {
  .swp-page-hero:not(.swp-config-hero) {
    grid-template-columns: minmax(0, 1fr) auto;
  }

  .swp-page-hero:not(.swp-config-hero) .swp-hero-visual {
    display: none;
  }

  .layout-mosaic,
  .layout-cards,
  .layout-celebration {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .layout-fullscreen .swp-screen-post,
  .layout-feed .swp-screen-post {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 720px) {
  .swp-page-hero:not(.swp-config-hero) {
    grid-template-columns: 1fr;
  }

  .swp-wall-premium .swp-screen-header,
  .swp-wall-premium .swp-screen-stage {
    width: min(calc(100% - 20px), 100%);
  }

  .layout-mosaic,
  .layout-cards,
  .layout-celebration {
    grid-template-columns: 1fr;
  }
}

/* Wall fullscreen: il badge live resta sopra al contenuto senza occupare una testata. */
body.swp-wall-premium.wall-display.screen-live-shell {
  width: 100vw;
  height: 100vh;
  height: 100dvh;
  min-height: 100vh;
  min-height: 100dvh;
  padding: 0;
  overflow: hidden;
}

.swp-wall-premium .swp-wall-live-overlay {
  position: fixed;
  z-index: 100;
  top: clamp(14px, 2vw, 28px);
  right: clamp(14px, 2vw, 28px);
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin: 0;
  padding: 9px 14px;
  border-radius: 999px;
  color: #047857;
  background: rgba(255,255,255,.9);
  border: 1px solid rgba(16,185,129,.2);
  box-shadow: 0 12px 32px rgba(15,23,42,.14);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  font-size: clamp(.72rem, 1.1vw, .9rem);
  font-weight: 600;
  letter-spacing: .08em;
  line-height: 1;
  text-transform: uppercase;
}

.swp-wall-premium .swp-wall-live-overlay .bi {
  color: #10b981;
  font-size: .62em;
  filter: drop-shadow(0 0 5px rgba(16,185,129,.72));
  animation: swp-live-pulse 1.8s ease-in-out infinite;
}

@keyframes swp-live-pulse {
  0%, 100% { opacity: 1; transform: scale(1); }
  50% { opacity: .48; transform: scale(.84); }
}

.swp-wall-premium .swp-screen-stage,
.swp-wall-premium .swp-screen-stage:where(main) {
  width: 100vw;
  max-width: none;
  height: 100vh;
  height: 100dvh;
  max-height: none;
  min-height: 0;
  aspect-ratio: auto;
  margin: 0;
  padding: clamp(14px, 1.7vw, 28px);
  overflow: hidden;
}

.swp-wall-premium .swp-wall-empty-premium {
  width: 100%;
  height: 100%;
  min-height: 0;
  display: grid;
  grid-template-columns: minmax(280px, .95fr) minmax(300px, .7fr);
  align-items: center;
  justify-content: center;
  gap: clamp(24px, 5vw, 86px);
  padding: clamp(28px, 5vw, 88px);
  overflow: hidden;
  border-radius: clamp(26px, 3vw, 48px);
}

.swp-wall-premium .swp-wall-empty-premium img {
  display: block;
  width: min(100%, 720px);
  max-height: calc(100dvh - 96px);
  margin-left: auto;
  border-radius: clamp(22px, 2.5vw, 42px);
  object-fit: contain;
  filter: drop-shadow(0 28px 46px rgba(15,23,42,.12));
}

.swp-wall-premium .swp-wall-empty-copy {
  display: grid;
  gap: 12px;
  max-width: 520px;
}

.swp-wall-premium .swp-wall-empty-copy strong {
  font-size: clamp(2.2rem, 5.5vw, 5.8rem);
  line-height: .92;
  letter-spacing: -.055em;
  text-wrap: balance;
}

.swp-wall-premium .swp-wall-empty-copy span {
  color: var(--muted);
  font-size: clamp(1rem, 1.8vw, 1.5rem);
  line-height: 1.45;
}

@media (max-width: 760px) {
  .swp-wall-premium .swp-screen-stage,
  .swp-wall-premium .swp-screen-stage:where(main) {
    width: 100vw;
    height: 100dvh;
    max-height: none;
    margin: 0;
    aspect-ratio: auto;
    padding: 10px;
  }

  .swp-wall-premium .swp-wall-empty-premium {
    grid-template-columns: 1fr;
    align-content: center;
    gap: 18px;
    padding: 56px 22px 24px;
    text-align: center;
  }

  .swp-wall-premium .swp-wall-empty-premium img {
    width: min(76vw, 400px);
    max-height: 54dvh;
    margin: 0 auto;
  }

  .swp-wall-premium .swp-wall-empty-copy {
    justify-items: center;
    margin: 0 auto;
  }
}

@media (prefers-reduced-motion: reduce) {
  .swp-wall-premium .swp-wall-live-overlay .bi {
    animation: none;
  }
}

/* Public frontend v3: mobile webapp + desktop workspace */
body.swp-public-app {
  min-height: 100vh;
  min-height: 100dvh;
  display: block;
  padding: 0;
  overflow-x: hidden;
  color: #152033;
  background-color: #f4f8fb;
  background-image:
    linear-gradient(rgba(255, 255, 255, .64) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, .64) 1px, transparent 1px),
    radial-gradient(circle at 12% 10%, color-mix(in srgb, var(--swp-primary) 13%, transparent), transparent 28%),
    radial-gradient(circle at 88% 90%, color-mix(in srgb, var(--swp-secondary) 11%, transparent), transparent 30%);
  background-size: 38px 38px, 38px 38px, auto, auto;
  font-family: var(--app-font-family);
  font-weight: 400;
}

.swp-public-shell {
  min-height: 100vh;
  min-height: 100dvh;
  display: flex;
  align-items: center;
  padding: 28px;
}

.swp-public-container {
  width: 100%;
  max-width: 1240px;
  padding: 0;
}

.swp-public-layout {
  min-height: min(760px, calc(100dvh - 56px));
  overflow: hidden;
  border: 1px solid rgba(148, 163, 184, .22);
  border-radius: 28px;
  background: rgba(255, 255, 255, .92);
  box-shadow: 0 30px 90px rgba(24, 39, 60, .13);
  isolation: isolate;
}

.swp-public-intro {
  position: relative;
  min-height: 100%;
  overflow: hidden;
  background:
    radial-gradient(circle at 20% 8%, color-mix(in srgb, var(--swp-primary) 19%, transparent), transparent 30%),
    radial-gradient(circle at 90% 88%, color-mix(in srgb, var(--swp-secondary) 16%, transparent), transparent 30%),
    linear-gradient(145deg, #f7fcff 0%, #ffffff 48%, #fff9f4 100%);
  border-right: 1px solid rgba(148, 163, 184, .18);
}

.swp-public-intro::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  opacity: .52;
  background-image:
    linear-gradient(rgba(255, 255, 255, .78) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, .78) 1px, transparent 1px);
  background-size: 34px 34px;
}

.swp-public-intro-inner {
  height: 100%;
  min-height: 650px;
  display: flex;
  flex-direction: column;
  padding: clamp(32px, 4vw, 52px);
}

.swp-public-brand-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin: 0 0 clamp(42px, 8vh, 78px);
}

.swp-public-logo-box {
  width: 88px;
  height: 64px;
  display: grid;
  place-items: center;
  overflow: hidden;
  border: 1px solid color-mix(in srgb, var(--swp-primary) 18%, #dce5ec);
  border-radius: 18px;
  color: var(--swp-primary);
  background: rgba(255, 255, 255, .9);
  box-shadow: 0 14px 34px rgba(24, 39, 60, .08);
  font-size: 1.35rem;
}

.swp-public-logo-box img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: contain;
  padding: 9px;
}

.swp-public-brand-row > span {
  min-height: 34px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 7px 12px;
  border: 1px solid color-mix(in srgb, var(--swp-primary) 14%, #e2e8f0);
  border-radius: 999px;
  color: color-mix(in srgb, var(--swp-primary) 76%, #18324b);
  background: rgba(255, 255, 255, .82);
  box-shadow: 0 10px 28px rgba(24, 39, 60, .05);
  font-size: .78rem;
  font-weight: 600;
}

.swp-public-brand-row > span .bi {
  color: #22a06b;
  font-size: .5rem;
}

.swp-public-title {
  position: relative;
  z-index: 2;
  max-width: 440px;
}

.swp-public-title h1 {
  margin: 0 0 16px;
  color: #111b2e;
  font-size: clamp(2.45rem, 4vw, 4rem);
  line-height: 1.02;
  letter-spacing: 0;
  font-weight: 600;
  overflow-wrap: anywhere;
}

.swp-public-title p {
  max-width: 410px;
  margin: 0;
  color: #5c6b7d;
  font-size: 1.05rem;
  line-height: 1.55;
  font-weight: 400;
}

.swp-public-visual {
  position: relative;
  width: min(392px, 94%);
  height: 256px;
  margin-top: auto;
  align-self: center;
  isolation: isolate;
}

.swp-public-clipart-panel {
  position: absolute;
  inset: 0;
  overflow: hidden;
  border: 1px solid color-mix(in srgb, var(--swp-primary) 14%, #d8e3ea);
  border-radius: 32px;
  background-image:
    linear-gradient(90deg, rgba(15, 23, 42, .045) 1px, transparent 1px),
    linear-gradient(180deg, rgba(15, 23, 42, .035) 1px, transparent 1px),
    linear-gradient(145deg, rgba(255, 255, 255, .98), color-mix(in srgb, var(--swp-primary) 8%, #fff) 52%, color-mix(in srgb, var(--swp-secondary) 7%, #fff));
  background-size: 34px 34px, 34px 34px, auto;
  box-shadow:
    0 24px 60px rgba(24, 39, 60, .12),
    inset 0 1px 0 rgba(255, 255, 255, .9);
}

.swp-public-clipart-panel::before {
  content: "";
  position: absolute;
  left: -42px;
  right: -42px;
  bottom: -46px;
  height: 116px;
  transform: rotate(-4deg);
  background: linear-gradient(90deg, color-mix(in srgb, var(--swp-primary) 13%, transparent), color-mix(in srgb, var(--swp-secondary) 12%, transparent));
}

.swp-public-clipart-phone {
  position: absolute;
  left: 50%;
  top: 18px;
  z-index: 3;
  width: 172px;
  height: 218px;
  padding: 18px;
  transform: translateX(-50%);
  border: 1px solid rgba(15, 23, 42, .14);
  border-radius: 32px;
  background: #111b2e;
  box-shadow:
    0 24px 52px rgba(15, 23, 42, .2),
    inset 0 1px 0 rgba(255, 255, 255, .12);
}

.swp-public-clipart-phone::before {
  content: "";
  position: absolute;
  inset: 10px;
  border-radius: 24px;
  background: linear-gradient(180deg, #ffffff, #f3f8fb);
}

.swp-public-clipart-phone > * {
  position: relative;
  z-index: 1;
}

.swp-phone-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 12px;
  color: #8190a3;
  font-size: .74rem;
}

.swp-phone-top span {
  width: 42px;
  height: 5px;
  border-radius: 999px;
  background: rgba(15, 23, 42, .13);
}

.swp-phone-live {
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: 38px;
  margin-bottom: 10px;
  padding: 9px 11px;
  border: 1px solid color-mix(in srgb, var(--swp-primary) 12%, #dbe7ef);
  border-radius: 16px;
  color: #152033;
  background: color-mix(in srgb, var(--swp-primary) 8%, #fff);
  font-size: .72rem;
  font-weight: 600;
  letter-spacing: 0;
}

.swp-phone-live .bi {
  color: var(--swp-primary);
}

.swp-phone-post {
  display: grid;
  grid-template-columns: 30px minmax(0, 1fr);
  gap: 8px 9px;
  margin-bottom: 10px;
  padding: 11px;
  border: 1px solid #e4eaf0;
  border-radius: 18px;
  background: #ffffff;
}

.swp-phone-post .bi {
  grid-row: 1 / 3;
  width: 30px;
  height: 30px;
  display: grid;
  place-items: center;
  border-radius: 11px;
  color: var(--swp-secondary);
  background: color-mix(in srgb, var(--swp-secondary) 10%, #fff);
  font-size: .92rem;
}

.swp-phone-post span {
  display: block;
  height: 7px;
  border-radius: 999px;
  background: #d8e1ea;
}

.swp-phone-post span:last-child {
  width: 68%;
}

.swp-phone-photo {
  height: 58px;
  display: grid;
  place-items: center;
  border-radius: 18px;
  color: color-mix(in srgb, var(--swp-primary) 72%, #172033);
  background:
    linear-gradient(135deg, color-mix(in srgb, var(--swp-primary) 12%, #eef8fd), #ffffff 42%),
    #ffffff;
  border: 1px solid color-mix(in srgb, var(--swp-primary) 12%, #dce7ef);
  font-size: 1.15rem;
}

.swp-public-clip-card,
.swp-public-clip-send {
  position: absolute;
  z-index: 4;
  border: 1px solid rgba(148, 163, 184, .2);
  background: rgba(255, 255, 255, .95);
  box-shadow: 0 20px 45px rgba(24, 39, 60, .13);
}

.swp-public-clip-card.is-photo {
  left: 16px;
  top: 48px;
  width: 112px;
  height: 94px;
  padding: 12px;
  transform: rotate(-7deg);
  border-radius: 24px;
}

.swp-public-clip-card.is-photo .bi {
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  border-radius: 13px;
  color: var(--swp-primary);
  background: color-mix(in srgb, var(--swp-primary) 10%, #fff);
}

.swp-public-clip-card.is-photo span {
  position: absolute;
  left: 12px;
  right: 12px;
  bottom: 12px;
  height: 24px;
  overflow: hidden;
  border-radius: 12px;
  background: linear-gradient(135deg, color-mix(in srgb, var(--swp-primary) 12%, #eef8fd), color-mix(in srgb, var(--swp-secondary) 13%, #fff6ef));
}

.swp-public-clip-card.is-photo span::before,
.swp-public-clip-card.is-photo span::after {
  content: "";
  position: absolute;
  bottom: -10px;
  width: 40px;
  height: 34px;
  transform: rotate(45deg);
  border-radius: 8px;
  background: color-mix(in srgb, var(--swp-primary) 20%, #ffffff);
}

.swp-public-clip-card.is-photo span::before {
  left: 12px;
}

.swp-public-clip-card.is-photo span::after {
  right: 6px;
  background: color-mix(in srgb, var(--swp-secondary) 20%, #ffffff);
}

.swp-public-clip-card.is-message {
  right: 12px;
  top: 34px;
  width: 140px;
  min-height: 96px;
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr);
  gap: 8px 10px;
  padding: 14px;
  transform: rotate(5deg);
  border-radius: 24px;
}

.swp-public-clip-card.is-message .bi {
  grid-row: 1 / 3;
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  border-radius: 14px;
  color: var(--swp-secondary);
  background: color-mix(in srgb, var(--swp-secondary) 10%, #fff);
  font-size: 1rem;
}

.swp-public-clip-card.is-message span {
  display: block;
  height: 8px;
  margin-top: 7px;
  border-radius: 999px;
  background: #d6e0ea;
}

.swp-public-clip-card.is-message span:last-child {
  width: 72%;
  margin-top: 0;
}

.swp-public-clip-card.is-qr {
  right: 38px;
  bottom: 24px;
  width: 78px;
  height: 78px;
  display: grid;
  place-items: center;
  padding: 13px;
  transform: rotate(6deg);
  border-radius: 22px;
}

.swp-mini-qr {
  width: 100%;
  aspect-ratio: 1;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 4px;
}

.swp-mini-qr b {
  display: block;
  border-radius: 4px;
  background: #152033;
}

.swp-mini-qr b:nth-child(3n),
.swp-mini-qr b:nth-child(5),
.swp-mini-qr b:nth-child(14) {
  opacity: .22;
}

.swp-mini-qr b:nth-child(6),
.swp-mini-qr b:nth-child(11) {
  opacity: .08;
}

.swp-public-clip-send {
  left: 44px;
  bottom: 28px;
  width: 58px;
  height: 58px;
  display: grid;
  place-items: center;
  transform: rotate(-4deg);
  border-radius: 20px;
  color: #fff;
  background: linear-gradient(135deg, var(--swp-primary), color-mix(in srgb, var(--swp-primary) 72%, var(--swp-secondary)));
  font-size: 1.2rem;
}

.swp-public-workspace {
  min-height: 100%;
  background: rgba(255, 255, 255, .96);
}

.swp-public-access-panel {
  min-height: 100%;
  display: grid;
  align-content: center;
  padding: clamp(30px, 4vw, 52px);
}

.swp-public-access-card {
  width: 100%;
  max-width: 620px;
  margin: auto;
  display: flex;
  flex-direction: column;
  gap: 20px;
  padding: clamp(22px, 3vw, 32px);
  border: 1px solid rgba(148, 163, 184, .18);
  border-radius: 28px;
  background:
    radial-gradient(circle at 100% 0, color-mix(in srgb, var(--swp-primary) 11%, transparent), transparent 36%),
    #fff;
  box-shadow: 0 22px 62px rgba(24, 39, 60, .09);
}

.swp-public-access-copy {
  display: grid;
  gap: 5px;
}

.swp-public-access-copy strong {
  color: #152033;
  font-size: 1.05rem;
  font-weight: 600;
  line-height: 1.12;
}

.swp-public-access-copy p {
  margin: 0;
  color: #64748b;
  font-size: .94rem;
  line-height: 1.42;
}

.swp-public-access-fields {
  display: grid;
  gap: 12px;
}

.swp-public-access-fields > div {
  display: grid;
  gap: 7px;
}

.swp-public-access-fields .form-label {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  margin: 0;
  color: #1b2738;
  font-size: .84rem;
  font-weight: 600;
}

.swp-public-access-fields .form-label .bi {
  color: var(--swp-primary);
}

.swp-public-access-fields .form-control {
  min-height: 52px;
  border-color: #dce4eb;
  border-radius: 15px;
  background: #fbfdff;
  box-shadow: none;
}

.swp-public-access-fields .form-control:focus {
  border-color: color-mix(in srgb, var(--swp-primary) 62%, white);
  background: #fff;
  box-shadow: 0 0 0 4px color-mix(in srgb, var(--swp-primary) 12%, transparent);
}

.swp-public-webapp {
  width: 100%;
  min-height: 100%;
}

.swp-public-mobile-nav {
  display: none;
}

.swp-public-composer {
  width: 100%;
  height: 100%;
  min-height: 650px;
  display: flex;
  flex-direction: column;
  gap: 22px;
  padding: clamp(30px, 4vw, 52px);
}

.swp-composer-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
}

.swp-composer-kicker {
  display: block;
  margin-bottom: 3px;
  color: var(--swp-primary);
  font-size: .76rem;
  line-height: 1.2;
  font-weight: 600;
  text-transform: uppercase;
}

.swp-composer-heading h2 {
  margin: 0;
  color: #162033;
  font-size: clamp(1.35rem, 2vw, 1.8rem);
  line-height: 1.15;
  font-weight: 600;
  letter-spacing: 0;
}

.swp-composer-heading > .bi {
  width: 46px;
  height: 46px;
  flex: 0 0 46px;
  display: grid;
  place-items: center;
  border-radius: 16px;
  color: var(--swp-secondary);
  background: color-mix(in srgb, var(--swp-secondary) 10%, #fff);
  font-size: 1.2rem;
}

.swp-public-form-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 16px;
}

.swp-social-composer-grid {
  grid-template-columns: minmax(0, 1fr);
}

.swp-social-composer-card {
  display: grid;
  gap: 12px;
}

.swp-social-composer-head {
  display: flex;
  align-items: center;
  gap: 10px;
}

.swp-social-avatar {
  width: 42px;
  height: 42px;
  flex: 0 0 42px;
  display: grid;
  place-items: center;
  border-radius: 999px;
  color: #fff;
  background:
    radial-gradient(circle at 30% 20%, rgba(255,255,255,.36), transparent 34%),
    linear-gradient(135deg, var(--swp-primary), color-mix(in srgb, var(--swp-primary) 54%, var(--swp-secondary)));
  box-shadow: 0 10px 24px color-mix(in srgb, var(--swp-primary) 18%, transparent);
  font-size: .9rem;
  font-weight: 600;
}

.swp-social-composer-head strong {
  display: block;
  color: #152033;
  font-size: .96rem;
  font-weight: 600;
  line-height: 1.1;
}

.swp-social-composer-head small {
  color: #64748b;
  font-size: .78rem;
  font-weight: 600;
}

.swp-social-composer-tools {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
  padding-top: 2px;
}

.swp-social-tool-btn {
  min-height: 38px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  padding: 8px 12px;
  border: 1px solid color-mix(in srgb, var(--swp-primary) 18%, #d7e2eb);
  border-radius: 999px;
  color: color-mix(in srgb, var(--swp-primary) 74%, #153047);
  background: color-mix(in srgb, var(--swp-primary) 7%, #fff);
  cursor: pointer;
  font-size: .82rem;
  font-weight: 600;
  transition: transform .16s ease, background .16s ease, border-color .16s ease;
}

.swp-social-tool-btn:hover,
.swp-social-tool-btn.is-attached {
  border-color: color-mix(in srgb, var(--swp-primary) 36%, #d7e2eb);
  background: color-mix(in srgb, var(--swp-primary) 12%, #fff);
  transform: translateY(-1px);
}

.swp-social-helper {
  min-width: 0;
  flex: 1 1 auto;
  color: #64748b;
  font-size: .76rem;
  font-weight: 600;
  line-height: 1.25;
}

.swp-public-session-card {
  min-height: 54px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 14px;
  color: #334155;
  background: linear-gradient(135deg, color-mix(in srgb, var(--swp-primary) 7%, #fff), #fff);
}

.swp-public-session-card > span {
  min-width: 0;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: .88rem;
  font-weight: 600;
}

.swp-public-session-card strong {
  min-width: 0;
  overflow: hidden;
  color: #152033;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.swp-public-session-lock {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 5px 8px;
  border-radius: 999px;
  color: #64748b;
  background: rgba(241,245,249,.9);
  font-size: .68rem;
  font-weight: 600;
}

.swp-public-card-section {
  min-width: 0;
  padding: 18px;
  border: 1px solid #e4eaf0;
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 12px 30px rgba(24, 39, 60, .055);
}

.swp-identity-section {
  grid-column: 1 / -1;
}

.swp-public-identity-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 12px;
}

.swp-public-identity-grid.has-email {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.swp-public-identity-grid > div {
  display: grid;
  gap: 7px;
}

.swp-public-identity-input {
  position: relative;
}

.swp-public-identity-input > .bi {
  position: absolute;
  z-index: 1;
  top: 50%;
  left: 15px;
  color: var(--swp-primary);
  transform: translateY(-50%);
}

.swp-public-identity-input .form-control {
  min-height: 52px;
  padding-left: 43px;
  border-color: #dce4eb;
  background: #fbfdff;
}

.swp-public-access-note {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-top: 10px;
  color: #6b7788;
  font-size: .74rem;
}

.swp-message-section,
.swp-image-section {
  min-height: 286px;
}

.swp-field-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 12px;
}

.swp-public-card-section .form-label {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin: 0;
  color: #1b2738;
  font-size: .88rem;
  font-weight: 600 !important;
}

.swp-public-card-section .form-label .bi {
  color: var(--swp-primary);
}

.swp-character-count,
.swp-optional-label {
  color: #7b8796;
  font-size: .75rem;
  font-weight: 400;
}

.swp-character-count strong {
  font-weight: 600;
}

.swp-public-composer textarea.form-control {
  width: 100%;
  min-height: 214px;
  padding: 15px 16px;
  resize: none;
  border: 1px solid #dce4eb;
  border-radius: 14px;
  color: #162033;
  background: #fbfdff;
  box-shadow: none;
  font-family: inherit;
  font-size: 1rem;
  line-height: 1.5;
  font-weight: 400;
}

.swp-public-composer textarea.form-control:focus {
  border-color: color-mix(in srgb, var(--swp-primary) 68%, white);
  background: #fff;
  box-shadow: 0 0 0 4px color-mix(in srgb, var(--swp-primary) 12%, transparent);
}

.swp-upload-drop {
  min-height: 214px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 5px;
  margin: 0;
  padding: 18px;
  border: 1px dashed color-mix(in srgb, var(--swp-primary) 38%, #cfd9e2);
  border-radius: 14px;
  color: #5d6b7c;
  background: color-mix(in srgb, var(--swp-primary) 3%, #fbfdff);
  text-align: center;
  cursor: pointer;
  transition: border-color .2s ease, background-color .2s ease, transform .2s ease;
}

.swp-upload-drop:hover {
  border-color: var(--swp-primary);
  background: color-mix(in srgb, var(--swp-primary) 7%, #fff);
  transform: translateY(-1px);
}

.swp-upload-drop > span {
  width: 48px;
  height: 48px;
  display: grid;
  place-items: center;
  margin-bottom: 3px;
  border: 1px solid color-mix(in srgb, var(--swp-primary) 13%, #e5ebf0);
  border-radius: 15px;
  color: var(--swp-primary);
  background: #fff;
  box-shadow: 0 10px 24px rgba(24, 39, 60, .08);
  font-size: 1.3rem;
}

.swp-upload-drop strong {
  color: #1b2738;
  font-size: .95rem;
  font-weight: 600;
}

.swp-upload-drop small {
  color: #7b8796;
  font-size: .74rem;
  font-weight: 400;
}

.swp-image-section.has-preview .swp-upload-drop {
  display: none;
}

.swp-upload-preview figure {
  position: relative;
  height: 214px;
  margin: 0;
  overflow: hidden;
  border: 1px solid #dce4eb;
  border-radius: 14px;
  background: #eef4f7;
}

.swp-upload-preview img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: contain;
}

.swp-upload-preview figcaption {
  position: absolute;
  right: 8px;
  bottom: 8px;
  left: 8px;
  min-width: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 7px 8px 7px 10px;
  border: 1px solid rgba(255, 255, 255, .58);
  border-radius: 11px;
  color: #176b4c;
  background: rgba(255, 255, 255, .9);
  backdrop-filter: blur(12px);
  font-size: .75rem;
  font-weight: 500;
}

.swp-upload-preview figcaption > span {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.swp-remove-upload.btn {
  width: 30px;
  height: 30px;
  flex: 0 0 30px;
  display: grid;
  place-items: center;
  padding: 0;
  border: 0;
  border-radius: 9px;
  color: #405065;
  background: #edf2f5;
  font-size: .8rem;
}

.swp-privacy-card {
  grid-column: 1 / -1;
  min-height: 64px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 15px 17px;
  box-shadow: none;
}

.swp-privacy-card .form-check {
  min-width: 0;
  margin: 0;
  padding-left: 2rem;
}

.swp-privacy-card .form-check-input {
  width: 1.25rem;
  height: 1.25rem;
  margin-top: .05rem;
  margin-left: -2rem;
  border-color: #cbd5df;
  border-radius: 6px;
  box-shadow: none;
}

.swp-privacy-card .form-check-input:checked {
  border-color: var(--swp-primary);
  background-color: var(--swp-primary);
}

.swp-privacy-card .form-check-label {
  color: #445266;
  font-size: .88rem;
  line-height: 1.4;
  font-weight: 400;
}

.swp-privacy-card a {
  color: color-mix(in srgb, var(--swp-primary) 76%, #18324b);
  font-weight: 600;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}

.swp-privacy-open {
  width: 36px;
  height: 36px;
  flex: 0 0 36px;
  display: grid;
  place-items: center;
  border-radius: 10px;
  background: #f2f6f8;
  text-decoration: none !important;
}

.swp-public-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 16px;
  margin-top: auto;
}

.swp-public-actions .form-feedback {
  min-width: 0;
  flex: 1 1 auto;
}

.swp-public-actions .alert {
  min-height: 48px;
  display: flex;
  align-items: center;
  gap: 9px;
  margin: 0;
  padding: 11px 14px;
  border: 0;
  border-radius: 13px;
  font-size: .86rem;
  line-height: 1.3;
}

.swp-public-composer .attendee-entry-submit,
.swp-public-access-card .attendee-entry-submit {
  width: auto;
  min-width: 210px;
  min-height: 54px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  padding: 12px 22px;
  border: 0;
  border-radius: 15px;
  color: #fff;
  background: var(--swp-primary);
  box-shadow: 0 16px 34px color-mix(in srgb, var(--swp-primary) 28%, transparent);
  font-size: .95rem;
  font-weight: 600;
  transition: transform .2s ease, filter .2s ease, box-shadow .2s ease;
}

.swp-public-composer .attendee-entry-submit:hover,
.swp-public-composer .attendee-entry-submit:focus,
.swp-public-access-card .attendee-entry-submit:hover,
.swp-public-access-card .attendee-entry-submit:focus {
  color: #fff;
  background: var(--swp-primary);
  filter: brightness(.93);
  transform: translateY(-1px);
}

.swp-public-composer .attendee-entry-submit:disabled,
.swp-public-access-card .attendee-entry-submit:disabled {
  transform: none;
  opacity: .72;
}

@media (max-width: 991.98px) {
  body.swp-public-app {
    background: #fff;
  }

  .swp-public-shell {
    display: block;
    min-height: 100dvh;
    padding: 0;
  }

  .swp-public-container {
    max-width: none;
  }

  .swp-public-layout {
    min-height: 100dvh;
    overflow: visible;
    border: 0;
    border-radius: 0;
    box-shadow: none;
  }

  .swp-public-intro {
    min-height: 0;
    border-right: 0;
    border-bottom: 1px solid rgba(148, 163, 184, .18);
  }

  .swp-public-intro-inner {
    min-height: 0;
    padding: max(18px, env(safe-area-inset-top)) 20px 24px;
  }

  .swp-public-brand-row {
    margin-bottom: 22px;
  }

  .swp-public-logo-box {
    width: 68px;
    height: 50px;
    border-radius: 15px;
    font-size: 1.05rem;
  }

  .swp-public-brand-row > span {
    min-height: 31px;
    padding: 6px 10px;
    font-size: .72rem;
  }

  .swp-public-title {
    max-width: 680px;
  }

  .swp-public-title h1 {
    margin-bottom: 8px;
    font-size: clamp(2rem, 8vw, 3rem);
    line-height: 1.03;
  }

  .swp-public-title p {
    max-width: 620px;
    font-size: .94rem;
    line-height: 1.45;
  }

  .swp-public-visual {
    display: none;
  }

  .swp-public-composer {
    min-height: 0;
    gap: 16px;
    padding: 22px 16px calc(18px + env(safe-area-inset-bottom));
  }

  .swp-public-access-panel {
    min-height: 0;
    padding: 22px 16px calc(18px + env(safe-area-inset-bottom));
  }

  .swp-public-access-card {
    max-width: none;
    padding: 18px;
    border-radius: 22px;
  }

  .swp-public-mobile-nav {
    position: sticky;
    top: 0;
    z-index: 24;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    padding: 10px 16px;
    border-bottom: 1px solid rgba(148, 163, 184, .18);
    background: rgba(255,255,255,.92);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
  }

  .swp-public-mobile-nav.is-single {
    grid-template-columns: minmax(0, 1fr);
  }

  .swp-public-mobile-nav a {
    min-height: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    border: 1px solid rgba(148,163,184,.22);
    border-radius: 999px;
    color: #475569;
    background: rgba(248,250,252,.88);
    text-decoration: none;
    font-size: .82rem;
    font-weight: 600;
  }

  .swp-public-mobile-nav a.is-active {
    color: #075985;
    border-color: color-mix(in srgb, var(--swp-primary) 30%, #d7e2eb);
    background: color-mix(in srgb, var(--swp-primary) 10%, #fff);
    box-shadow: 0 8px 18px color-mix(in srgb, var(--swp-primary) 10%, transparent);
  }

  .swp-composer-heading > .bi {
    display: none;
  }

  .swp-composer-heading h2 {
    font-size: 1.32rem;
  }

  .swp-public-form-grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 12px;
  }

  .swp-social-composer-tools {
    flex-wrap: wrap;
    align-items: flex-start;
  }

  .swp-social-helper {
    flex-basis: 100%;
    order: 3;
  }

  .swp-public-session-card {
    align-items: flex-start;
    flex-direction: column;
    gap: 8px;
  }

  .swp-public-identity-grid.has-email {
    grid-template-columns: 1fr;
  }

  .swp-public-card-section {
    padding: 15px;
    border-radius: 16px;
  }

  .swp-message-section,
  .swp-image-section {
    min-height: 0;
  }

  .swp-public-composer textarea.form-control {
    height: 148px;
    min-height: 148px;
    resize: vertical;
  }

  .swp-upload-drop,
  .swp-upload-preview figure {
    min-height: 132px;
    height: 132px;
  }

  .swp-upload-drop > span {
    width: 42px;
    height: 42px;
    border-radius: 13px;
    font-size: 1.12rem;
  }

  .swp-privacy-card {
    grid-column: auto;
  }

  .swp-public-actions {
    position: sticky;
    z-index: 10;
    bottom: 0;
    flex-direction: column;
    align-items: stretch;
    gap: 10px;
    margin: 0 -16px calc(-18px - env(safe-area-inset-bottom));
    padding: 12px 16px calc(12px + env(safe-area-inset-bottom));
    border-top: 1px solid rgba(148, 163, 184, .18);
    background: rgba(255, 255, 255, .9);
    backdrop-filter: blur(16px);
  }

  .swp-public-actions .form-feedback:empty {
    display: none;
  }

  .swp-public-composer .attendee-entry-submit {
    width: 100%;
    min-width: 0;
    min-height: 54px;
  }

  .swp-public-access-card .attendee-entry-submit {
    width: 100%;
    min-width: 0;
    min-height: 54px;
  }
}

@media (max-width: 420px) {
  .swp-public-title h1 {
    font-size: 1.9rem;
  }

  .swp-public-title p {
    font-size: .9rem;
  }

  .swp-composer-kicker {
    font-size: .7rem;
  }

  .swp-composer-heading h2 {
    font-size: 1.18rem;
  }

  .swp-privacy-open {
    display: none;
  }
}

/* Events dashboard v2: intuitive operational cards */
.swp-events-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 18px;
}

.swp-events-hero .ops-card-kicker {
  margin-bottom: 5px;
}

.swp-events-hero h1 {
  max-width: none !important;
  margin: 6px 0 6px !important;
  font-size: clamp(1.9rem, 3.4vw, 3rem) !important;
  line-height: 1.02 !important;
  font-weight: 600 !important;
  letter-spacing: 0 !important;
}

.swp-events-hero p {
  max-width: 65ch !important;
  font-size: .98rem !important;
}

.swp-events-hero-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
}

.swp-events-hero-actions .btn {
  min-height: 46px;
  padding-inline: 18px;
  border-radius: 14px;
  font-weight: 600;
}

.swp-events-toolbar {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(360px, .92fr);
  align-items: end;
  gap: 18px;
  padding: 16px;
  border-radius: 22px;
}

.swp-events-toolbar.is-filter-only {
  grid-template-columns: minmax(0, 1fr);
  padding: 12px;
}

.swp-events-toolbar.is-filter-only .swp-events-filters {
  width: min(100%, 640px);
  justify-self: end;
}

.swp-events-toolbar h2 {
  margin: 0 0 3px;
  color: var(--text);
  font-size: 1.15rem;
  line-height: 1.2;
  font-weight: 600;
  letter-spacing: 0;
}

.swp-events-toolbar p {
  margin: 0;
  color: var(--muted);
  font-size: .9rem;
}

.swp-events-filters {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 150px;
  gap: 10px;
}

.swp-events-search {
  position: relative;
}

.swp-events-search .bi {
  position: absolute;
  left: 14px;
  top: 50%;
  z-index: 2;
  transform: translateY(-50%);
  color: var(--accent-2);
  font-size: .95rem;
}

.swp-events-search .form-control {
  padding-left: 40px;
}

.swp-events-filters .form-control,
.swp-events-filters .form-select {
  min-height: 42px;
  border-radius: 13px;
  font-size: .9rem;
}

.swp-events-list {
  display: grid;
  gap: 12px;
}

.swp-events-manager {
  display: grid;
  gap: 12px;
  padding: 14px;
  border-radius: 24px;
  border-color: rgba(var(--branding-primary-rgb), .1);
  background:
    linear-gradient(145deg, rgba(255, 255, 255, .96), rgba(248, 251, 253, .9)),
    radial-gradient(circle at top right, rgba(var(--branding-primary-rgb), .09), transparent 34%);
  box-shadow: 0 16px 42px rgba(15, 23, 42, .06);
}

.swp-events-manager-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 2px 2px 4px;
}

.swp-events-manager-head h2 {
  margin: 4px 0 0;
  color: var(--text);
  font-size: 1.12rem;
  line-height: 1.18;
  font-weight: 600;
  letter-spacing: 0;
}

.swp-events-count {
  min-height: 32px;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 7px 11px;
  border: 1px solid rgba(var(--branding-primary-rgb), .12);
  border-radius: 999px;
  color: var(--accent-2);
  background: rgba(var(--branding-primary-rgb), .07);
  font-size: .82rem;
  font-weight: 600;
  white-space: nowrap;
}

.swp-event-rows {
  display: grid;
  gap: 10px;
}

.swp-event-row-wrap {
  display: grid;
  gap: 9px;
}

.swp-event-row-wrap[hidden],
.swp-event-inline-detail[hidden] {
  display: none !important;
}

.swp-event-row {
  display: grid;
  grid-template-columns: minmax(240px, 1fr) auto;
  align-items: center;
  gap: 12px;
  padding: 11px;
  border: 1px solid #e1eaf1;
  border-radius: 18px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, .94), rgba(248, 251, 253, .86));
  cursor: pointer;
  transition: transform .16s ease, border-color .16s ease, box-shadow .16s ease, background .16s ease;
}

.swp-event-row:hover,
.swp-event-row:focus-within {
  border-color: rgba(var(--branding-primary-rgb), .22);
  background: #ffffff;
  box-shadow: 0 14px 32px rgba(15, 23, 42, .07);
  transform: translateY(-1px);
}

.swp-event-row.is-selected {
  border-color: rgba(var(--branding-primary-rgb), .28);
  background:
    linear-gradient(180deg, #ffffff, rgba(var(--branding-primary-rgb), .055));
  box-shadow: 0 16px 38px rgba(var(--branding-primary-rgb), .11);
}

.swp-event-row-main {
  min-width: 0;
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr);
  align-items: center;
  gap: 11px;
}

.swp-event-row-icon {
  width: 44px;
  height: 44px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(var(--branding-primary-rgb), .13);
  border-radius: 15px;
  color: var(--accent-2);
  background:
    linear-gradient(180deg, #ffffff, rgba(var(--branding-primary-rgb), .07));
  font-size: 1.04rem;
}

.swp-event-row-icon.has-logo {
  padding: 5px;
  background: rgba(255,255,255,.96);
}

.swp-event-row-icon img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  border-radius: 10px;
}

.swp-event-row-copy {
  min-width: 0;
}

.swp-event-row-title {
  max-width: 100%;
  display: block;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--text);
  font-size: 1rem;
  line-height: 1.2;
  font-weight: 600;
  letter-spacing: 0;
  text-align: left;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.swp-event-row-title:hover,
.swp-event-row-title:focus {
  color: var(--accent-2);
  outline: none;
}

.swp-event-row-meta {
  min-width: 0;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 7px 12px;
  margin-top: 5px;
  color: var(--muted);
  font-size: .78rem;
  line-height: 1.2;
}

.swp-event-row-meta span {
  min-width: 0;
  display: inline-flex;
  align-items: center;
  gap: 5px;
}

.swp-event-row-meta .bi {
  color: var(--accent-2);
}

.swp-event-feature-badges {
  min-width: 0;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 5px;
  margin-top: 6px;
}

.swp-event-feature-badges.is-detail {
  margin-top: 7px;
  margin-bottom: 5px;
}

.swp-event-feature-badge.badge {
  min-height: 22px;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 4px 7px;
  border: 1px solid rgba(148,163,184,.18);
  border-radius: 999px;
  color: #52647a;
  background: rgba(248,250,252,.82);
  font-size: .66rem;
  font-weight: 600;
  line-height: 1;
  letter-spacing: .005em;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.72);
}

.swp-event-feature-badge .bi {
  font-size: .68rem;
  opacity: .82;
}

.swp-event-feature-badge.is-status-active,
.swp-event-feature-badge.is-wall-ready {
  color: #047857;
  border-color: rgba(16,185,129,.18);
  background: rgba(209,250,229,.62);
}

.swp-event-feature-badge.is-status-draft,
.swp-event-feature-badge.is-wall-missing {
  color: #a16207;
  border-color: rgba(245,158,11,.18);
  background: rgba(254,243,199,.66);
}

.swp-event-feature-badge.is-status-closed,
.swp-event-feature-badge.is-status-archived {
  color: #64748b;
  border-color: rgba(148,163,184,.2);
  background: rgba(241,245,249,.72);
}

.swp-event-feature-badge.is-access-email {
  color: #2563eb;
  border-color: rgba(37,99,235,.16);
  background: rgba(219,234,254,.62);
}

.swp-event-feature-badge.is-access-nickname,
.swp-event-feature-badge.is-moderation-manual {
  color: #6d5bd0;
  border-color: rgba(109,91,208,.14);
  background: rgba(237,233,254,.58);
}

.swp-event-feature-badge.is-moderation-auto {
  color: #c2410c;
  border-color: rgba(249,115,22,.16);
  background: rgba(255,237,213,.62);
}

.swp-event-row-badges,
.swp-event-row-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 7px;
  flex-wrap: wrap;
}

.swp-event-row-badges {
  min-width: 0;
}

.swp-event-row-actions .btn {
  min-height: 36px;
  padding: 8px 12px;
  border-radius: 999px;
  font-size: .78rem;
  font-weight: 600;
}

.swp-event-row-actions .swp-regia-pill {
  min-width: 128px;
  color: var(--btn-secondary-text) !important;
  border-color: rgba(var(--branding-secondary-rgb), .18) !important;
  background:
    linear-gradient(135deg, var(--btn-secondary), var(--btn-secondary-2)) !important;
  box-shadow: 0 12px 22px rgba(var(--branding-secondary-rgb), .16);
}

.swp-event-row-actions .swp-regia-pill:hover,
.swp-event-row-actions .swp-regia-pill:focus {
  color: #ffffff !important;
  border-color: rgba(var(--branding-secondary-rgb), .28) !important;
  background:
    linear-gradient(135deg, #f07812, var(--btn-secondary-2)) !important;
  box-shadow: 0 16px 28px rgba(var(--branding-secondary-rgb), .22);
  transform: translateY(-1px);
}

.swp-event-row-actions .swp-regia-switch {
  min-width: 150px;
  min-height: 38px;
  justify-content: space-between;
  gap: 11px;
  padding: 7px 8px 7px 13px;
  border-radius: 999px;
  color: var(--btn-secondary-text) !important;
  border-color: rgba(var(--branding-secondary-rgb), .22) !important;
  background:
    linear-gradient(135deg, var(--btn-secondary), var(--btn-secondary-2)) !important;
  box-shadow: 0 12px 22px rgba(var(--branding-secondary-rgb), .16);
}

.swp-event-row-actions .swp-regia-switch .swp-switch-control {
  width: 40px;
  height: 22px;
  flex-basis: 40px;
  border-color: rgba(255, 255, 255, .26);
  background: rgba(255, 255, 255, .2);
}

.swp-event-row-actions .swp-regia-switch .swp-switch-knob {
  width: 16px;
  height: 16px;
  background: #ffffff;
  border-color: rgba(255, 255, 255, .7);
  transform: translateX(18px);
}

.swp-event-row-actions .swp-regia-switch:hover,
.swp-event-row-actions .swp-regia-switch:focus {
  color: #ffffff !important;
  border-color: rgba(var(--branding-secondary-rgb), .34) !important;
  background:
    linear-gradient(135deg, #f07812, var(--btn-secondary-2)) !important;
  box-shadow: 0 16px 28px rgba(var(--branding-secondary-rgb), .24);
  transform: translateY(-1px);
}

.swp-event-inline-detail {
  position: relative;
  display: grid;
  gap: 13px;
  margin-inline: 8px;
  padding: 15px;
  border: 1px solid rgba(var(--branding-primary-rgb), .12);
  border-radius: 20px;
  background:
    linear-gradient(145deg, rgba(255, 255, 255, .96), rgba(248, 251, 253, .92)),
    radial-gradient(circle at bottom left, rgba(235, 102, 0, .07), transparent 32%);
  box-shadow: 0 18px 42px rgba(15, 23, 42, .07);
}

.swp-event-inline-detail::before {
  content: "";
  position: absolute;
  top: -8px;
  left: 44px;
  width: 14px;
  height: 14px;
  border-top: 1px solid rgba(var(--branding-primary-rgb), .12);
  border-left: 1px solid rgba(var(--branding-primary-rgb), .12);
  background: rgba(255, 255, 255, .96);
  transform: rotate(45deg);
}

.swp-inline-detail-head {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
}

.swp-inline-detail-head h3 {
  margin: 4px 0 4px;
  color: var(--text);
  font-size: 1.18rem;
  line-height: 1.18;
  font-weight: 600;
  letter-spacing: 0;
}

.swp-inline-event-title {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  min-width: 0;
}

.swp-inline-event-title img {
  width: 34px;
  height: 34px;
  flex: 0 0 auto;
  padding: 4px;
  border: 1px solid rgba(var(--branding-primary-rgb), .12);
  border-radius: 12px;
  background: rgba(255,255,255,.96);
  object-fit: contain;
}

.swp-inline-event-title span {
  min-width: 0;
  overflow-wrap: anywhere;
}

.swp-inline-detail-head p {
  margin: 0;
  color: var(--muted);
  font-size: .86rem;
}

.swp-inline-detail-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  flex-wrap: wrap;
}

.swp-inline-detail-actions .btn {
  min-height: 36px;
  border-radius: 11px;
  font-size: .8rem;
  font-weight: 600;
}

.swp-inline-kpis {
  display: grid;
  grid-template-columns: minmax(170px, 240px);
  gap: 6px;
}

.swp-inline-kpis .swp-kpi-chip {
  min-height: 42px;
  grid-template-columns: 26px minmax(0, 1fr) auto;
  gap: 6px;
  padding: 6px 8px;
  border-radius: 12px;
  box-shadow: 0 8px 20px rgba(15, 23, 42, .045);
}

.swp-inline-kpis .swp-kpi-chip > i {
  width: 26px;
  height: 26px;
  border-radius: 8px;
  font-size: .8rem;
}

.swp-inline-kpis .swp-kpi-chip span {
  font-size: .72rem;
}

.swp-inline-kpis .swp-kpi-chip strong {
  font-size: .95rem;
}

.swp-inline-panels {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.swp-inline-panel {
  min-width: 0;
  display: grid;
  gap: 10px;
  padding: 12px;
  border: 1px solid #e1eaf1;
  border-radius: 18px;
  background: rgba(255, 255, 255, .72);
}

.swp-inline-panel-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.swp-inline-panel h4 {
  margin: 0;
  color: var(--text);
  font-size: .96rem;
  line-height: 1.2;
  font-weight: 600;
  letter-spacing: 0;
}

.swp-inline-panel-head span {
  color: var(--muted);
  font-size: .76rem;
  font-weight: 560;
}

.swp-inline-panel .swp-event-link-grid {
  grid-area: auto;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  width: 100%;
}

.swp-event-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  grid-template-areas:
    "main primary"
    "links links";
  gap: 14px;
  padding: 16px;
  border-radius: 24px;
  border-color: rgba(var(--branding-primary-rgb), .1);
  background:
    linear-gradient(90deg, rgba(255, 255, 255, .96), rgba(255, 255, 255, .88)),
    radial-gradient(circle at top right, rgba(var(--branding-primary-rgb), .08), transparent 36%);
  box-shadow: 0 16px 42px rgba(15, 23, 42, .065);
}

.swp-event-card[hidden],
.swp-events-no-results[hidden] {
  display: none !important;
}

.swp-event-card-main {
  grid-area: main;
  min-width: 0;
  display: grid;
  grid-template-columns: 58px minmax(0, 1fr);
  gap: 14px;
  align-items: start;
}

.swp-event-avatar {
  width: 58px;
  height: 58px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(var(--branding-primary-rgb), .14);
  border-radius: 18px;
  color: var(--accent-2);
  background:
    linear-gradient(180deg, #ffffff, rgba(var(--branding-primary-rgb), .06));
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .92);
  font-size: 1.18rem;
}

.swp-event-card-copy {
  min-width: 0;
}

.swp-event-card-topline {
  display: flex;
  align-items: center;
  gap: 7px;
  flex-wrap: wrap;
  margin-bottom: 8px;
}

.swp-status-pill,
.swp-soft-meta {
  min-height: 28px;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 6px 10px;
  border: 1px solid rgba(var(--branding-primary-rgb), .1);
  border-radius: 999px;
  color: #536274;
  background: #f8fbfd;
  font-size: .76rem;
  line-height: 1;
  font-weight: 550;
}

.swp-status-pill .bi {
  font-size: .48rem;
}

.swp-status-pill.is-active {
  color: #047857;
  border-color: rgba(16, 185, 129, .18);
  background: rgba(16, 185, 129, .09);
}

.swp-status-pill.is-draft {
  color: #9a5b00;
  border-color: rgba(245, 158, 11, .22);
  background: rgba(245, 158, 11, .1);
}

.swp-status-pill.is-closed {
  color: #334155;
  border-color: rgba(100, 116, 139, .2);
  background: rgba(100, 116, 139, .1);
}

.swp-status-pill.is-archived {
  color: #64748b;
  border-color: #e2e8f0;
  background: #f8fafc;
}

.swp-soft-meta .bi {
  color: var(--accent-2);
}

.swp-soft-meta.is-warning {
  color: #9a5b00;
  background: rgba(245, 158, 11, .09);
}

.swp-event-card h2 {
  margin: 0 0 8px;
  color: var(--text);
  font-size: 1.18rem;
  line-height: 1.2;
  font-weight: 600;
  letter-spacing: 0;
}

.swp-event-card h2 a {
  color: inherit;
  text-decoration: none;
}

.swp-event-card h2 a:hover {
  color: var(--accent-2);
}

.swp-event-meta-line {
  min-width: 0;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px 14px;
  color: var(--muted);
  font-size: .86rem;
}

.swp-event-meta-line span {
  min-width: 0;
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.swp-event-meta-line .bi {
  color: var(--accent-2);
}

.swp-event-primary-actions {
  grid-area: primary;
  display: flex;
  align-items: start;
  justify-content: flex-end;
  gap: 8px;
  flex-wrap: wrap;
}

.swp-event-primary-actions .btn {
  min-height: 40px;
  padding-inline: 12px;
  border-radius: 12px;
  font-size: .86rem;
  font-weight: 600;
}

.swp-live-window-button {
  border-color: rgba(15, 23, 42, .14) !important;
  color: #172033 !important;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, .96), rgba(248, 251, 253, .9)) !important;
  box-shadow: 0 10px 22px rgba(15, 23, 42, .06);
}

.swp-live-window-button:hover,
.swp-live-window-button:focus {
  border-color: rgba(var(--branding-primary-rgb), .32) !important;
  color: var(--accent-2) !important;
  background: #ffffff !important;
}

.swp-live-window-button .bi {
  color: var(--accent-2);
}

.swp-event-activate-form {
  display: flex;
  margin: 0;
}

.swp-event-delete-form {
  display: flex;
  margin: 0;
}

.swp-icon-only-button.btn {
  width: 38px;
  min-width: 38px;
  min-height: 38px;
  padding: 0 !important;
  display: inline-grid;
  place-items: center;
}

.swp-disabled-tooltip-wrap {
  display: inline-flex;
  line-height: 1;
}

.swp-disabled-tooltip-wrap:focus-visible {
  outline: 3px solid rgba(var(--branding-primary-rgb), .16);
  outline-offset: 2px;
  border-radius: var(--swp-button-radius, 14px);
}

.swp-event-activate-form .btn {
  color: #9a3412;
  border-color: rgba(249, 115, 22, .22);
  background: rgba(255, 237, 213, .72);
  box-shadow: 0 8px 18px rgba(249, 115, 22, .06);
  white-space: nowrap;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease, background .18s ease, color .18s ease;
}

.swp-event-activate-form .btn:hover,
.swp-event-activate-form .btn:focus {
  color: #7c2d12;
  border-color: rgba(249, 115, 22, .4);
  background:
    linear-gradient(180deg, rgba(255, 247, 237, .98), rgba(255, 237, 213, .88));
  box-shadow: 0 14px 28px rgba(249, 115, 22, .16);
  transform: translateY(-1px);
}

.swp-event-deactivate-form {
  display: flex;
  margin: 0;
}

.swp-event-deactivate-form .btn {
  color: #9a5b00;
  border-color: rgba(245, 158, 11, .25);
  background: rgba(245, 158, 11, .08);
  box-shadow: 0 8px 18px rgba(245, 158, 11, .06);
  white-space: nowrap;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease, background .18s ease, color .18s ease;
}

.swp-event-deactivate-form .btn:hover,
.swp-event-deactivate-form .btn:focus {
  color: #874900;
  border-color: rgba(245, 158, 11, .44);
  background:
    linear-gradient(180deg, rgba(255, 251, 235, .98), rgba(254, 243, 199, .82));
  box-shadow: 0 14px 28px rgba(245, 158, 11, .16);
  transform: translateY(-1px);
}

.swp-event-delete-form {
  display: flex;
  margin: 0;
}

.swp-event-delete-form .btn {
  color: #b42318;
  border-color: rgba(180, 35, 24, .2);
  background: rgba(180, 35, 24, .045);
  box-shadow: 0 8px 18px rgba(180, 35, 24, .05);
  white-space: nowrap;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease, background .18s ease, color .18s ease;
}

.swp-event-delete-form .btn:hover,
.swp-event-delete-form .btn:focus {
  color: #9f1d14;
  border-color: rgba(180, 35, 24, .36);
  background:
    linear-gradient(180deg, rgba(255, 241, 242, .98), rgba(254, 226, 226, .8));
  box-shadow: 0 14px 28px rgba(180, 35, 24, .14);
  transform: translateY(-1px);
}

.swp-event-delete-disabled {
  color: #94a3b8 !important;
  border-color: #e2e8f0 !important;
  background: #f8fafc !important;
  opacity: 1 !important;
  cursor: not-allowed;
  box-shadow: none !important;
}

.swp-event-delete-disabled .bi {
  color: #94a3b8;
}

.swp-state-modal .modal-dialog {
  max-width: 520px;
}

.swp-state-modal {
  display: none;
  position: fixed;
  inset: 0;
  z-index: 1080;
  overflow-x: hidden;
  overflow-y: auto;
  padding: 18px;
  background: rgba(15, 23, 42, .34);
  backdrop-filter: blur(10px);
}

.swp-state-modal.show {
  display: block;
}

body.swp-modal-open {
  overflow: hidden;
}

.swp-state-modal .modal-dialog {
  min-height: calc(100vh - 36px);
  display: flex;
  align-items: center;
  margin: 0 auto;
}

.swp-state-modal .modal-content {
  width: 100%;
}

.swp-state-modal .modal-content {
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(var(--branding-primary-rgb), .13);
  border-radius: 26px;
  background:
    linear-gradient(145deg, rgba(255, 255, 255, .98), rgba(247, 251, 253, .94)),
    radial-gradient(circle at top right, rgba(var(--branding-primary-rgb), .13), transparent 38%);
  box-shadow: 0 28px 80px rgba(15, 23, 42, .18);
}

.swp-state-modal-grid {
  position: absolute;
  inset: 0;
  opacity: .42;
  pointer-events: none;
  background-image:
    linear-gradient(rgba(148, 163, 184, .18) 1px, transparent 1px),
    linear-gradient(90deg, rgba(148, 163, 184, .18) 1px, transparent 1px);
  background-size: 34px 34px;
  mask-image: linear-gradient(135deg, #000 0%, transparent 78%);
}

.swp-state-modal .modal-header,
.swp-state-modal .modal-body,
.swp-state-modal .modal-footer {
  position: relative;
  z-index: 1;
}

.swp-state-modal .modal-header {
  align-items: flex-start;
  gap: 14px;
  padding: 22px 22px 14px;
  border-bottom: 0;
}

.swp-state-modal .modal-title {
  margin: 3px 0 0;
  color: var(--text);
  font-size: 1.36rem;
  line-height: 1.14;
  font-weight: 600;
  letter-spacing: 0;
}

.swp-state-modal .btn-close {
  width: 34px;
  height: 34px;
  margin: 0 0 0 auto;
  border-radius: 12px;
  background-color: rgba(255, 255, 255, .82);
  box-shadow: 0 8px 20px rgba(15, 23, 42, .08);
}

.swp-state-modal-icon {
  width: 52px;
  height: 52px;
  flex: 0 0 52px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(var(--branding-primary-rgb), .16);
  border-radius: 18px;
  color: var(--accent-2);
  background: rgba(var(--branding-primary-rgb), .08);
  font-size: 1.25rem;
}

.swp-state-modal.is-activate .swp-state-modal-icon {
  color: #047857;
  border-color: rgba(16, 185, 129, .22);
  background: rgba(16, 185, 129, .1);
}

.swp-state-modal.is-deactivate .swp-state-modal-icon {
  color: #9a5b00;
  border-color: rgba(245, 158, 11, .26);
  background: rgba(245, 158, 11, .11);
}

.swp-state-modal.is-delete .swp-state-modal-icon {
  color: #b42318;
  border-color: rgba(180, 35, 24, .22);
  background: rgba(180, 35, 24, .08);
}

.swp-state-modal .modal-body {
  padding: 0 22px 18px;
}

.swp-state-modal .modal-body p {
  margin: 0;
  color: #5f6f84;
  font-size: .96rem;
  line-height: 1.55;
}

.swp-state-modal-event {
  display: grid;
  gap: 5px;
  margin-top: 16px;
  padding: 14px 15px;
  border: 1px solid #e1eaf1;
  border-radius: 18px;
  background: rgba(255, 255, 255, .72);
}

.swp-state-modal-event span {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: var(--accent-2);
  font-size: .76rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .04em;
}

.swp-state-modal-event strong {
  color: #172033;
  font-size: 1rem;
  line-height: 1.2;
  font-weight: 600;
}

.swp-state-modal-event small {
  color: #7a8798;
  font-size: .82rem;
}

.swp-state-modal .modal-footer {
  display: flex;
  gap: 10px;
  padding: 0 22px 22px;
  border-top: 0;
}

.swp-state-modal .modal-footer .btn {
  min-height: 42px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  border-radius: 13px;
  font-size: .9rem;
  font-weight: 600;
}

.swp-blacklist-modal {
  display: none;
  position: fixed;
  inset: 0;
  z-index: 1080;
  overflow-x: hidden;
  overflow-y: auto;
  padding: 18px;
  background: rgba(15, 23, 42, .34);
  backdrop-filter: blur(10px);
}

.swp-blacklist-modal.show {
  display: block;
}

.swp-blacklist-modal .modal-dialog {
  max-width: 920px;
  min-height: calc(100vh - 36px);
  display: flex;
  align-items: center;
  margin: 0 auto;
}

.swp-blacklist-modal .modal-content {
  position: relative;
  width: 100%;
  overflow: hidden;
  border: 1px solid rgba(180, 35, 24, .12);
  border-radius: 26px;
  background:
    linear-gradient(145deg, rgba(255, 255, 255, .98), rgba(247, 251, 253, .94)),
    radial-gradient(circle at top right, rgba(180, 35, 24, .08), transparent 38%);
  box-shadow: 0 28px 80px rgba(15, 23, 42, .18);
}

.swp-blacklist-modal .modal-header,
.swp-blacklist-modal .modal-body {
  position: relative;
  z-index: 1;
}

.swp-blacklist-modal .modal-header {
  align-items: flex-start;
  gap: 14px;
  padding: 22px 22px 12px;
  border-bottom: 0;
}

.swp-blacklist-modal .swp-state-modal-icon {
  color: #b42318;
  border-color: rgba(180, 35, 24, .18);
  background: rgba(180, 35, 24, .08);
}

.swp-blacklist-modal .modal-title {
  margin: 3px 0 0;
  color: var(--text);
  font-size: 1.36rem;
  line-height: 1.14;
  font-weight: 600;
  letter-spacing: 0;
}

.swp-blacklist-modal .btn-close {
  width: 34px;
  height: 34px;
  margin: 0 0 0 auto;
  border-radius: 12px;
  background-color: rgba(255, 255, 255, .82);
  box-shadow: 0 8px 20px rgba(15, 23, 42, .08);
}

.swp-blacklist-modal .modal-body {
  padding: 0 24px 24px;
}

.swp-blacklist-intro {
  margin: 0 0 14px;
  color: #5f6f84;
  font-size: .96rem;
  line-height: 1.5;
}

.swp-blacklist-form {
  padding: 14px;
  border: 1px solid #e1eaf1;
  border-radius: 18px;
  background: rgba(255, 255, 255, .72);
}

.swp-blacklist-form .form-label {
  color: #42526a;
  font-size: .82rem;
  font-weight: 600;
}

.swp-blacklist-form .input-group {
  gap: 8px;
}

.swp-blacklist-form .form-control,
.swp-blacklist-form .btn {
  min-height: 42px;
  border-radius: 13px !important;
}

.swp-blacklist-list-wrap {
  margin-top: 16px;
}

.swp-blacklist-list-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 10px;
}

.swp-blacklist-list-head strong {
  color: #172033;
  font-size: .96rem;
  font-weight: 600;
}

.swp-blacklist-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  max-height: 340px;
  overflow: auto;
  padding-right: 2px;
}

.swp-blacklist-row,
.swp-blacklist-loading,
.swp-blacklist-empty {
  min-height: 48px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 10px 12px;
  border: 1px solid #e1eaf1;
  border-radius: 15px;
  background: rgba(248, 251, 253, .86);
}

.swp-blacklist-row span,
.swp-blacklist-loading span,
.swp-blacklist-empty span {
  min-width: 0;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #223047;
  font-size: .9rem;
  font-weight: 600;
}

.swp-blacklist-row span .bi,
.swp-blacklist-empty .bi {
  color: #b42318;
}

.swp-blacklist-row .btn {
  flex: 0 0 auto;
  border-radius: 12px;
  font-size: .8rem;
  font-weight: 600;
}

.swp-blacklist-empty {
  grid-column: 1 / -1;
  justify-content: center;
  color: #64748b;
}

.swp-blacklist-status {
  justify-content: flex-start;
}

.swp-blacklist-status > .bi {
  width: 38px;
  height: 38px;
  flex: 0 0 38px;
  display: grid;
  place-items: center;
  border-radius: 13px;
  color: var(--accent-2);
  background: rgba(var(--branding-primary-rgb), .08);
}

.swp-blacklist-status span {
  display: grid;
  gap: 3px;
  align-items: center;
}

.swp-blacklist-status strong {
  color: var(--text);
  font-size: .96rem;
  line-height: 1.15;
  font-weight: 600;
}

.swp-blacklist-status small {
  color: var(--muted);
  font-size: .8rem;
  line-height: 1.3;
  font-weight: 520;
}

.swp-blacklist-empty.is-error .bi {
  color: #b42318;
}

html.swp-theme-dark body:not(.wall-display):not(.public-page):not(.swp-login-page) {
  --bg: #07161d;
  --surface: rgba(13, 31, 40, .94);
  --surface-strong: #102633;
  --text: #edf9fc;
  --muted: #9ec0ca;
  --line: rgba(191, 245, 255, .14);
  --ink-soft: #d8eef4;
  --btn-shadow: rgba(0, 170, 236, .24);
  color: var(--text);
  background:
    radial-gradient(circle at top left, rgba(0, 170, 236, .2), transparent 30%),
    radial-gradient(circle at top right, rgba(235, 102, 0, .12), transparent 24%),
    linear-gradient(180deg, #06131a 0%, #07161d 58%, #0b1d26 100%);
}

html.swp-theme-dark body:not(.wall-display):not(.public-page):not(.swp-login-page)::before {
  opacity: .18;
}

html.swp-theme-dark .swp-topbar {
  border-color: rgba(191, 245, 255, .14);
  background: rgba(13, 31, 40, .84);
  box-shadow:
    0 18px 48px rgba(0, 0, 0, .28),
    inset 0 1px 0 rgba(255, 255, 255, .06);
  backdrop-filter: blur(18px);
}

html.swp-theme-dark .swp-topbar .topnav .swp-topbar-link.is-active {
  color: #e0f7ff;
  border-color: rgba(125, 211, 252, .24);
  background:
    linear-gradient(135deg, rgba(0, 170, 236, .16), rgba(255, 255, 255, .06));
  box-shadow: 0 12px 26px rgba(0, 0, 0, .2);
}

html.swp-theme-dark .swp-topbar .brand,
html.swp-theme-dark .swp-topbar .brand-copy strong,
html.swp-theme-dark .swp-event-card h2,
html.swp-theme-dark .swp-event-card h2 a,
html.swp-theme-dark .swp-events-toolbar h2,
html.swp-theme-dark .swp-events-manager-head h2,
html.swp-theme-dark .swp-event-row-title,
html.swp-theme-dark .swp-inline-detail-head h3,
html.swp-theme-dark .swp-inline-panel h4,
html.swp-theme-dark .swp-panel h2,
html.swp-theme-dark .swp-page-hero h1 {
  color: #f8fafc !important;
}

html.swp-theme-dark .swp-topbar .brand-copy span,
html.swp-theme-dark .swp-page-hero p,
html.swp-theme-dark .swp-events-toolbar p,
html.swp-theme-dark .swp-event-meta-line,
html.swp-theme-dark .swp-event-row-meta,
html.swp-theme-dark .swp-inline-detail-head p,
html.swp-theme-dark .swp-inline-panel-head span,
html.swp-theme-dark .swp-soft-meta,
html.swp-theme-dark .swp-panel p,
html.swp-theme-dark .text-muted {
  color: #a9c7d1 !important;
}

html.swp-theme-dark .panel,
html.swp-theme-dark .swp-panel,
html.swp-theme-dark .swp-page-hero,
html.swp-theme-dark .swp-events-toolbar,
html.swp-theme-dark .swp-events-manager,
html.swp-theme-dark .swp-event-card,
html.swp-theme-dark .swp-event-row,
html.swp-theme-dark .swp-event-inline-detail,
html.swp-theme-dark .swp-inline-panel,
html.swp-theme-dark .swp-event-link,
html.swp-theme-dark .swp-kpi-chip,
html.swp-theme-dark .swp-config-section,
html.swp-theme-dark .swp-config-preview,
html.swp-theme-dark .swp-config-links,
html.swp-theme-dark .swp-config-checklist {
  border-color: rgba(191, 245, 255, .13) !important;
  background:
    radial-gradient(circle at top right, rgba(0, 170, 236, .12), transparent 34%),
    linear-gradient(145deg, rgba(13, 31, 40, .96), rgba(8, 22, 30, .94)) !important;
  box-shadow:
    0 22px 60px rgba(0, 0, 0, .24),
    inset 0 1px 0 rgba(255, 255, 255, .05) !important;
}

html.swp-theme-dark .swp-event-card {
  background:
    linear-gradient(90deg, rgba(13, 31, 40, .97), rgba(9, 24, 33, .92)),
    radial-gradient(circle at top right, rgba(0, 170, 236, .13), transparent 38%) !important;
}

html.swp-theme-dark .swp-event-row.is-selected {
  border-color: rgba(125, 211, 252, .3) !important;
  background:
    linear-gradient(135deg, rgba(0, 170, 236, .15), rgba(255, 255, 255, .055)) !important;
}

html.swp-theme-dark .swp-event-row-icon,
html.swp-theme-dark .swp-event-inline-detail::before {
  border-color: rgba(191, 245, 255, .13);
  background: rgba(255, 255, 255, .07);
}

html.swp-theme-dark .swp-event-row-icon.has-logo,
html.swp-theme-dark .swp-inline-event-title img {
  border-color: rgba(191,245,255,.14);
  background: rgba(255,255,255,.92);
}

html.swp-theme-dark .swp-event-feature-badge.badge {
  color: #cbd5e1;
  border-color: rgba(191,245,255,.12);
  background: rgba(15,23,42,.72);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.04);
}

html.swp-theme-dark .swp-event-feature-badge.is-status-active,
html.swp-theme-dark .swp-event-feature-badge.is-wall-ready {
  color: #86efac;
  border-color: rgba(134,239,172,.2);
  background: rgba(22,101,52,.2);
}

html.swp-theme-dark .swp-event-feature-badge.is-status-draft,
html.swp-theme-dark .swp-event-feature-badge.is-wall-missing,
html.swp-theme-dark .swp-event-feature-badge.is-moderation-auto {
  color: #fdba74;
  border-color: rgba(251,146,60,.2);
  background: rgba(154,52,18,.2);
}

html.swp-theme-dark .swp-event-feature-badge.is-access-email {
  color: #93c5fd;
  border-color: rgba(147,197,253,.2);
  background: rgba(30,64,175,.2);
}

html.swp-theme-dark .swp-event-feature-badge.is-access-nickname,
html.swp-theme-dark .swp-event-feature-badge.is-moderation-manual {
  color: #c4b5fd;
  border-color: rgba(196,181,253,.2);
  background: rgba(91,33,182,.18);
}

html.swp-theme-dark .swp-events-count {
  color: #7dd3fc;
  border-color: rgba(125, 211, 252, .18);
  background: rgba(0, 170, 236, .12);
}

html.swp-theme-dark .form-control,
html.swp-theme-dark .form-select,
html.swp-theme-dark textarea,
html.swp-theme-dark .input-group-text {
  border-color: rgba(191, 245, 255, .15);
  background-color: rgba(255, 255, 255, .06);
  color: #f8fafc;
}

html.swp-theme-dark .form-control::placeholder {
  color: #7898a4;
}

html.swp-theme-dark .form-control:focus,
html.swp-theme-dark .form-select:focus {
  border-color: rgba(125, 211, 252, .4);
  background-color: rgba(255, 255, 255, .08);
  color: #ffffff;
  box-shadow: 0 0 0 .2rem rgba(0, 170, 236, .16);
}

html.swp-theme-dark .swp-event-link {
  color: #edf9fc;
  background: rgba(255, 255, 255, .055);
}

html.swp-theme-dark .swp-event-link:hover,
html.swp-theme-dark .swp-event-link:focus {
  color: #ffffff;
  border-color: rgba(125, 211, 252, .26);
  background: rgba(255, 255, 255, .09);
}

html.swp-theme-dark .swp-event-link span,
html.swp-theme-dark .swp-event-link small {
  color: inherit;
}

html.swp-theme-dark .swp-status-pill,
html.swp-theme-dark .swp-soft-meta {
  border-color: rgba(191, 245, 255, .12);
  background: rgba(255, 255, 255, .055);
}

html.swp-theme-dark .swp-status-pill.is-active {
  color: #86efac;
  border-color: rgba(74, 222, 128, .22);
  background: rgba(22, 163, 74, .12);
}

html.swp-theme-dark .swp-status-pill.is-draft,
html.swp-theme-dark .swp-status-pill.is-closed,
html.swp-theme-dark .swp-soft-meta.is-warning {
  color: #facc15;
  border-color: rgba(250, 204, 21, .22);
  background: rgba(245, 158, 11, .12);
}

html.swp-theme-dark .ghost-button,
html.swp-theme-dark .btn-outline-secondary,
html.swp-theme-dark .btn-outline-primary {
  color: #d8eef4;
  border-color: rgba(191, 245, 255, .16);
  background: rgba(255, 255, 255, .06);
}

html.swp-theme-dark .ghost-button:hover,
html.swp-theme-dark .btn-outline-secondary:hover,
html.swp-theme-dark .btn-outline-primary:hover {
  color: #ffffff;
  border-color: rgba(125, 211, 252, .28);
  background: rgba(255, 255, 255, .1);
}

html.swp-theme-dark .swp-live-window-button {
  color: #d8eef4 !important;
  border-color: rgba(191, 245, 255, .16) !important;
  background:
    linear-gradient(135deg, rgba(0, 170, 236, .14), rgba(255, 255, 255, .05)) !important;
  box-shadow: 0 12px 26px rgba(0, 0, 0, .18);
}

html.swp-theme-dark .swp-event-activate-form .btn {
  color: #fdba74;
  border-color: rgba(251, 146, 60, .22);
  background: rgba(154, 52, 18, .18);
}

html.swp-theme-dark .swp-event-activate-form .btn:hover,
html.swp-theme-dark .swp-event-activate-form .btn:focus {
  color: #ffedd5;
  border-color: rgba(251, 146, 60, .38);
  background: rgba(154, 52, 18, .28);
  box-shadow: 0 14px 28px rgba(154, 52, 18, .22);
}

html.swp-theme-dark .swp-event-deactivate-form .btn {
  color: #fde68a;
  border-color: rgba(245, 158, 11, .22);
  background: rgba(245, 158, 11, .1);
}

html.swp-theme-dark .swp-event-deactivate-form .btn:hover,
html.swp-theme-dark .swp-event-deactivate-form .btn:focus {
  color: #fef3c7;
  border-color: rgba(245, 158, 11, .38);
  background: rgba(245, 158, 11, .18);
  box-shadow: 0 14px 28px rgba(245, 158, 11, .2);
}

html.swp-theme-dark .swp-event-delete-form .btn {
  color: #fca5a5;
  border-color: rgba(248, 113, 113, .2);
  background: rgba(180, 35, 24, .1);
}

html.swp-theme-dark .swp-event-delete-form .btn:hover,
html.swp-theme-dark .swp-event-delete-form .btn:focus {
  color: #fee2e2;
  border-color: rgba(248, 113, 113, .36);
  background: rgba(180, 35, 24, .18);
  box-shadow: 0 14px 28px rgba(180, 35, 24, .2);
}

html.swp-theme-dark .swp-event-delete-disabled {
  color: #6f8994 !important;
  border-color: rgba(191, 245, 255, .1) !important;
  background: rgba(255, 255, 255, .035) !important;
}

/* Pollme-style dark buttons */
html.swp-theme-dark .btn,
html.swp-theme-dark .ghost-button,
html.swp-theme-dark .primary-button,
html.swp-theme-dark .swp-event-link {
  transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease, background .22s ease, color .22s ease;
}

html.swp-theme-dark .ghost-button,
html.swp-theme-dark .btn-outline-secondary,
html.swp-theme-dark .btn-outline-primary,
html.swp-theme-dark .btn-outline-dark,
html.swp-theme-dark .swp-topbar .topnav .swp-topbar-link:not(.primary-button) {
  color: #edf9fc !important;
  border-color: rgba(191, 245, 255, .18) !important;
  background:
    linear-gradient(135deg, rgba(237, 249, 252, .08), rgba(237, 249, 252, .035)) !important;
  box-shadow:
    0 14px 28px rgba(0, 0, 0, .18),
    inset 0 1px 0 rgba(255, 255, 255, .06) !important;
}

html.swp-theme-dark .ghost-button:hover,
html.swp-theme-dark .ghost-button:focus,
html.swp-theme-dark .btn-outline-secondary:hover,
html.swp-theme-dark .btn-outline-secondary:focus,
html.swp-theme-dark .btn-outline-primary:hover,
html.swp-theme-dark .btn-outline-primary:focus,
html.swp-theme-dark .btn-outline-dark:hover,
html.swp-theme-dark .btn-outline-dark:focus,
html.swp-theme-dark .swp-topbar .topnav .swp-topbar-link:not(.primary-button):hover,
html.swp-theme-dark .swp-topbar .topnav .swp-topbar-link:not(.primary-button):focus {
  color: #ffffff !important;
  border-color: rgba(125, 211, 252, .3) !important;
  background:
    linear-gradient(135deg, rgba(0, 170, 236, .22), rgba(237, 249, 252, .075)) !important;
  box-shadow:
    0 18px 34px rgba(0, 0, 0, .24),
    inset 0 1px 0 rgba(255, 255, 255, .08) !important;
  transform: translateY(-1px);
}

html.swp-theme-dark .btn-primary,
html.swp-theme-dark .primary-button,
html.swp-theme-dark .action-pill.primary,
html.swp-theme-dark .swp-topbar .topnav .swp-topbar-link.primary-button {
  color: #ffffff !important;
  border-color: rgba(125, 211, 252, .18) !important;
  background:
    linear-gradient(135deg, #00aaec, #0088c2) !important;
  box-shadow:
    0 18px 34px rgba(0, 170, 236, .22),
    inset 0 1px 0 rgba(255, 255, 255, .16) !important;
}

html.swp-theme-dark .btn-primary:hover,
html.swp-theme-dark .btn-primary:focus,
html.swp-theme-dark .primary-button:hover,
html.swp-theme-dark .primary-button:focus,
html.swp-theme-dark .action-pill.primary:hover,
html.swp-theme-dark .action-pill.primary:focus,
html.swp-theme-dark .swp-topbar .topnav .swp-topbar-link.primary-button:hover,
html.swp-theme-dark .swp-topbar .topnav .swp-topbar-link.primary-button:focus {
  color: #ffffff !important;
  border-color: rgba(191, 245, 255, .28) !important;
  background:
    linear-gradient(135deg, #10b8f5, #007fb6) !important;
  box-shadow:
    0 22px 42px rgba(0, 170, 236, .3),
    inset 0 1px 0 rgba(255, 255, 255, .2) !important;
  transform: translateY(-1px);
}

html.swp-theme-dark .btn-success,
html.swp-theme-dark .btn-outline-success {
  color: #dcfce7 !important;
  border-color: rgba(74, 222, 128, .24) !important;
  background:
    linear-gradient(135deg, rgba(22, 163, 74, .24), rgba(237, 249, 252, .055)) !important;
  box-shadow: 0 14px 28px rgba(22, 163, 74, .16) !important;
}

html.swp-theme-dark .btn-success:hover,
html.swp-theme-dark .btn-success:focus,
html.swp-theme-dark .btn-outline-success:hover,
html.swp-theme-dark .btn-outline-success:focus {
  color: #f0fdf4 !important;
  border-color: rgba(74, 222, 128, .38) !important;
  background:
    linear-gradient(135deg, rgba(22, 163, 74, .32), rgba(237, 249, 252, .075)) !important;
}

html.swp-theme-dark .btn-warning,
html.swp-theme-dark .btn-outline-warning,
html.swp-theme-dark .swp-event-deactivate-form .btn {
  color: #fef3c7 !important;
  border-color: rgba(245, 158, 11, .25) !important;
  background:
    linear-gradient(135deg, rgba(245, 158, 11, .22), rgba(237, 249, 252, .055)) !important;
  box-shadow: 0 14px 28px rgba(245, 158, 11, .14) !important;
}

html.swp-theme-dark .btn-warning:hover,
html.swp-theme-dark .btn-warning:focus,
html.swp-theme-dark .btn-outline-warning:hover,
html.swp-theme-dark .btn-outline-warning:focus,
html.swp-theme-dark .swp-event-deactivate-form .btn:hover,
html.swp-theme-dark .swp-event-deactivate-form .btn:focus {
  color: #fffbeb !important;
  border-color: rgba(245, 158, 11, .4) !important;
  background:
    linear-gradient(135deg, rgba(245, 158, 11, .31), rgba(237, 249, 252, .07)) !important;
}

html.swp-theme-dark .btn-danger,
html.swp-theme-dark .btn-outline-danger,
html.swp-theme-dark .swp-event-delete-form .btn {
  color: #fee2e2 !important;
  border-color: rgba(248, 113, 113, .24) !important;
  background:
    linear-gradient(135deg, rgba(180, 35, 24, .22), rgba(237, 249, 252, .045)) !important;
  box-shadow: 0 14px 28px rgba(180, 35, 24, .14) !important;
}

html.swp-theme-dark .btn-danger:hover,
html.swp-theme-dark .btn-danger:focus,
html.swp-theme-dark .btn-outline-danger:hover,
html.swp-theme-dark .btn-outline-danger:focus,
html.swp-theme-dark .swp-event-delete-form .btn:hover,
html.swp-theme-dark .swp-event-delete-form .btn:focus {
  color: #fff1f2 !important;
  border-color: rgba(248, 113, 113, .4) !important;
  background:
    linear-gradient(135deg, rgba(180, 35, 24, .31), rgba(237, 249, 252, .065)) !important;
}

html.swp-theme-dark .btn:focus-visible,
html.swp-theme-dark .ghost-button:focus-visible,
html.swp-theme-dark .primary-button:focus-visible {
  outline: 0;
  box-shadow:
    0 0 0 .22rem rgba(0, 170, 236, .18),
    0 18px 34px rgba(0, 0, 0, .22) !important;
}

html.swp-theme-dark .btn:disabled,
html.swp-theme-dark .btn.disabled,
html.swp-theme-dark .swp-event-delete-disabled {
  color: #7596a1 !important;
  border-color: rgba(191, 245, 255, .1) !important;
  background: rgba(255, 255, 255, .035) !important;
  box-shadow: none !important;
  opacity: 1 !important;
  transform: none !important;
}

html.swp-theme-dark .swp-theme-toggle.is-dark {
  color: #edf9fc !important;
  border-color: rgba(125, 211, 252, .24) !important;
  background:
    linear-gradient(135deg, rgba(0, 170, 236, .22), rgba(237, 249, 252, .07)) !important;
  box-shadow:
    0 14px 28px rgba(0, 0, 0, .2),
    inset 0 1px 0 rgba(255, 255, 255, .08) !important;
}

html.swp-theme-dark .swp-theme-toggle .swp-switch-control {
  border-color: rgba(191, 245, 255, .18);
  background: rgba(237, 249, 252, .09);
}

html.swp-theme-dark .swp-theme-toggle .swp-switch-knob {
  background: #d8eef4;
  border-color: rgba(191, 245, 255, .32);
}

html.swp-theme-dark .swp-underbar-action.secondary {
  color: #fff7ed !important;
  border-color: rgba(251, 146, 60, .24) !important;
  background:
    linear-gradient(135deg, #eb6600, #c95500) !important;
  box-shadow:
    0 16px 30px rgba(235, 102, 0, .22),
    inset 0 1px 0 rgba(255, 255, 255, .16) !important;
}

html.swp-theme-dark .swp-underbar-action.secondary:hover,
html.swp-theme-dark .swp-underbar-action.secondary:focus {
  color: #ffffff !important;
  border-color: rgba(253, 186, 116, .34) !important;
  background:
    linear-gradient(135deg, #f07812, #b84b00) !important;
  box-shadow:
    0 20px 38px rgba(235, 102, 0, .28),
    inset 0 1px 0 rgba(255, 255, 255, .2) !important;
  transform: translateY(-1px);
}

html.swp-theme-dark .swp-underbar-switch .swp-switch-control {
  border-color: rgba(255, 255, 255, .28);
  background: rgba(255, 255, 255, .2);
}

html.swp-theme-dark .swp-underbar-switch .swp-switch-knob {
  background: #fff7ed;
  border-color: rgba(255, 255, 255, .66);
}

html.swp-theme-dark .swp-event-row-actions .swp-regia-pill {
  color: #fff7ed !important;
  border-color: rgba(251, 146, 60, .24) !important;
  background:
    linear-gradient(135deg, #eb6600, #c95500) !important;
  box-shadow:
    0 16px 30px rgba(235, 102, 0, .22),
    inset 0 1px 0 rgba(255, 255, 255, .16) !important;
}

html.swp-theme-dark .swp-event-row-actions .swp-regia-pill:hover,
html.swp-theme-dark .swp-event-row-actions .swp-regia-pill:focus {
  color: #ffffff !important;
  border-color: rgba(253, 186, 116, .34) !important;
  background:
    linear-gradient(135deg, #f07812, #b84b00) !important;
  box-shadow:
    0 20px 38px rgba(235, 102, 0, .28),
    inset 0 1px 0 rgba(255, 255, 255, .2) !important;
  transform: translateY(-1px);
}

html.swp-theme-dark .swp-event-row-actions .swp-regia-switch {
  color: #fff7ed !important;
  border-color: rgba(251, 146, 60, .24) !important;
  background:
    linear-gradient(135deg, #eb6600, #c95500) !important;
  box-shadow:
    0 16px 30px rgba(235, 102, 0, .22),
    inset 0 1px 0 rgba(255, 255, 255, .16) !important;
}

html.swp-theme-dark .swp-event-row-actions .swp-regia-switch .swp-switch-control {
  border-color: rgba(255, 255, 255, .28);
  background: rgba(255, 255, 255, .2);
}

html.swp-theme-dark .swp-event-row-actions .swp-regia-switch .swp-switch-knob {
  background: #fff7ed;
  border-color: rgba(255, 255, 255, .66);
}

html.swp-theme-dark .swp-event-row-actions .swp-regia-switch:hover,
html.swp-theme-dark .swp-event-row-actions .swp-regia-switch:focus {
  color: #ffffff !important;
  border-color: rgba(253, 186, 116, .34) !important;
  background:
    linear-gradient(135deg, #f07812, #b84b00) !important;
  box-shadow:
    0 20px 38px rgba(235, 102, 0, .28),
    inset 0 1px 0 rgba(255, 255, 255, .2) !important;
  transform: translateY(-1px);
}

html.swp-theme-dark .swp-state-modal,
html.swp-theme-dark .swp-blacklist-modal {
  background: rgba(0, 0, 0, .46);
}

html.swp-theme-dark .swp-state-modal .modal-content,
html.swp-theme-dark .swp-blacklist-modal .modal-content {
  border-color: rgba(191, 245, 255, .15);
  background:
    radial-gradient(circle at top right, rgba(0, 170, 236, .14), transparent 38%),
    linear-gradient(145deg, rgba(13, 31, 40, .98), rgba(8, 22, 30, .98));
  color: #edf9fc;
  box-shadow: 0 30px 90px rgba(0, 0, 0, .42);
}

html.swp-theme-dark .swp-state-modal .modal-title,
html.swp-theme-dark .swp-blacklist-modal .modal-title,
html.swp-theme-dark .swp-state-modal-event strong,
html.swp-theme-dark .swp-blacklist-list-head strong {
  color: #f8fafc;
}

html.swp-theme-dark .swp-state-modal .modal-body p,
html.swp-theme-dark .swp-blacklist-intro,
html.swp-theme-dark .swp-state-modal-event small {
  color: #a9c7d1;
}

html.swp-theme-dark .swp-state-modal-event,
html.swp-theme-dark .swp-blacklist-form,
html.swp-theme-dark .swp-blacklist-row,
html.swp-theme-dark .swp-blacklist-loading,
html.swp-theme-dark .swp-blacklist-empty {
  border-color: rgba(191, 245, 255, .12);
  background: rgba(255, 255, 255, .055);
}

html.swp-theme-dark .swp-blacklist-row span,
html.swp-theme-dark .swp-blacklist-loading span,
html.swp-theme-dark .swp-blacklist-empty span,
html.swp-theme-dark .swp-blacklist-status strong {
  color: #edf9fc;
}

html.swp-theme-dark .swp-blacklist-status small {
  color: #a9c7d1;
}

html.swp-theme-dark .swp-empty-wall-preview,
html.swp-theme-dark .swp-empty-phone-preview,
html.swp-theme-dark .swp-empty-qr-preview {
  border-color: rgba(191, 245, 255, .14);
  background:
    linear-gradient(145deg, rgba(13, 31, 40, .98), rgba(8, 22, 30, .95));
  box-shadow:
    0 24px 60px rgba(0, 0, 0, .28),
    inset 0 1px 0 rgba(255, 255, 255, .06);
}

html.swp-theme-dark .swp-empty-wall-top span,
html.swp-theme-dark .swp-empty-phone-preview span {
  background: rgba(125, 211, 252, .24);
}

html.swp-theme-dark .swp-empty-wall-grid span {
  border-color: rgba(191, 245, 255, .12);
  background:
    linear-gradient(145deg, rgba(0, 170, 236, .18), rgba(255, 255, 255, .045));
}

html.swp-theme-dark .swp-empty-wall-grid span:nth-child(2),
html.swp-theme-dark .swp-empty-wall-grid span:nth-child(3),
html.swp-theme-dark .swp-empty-phone-preview span:last-child {
  background:
    linear-gradient(145deg, rgba(235, 102, 0, .2), rgba(255, 255, 255, .045));
}

html.swp-theme-dark .swp-empty-phone-preview .bi {
  color: #7dd3fc;
  background: rgba(0, 170, 236, .14);
}

html.swp-theme-dark .swp-empty-qr-preview {
  color: #fdba74;
}

.swp-event-link-grid {
  grid-area: links;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 9px;
}

.swp-event-link {
  min-width: 0;
  min-height: 68px;
  display: grid;
  grid-template-columns: 36px minmax(0, 1fr);
  grid-template-areas:
    "icon title"
    "icon meta";
  align-items: center;
  column-gap: 10px;
  padding: 11px;
  border: 1px solid #e1eaf1;
  border-radius: 16px;
  color: #223047;
  background: rgba(248, 251, 253, .82);
  text-decoration: none;
  transition: border-color .16s ease, background .16s ease, transform .16s ease;
}

.swp-event-link:hover,
.swp-event-link:focus {
  color: #172033;
  border-color: rgba(var(--branding-primary-rgb), .24);
  background: #ffffff;
  transform: translateY(-1px);
}

.swp-event-link > .bi {
  grid-area: icon;
  width: 36px;
  height: 36px;
  display: grid;
  place-items: center;
  border-radius: 12px;
  color: var(--accent-2);
  background: rgba(var(--branding-primary-rgb), .08);
  font-size: 1rem;
}

.swp-event-link span {
  grid-area: title;
  min-width: 0;
  overflow: hidden;
  color: #223047;
  font-size: .86rem;
  line-height: 1.15;
  font-weight: 600;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.swp-event-link small {
  grid-area: meta;
  min-width: 0;
  overflow: hidden;
  color: #748397;
  font-size: .73rem;
  line-height: 1.15;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.swp-event-link.is-muted {
  color: #7a8798;
  background: #f8fafc;
}

.swp-event-link.is-muted > .bi {
  color: #9a5b00;
  background: rgba(245, 158, 11, .1);
}

.swp-events-empty,
.swp-events-no-results {
  min-height: 220px;
  display: grid;
  place-items: center;
  justify-items: center;
  gap: 8px;
  padding: 28px;
  text-align: center;
}

.swp-events-empty > .bi,
.swp-events-no-results > .bi {
  width: 58px;
  height: 58px;
  display: grid;
  place-items: center;
  border-radius: 18px;
  color: var(--accent-2);
  background: rgba(var(--branding-primary-rgb), .08);
  font-size: 1.35rem;
}

.swp-events-empty strong,
.swp-events-no-results strong {
  color: var(--text);
  font-size: 1.05rem;
  font-weight: 600;
}

.swp-events-empty p,
.swp-events-no-results p {
  margin: 0;
  color: var(--muted);
}

.swp-events-empty {
  min-height: 340px;
  grid-template-columns: minmax(260px, .85fr) minmax(260px, 1fr);
  justify-items: stretch;
  gap: 26px;
  padding: clamp(22px, 4vw, 38px);
  text-align: left;
  overflow: hidden;
  background:
    linear-gradient(145deg, rgba(255, 255, 255, .96), rgba(248, 251, 253, .9)),
    radial-gradient(circle at top right, rgba(var(--branding-primary-rgb), .1), transparent 34%) !important;
}

.swp-empty-clipart {
  position: relative;
  width: min(100%, 360px);
  aspect-ratio: 4 / 3;
  align-self: center;
  justify-self: center;
}

.swp-empty-wall-preview {
  position: absolute;
  left: 0;
  top: 26px;
  width: 78%;
  height: 62%;
  padding: 13px;
  border: 1px solid rgba(var(--branding-primary-rgb), .18);
  border-radius: 24px;
  background:
    linear-gradient(145deg, #ffffff, #edf8fd);
  box-shadow:
    0 24px 60px rgba(15, 23, 42, .12),
    inset 0 1px 0 rgba(255, 255, 255, .9);
}

.swp-empty-wall-top {
  display: flex;
  gap: 6px;
  margin-bottom: 13px;
}

.swp-empty-wall-top span {
  height: 7px;
  border-radius: 999px;
  background: rgba(var(--branding-primary-rgb), .18);
}

.swp-empty-wall-top span:nth-child(1) {
  width: 42px;
  background: var(--btn-primary);
}

.swp-empty-wall-top span:nth-child(2) {
  width: 74px;
}

.swp-empty-wall-top span:nth-child(3) {
  width: 32px;
  background: rgba(var(--branding-secondary-rgb), .24);
}

.swp-empty-wall-grid {
  display: grid;
  grid-template-columns: 1.2fr .8fr;
  gap: 9px;
  height: calc(100% - 20px);
}

.swp-empty-wall-grid span {
  border: 1px solid rgba(var(--branding-primary-rgb), .12);
  border-radius: 15px;
  background:
    linear-gradient(145deg, rgba(var(--branding-primary-rgb), .12), rgba(255, 255, 255, .76));
}

.swp-empty-wall-grid span:nth-child(2),
.swp-empty-wall-grid span:nth-child(3) {
  background:
    linear-gradient(145deg, rgba(var(--branding-secondary-rgb), .13), rgba(255, 255, 255, .72));
}

.swp-empty-phone-preview {
  position: absolute;
  right: 24px;
  bottom: 16px;
  width: 34%;
  min-width: 104px;
  height: 48%;
  display: grid;
  align-content: center;
  justify-items: center;
  gap: 8px;
  padding: 14px 11px;
  border: 1px solid rgba(var(--branding-primary-rgb), .18);
  border-radius: 24px;
  background:
    linear-gradient(180deg, #ffffff, #f4fbfe);
  box-shadow:
    0 22px 48px rgba(15, 23, 42, .14),
    inset 0 1px 0 rgba(255, 255, 255, .9);
}

.swp-empty-phone-preview .bi {
  width: 36px;
  height: 36px;
  display: grid;
  place-items: center;
  border-radius: 13px;
  color: var(--accent-2);
  background: rgba(var(--branding-primary-rgb), .1);
  font-size: 1rem;
}

.swp-empty-phone-preview span {
  width: 74%;
  height: 6px;
  border-radius: 999px;
  background: rgba(var(--branding-primary-rgb), .18);
}

.swp-empty-phone-preview span:last-child {
  width: 52%;
  background: rgba(var(--branding-secondary-rgb), .26);
}

.swp-empty-qr-preview {
  position: absolute;
  right: 0;
  top: 6px;
  width: 72px;
  height: 72px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(var(--branding-secondary-rgb), .22);
  border-radius: 20px;
  color: var(--btn-secondary);
  background:
    linear-gradient(145deg, #fff7ed, #ffffff);
  box-shadow: 0 18px 38px rgba(var(--branding-secondary-rgb), .13);
  font-size: 1.85rem;
}

.swp-events-empty-copy {
  align-self: center;
  display: grid;
  justify-items: start;
  gap: 10px;
}

.swp-events-empty-copy strong {
  color: var(--text);
  font-size: clamp(1.25rem, 2.4vw, 1.75rem);
  line-height: 1.08;
  font-weight: 600;
  letter-spacing: 0;
}

.swp-events-empty-copy p {
  max-width: 38ch;
  line-height: 1.45;
}

.swp-events-empty-copy .btn {
  margin-top: 4px;
  min-height: 44px;
  border-radius: 999px;
  padding-inline: 18px;
}

@media (max-width: 1280px) {
  .swp-inline-kpis {
    grid-template-columns: minmax(170px, 240px);
  }

  .swp-inline-panels {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (max-width: 960px) {
  .swp-event-row {
    grid-template-columns: minmax(0, 1fr);
    align-items: start;
  }

  .swp-event-row-actions {
    justify-content: flex-start;
  }
}

@media (max-width: 1120px) {
  .swp-events-toolbar {
    grid-template-columns: minmax(0, 1fr);
    align-items: stretch;
  }

  .swp-events-filters {
    grid-template-columns: minmax(0, 1fr) 150px;
  }

  .swp-event-card {
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas:
      "main"
      "primary"
      "links";
  }

  .swp-event-primary-actions {
    justify-content: flex-start;
  }

  .swp-event-link-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .swp-inline-panel .swp-event-link-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 720px) {
  .swp-topbar {
    align-items: stretch;
    flex-wrap: wrap;
    gap: 10px;
  }

  .swp-topbar .topnav {
    width: 100%;
    justify-content: space-between;
  }

  .swp-topbar .topnav .swp-topbar-link {
    flex: 1 1 auto;
    padding-inline: 10px;
  }

  .swp-underbar-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .swp-underbar-action {
    width: 100%;
    min-width: 0;
  }

  .swp-events-hero {
    grid-template-columns: 1fr;
  }

  .swp-events-hero-actions,
  .swp-events-hero-actions .btn {
    width: 100%;
  }

  .swp-events-filters {
    grid-template-columns: minmax(0, 1fr);
  }

  .swp-event-card {
    padding: 13px;
    border-radius: 20px;
  }

  .swp-events-manager {
    padding: 11px;
    border-radius: 20px;
  }

  .swp-events-empty {
    grid-template-columns: minmax(0, 1fr);
    min-height: 0;
    text-align: center;
  }

  .swp-empty-clipart {
    width: min(100%, 300px);
  }

  .swp-events-empty-copy {
    justify-items: center;
  }

  .swp-events-manager-head,
  .swp-inline-detail-head {
    align-items: stretch;
    flex-direction: column;
  }

  .swp-events-count {
    width: fit-content;
  }

  .swp-event-row {
    padding: 10px;
    border-radius: 16px;
  }

  .swp-event-row-main {
    grid-template-columns: 40px minmax(0, 1fr);
  }

  .swp-event-row-icon {
    width: 40px;
    height: 40px;
    border-radius: 13px;
  }

  .swp-event-row-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    width: 100%;
  }

  .swp-event-row-actions .btn,
  .swp-event-row-actions form,
  .swp-inline-detail-actions .btn,
  .swp-inline-detail-actions form {
    width: 100%;
  }

  .swp-event-inline-detail {
    margin-inline: 0;
    padding: 12px;
    border-radius: 18px;
  }

  .swp-inline-detail-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    width: 100%;
  }

  .swp-inline-kpis {
    grid-template-columns: minmax(0, 1fr);
  }

  .swp-inline-panel {
    padding: 10px;
    border-radius: 16px;
  }

  .swp-inline-panel .swp-event-link-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .swp-event-card-main {
    grid-template-columns: 46px minmax(0, 1fr);
    gap: 11px;
  }

  .swp-event-avatar {
    width: 46px;
    height: 46px;
    border-radius: 15px;
  }

  .swp-event-primary-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .swp-event-primary-actions .btn {
    width: 100%;
  }

  .swp-event-delete-form {
    width: 100%;
  }

  .swp-event-activate-form {
    width: 100%;
  }

  .swp-event-deactivate-form {
    width: 100%;
  }

  .swp-state-modal .modal-dialog {
    margin: 12px;
  }

  .swp-state-modal .modal-header {
    padding: 18px 18px 12px;
  }

  .swp-state-modal .modal-body {
    padding: 0 18px 16px;
  }

  .swp-state-modal .modal-footer {
    padding: 0 18px 18px;
  }

  .swp-state-modal .modal-footer .btn {
    flex: 1 1 auto;
    justify-content: center;
  }

  .swp-blacklist-modal {
    padding: 12px;
  }

  .swp-blacklist-modal .modal-dialog {
    min-height: calc(100vh - 24px);
  }

  .swp-blacklist-modal .modal-header {
    padding: 18px 18px 12px;
  }

  .swp-blacklist-modal .modal-body {
    padding: 0 18px 18px;
  }

  .swp-blacklist-list {
    grid-template-columns: minmax(0, 1fr);
    max-height: 320px;
  }

  .swp-blacklist-form .input-group {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
  }

  .swp-blacklist-form .btn {
    width: 100%;
  }

  .swp-blacklist-row {
    align-items: stretch;
    flex-direction: column;
  }

  .swp-blacklist-row .btn {
    width: 100%;
    justify-content: center;
  }

  .swp-event-link-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .swp-event-meta-line {
    gap: 7px;
  }
}

@media (max-width: 390px) {
  .swp-theme-toggle {
    min-width: 40px !important;
    padding-inline: 0 !important;
  }

  .swp-theme-toggle .swp-switch-copy {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
  }

  .swp-topbar .topnav .swp-topbar-link {
    flex: 0 0 40px;
    padding-inline: 0;
  }

  .swp-topbar .topnav .swp-topbar-link span {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
  }

  .swp-inline-panel .swp-event-link-grid,
  .swp-event-row-actions,
  .swp-inline-detail-actions {
    grid-template-columns: minmax(0, 1fr);
  }

  .swp-inline-kpis {
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 3px;
  }

  .swp-inline-kpis .swp-kpi-chip {
    min-height: 44px;
    grid-template-columns: 20px minmax(0, 1fr);
    grid-template-rows: 20px auto;
    gap: 1px 2px;
    padding: 4px;
    border-radius: 9px;
  }

  .swp-inline-kpis .swp-kpi-chip > i {
    grid-column: 1;
    grid-row: 1;
    width: 20px;
    height: 20px;
    border-radius: 6px;
    font-size: .68rem;
  }

  .swp-inline-kpis .swp-kpi-chip span {
    grid-column: 1 / -1;
    grid-row: 2;
    font-size: 0;
    line-height: 1;
    text-align: center;
    overflow: visible;
    text-overflow: clip;
  }

  .swp-inline-kpis .swp-kpi-chip span::after {
    content: attr(data-compact-label);
    font-size: .53rem;
  }

  .swp-inline-kpis .swp-kpi-chip strong {
    grid-column: 2;
    grid-row: 1;
    justify-self: end;
    align-self: center;
    font-size: .78rem;
  }
}

/* Login premium v2 - Pollme continuity */
body.swp-login-page {
  min-height: 100vh;
  min-height: 100dvh;
  display: block;
  padding: 0;
  overflow-x: hidden;
  color: #142033;
  background-color: #f4f8fb;
  background-image:
    linear-gradient(rgba(255, 255, 255, .7) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, .7) 1px, transparent 1px),
    linear-gradient(135deg, #edf7fc 0%, #ffffff 46%, #fff6ee 100%);
  background-size: 38px 38px, 38px 38px, auto;
  font-family: var(--app-font-family);
  font-weight: 400;
}

.swp-login-shell {
  width: min(calc(100% - 40px), 1010px);
  min-height: 660px;
  display: block;
  margin: 30px auto;
  padding: 0;
}

.swp-login-container {
  width: 100%;
  max-width: none;
  padding: 0;
}

.swp-login-layout {
  min-height: 660px;
  display: grid;
  grid-template-columns: 54% 46%;
  overflow: hidden;
  border: 1px solid rgba(148, 163, 184, .22);
  border-radius: 34px;
  background: rgba(255, 255, 255, .94);
  box-shadow: 0 30px 90px rgba(24, 39, 60, .13);
}

.swp-login-brand-panel {
  position: relative;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 22px;
  overflow: hidden;
  padding: 36px;
  border-right: 1px solid rgba(148, 163, 184, .18);
  background:
    linear-gradient(90deg, rgba(15, 23, 42, .035) 1px, transparent 1px),
    linear-gradient(180deg, rgba(15, 23, 42, .028) 1px, transparent 1px),
    linear-gradient(145deg, #f7fcff 0%, #ffffff 54%, #fff8f1 100%);
  background-size: 34px 34px, 34px 34px, auto;
}

.swp-login-brand-panel::after {
  content: "";
  position: absolute;
  right: -90px;
  bottom: -120px;
  width: 380px;
  height: 220px;
  transform: rotate(-10deg);
  border: 1px solid color-mix(in srgb, var(--swp-primary, var(--accent)) 13%, transparent);
  border-radius: 44px;
  background: linear-gradient(135deg, color-mix(in srgb, var(--swp-primary, var(--accent)) 8%, transparent), color-mix(in srgb, var(--swp-secondary, var(--btn-secondary)) 9%, transparent));
  pointer-events: none;
}

.swp-login-brand-panel > * {
  position: relative;
  z-index: 1;
}

.swp-login-brand-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

.swp-login-mark {
  width: 78px;
  height: 58px;
  display: grid;
  place-items: center;
  border: 1px solid color-mix(in srgb, var(--swp-primary, var(--accent)) 18%, #dce5ec);
  border-radius: 18px;
  color: var(--swp-primary, var(--accent));
  background: rgba(255, 255, 255, .9);
  box-shadow: 0 14px 34px rgba(24, 39, 60, .08);
  font-size: 1.32rem;
}

.swp-login-product-logo {
  display: block;
  width: clamp(150px, 15vw, 184px);
  height: auto;
}

.swp-login-brand-row > span {
  min-height: 34px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 7px 12px;
  border: 1px solid color-mix(in srgb, var(--swp-primary, var(--accent)) 14%, #e2e8f0);
  border-radius: 999px;
  color: color-mix(in srgb, var(--swp-primary, var(--accent)) 74%, #18324b);
  background: rgba(255, 255, 255, .84);
  box-shadow: 0 10px 28px rgba(24, 39, 60, .05);
  font-size: .78rem;
  font-weight: 650;
}

.swp-login-brand-row > span .bi {
  color: #22a06b;
  font-size: .5rem;
}

.swp-login-kicker {
  display: inline-flex;
  align-items: center;
  margin-bottom: 8px;
  color: var(--swp-primary, var(--accent));
  font-size: .76rem;
  line-height: 1.2;
  font-weight: 750;
  text-transform: uppercase;
  letter-spacing: 0;
}

.swp-login-copy {
  max-width: 550px;
}

.swp-login-copy h1 {
  margin: 0 0 15px;
  color: #101a2c;
  font-size: 3.1rem;
  line-height: 1;
  letter-spacing: 0;
  font-weight: 720;
}

.swp-login-copy p {
  max-width: 470px;
  margin: 0;
  color: #5c6b7d;
  font-size: 1.04rem;
  line-height: 1.55;
  font-weight: 400;
}

.swp-login-page .swp-login-visual {
  position: relative;
  width: min(100%, 520px);
  min-height: 258px;
  display: block;
  margin: auto 0 0;
  overflow: visible;
  border: 0;
  border-radius: 0;
  background: transparent;
}

.swp-login-screen {
  position: absolute;
  left: 50%;
  top: 12px;
  width: 330px;
  min-height: 214px;
  padding: 16px;
  transform: translateX(-50%);
  border: 1px solid rgba(148, 163, 184, .2);
  border-radius: 30px;
  background:
    linear-gradient(90deg, rgba(15, 23, 42, .04) 1px, transparent 1px),
    linear-gradient(180deg, rgba(15, 23, 42, .032) 1px, transparent 1px),
    #ffffff;
  background-size: 28px 28px, 28px 28px, auto;
  box-shadow: 0 26px 60px rgba(24, 39, 60, .14);
}

.swp-login-screen-head {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-bottom: 14px;
}

.swp-login-screen-head span {
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background: #d8e1ea;
}

.swp-login-screen-head span:first-child {
  background: var(--swp-secondary, var(--btn-secondary));
}

.swp-login-screen-head span:nth-child(2) {
  background: var(--swp-primary, var(--accent));
}

.swp-login-wall-preview {
  display: grid;
  grid-template-columns: 1.2fr .8fr;
  gap: 10px;
}

.swp-login-wall-preview article {
  min-height: 78px;
  display: grid;
  align-content: space-between;
  padding: 12px;
  border: 1px solid #e4eaf0;
  border-radius: 18px;
  background: rgba(255, 255, 255, .88);
  box-shadow: 0 12px 28px rgba(24, 39, 60, .06);
}

.swp-login-wall-preview article.is-large {
  grid-row: span 2;
  min-height: 152px;
  background: linear-gradient(135deg, color-mix(in srgb, var(--swp-primary, var(--accent)) 10%, #eef8fd), #ffffff 48%, color-mix(in srgb, var(--swp-secondary, var(--btn-secondary)) 8%, #fff8f1));
}

.swp-login-wall-preview .bi {
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  border-radius: 13px;
  color: var(--swp-primary, var(--accent));
  background: #ffffff;
  box-shadow: 0 10px 22px rgba(24, 39, 60, .08);
}

.swp-login-wall-preview article:nth-child(3) .bi {
  color: var(--swp-secondary, var(--btn-secondary));
}

.swp-login-wall-preview article span {
  width: 72%;
  height: 8px;
  display: block;
  border-radius: 999px;
  background: #d8e1ea;
}

.swp-login-wall-preview article.is-large span {
  width: 84%;
}

.swp-login-floating-card {
  position: absolute;
  z-index: 3;
  min-width: 178px;
  display: flex;
  align-items: center;
  gap: 11px;
  padding: 13px;
  border: 1px solid rgba(148, 163, 184, .2);
  border-radius: 20px;
  background: rgba(255, 255, 255, .94);
  box-shadow: 0 20px 44px rgba(24, 39, 60, .12);
}

.swp-login-floating-card.is-moderation {
  left: 8px;
  top: 48px;
  transform: rotate(-4deg);
}

.swp-login-floating-card.is-regia {
  right: 12px;
  bottom: 35px;
  transform: rotate(4deg);
}

.swp-login-floating-card .bi {
  width: 38px;
  height: 38px;
  flex: 0 0 38px;
  display: grid;
  place-items: center;
  border-radius: 14px;
  color: var(--swp-primary, var(--accent));
  background: color-mix(in srgb, var(--swp-primary, var(--accent)) 10%, #fff);
}

.swp-login-floating-card.is-regia .bi {
  color: var(--swp-secondary, var(--btn-secondary));
  background: color-mix(in srgb, var(--swp-secondary, var(--btn-secondary)) 10%, #fff);
}

.swp-login-floating-card strong {
  display: block;
  color: #172033;
  font-size: .86rem;
  line-height: 1.15;
  font-weight: 700 !important;
}

.swp-login-floating-card span {
  display: block;
  margin-top: 2px;
  color: #768396;
  font-size: .76rem;
  line-height: 1.2;
  font-weight: 400;
}

.swp-login-qr {
  position: absolute;
  left: 34px;
  bottom: 28px;
  z-index: 4;
  width: 78px;
  height: 78px;
  display: grid;
  place-items: center;
  padding: 13px;
  transform: rotate(-6deg);
  border: 1px solid rgba(148, 163, 184, .2);
  border-radius: 22px;
  background: rgba(255, 255, 255, .96);
  box-shadow: 0 20px 44px rgba(24, 39, 60, .13);
}

.swp-login-clip-stage {
  position: absolute;
  inset: 0;
  isolation: isolate;
}

.swp-login-clip-stage::before {
  content: "";
  position: absolute;
  left: 16px;
  right: 12px;
  bottom: 6px;
  height: 110px;
  transform: skewY(-5deg);
  border: 1px solid color-mix(in srgb, var(--swp-primary, var(--accent)) 12%, transparent);
  border-radius: 34px;
  background:
    linear-gradient(90deg, color-mix(in srgb, var(--swp-primary, var(--accent)) 9%, transparent), color-mix(in srgb, var(--swp-secondary, var(--btn-secondary)) 9%, transparent)),
    rgba(255, 255, 255, .42);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .72);
}

.swp-login-clip-stage::after {
  content: "";
  position: absolute;
  left: 148px;
  bottom: 18px;
  width: 166px;
  height: 10px;
  border-radius: 999px;
  background: rgba(15, 23, 42, .08);
  filter: blur(8px);
}

.swp-login-monitor {
  position: absolute;
  left: 108px;
  top: 18px;
  z-index: 2;
  width: 318px;
  min-height: 214px;
  padding: 14px;
  transform: rotate(1deg);
  border: 1px solid rgba(148, 163, 184, .22);
  border-radius: 28px;
  background:
    linear-gradient(90deg, rgba(15, 23, 42, .04) 1px, transparent 1px),
    linear-gradient(180deg, rgba(15, 23, 42, .032) 1px, transparent 1px),
    linear-gradient(180deg, #ffffff, #f8fbfd);
  background-size: 28px 28px, 28px 28px, auto;
  box-shadow:
    0 24px 58px rgba(24, 39, 60, .14),
    inset 0 1px 0 rgba(255, 255, 255, .9);
}

.swp-login-monitor-head {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 9px;
  margin-bottom: 12px;
}

.swp-login-monitor-head > div {
  display: flex;
  gap: 5px;
}

.swp-login-monitor-head span {
  width: 7px;
  height: 7px;
  border-radius: 999px;
  background: #d8e1ea;
}

.swp-login-monitor-head span:first-child {
  background: var(--swp-secondary, var(--btn-secondary));
}

.swp-login-monitor-head span:nth-child(2) {
  background: var(--swp-primary, var(--accent));
}

.swp-login-monitor-head strong {
  color: #253247;
  font-size: .78rem;
  line-height: 1;
  font-weight: 650 !important;
}

.swp-login-monitor-head em {
  min-height: 22px;
  display: inline-flex;
  align-items: center;
  padding: 4px 8px;
  border-radius: 999px;
  color: #047857;
  background: rgba(16, 185, 129, .1);
  font-size: .64rem;
  line-height: 1;
  font-style: normal;
  font-weight: 650;
}

.swp-login-monitor-grid {
  display: grid;
  grid-template-columns: 1.16fr .84fr;
  gap: 10px;
}

.swp-login-monitor-grid article {
  min-height: 70px;
  display: grid;
  align-content: space-between;
  gap: 8px;
  padding: 11px;
  border: 1px solid #e4eaf0;
  border-radius: 18px;
  background: rgba(255, 255, 255, .9);
  box-shadow: 0 12px 28px rgba(24, 39, 60, .055);
}

.swp-login-monitor-grid article.is-photo {
  grid-row: span 2;
  min-height: 150px;
  background:
    linear-gradient(145deg, color-mix(in srgb, var(--swp-primary, var(--accent)) 14%, #eef8fd), #fff 45%, color-mix(in srgb, var(--swp-secondary, var(--btn-secondary)) 10%, #fff7ef));
}

.swp-login-monitor-grid article.is-message {
  background: #ffffff;
}

.swp-login-monitor-grid article.is-featured {
  background: color-mix(in srgb, var(--swp-secondary, var(--btn-secondary)) 8%, #fff);
}

.swp-login-monitor-grid .bi {
  width: 32px;
  height: 32px;
  display: grid;
  place-items: center;
  border-radius: 12px;
  color: var(--swp-primary, var(--accent));
  background: rgba(255, 255, 255, .9);
  box-shadow: 0 10px 20px rgba(24, 39, 60, .08);
  font-size: .98rem;
}

.swp-login-monitor-grid .is-featured .bi {
  color: var(--swp-secondary, var(--btn-secondary));
}

.swp-login-monitor-grid article span {
  display: block;
  width: 76%;
  height: 7px;
  border-radius: 999px;
  background: #d8e1ea;
}

.swp-login-monitor-grid .is-message span:last-child {
  width: 54%;
}

.swp-login-monitor-bars {
  display: flex;
  align-items: end;
  gap: 6px;
  height: 25px;
  margin-top: 11px;
}

.swp-login-monitor-bars span {
  width: 24px;
  border-radius: 999px 999px 5px 5px;
  background: color-mix(in srgb, var(--swp-primary, var(--accent)) 18%, #d9e8f0);
}

.swp-login-monitor-bars span:nth-child(1) {
  height: 12px;
}

.swp-login-monitor-bars span:nth-child(2) {
  height: 19px;
  background: color-mix(in srgb, var(--swp-secondary, var(--btn-secondary)) 20%, #f1dfcf);
}

.swp-login-monitor-bars span:nth-child(3) {
  height: 16px;
}

.swp-login-monitor-bars span:nth-child(4) {
  height: 22px;
}

.swp-login-phone-preview {
  position: absolute;
  left: 28px;
  bottom: 26px;
  z-index: 5;
  width: 110px;
  height: 166px;
  padding: 13px 11px;
  transform: rotate(-7deg);
  border: 1px solid rgba(15, 23, 42, .12);
  border-radius: 26px;
  background: #132034;
  box-shadow: 0 20px 44px rgba(15, 23, 42, .18);
}

.swp-login-phone-preview::before {
  content: "";
  position: absolute;
  inset: 8px;
  border-radius: 19px;
  background: linear-gradient(180deg, #ffffff, #f4f8fb);
}

.swp-login-phone-preview > * {
  position: relative;
  z-index: 1;
}

.swp-login-phone-top {
  width: 34px;
  height: 5px;
  margin: 0 auto 11px;
  border-radius: 999px;
  background: rgba(15, 23, 42, .16);
}

.swp-login-phone-logo {
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  margin: 0 auto 10px;
  border-radius: 13px;
  color: var(--swp-primary, var(--accent));
  background: color-mix(in srgb, var(--swp-primary, var(--accent)) 10%, #fff);
  font-size: .92rem;
}

.swp-login-phone-lines {
  display: grid;
  gap: 7px;
  margin-bottom: 12px;
}

.swp-login-phone-lines span {
  height: 7px;
  border-radius: 999px;
  background: #d8e1ea;
}

.swp-login-phone-lines span:nth-child(2) {
  width: 78%;
}

.swp-login-phone-lines span:nth-child(3) {
  width: 56%;
}

.swp-login-phone-cta {
  height: 32px;
  display: grid;
  place-items: center;
  border-radius: 13px;
  color: #fff;
  background: var(--swp-primary, var(--accent));
  box-shadow: 0 10px 22px color-mix(in srgb, var(--swp-primary, var(--accent)) 28%, transparent);
}

.swp-login-clip-stage .swp-login-floating-card {
  min-width: 164px;
  padding: 12px;
  border-radius: 18px;
  background: rgba(255, 255, 255, .96);
  backdrop-filter: blur(14px);
}

.swp-login-clip-stage .swp-login-floating-card.is-moderation {
  left: 40px;
  top: 30px;
  z-index: 6;
  transform: rotate(-6deg);
}

.swp-login-clip-stage .swp-login-floating-card.is-regia {
  right: 8px;
  bottom: 38px;
  z-index: 6;
  transform: rotate(5deg);
}

.swp-login-live-chip {
  position: absolute;
  right: 112px;
  top: 8px;
  z-index: 7;
  min-height: 34px;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 8px 11px;
  border: 1px solid rgba(16, 185, 129, .2);
  border-radius: 999px;
  color: #047857;
  background: rgba(255, 255, 255, .94);
  box-shadow: 0 14px 30px rgba(24, 39, 60, .1);
  font-size: .74rem;
  font-weight: 650;
}

.swp-login-live-chip .bi {
  color: #22a06b;
  font-size: .52rem;
}

.swp-login-clip-stage .swp-login-qr {
  left: auto;
  right: 20px;
  top: 26px;
  bottom: auto;
  z-index: 9;
  width: 82px;
  height: 94px;
  gap: 5px;
  padding: 12px 12px 9px;
  transform: rotate(7deg);
  border-radius: 22px;
}

.swp-login-clip-stage .swp-login-qr .swp-mini-qr {
  width: 50px;
  aspect-ratio: 1;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  grid-template-rows: repeat(4, minmax(0, 1fr));
  gap: 4px;
  align-items: stretch;
  justify-items: stretch;
}

.swp-login-clip-stage .swp-login-qr .swp-mini-qr b {
  border-radius: 3px;
  background: #111b2e;
  opacity: 1;
}

.swp-login-clip-stage .swp-login-qr .swp-mini-qr b:nth-child(3n),
.swp-login-clip-stage .swp-login-qr .swp-mini-qr b:nth-child(5),
.swp-login-clip-stage .swp-login-qr .swp-mini-qr b:nth-child(14) {
  opacity: .36;
}

.swp-login-clip-stage .swp-login-qr .swp-mini-qr b:nth-child(6),
.swp-login-clip-stage .swp-login-qr .swp-mini-qr b:nth-child(11) {
  opacity: .14;
}

.swp-login-qr small {
  color: #6b788b;
  font-size: .64rem;
  line-height: 1;
  font-weight: 600;
}

.swp-login-send-orb {
  position: absolute;
  left: 128px;
  bottom: 20px;
  z-index: 8;
  width: 54px;
  height: 54px;
  display: grid;
  place-items: center;
  transform: rotate(-8deg);
  border-radius: 18px;
  color: #fff;
  background: linear-gradient(135deg, var(--swp-primary, var(--accent)), color-mix(in srgb, var(--swp-primary, var(--accent)) 70%, var(--swp-secondary, var(--btn-secondary))));
  box-shadow: 0 18px 34px color-mix(in srgb, var(--swp-primary, var(--accent)) 28%, transparent);
  font-size: 1.12rem;
}

/* Login clipart v3: complete framed scene */
.swp-login-page .swp-login-visual {
  width: min(100%, 500px);
  min-height: 286px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: auto 0 0;
  overflow: visible;
}

.swp-login-clip-stage {
  position: relative;
  width: min(100%, 468px);
  height: 268px;
  overflow: hidden;
  border: 1px solid color-mix(in srgb, var(--swp-primary, var(--accent)) 12%, #dce7ef);
  border-radius: 30px;
  background:
    linear-gradient(90deg, rgba(15, 23, 42, .04) 1px, transparent 1px),
    linear-gradient(180deg, rgba(15, 23, 42, .032) 1px, transparent 1px),
    linear-gradient(145deg, #f8fcff 0%, #ffffff 54%, #fff7ef 100%);
  background-size: 28px 28px, 28px 28px, auto;
  box-shadow:
    0 22px 52px rgba(24, 39, 60, .1),
    inset 0 1px 0 rgba(255, 255, 255, .82);
  isolation: isolate;
}

.swp-login-clip-stage span {
  width: auto;
  height: auto;
  display: inline;
  margin: 0;
  padding: 0;
  border-radius: 0;
  color: inherit;
  background: transparent;
  box-shadow: none;
  font-size: inherit;
}

.swp-login-clip-stage::before {
  left: -24px;
  right: -18px;
  bottom: -38px;
  height: 118px;
  transform: rotate(-4deg);
  border: 0;
  border-radius: 0;
  background: linear-gradient(90deg, color-mix(in srgb, var(--swp-primary, var(--accent)) 13%, transparent), color-mix(in srgb, var(--swp-secondary, var(--btn-secondary)) 12%, transparent));
}

.swp-login-clip-stage::after {
  left: 128px;
  bottom: 16px;
  width: 214px;
  height: 12px;
  opacity: .52;
}

.swp-login-monitor {
  left: 118px;
  top: 46px;
  z-index: 2;
  width: 258px;
  min-height: 0;
  height: 164px;
  padding: 12px;
  transform: none;
  border-radius: 24px;
}

.swp-login-monitor-head {
  grid-template-columns: 38px minmax(0, 1fr) 58px;
  gap: 7px;
  margin-bottom: 9px;
}

.swp-login-monitor-head strong,
.swp-login-monitor-head em {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-align: center;
}

.swp-login-monitor-head strong {
  min-width: 0;
  overflow: hidden;
  white-space: nowrap;
}

.swp-login-monitor-head em {
  justify-self: end;
  width: 58px;
  min-height: 21px;
  padding: 4px 7px;
}

.swp-login-monitor-grid {
  gap: 8px;
}

.swp-login-monitor-grid article {
  min-height: 50px;
  gap: 6px;
  padding: 9px;
  border-radius: 15px;
}

.swp-login-monitor-grid article.is-photo {
  min-height: 108px;
}

.swp-login-monitor-grid .bi {
  width: 28px;
  height: 28px;
  border-radius: 10px;
  font-size: .86rem;
}

.swp-login-monitor-grid article span {
  height: 6px;
}

.swp-login-monitor-bars {
  height: 18px;
  margin-top: 8px;
  justify-content: center;
}

.swp-login-monitor-bars span {
  width: 20px;
}

.swp-login-monitor-bars span:nth-child(1) {
  height: 9px;
}

.swp-login-monitor-bars span:nth-child(2) {
  height: 15px;
}

.swp-login-monitor-bars span:nth-child(3) {
  height: 12px;
}

.swp-login-monitor-bars span:nth-child(4) {
  height: 17px;
}

.swp-login-phone-preview {
  left: 26px;
  top: 74px;
  bottom: auto;
  width: 94px;
  height: 148px;
  padding: 12px 10px;
  transform: rotate(-5deg);
}

.swp-login-phone-logo {
  margin-bottom: 8px;
}

.swp-login-phone-lines {
  gap: 6px;
  margin-bottom: 10px;
}

.swp-login-phone-cta {
  height: 30px;
}

.swp-login-clip-stage .swp-login-floating-card {
  min-width: 140px;
  max-width: 150px;
  min-height: 62px;
  gap: 8px;
  padding: 10px;
  border-radius: 17px;
}

.swp-login-clip-stage .swp-login-floating-card.is-moderation {
  left: 20px;
  top: 16px;
  transform: rotate(-4deg);
}

.swp-login-clip-stage .swp-login-floating-card.is-regia {
  right: 18px;
  bottom: 19px;
  transform: rotate(4deg);
}

.swp-login-floating-card .bi {
  width: 34px;
  height: 34px;
  flex-basis: 34px;
  border-radius: 12px;
}

.swp-login-floating-card strong,
.swp-login-floating-card span {
  width: 100%;
  height: auto;
  display: block;
  text-align: center;
}

.swp-login-floating-card strong {
  font-size: .78rem;
  font-weight: 700 !important;
}

.swp-login-floating-card span {
  font-size: .7rem;
}

.swp-login-live-chip {
  right: 156px;
  top: 18px;
  min-width: 76px;
  height: 34px;
  justify-content: center;
  text-align: center;
  z-index: 7;
}

.swp-login-live-chip span {
  display: inline;
  width: auto;
  height: auto;
  font-size: .74rem;
  line-height: 1;
}

.swp-login-clip-stage .swp-login-qr {
  right: 22px;
  top: 58px;
  width: 76px;
  height: 90px;
  justify-items: center;
  align-content: center;
  transform: rotate(5deg);
}

.swp-login-qr small {
  width: 100%;
  display: block;
  text-align: center;
}

.swp-login-send-orb {
  left: 118px;
  bottom: 24px;
  width: 50px;
  height: 50px;
  transform: rotate(-6deg);
}

.swp-login-feature-strip {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
  margin-top: 4px;
}

.swp-login-feature-strip span {
  min-height: 34px;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 7px 11px;
  border: 1px solid #e2e8f0;
  border-radius: 999px;
  color: #445266;
  background: rgba(255, 255, 255, .8);
  font-size: .78rem;
  font-weight: 500;
}

.swp-login-feature-strip .bi {
  color: var(--swp-primary, var(--accent));
}

.swp-login-form-panel {
  min-width: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 36px;
  background: rgba(255, 255, 255, .97);
}

.login-box.swp-login-card {
  width: min(100%, 430px);
  display: grid;
  gap: 18px;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.swp-login-form-head {
  display: grid;
  grid-template-columns: 54px minmax(0, 1fr);
  gap: 14px;
  align-items: start;
  margin-bottom: 4px;
}

.swp-login-lock {
  width: 54px;
  height: 54px;
  display: grid;
  place-items: center;
  border: 1px solid color-mix(in srgb, var(--swp-primary, var(--accent)) 16%, #e5ebf0);
  border-radius: 17px;
  color: var(--swp-primary, var(--accent));
  background: color-mix(in srgb, var(--swp-primary, var(--accent)) 8%, #fff);
  font-size: 1.18rem;
}

.swp-login-card h2 {
  margin: 0 0 6px;
  color: #142033;
  font-size: 1.76rem;
  line-height: 1.08;
  letter-spacing: 0;
  font-weight: 700;
}

.swp-login-card p {
  margin: 0;
  color: #637185;
  font-size: .96rem;
  line-height: 1.45;
  font-weight: 400;
}

.swp-login-alert {
  min-height: 48px;
  display: flex;
  align-items: center;
  gap: 9px;
  margin: 0;
  padding: 11px 13px;
  border: 0;
  border-radius: 14px;
  font-size: .88rem;
}

.swp-login-field {
  display: grid;
  gap: 8px;
}

.swp-login-field .form-label {
  margin: 0;
  color: #253247;
  font-size: .86rem;
  font-weight: 650 !important;
}

.swp-login-input {
  position: relative;
  display: flex;
  align-items: center;
}

.swp-login-input > .bi {
  position: absolute;
  left: 16px;
  z-index: 2;
  color: var(--swp-primary, var(--accent));
  font-size: 1rem;
}

.swp-login-input .form-control {
  width: 100%;
  height: 54px;
  min-height: 54px;
  padding: 13px 48px 13px 44px;
  border: 1px solid #dbe4ec;
  border-radius: 15px;
  color: #172033;
  background: #fbfdff;
  box-shadow: none;
  font-size: .98rem;
  font-weight: 400;
}

.swp-login-input .form-control::placeholder {
  color: #9aa6b4;
}

.swp-login-input .form-control:focus {
  border-color: color-mix(in srgb, var(--swp-primary, var(--accent)) 62%, white);
  background: #fff;
  box-shadow: 0 0 0 4px color-mix(in srgb, var(--swp-primary, var(--accent)) 12%, transparent);
}

.swp-password-toggle.btn {
  position: absolute;
  right: 8px;
  z-index: 3;
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  padding: 0;
  border: 0;
  border-radius: 12px;
  color: #5b687a;
  background: transparent;
  box-shadow: none;
}

.swp-password-toggle.btn:hover,
.swp-password-toggle.btn:focus {
  color: #172033;
  background: #edf3f7;
}

.swp-login-submit.btn {
  min-height: 56px;
  width: 100%;
  border: 0;
  border-radius: 15px;
  color: #fff;
  background: var(--swp-primary, var(--accent));
  box-shadow: 0 16px 34px color-mix(in srgb, var(--swp-primary, var(--accent)) 28%, transparent);
  font-size: .98rem;
  font-weight: 700;
}

.swp-login-submit.btn:hover,
.swp-login-submit.btn:focus {
  color: #fff;
  background: color-mix(in srgb, var(--swp-primary, var(--accent)) 88%, #0f172a);
  transform: translateY(-1px);
}

.swp-login-footnote {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding-top: 4px;
  color: #768396;
  font-size: .78rem;
  font-weight: 400;
}

.swp-login-footnote span {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.swp-login-footnote .bi {
  color: var(--swp-primary, var(--accent));
}

.swp-login-card.is-code-only {
  gap: 20px;
}

.swp-login-card.is-code-only .swp-login-form-head {
  margin-bottom: 8px;
}

.swp-login-card.is-code-only .swp-login-input .form-control {
  font-size: 1.04rem;
  letter-spacing: 0;
}

.swp-login-card.is-code-only .swp-login-submit.btn {
  margin-top: 2px;
}

.swp-login-card.is-code-only .swp-login-footnote {
  padding-top: 8px;
}

@media (max-width: 991.98px) {
  body.swp-login-page {
    background: #fff;
  }

  .swp-login-shell {
    display: block;
    min-height: 100dvh;
    padding: 0;
  }

  .swp-login-container {
    max-width: none;
  }

  .swp-login-layout {
    min-height: 100dvh;
    grid-template-columns: minmax(0, 1fr);
    border: 0;
    border-radius: 0;
    box-shadow: none;
  }

  .swp-login-brand-panel {
    gap: 20px;
    padding: max(18px, env(safe-area-inset-top)) 20px 22px;
    border-right: 0;
    border-bottom: 1px solid rgba(148, 163, 184, .18);
  }

  .swp-login-brand-panel::after {
    display: none;
  }

  .swp-login-mark {
    width: 68px;
    height: 50px;
    border-radius: 15px;
    font-size: 1.05rem;
  }

  .swp-login-brand-row > span {
    min-height: 31px;
    padding: 6px 10px;
    font-size: .72rem;
  }

  .swp-login-copy h1 {
    margin-bottom: 8px;
    font-size: 2.28rem;
    line-height: 1.04;
  }

  .swp-login-copy p {
    max-width: 640px;
    font-size: .94rem;
    line-height: 1.45;
  }

  .swp-login-page .swp-login-visual {
    display: none;
  }

  .swp-login-feature-strip {
    gap: 7px;
    overflow-x: auto;
    flex-wrap: nowrap;
    padding-bottom: 2px;
  }

  .swp-login-feature-strip span {
    flex: 0 0 auto;
  }

  .swp-login-form-panel {
    display: block;
    padding: 22px 16px calc(24px + env(safe-area-inset-bottom));
  }

  .login-box.swp-login-card {
    width: 100%;
    max-width: 520px;
    margin: 0 auto;
    gap: 16px;
  }

  .swp-login-card h2 {
    font-size: 1.42rem;
  }

  .swp-login-form-head {
    grid-template-columns: 48px minmax(0, 1fr);
    gap: 12px;
  }

  .swp-login-lock {
    width: 48px;
    height: 48px;
    border-radius: 15px;
  }

  .swp-login-footnote {
    flex-wrap: wrap;
    justify-content: center;
  }
}

@media (max-width: 420px) {
  .swp-login-copy h1 {
    font-size: 2rem;
  }

  .swp-login-card h2 {
    font-size: 1.28rem;
  }

  .swp-login-input .form-control {
    height: 52px;
    min-height: 52px;
  }
}

/* Wall premium v2 - Pollme continuity */
body.swp-wall-premium {
  --wall-card-bg: rgba(255,255,255,.94);
  --wall-card-border: rgba(var(--branding-primary-rgb), .12);
  --wall-card-shadow: none;
  min-height: 100vh;
  overflow: hidden;
  color: var(--text);
  background:
    linear-gradient(90deg, rgba(255,255,255,.68) 0 1px, transparent 1px),
    linear-gradient(0deg, rgba(255,255,255,.56) 0 1px, transparent 1px),
    radial-gradient(circle at 8% 8%, rgba(var(--branding-primary-rgb), .18), transparent 30%),
    radial-gradient(circle at 88% 18%, rgba(var(--branding-secondary-rgb), .14), transparent 26%),
    linear-gradient(135deg, #edf8fd 0%, #ffffff 52%, #fff4ec 100%);
  background-size: 50px 50px, 50px 50px, auto, auto, auto;
  padding-top: 0;
}

body.swp-wall-premium.wall-display.screen-live-shell {
  display: block;
  padding-top: 0;
}

body.swp-wall-premium::before {
  content: "";
  position: fixed;
  inset: auto -8vw -18vh auto;
  width: 38vw;
  height: 38vw;
  border-radius: 999px;
  background: rgba(var(--branding-primary-rgb), .08);
  pointer-events: none;
}

.swp-wall-premium .swp-screen-header {
  width: min(calc(100% - 48px), 1720px);
  min-height: 70px;
  margin: 18px auto 0;
  padding: 11px 14px;
  border-radius: 24px;
  background: rgba(255,255,255,.9);
  border: 1px solid rgba(var(--branding-primary-rgb), .1);
  box-shadow: 0 18px 46px rgba(15,23,42,.08);
  color: var(--text);
}

.swp-wall-premium .swp-wall-brand img,
.swp-wall-premium .swp-wall-brand-mark {
  width: 60px;
  height: 46px;
  border-radius: 16px;
  background:
    linear-gradient(180deg, #fff, rgba(var(--branding-primary-rgb), .05));
  border: 1px solid rgba(var(--branding-primary-rgb), .1);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.9);
}

.swp-wall-premium .swp-wall-brand strong {
  color: var(--text);
  font-size: clamp(1.16rem, 1.9vw, 1.65rem);
  letter-spacing: 0;
  font-weight: 600;
}

.swp-wall-premium .swp-wall-brand span {
  color: var(--muted);
  font-size: .82rem;
}

.swp-wall-premium .swp-wall-live-pill {
  color: #047857;
  background: rgba(16,185,129,.1);
  border: 1px solid rgba(16,185,129,.18);
  box-shadow: none;
}

.swp-wall-premium .swp-screen-stage {
  width: min(calc(100% - 48px), 1720px, calc((100dvh - 118px) * var(--screen-display-aspect-width) / var(--screen-display-aspect-height)));
  height: auto;
  max-height: calc(100vh - 118px);
  max-height: calc(100dvh - 118px);
  aspect-ratio: var(--screen-display-aspect-ratio);
  margin: 12px auto 18px;
  min-height: 0;
  overflow: hidden;
}

.swp-wall-premium .swp-screen-grid {
  width: 100%;
  height: 100%;
  display: grid;
  gap: clamp(14px, 1.45vw, 22px);
  align-items: stretch;
  overflow: hidden;
}

.swp-wall-premium .layout-mosaic {
  grid-template-columns: repeat(12, minmax(0, 1fr));
  grid-template-rows: repeat(6, minmax(0, 1fr));
  grid-auto-rows: minmax(150px, 1fr);
}

.swp-wall-premium .layout-mosaic .swp-screen-post {
  grid-column: span 3;
  grid-row: span 2;
}

.swp-wall-premium .layout-mosaic .swp-screen-post:nth-child(1) {
  grid-column: 1 / span 6;
  grid-row: 1 / span 6;
}

.swp-wall-premium .layout-mosaic .swp-screen-post:nth-child(2) {
  grid-column: 7 / span 6;
  grid-row: 1 / span 3;
}

.swp-wall-premium .layout-mosaic .swp-screen-post:nth-child(3) {
  grid-column: 7 / span 3;
  grid-row: 4 / span 3;
}

.swp-wall-premium .layout-mosaic .swp-screen-post:nth-child(4) {
  grid-column: 10 / span 3;
  grid-row: 4 / span 3;
}

.swp-wall-premium .layout-mosaic .swp-screen-post:nth-child(n + 5) {
  grid-column: span 3;
  grid-row: span 2;
}

.swp-wall-premium .layout-cards {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  grid-auto-rows: minmax(240px, 1fr);
  align-content: stretch;
}

.swp-wall-premium .layout-celebration {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  grid-auto-rows: minmax(220px, 1fr);
}

.swp-wall-premium .layout-feed {
  max-width: none;
  grid-template-columns: minmax(0, 1fr);
  grid-auto-rows: minmax(132px, max-content);
  align-content: center;
}

.swp-wall-premium .layout-feed .swp-screen-post {
  grid-template-columns: minmax(190px, 28%) minmax(0, 1fr);
  min-height: min(23vh, 210px);
}

.swp-wall-premium .layout-fullscreen {
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: 1fr;
  place-items: stretch;
  height: 100%;
  min-height: 0;
}

.swp-wall-premium .layout-fullscreen .swp-screen-post {
  width: 100%;
  height: 100%;
  min-height: 0;
  grid-template-columns: minmax(0, 1.15fr) minmax(360px, .85fr);
}

.swp-wall-premium .swp-screen-post {
  position: relative;
  min-width: 0;
  min-height: 0;
  display: grid;
  overflow: hidden;
  border-radius: clamp(22px, 1.9vw, 34px);
  background:
    radial-gradient(circle at top right, rgba(var(--branding-primary-rgb), .08), transparent 34%),
    var(--wall-card-bg);
  border: 1px solid var(--wall-card-border);
  box-shadow: var(--wall-card-shadow);
  color: var(--text);
  backdrop-filter: blur(16px);
}

.swp-screen-author {
  position: absolute;
  z-index: 3;
  top: 12px;
  right: 12px;
  max-width: calc(100% - 24px);
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 6px 9px;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.7);
  border-radius: 999px;
  color: #162033;
  background: rgba(255,255,255,.88);
  box-shadow: 0 8px 20px rgba(15,23,42,.1);
  backdrop-filter: blur(10px);
  font-size: .72rem;
  font-weight: 600;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.swp-wall-premium .swp-screen-post::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  pointer-events: none;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.82);
}

.swp-wall-premium .swp-screen-post.only-message::after {
  content: "\F6B0";
  position: absolute;
  right: clamp(18px, 2vw, 30px);
  bottom: clamp(14px, 1.8vw, 26px);
  font-family: "bootstrap-icons";
  color: rgba(var(--branding-primary-rgb), .15);
  font-size: clamp(2.8rem, 6vw, 6rem);
  line-height: 1;
}

.swp-wall-premium .swp-screen-media {
  min-width: 0;
  min-height: 0;
  margin: 0;
  overflow: hidden;
  background:
    linear-gradient(90deg, rgba(var(--branding-primary-rgb), .06) 0 1px, transparent 1px),
    linear-gradient(0deg, rgba(var(--branding-primary-rgb), .06) 0 1px, transparent 1px),
    #f5f9fc;
  background-size: 30px 30px;
}

.swp-wall-premium .swp-screen-post.has-image.has-message .swp-screen-copy {
  background:
    radial-gradient(circle at top right, rgba(var(--branding-primary-rgb), .08), transparent 36%),
    linear-gradient(180deg, rgba(255,255,255,.94), rgba(255,255,255,.82));
}

.swp-wall-premium .swp-screen-media img,
.swp-wall-premium .swp-screen-post > img,
.swp-wall-premium .swp-screen-post figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.swp-wall-premium .swp-screen-copy {
  display: grid;
  align-items: center;
  min-width: 0;
  padding: clamp(18px, 2.3vw, 38px);
}

.swp-wall-premium .swp-screen-copy p,
.swp-wall-premium .swp-screen-post > p {
  position: relative;
  z-index: 1;
  margin: 0;
  color: var(--text);
  font-size: clamp(1.28rem, 2.25vw, 2.9rem);
  line-height: 1.08;
  letter-spacing: 0;
  font-weight: 600;
  text-wrap: balance;
}

.swp-wall-premium .layout-mosaic .swp-screen-post.has-image.has-message,
.swp-wall-premium .layout-cards .swp-screen-post.has-image.has-message,
.swp-wall-premium .layout-celebration .swp-screen-post.has-image.has-message {
  grid-template-rows: minmax(110px, 66%) minmax(0, auto);
}

.swp-wall-premium .layout-mosaic .swp-screen-post:nth-child(1).has-image.has-message {
  grid-template-rows: minmax(0, 1fr) auto;
}

.swp-wall-premium .layout-mosaic .swp-screen-post:nth-child(1).has-image.has-message .swp-screen-media img,
.swp-wall-premium .layout-fullscreen .swp-screen-post.has-image .swp-screen-media img {
  object-fit: contain;
  padding: clamp(10px, 1vw, 18px);
}

.swp-wall-premium .layout-mosaic .swp-screen-copy,
.swp-wall-premium .layout-cards .swp-screen-copy,
.swp-wall-premium .layout-celebration .swp-screen-copy {
  padding: clamp(14px, 1.45vw, 24px);
}

.swp-wall-premium .layout-mosaic .swp-screen-copy p,
.swp-wall-premium .layout-cards .swp-screen-copy p,
.swp-wall-premium .layout-celebration .swp-screen-copy p {
  font-size: clamp(1.08rem, 1.55vw, 1.85rem);
  line-height: 1.12;
  font-weight: 600;
}

.swp-wall-premium .layout-mosaic .swp-screen-post:nth-child(1) .swp-screen-copy p,
.swp-wall-premium .layout-fullscreen .swp-screen-copy p,
.swp-wall-premium .layout-minimal .swp-screen-copy p {
  font-size: clamp(1.8rem, 3.3vw, 4rem);
  line-height: 1.04;
}

.swp-wall-premium .swp-screen-post.only-image .swp-screen-media {
  height: 100%;
}

.swp-wall-premium .swp-screen-post.only-image .swp-screen-media img {
  object-fit: contain;
  padding: clamp(10px, 1vw, 18px);
}

.swp-wall-premium .layout-cards .swp-screen-post.only-image .swp-screen-media img,
.swp-wall-premium .layout-celebration .swp-screen-post.only-image .swp-screen-media img,
.swp-wall-premium .layout-mosaic .swp-screen-post:not(:nth-child(1)).only-image .swp-screen-media img {
  object-fit: cover;
  padding: 0;
}

.swp-wall-premium .swp-wall-empty {
  color: var(--text);
  background: rgba(255,255,255,.78);
  border: 1px solid rgba(var(--branding-primary-rgb), .12);
  box-shadow: var(--wall-card-shadow);
}

.swp-wall-premium .swp-wall-empty i {
  color: rgba(var(--branding-primary-rgb), .22);
}

.swp-wall-premium .swp-wall-empty strong {
  color: var(--text);
}

.swp-wall-premium .swp-screen-qr-card {
  width: min(720px, 100%);
  justify-self: center;
  align-self: center;
  background: rgba(255,255,255,.96);
  border-color: rgba(var(--branding-primary-rgb), .14);
}

@media (max-width: 1100px) {
  .swp-wall-premium .layout-mosaic,
  .swp-wall-premium .layout-cards,
  .swp-wall-premium .layout-celebration {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-rows: none;
    grid-auto-rows: minmax(220px, 1fr);
  }

  .swp-wall-premium .layout-mosaic .swp-screen-post,
  .swp-wall-premium .layout-mosaic .swp-screen-post:nth-child(n) {
    grid-column: span 1;
    grid-row: span 1;
  }

  .swp-wall-premium .layout-fullscreen .swp-screen-post,
  .swp-wall-premium .layout-feed .swp-screen-post {
    grid-template-columns: 1fr;
  }

  .swp-wall-premium .layout-fullscreen .swp-screen-post.has-image.has-message,
  .swp-wall-premium .layout-feed .swp-screen-post.has-image.has-message {
    grid-template-rows: minmax(0, 56%) minmax(0, 44%);
  }

  .swp-wall-premium .layout-fullscreen .swp-screen-copy,
  .swp-wall-premium .layout-feed .swp-screen-copy {
    padding: clamp(18px, 5vw, 30px);
  }

  .swp-wall-premium .layout-fullscreen .swp-screen-copy p,
  .swp-wall-premium .layout-feed .swp-screen-copy p {
    font-size: clamp(1.55rem, 7vw, 2.8rem);
  }
}

@media (max-width: 720px) {
  .swp-wall-premium .swp-screen-header,
  .swp-wall-premium .swp-screen-stage {
    width: min(calc(100% - 20px), 100%);
  }

  .swp-wall-premium .swp-screen-header {
    margin-top: 10px;
  }

  .swp-wall-premium .swp-screen-stage {
    width: min(calc(100% - 20px), calc((100dvh - 108px) * var(--screen-display-aspect-width) / var(--screen-display-aspect-height)));
    height: auto;
    max-height: calc(100vh - 108px);
    max-height: calc(100dvh - 108px);
    aspect-ratio: var(--screen-display-aspect-ratio);
    margin-top: 8px;
  }

  .swp-wall-premium .layout-fullscreen {
    align-content: start;
  }

  .swp-wall-premium .layout-fullscreen .swp-screen-post {
    align-self: start;
    height: auto;
    max-height: calc(100% - 20px);
  }

  .swp-wall-premium .layout-fullscreen .swp-screen-post.has-image.has-message {
    grid-template-rows: auto auto;
  }

  .swp-wall-premium .layout-fullscreen .swp-screen-post.has-image.has-message .swp-screen-media {
    aspect-ratio: 16 / 10;
  }

  .swp-wall-premium .layout-fullscreen .swp-screen-post.only-message {
    height: auto;
    min-height: 46vh;
  }

  .swp-wall-premium .layout-fullscreen .swp-screen-copy {
    align-items: center;
    min-height: 170px;
    padding: 22px;
  }

  .swp-wall-premium .layout-mosaic,
  .swp-wall-premium .layout-cards,
  .swp-wall-premium .layout-celebration {
    grid-template-columns: 1fr;
  }
}

/* Wall fullscreen v3: override finale per viewport e stato vuoto. */
body.swp-wall-premium.wall-display.screen-live-shell {
  width: 100vw;
  height: 100vh;
  height: 100dvh;
  min-height: 100vh;
  min-height: 100dvh;
  padding: 0;
  overflow: hidden;
  background: #fff;
  background-image: none;
}

body.swp-wall-premium.wall-display.screen-live-shell::before {
  display: none;
  content: none;
}

body.swp-wall-premium .swp-wall-live-overlay {
  position: fixed;
  z-index: 100;
  top: clamp(14px, 2vw, 28px);
  right: clamp(14px, 2vw, 28px);
  margin: 0;
  color: #047857;
  background: #ecfdf5;
  border-color: rgba(16,185,129,.28);
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

body.swp-wall-premium .swp-wall-type-toast {
  position: fixed;
  z-index: 110;
  top: clamp(14px, 2vw, 28px);
  left: 50%;
  display: none;
  min-width: min(280px, calc(100vw - 210px));
  margin: 0;
  padding: 9px 14px 9px 10px;
  transform: translateX(-50%);
  border: 1px solid rgba(var(--branding-primary-rgb), .2);
  border-radius: 18px;
  color: var(--text);
  background: rgba(255,255,255,.96);
  box-shadow: 0 16px 44px rgba(15,23,42,.16);
}

.swp-wall-type-toast-inner {
  display: flex;
  align-items: center;
  gap: 10px;
}

.swp-wall-type-icon {
  width: 38px;
  height: 38px;
  flex: 0 0 38px;
  display: grid;
  place-items: center;
  border-radius: 12px;
  color: var(--swp-primary);
  background: rgba(var(--branding-primary-rgb), .1);
  font-size: 1rem;
}

.swp-wall-type-copy {
  display: grid;
  gap: 1px;
  line-height: 1.08;
}

.swp-wall-type-copy small {
  color: var(--muted);
  font-size: .68rem;
  font-weight: 600;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.swp-wall-type-copy strong {
  color: var(--text);
  font-size: .95rem;
  font-weight: 600;
}

body.swp-wall-premium #wall-stage.swp-screen-stage {
  width: 100vw;
  max-width: none;
  height: 100vh;
  height: 100dvh;
  max-height: none;
  min-height: 0;
  aspect-ratio: auto;
  margin: 0;
  padding: clamp(14px, 1.7vw, 28px);
  overflow: hidden;
}

body.swp-wall-premium .swp-wall-empty-premium {
  width: 100%;
  height: 100%;
  min-height: 0;
  display: grid;
  grid-template-columns: minmax(280px, .95fr) minmax(300px, .7fr);
  align-items: center;
  justify-content: center;
  gap: clamp(24px, 5vw, 86px);
  padding: clamp(28px, 5vw, 88px);
  overflow: hidden;
  border-radius: clamp(26px, 3vw, 48px);
}

body.swp-wall-premium .swp-wall-empty-premium img {
  display: block;
  width: min(100%, 720px);
  max-height: calc(100dvh - 96px);
  margin-left: auto;
  border-radius: clamp(22px, 2.5vw, 42px);
  object-fit: contain;
  filter: drop-shadow(0 28px 46px rgba(15,23,42,.12));
}

body.swp-wall-premium .swp-wall-empty-copy {
  display: grid;
  gap: 12px;
  max-width: 520px;
}

body.swp-wall-premium .swp-wall-empty-copy strong {
  font-size: clamp(2.2rem, 5.5vw, 5.8rem);
  line-height: .92;
  letter-spacing: -.055em;
  text-wrap: balance;
}

body.swp-wall-premium .swp-wall-empty-copy span {
  color: var(--muted);
  font-size: clamp(1rem, 1.8vw, 1.5rem);
  line-height: 1.45;
}

@media (max-width: 760px) {
  body.swp-wall-premium .swp-wall-type-toast {
    top: 12px;
    left: 12px;
    min-width: 0;
    max-width: calc(100vw - 118px);
    transform: none;
  }

  body.swp-wall-premium main.swp-screen-stage {
    width: 100vw;
    height: 100dvh;
    max-height: none;
    margin: 0;
    aspect-ratio: auto;
    padding: 10px;
  }

  body.swp-wall-premium .swp-wall-empty-premium {
    grid-template-columns: 1fr;
    align-content: center;
    gap: 18px;
    padding: 56px 22px 24px;
    text-align: center;
  }

  body.swp-wall-premium .swp-wall-empty-premium img {
    width: min(76vw, 400px);
    max-height: 54dvh;
    margin: 0 auto;
  }

  body.swp-wall-premium .swp-wall-empty-copy {
    justify-items: center;
    margin: 0 auto;
  }
}

/* Reazioni configurabili evento e voto live sui singoli post. */
.swp-reaction-config-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(86px, 1fr));
  gap: 12px;
}

.swp-reaction-config-grid.is-edit {
  margin-top: 4px;
}

.swp-reaction-config-item {
  display: grid;
  gap: 7px;
  min-width: 0;
}

.swp-reaction-config-item > span {
  color: var(--muted);
  font-size: .72rem;
  font-weight: 600;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.swp-reaction-config-item .form-control {
  height: 58px;
  padding: 6px 10px;
  border-radius: 16px;
  text-align: center;
  font-size: 1.65rem;
  line-height: 1;
}

.swp-reaction-config-item .form-control:focus {
  border-color: rgba(var(--branding-primary-rgb), .55);
  box-shadow: 0 0 0 .22rem rgba(var(--branding-primary-rgb), .12);
}

.swp-reaction-config-help {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  margin-top: 6px;
  color: var(--muted);
  font-size: .7rem;
  line-height: 1.2;
}

.swp-wall-premium .swp-screen-copy {
  padding-bottom: clamp(60px, 5.5vw, 74px);
}

.swp-post-reactions {
  position: absolute;
  z-index: 6;
  left: clamp(8px, .8vw, 12px);
  right: clamp(8px, .8vw, 12px);
  bottom: clamp(8px, .8vw, 12px);
  display: flex;
  align-items: center;
  gap: clamp(3px, .35vw, 6px);
  min-width: 0;
}

.swp-post-reaction {
  min-width: 0;
  height: clamp(30px, 2.65vw, 38px);
  flex: 0 1 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 3px;
  padding: 3px clamp(6px, .5vw, 8px);
  border: 1px solid rgba(255,255,255,.8);
  border-radius: 999px;
  color: #243044;
  background: rgba(255,255,255,.9);
  box-shadow: 0 6px 16px rgba(15,23,42,.1);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  transition: transform .16s ease, border-color .16s ease, background .16s ease;
}

.swp-post-reaction:hover,
.swp-post-reaction:focus-visible {
  z-index: 1;
  transform: translateY(-2px);
  border-color: rgba(var(--branding-primary-rgb), .38);
  outline: none;
}

.swp-post-reaction.is-voted {
  color: #075985;
  border-color: rgba(var(--branding-primary-rgb), .34);
  background: rgba(236,248,255,.98);
  box-shadow: 0 9px 24px rgba(var(--branding-primary-rgb), .16);
}

.swp-post-reaction:disabled {
  cursor: wait;
  opacity: .68;
}

.swp-post-reaction-emoji {
  font-size: clamp(.92rem, 1.15vw, 1.12rem);
  line-height: 1;
}

.swp-post-reaction strong {
  min-width: .7em;
  font-size: clamp(.62rem, .75vw, .74rem);
  font-variant-numeric: tabular-nums;
}

@media (max-width: 900px) {
  .swp-reaction-config-grid {
    grid-template-columns: repeat(5, minmax(64px, 1fr));
  }

  .swp-post-reaction {
    padding-inline: 7px;
  }
}

@media (max-width: 620px) {
  .swp-reaction-config-grid {
    grid-template-columns: repeat(3, minmax(72px, 1fr));
  }

  .swp-post-reactions {
    gap: 4px;
  }

  .swp-post-reaction {
    height: 34px;
    padding-inline: 6px;
  }

  .swp-post-reaction-emoji {
    font-size: 1rem;
  }
}

/* Feed votabile nella pagina partecipanti. */
.swp-public-workspace {
  display: flex;
  flex-direction: column;
}

.swp-public-workspace .swp-public-composer {
  height: auto;
}

.swp-public-reaction-feed {
  margin: 0 clamp(16px, 4vw, 52px) clamp(28px, 4vw, 52px);
  padding-top: clamp(24px, 3vw, 38px);
  border-top: 1px solid rgba(148,163,184,.2);
}

.swp-public-feed-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 18px;
}

.swp-public-feed-head h2 {
  margin: 0;
  color: #152033;
  font-size: clamp(1.45rem, 2.2vw, 2rem);
  font-weight: 600;
  letter-spacing: -.035em;
}

.swp-public-feed-live {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 7px 10px;
  border-radius: 999px;
  color: #047857;
  background: #ecfdf5;
  font-size: .7rem;
  font-weight: 600;
  letter-spacing: .07em;
  text-transform: uppercase;
}

.swp-public-feed-live .bi {
  color: #10b981;
  font-size: .6rem;
}

#public-reaction-feed {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.swp-public-feed-card {
  position: relative;
  isolation: isolate;
  min-width: 0;
  overflow: hidden;
  border: 1px solid rgba(148,163,184,.16);
  border-radius: 24px;
  background:
    radial-gradient(circle at 100% 0, color-mix(in srgb, var(--swp-primary) 8%, transparent), transparent 34%),
    #fff;
  box-shadow: 0 16px 44px rgba(24,39,60,.085);
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.swp-public-feed-card:hover {
  transform: translateY(-2px);
  border-color: color-mix(in srgb, var(--swp-primary) 20%, rgba(148,163,184,.16));
  box-shadow: 0 22px 56px rgba(24,39,60,.11);
}

.swp-public-feed-card > figure {
  position: relative;
  height: 210px;
  margin: 0;
  overflow: hidden;
  background:
    linear-gradient(135deg, color-mix(in srgb, var(--swp-primary) 9%, #eef6fa), #f8fbfd);
}

.swp-public-feed-card > figure::after {
  content: "";
  position: absolute;
  inset: auto 0 0;
  height: 42%;
  background: linear-gradient(180deg, transparent, rgba(15,23,42,.18));
  pointer-events: none;
}

.swp-public-feed-card > figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .32s ease;
}

.swp-public-feed-card:hover > figure img {
  transform: scale(1.025);
}

.swp-public-feed-card-body {
  display: grid;
  gap: 11px;
  padding: 16px;
}

.swp-public-post-head {
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
}

.swp-public-post-author {
  min-width: 0;
  display: grid;
  gap: 2px;
}

.swp-public-post-author strong {
  min-width: 0;
  overflow: hidden;
  color: #111827;
  font-size: .94rem;
  font-weight: 600;
  line-height: 1.08;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.swp-public-post-author small {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  color: #64748b;
  font-size: .7rem;
  font-weight: 600;
}

.swp-public-post-author small .bi {
  color: #10b981;
  font-size: .58rem;
}

.swp-public-post-status {
  width: 32px;
  height: 32px;
  display: grid;
  place-items: center;
  border-radius: 999px;
  color: color-mix(in srgb, var(--swp-secondary) 78%, #92400e);
  background: color-mix(in srgb, var(--swp-secondary) 10%, #fff);
  font-size: .86rem;
}

.swp-public-feed-card p {
  margin: 0;
  color: #152033;
}

.swp-public-post-message {
  padding: 10px 12px;
  border: 1px solid rgba(148,163,184,.12);
  border-radius: 16px;
  background: rgba(248,251,253,.74);
  font-size: .98rem;
  font-weight: 600;
  line-height: 1.38;
  overflow-wrap: anywhere;
}

.swp-public-post-message.is-empty {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: #64748b;
  font-size: .86rem;
  font-weight: 600;
}

.swp-public-feed-reactions {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  padding-top: 1px;
}

.swp-public-feed-reactions .swp-post-reaction {
  position: static;
  height: 34px;
  padding: 4px 9px;
  border-color: rgba(148,163,184,.2);
  background: rgba(248,251,253,.92);
  box-shadow: none;
  backdrop-filter: none;
  font-weight: 600;
}

.swp-public-feed-reactions .swp-post-reaction:not(:disabled):hover {
  background: #fff;
  box-shadow: 0 10px 20px rgba(15,23,42,.08);
}

.swp-public-feed-reactions .swp-post-reaction.is-voted {
  color: #075985;
  border-color: color-mix(in srgb, var(--swp-primary) 26%, #d7e2eb);
  background: color-mix(in srgb, var(--swp-primary) 9%, #fff);
}

.swp-public-feed-loading,
.swp-public-feed-empty {
  grid-column: 1 / -1;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  min-height: 120px;
  padding: 24px;
  border-radius: 20px;
  color: #64748b;
  background: #f8fbfd;
  text-align: center;
}

.swp-public-feed-empty {
  flex-direction: column;
}

@media (max-width: 640px) {
  .swp-public-reaction-feed {
    margin: 0 16px 28px;
  }

  #public-reaction-feed {
    grid-template-columns: 1fr;
  }

  .swp-public-feed-card > figure {
    height: 198px;
  }

  .swp-public-feed-card {
    border-radius: 22px;
  }

  .swp-public-feed-card-body {
    gap: 10px;
    padding: 13px;
  }

  .swp-public-post-head {
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 9px;
  }

  .swp-public-post-status {
    width: 29px;
    height: 29px;
    font-size: .78rem;
  }

  .swp-public-post-message {
    padding: 9px 10px;
    border-radius: 14px;
    font-size: .93rem;
  }

  .swp-public-feed-reactions .swp-post-reaction {
    height: 32px;
    padding-inline: 8px;
  }
}

/* Entrata premium riservata ai post appena ricevuti dal feed live. */
.swp-wall-premium .swp-screen-post.is-new-arrival {
  z-index: 12;
  transform-origin: 50% 70%;
  animation: swp-new-post-arrival 1.05s cubic-bezier(.16, 1, .3, 1) both;
}

.swp-wall-premium .swp-screen-post.is-new-arrival::before {
  animation: swp-new-post-glow 1.8s ease-out both;
}

.swp-new-post-badge {
  position: absolute;
  z-index: 9;
  top: 12px;
  left: 12px;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 7px 10px;
  border: 1px solid rgba(255,255,255,.88);
  border-radius: 999px;
  color: #fff;
  background: linear-gradient(135deg, var(--swp-primary), color-mix(in srgb, var(--swp-primary) 68%, var(--swp-secondary)));
  box-shadow: 0 12px 30px rgba(var(--branding-primary-rgb), .3);
  font-size: .7rem;
  font-weight: 600;
  letter-spacing: .08em;
  line-height: 1;
  text-transform: uppercase;
  animation: swp-new-post-badge 2.45s cubic-bezier(.16, 1, .3, 1) both;
}

.swp-new-post-flare {
  position: absolute;
  z-index: 8;
  inset: 0;
  overflow: hidden;
  border-radius: inherit;
  pointer-events: none;
}

.swp-new-post-flare::before {
  content: "";
  position: absolute;
  top: -35%;
  bottom: -35%;
  left: -48%;
  width: 34%;
  transform: rotate(15deg);
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.76), transparent);
  filter: blur(3px);
  animation: swp-new-post-sheen 1.25s .14s ease-out both;
}

.swp-new-post-flare i {
  position: absolute;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--swp-secondary);
  box-shadow: 0 0 14px color-mix(in srgb, var(--swp-secondary) 72%, transparent);
  animation: swp-new-post-particle 1.5s ease-out both;
}

.swp-new-post-flare i:nth-child(1) { top: 18%; left: 14%; animation-delay: .08s; }
.swp-new-post-flare i:nth-child(2) { top: 11%; right: 18%; width: 5px; height: 5px; animation-delay: .18s; }
.swp-new-post-flare i:nth-child(3) { right: 9%; bottom: 24%; animation-delay: .26s; }
.swp-new-post-flare i:nth-child(4) { left: 23%; bottom: 13%; width: 4px; height: 4px; animation-delay: .34s; }

.swp-screen-post.is-new-arrival .swp-post-reaction {
  animation: swp-new-reaction-rise .55s .52s cubic-bezier(.16, 1, .3, 1) both;
}

.swp-screen-post.is-new-arrival .swp-post-reaction:nth-child(2) { animation-delay: .58s; }
.swp-screen-post.is-new-arrival .swp-post-reaction:nth-child(3) { animation-delay: .64s; }
.swp-screen-post.is-new-arrival .swp-post-reaction:nth-child(4) { animation-delay: .7s; }
.swp-screen-post.is-new-arrival .swp-post-reaction:nth-child(5) { animation-delay: .76s; }

@keyframes swp-new-post-arrival {
  0% {
    opacity: 0;
    transform: translateY(48px) scale(.9) rotateX(7deg);
    filter: blur(9px) saturate(.8);
  }
  58% {
    opacity: 1;
    transform: translateY(-5px) scale(1.015) rotateX(0);
    filter: blur(0) saturate(1.08);
  }
  100% {
    opacity: 1;
    transform: translateY(0) scale(1) rotateX(0);
    filter: blur(0) saturate(1);
  }
}

@keyframes swp-new-post-glow {
  0% { box-shadow: inset 0 0 0 2px rgba(var(--branding-primary-rgb), .72), inset 0 0 48px rgba(var(--branding-primary-rgb), .28); }
  100% { box-shadow: inset 0 1px 0 rgba(255,255,255,.82), inset 0 0 0 0 transparent; }
}

@keyframes swp-new-post-badge {
  0% { opacity: 0; transform: translateY(-10px) scale(.72); }
  16%, 72% { opacity: 1; transform: translateY(0) scale(1); }
  100% { opacity: 0; transform: translateY(-5px) scale(.94); }
}

@keyframes swp-new-post-sheen {
  0% { opacity: 0; transform: translateX(0) rotate(15deg); }
  25% { opacity: .9; }
  100% { opacity: 0; transform: translateX(560%) rotate(15deg); }
}

@keyframes swp-new-post-particle {
  0% { opacity: 0; transform: translateY(18px) scale(.35); }
  24% { opacity: 1; }
  100% { opacity: 0; transform: translateY(-28px) scale(1.25); }
}

@keyframes swp-new-reaction-rise {
  from { opacity: 0; transform: translateY(12px) scale(.82); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}

@media (prefers-reduced-motion: reduce) {
  .swp-wall-premium .swp-screen-post.is-new-arrival,
  .swp-wall-premium .swp-screen-post.is-new-arrival::before,
  .swp-new-post-badge,
  .swp-new-post-flare::before,
  .swp-new-post-flare i,
  .swp-screen-post.is-new-arrival .swp-post-reaction {
    animation: none;
  }
}

/* Lo stage segue sempre il formato monitor configurato dalla regia. */
body.swp-wall-premium.wall-display.screen-live-shell {
  display: grid;
  place-items: center;
}

body.swp-wall-premium #wall-stage.swp-screen-stage {
  width: min(100vw, calc(100dvh * var(--screen-display-aspect-width) / var(--screen-display-aspect-height)));
  height: min(100dvh, calc(100vw * var(--screen-display-aspect-height) / var(--screen-display-aspect-width)));
  max-width: 100vw;
  max-height: 100dvh;
  aspect-ratio: var(--screen-display-aspect-ratio);
  margin: auto;
  container-type: size;
}

body.swp-wall-premium[data-wall-aspect-mode="compact"] .layout-mosaic,
body.swp-wall-premium[data-wall-aspect-mode="compact"] .layout-cards,
body.swp-wall-premium[data-wall-aspect-mode="compact"] .layout-celebration,
body.swp-wall-premium[data-wall-aspect-mode="compact"] .layout-minimal {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-template-rows: repeat(3, minmax(0, 1fr));
  grid-auto-rows: minmax(0, 1fr);
}

body.swp-wall-premium[data-wall-aspect-mode="compact"] .layout-mosaic .swp-screen-post,
body.swp-wall-premium[data-wall-aspect-mode="compact"] .layout-mosaic .swp-screen-post:nth-child(n),
body.swp-wall-premium[data-wall-aspect-mode="compact"] .layout-cards .swp-screen-post,
body.swp-wall-premium[data-wall-aspect-mode="compact"] .layout-celebration .swp-screen-post,
body.swp-wall-premium[data-wall-aspect-mode="compact"] .layout-minimal .swp-screen-post {
  grid-column: auto;
  grid-row: auto;
}

body.swp-wall-premium[data-wall-aspect-mode="portrait"] #wall-stage.swp-screen-stage {
  padding: clamp(9px, 2.2cqw, 16px);
}

body.swp-wall-premium[data-wall-aspect-mode="portrait"] .layout-mosaic,
body.swp-wall-premium[data-wall-aspect-mode="portrait"] .layout-cards,
body.swp-wall-premium[data-wall-aspect-mode="portrait"] .layout-celebration,
body.swp-wall-premium[data-wall-aspect-mode="portrait"] .layout-minimal {
  grid-template-columns: minmax(0, 1fr);
  grid-template-rows: repeat(4, minmax(0, 1fr));
  grid-auto-rows: minmax(0, 1fr);
  gap: clamp(8px, 2.2cqw, 14px);
}

body.swp-wall-premium[data-wall-aspect-mode="portrait"] .layout-mosaic .swp-screen-post,
body.swp-wall-premium[data-wall-aspect-mode="portrait"] .layout-mosaic .swp-screen-post:nth-child(n),
body.swp-wall-premium[data-wall-aspect-mode="portrait"] .layout-cards .swp-screen-post,
body.swp-wall-premium[data-wall-aspect-mode="portrait"] .layout-celebration .swp-screen-post,
body.swp-wall-premium[data-wall-aspect-mode="portrait"] .layout-minimal .swp-screen-post {
  grid-column: 1;
  grid-row: auto;
}

body.swp-wall-premium[data-wall-aspect-mode="portrait"] .layout-fullscreen .swp-screen-post,
body.swp-wall-premium[data-wall-aspect-mode="portrait"] .layout-feed .swp-screen-post {
  grid-template-columns: minmax(0, 1fr);
}

body.swp-wall-premium[data-wall-aspect-mode="portrait"] .swp-screen-copy {
  padding: clamp(14px, 4cqw, 24px) clamp(14px, 4cqw, 24px) clamp(52px, 13cqw, 62px);
}

body.swp-wall-premium[data-wall-aspect-mode="portrait"] .swp-screen-copy p,
body.swp-wall-premium[data-wall-aspect-mode="portrait"] .layout-mosaic .swp-screen-copy p {
  font-size: clamp(1rem, 5.2cqw, 1.55rem);
  line-height: 1.08;
}

body.swp-wall-premium[data-wall-aspect-mode="portrait"] .swp-post-reactions {
  left: 8px;
  right: 8px;
  bottom: 8px;
  justify-content: center;
}

body.swp-wall-premium[data-wall-aspect-mode="portrait"] .swp-post-reaction {
  height: clamp(28px, 8cqw, 34px);
  padding-inline: clamp(5px, 1.5cqw, 7px);
}

body.swp-wall-premium[data-wall-aspect-mode="portrait"] .swp-wall-empty-premium {
  grid-template-columns: 1fr;
  align-content: center;
  gap: 18px;
  text-align: center;
}

body.swp-wall-premium[data-wall-aspect-mode="portrait"] .swp-wall-empty-premium img {
  width: min(78cqw, 430px);
  margin: 0 auto;
}

body.swp-wall-premium[data-wall-aspect-mode="portrait"] .swp-wall-empty-copy {
  justify-items: center;
  margin: 0 auto;
}

/* Le card restano sempre entro lo stage, anche con messaggi lunghi. */
body.swp-wall-premium #wall-stage .swp-screen-grid,
body.swp-wall-premium #wall-stage .swp-screen-post,
body.swp-wall-premium #wall-stage .swp-screen-post.only-message,
body.swp-wall-premium #wall-stage .swp-screen-copy {
  min-width: 0;
  min-height: 0;
}

body.swp-wall-premium #wall-stage .swp-screen-grid,
body.swp-wall-premium #wall-stage .swp-screen-copy {
  overflow: hidden;
}

body.swp-wall-premium #wall-stage .swp-screen-copy p {
  min-width: 0;
  max-width: 100%;
  max-height: 100%;
  overflow: hidden;
  overflow-wrap: anywhere;
}

/* Tutta la card usa esclusivamente il font scelto nella configurazione evento. */
body.swp-wall-premium #wall-stage,
body.swp-wall-premium #wall-stage .swp-screen-post,
body.swp-wall-premium #wall-stage .swp-screen-copy,
body.swp-wall-premium #wall-stage .swp-screen-copy p,
body.swp-wall-premium #wall-stage .swp-screen-author,
body.swp-wall-premium #wall-stage .swp-post-reaction,
body.swp-wall-premium #wall-stage .swp-post-reaction strong {
  font-family: var(--app-font-family);
}

/* Create-event checklist: required configuration and optional extras. */
.swp-new-event-todo-section {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin: 1px 6px 7px;
}

.swp-new-event-todo-section > span {
  color: var(--text);
  font-size: .67rem;
  font-weight: 600;
  letter-spacing: .075em;
  text-transform: uppercase;
}

.swp-new-event-todo-section > small {
  padding: 3px 7px;
  border-radius: 999px;
  color: #047857;
  background: rgba(16,185,129,.09);
  font-size: .65rem;
  font-weight: 600;
  white-space: nowrap;
}

.swp-new-event-todo-section.is-optional {
  margin-top: 12px;
  padding-top: 12px;
  border-top: 1px solid rgba(var(--branding-primary-rgb), .09);
}

.swp-new-event-todo-section.is-optional > small {
  padding: 0;
  color: var(--muted);
  background: transparent;
  font-weight: 600;
}

.swp-new-event-todo-list.is-optional {
  gap: 3px;
}

.swp-new-event-todo-list.is-optional .swp-todo-item {
  padding-block: 5px;
}

.swp-todo-item[hidden] {
  display: none;
}

/* Moderazione post: flusso essenziale Approva / Cancella. */
.swp-moderation-empty {
  grid-column: 1 / -1;
  min-height: 220px;
  display: grid;
  place-items: center;
  align-content: center;
  gap: 8px;
  padding: 28px;
  border: 1px dashed rgba(var(--branding-primary-rgb), .2);
  border-radius: 24px;
  color: #64748b;
  background:
    radial-gradient(circle at top, rgba(var(--branding-primary-rgb), .08), transparent 34%),
    rgba(255,255,255,.8);
  text-align: center;
}

.swp-moderation-empty .bi {
  width: 54px;
  height: 54px;
  display: grid;
  place-items: center;
  border-radius: 18px;
  color: var(--accent-2);
  background: rgba(var(--branding-primary-rgb), .09);
  font-size: 1.5rem;
}

.swp-moderation-empty strong {
  color: #172033;
  font-size: 1.2rem;
  line-height: 1.1;
}

.swp-moderation-empty span {
  max-width: 38ch;
  font-size: .92rem;
  line-height: 1.4;
}

.swp-mod-post-card {
  position: relative;
  isolation: isolate;
  display: grid;
  overflow: hidden;
  border: 1px solid rgba(148,163,184,.16);
  border-radius: 16px;
  background:
    radial-gradient(circle at 0 0, rgba(var(--branding-primary-rgb), .08), transparent 36%),
    rgba(255,255,255,.96);
  box-shadow: 0 8px 20px rgba(15,23,42,.055);
}

.swp-mod-post-card::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  border-radius: inherit;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.9);
  pointer-events: none;
}

.swp-mod-post-media {
  margin: 0;
  overflow: hidden;
  display: grid;
  place-items: center;
  aspect-ratio: 4 / 3;
  max-height: 240px;
  background:
    linear-gradient(135deg, rgba(248,250,252,.96), rgba(226,232,240,.72)),
    #eef6fa;
}

.swp-mod-post-media img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: contain;
}

.swp-mod-post-body {
  display: grid;
  gap: 6px;
  padding: 8px;
}

.swp-mod-post-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 7px;
}

.swp-mod-author {
  min-width: 0;
  display: grid;
  gap: 1px;
}

.swp-mod-author strong {
  min-width: 0;
  overflow: hidden;
  color: #111827;
  font-size: .78rem;
  font-weight: 600;
  line-height: 1.08;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.swp-mod-author small {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  color: #94a3b8;
  font-size: .56rem;
  font-weight: 600;
  letter-spacing: .01em;
}

.swp-mod-author small .bi {
  opacity: .65;
  font-size: .58rem;
}

.swp-mod-status {
  min-height: 20px;
  display: inline-flex;
  align-items: center;
  gap: 3px;
  padding: 3px 6px;
  border-radius: 999px;
  color: #a16207;
  background: rgba(254,243,199,.58);
  font-size: .56rem;
  font-weight: 600;
  line-height: 1;
}

.swp-mod-status .bi {
  font-size: .58rem;
}

.swp-mod-post-card.is-status-approved .swp-mod-status {
  color: #059669;
  background: rgba(209,250,229,.58);
}

.swp-mod-post-card.is-status-archived .swp-mod-status {
  color: #b91c1c;
  background: rgba(254,226,226,.58);
}

.swp-mod-post-message {
  min-height: 34px;
  margin: 0;
  padding: 7px;
  border: 1px solid rgba(148,163,184,.12);
  border-radius: 12px;
  color: #172033;
  background: rgba(248,251,255,.64);
  font-size: .8rem;
  font-weight: 600;
  line-height: 1.22;
  overflow-wrap: anywhere;
}

.swp-mod-post-message.is-empty {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: #64748b;
  font-weight: 600;
}

.swp-mod-post-actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: stretch;
  gap: 6px;
}

.swp-mod-action {
  width: 100%;
  min-height: 32px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  border: 0;
  border-radius: 11px;
  color: #fff;
  font-size: .74rem;
  font-weight: 600;
  box-shadow: none;
}

.swp-mod-action-approve {
  min-width: 0;
  background: linear-gradient(135deg, #10b981, #059669);
  box-shadow: 0 6px 12px rgba(16,185,129,.13);
}

.swp-mod-action-delete {
  min-width: 0;
  color: #b91c1c;
  border-color: rgba(248,113,113,.2);
  background: rgba(254,242,242,.82);
  box-shadow: none;
}

.swp-mod-post-actions .swp-mod-action:only-child {
  grid-column: 1 / -1;
}

.swp-mod-action:hover,
.swp-mod-action:focus-visible {
  color: #fff;
  filter: brightness(.97);
  transform: translateY(-1px);
}

.swp-mod-action:disabled {
  transform: none;
  opacity: .75;
}

.swp-mod-deleted-note {
  grid-column: 1 / -1;
  min-height: 30px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  border-radius: 10px;
  color: #991b1b;
  background: #fef2f2;
  font-size: .72rem;
  font-weight: 600;
}

@media (max-width: 640px) {
  .moderation-grid,
  .swp-moderation-grid {
    grid-template-columns: 1fr;
  }

  .swp-mod-post-head {
    grid-template-columns: minmax(0, 1fr);
  }

  .swp-mod-status {
    grid-column: 1;
    justify-self: start;
  }

  .swp-mod-post-actions {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* Moderazione: header compatto e filtro veloce In attesa/Approvati. */
.swp-moderation-compact-hero {
  min-height: 0;
  display: grid;
  grid-template-columns: minmax(170px, .78fr) minmax(620px, 1.22fr);
  align-items: center;
  gap: 10px;
  padding: 10px 12px;
}

.swp-moderation-compact-hero .swp-hero-visual {
  display: none;
}

.swp-moderation-compact-hero .ops-card-kicker {
  margin-bottom: 2px;
  font-size: .68rem;
  letter-spacing: .11em;
}

.swp-moderation-compact-hero h1 {
  margin: 1px 0 1px;
  font-size: clamp(1.18rem, 1.7vw, 1.62rem);
  line-height: 1.02;
}

.swp-moderation-compact-hero p {
  max-width: 58ch;
  margin: 0;
  font-size: .78rem;
  line-height: 1.18;
}

.swp-moderation-toolbar {
  grid-column: auto;
  display: grid;
  grid-template-columns: auto minmax(180px, 1fr) auto;
  align-items: center;
  gap: 8px;
  margin-top: 0;
  justify-self: stretch;
}

.swp-moderation-filter {
  min-height: 42px;
  display: inline-grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 5px;
  padding: 5px;
  border: 1px solid rgba(var(--branding-primary-rgb), .12);
  border-radius: 18px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.92), rgba(248,250,252,.86));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.9), 0 14px 32px rgba(15,23,42,.06);
}

.swp-moderation-filter button {
  min-height: 32px;
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 7px;
  padding: 6px 8px 6px 10px;
  border: 0;
  border-radius: 13px;
  color: #64748b;
  background: transparent;
  font-size: .76rem;
  font-weight: 600;
  white-space: nowrap;
  transition: color .16s ease, background .16s ease, box-shadow .16s ease, transform .16s ease;
}

.swp-moderation-filter button:hover {
  color: var(--text);
  background: rgba(var(--branding-primary-rgb), .055);
}

.swp-mod-filter-main {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  min-width: 0;
}

.swp-mod-filter-main i {
  font-size: .9rem;
}

.swp-mod-filter-count {
  min-width: 23px;
  height: 23px;
  display: inline-grid;
  place-items: center;
  padding: 0 6px;
  border-radius: 999px;
  color: #64748b;
  background: rgba(148,163,184,.14);
  font-size: .68rem;
  font-weight: 600;
  line-height: 1;
}

.swp-moderation-filter button.is-active {
  color: var(--accent-2);
  background:
    linear-gradient(180deg, rgba(var(--branding-primary-rgb), .13), rgba(var(--branding-primary-rgb), .07));
  box-shadow:
    inset 0 0 0 1px rgba(var(--branding-primary-rgb), .16),
    0 6px 14px rgba(15,23,42,.055);
}

.swp-moderation-filter button.is-active .swp-mod-filter-count {
  color: var(--accent-2);
  background: rgba(255,255,255,.78);
  box-shadow: inset 0 0 0 1px rgba(var(--branding-primary-rgb), .1);
}

.swp-moderation-filter button:focus-visible {
  outline: 3px solid rgba(var(--branding-primary-rgb), .16);
  outline-offset: 2px;
}

.swp-event-core-moderation {
  margin: 0 0 14px;
  padding: 12px;
  border-radius: 22px;
}

.swp-core-moderation-head {
  margin-bottom: 8px;
}

.swp-core-moderation-head h2 {
  margin: 1px 0 2px;
  font-size: clamp(1.1rem, 1.45vw, 1.45rem);
  line-height: 1.04;
}

.swp-core-moderation-head p {
  margin: 0;
  color: #64748b;
  font-size: .82rem;
  line-height: 1.25;
}

.swp-event-core-moderation .swp-moderation-toolbar {
  grid-template-columns: minmax(280px, auto) minmax(180px, 1fr);
  margin-bottom: 9px;
}

.swp-event-core-moderation .swp-metric-box {
  min-height: 62px;
  padding: 9px 11px;
}

.swp-event-core-moderation .swp-metric-label {
  font-size: .68rem;
}

.swp-event-core-moderation .swp-metric-value {
  font-size: 1.32rem;
}

.swp-event-core-moderation .moderation-grid {
  grid-template-columns: repeat(auto-fill, minmax(210px, 1fr));
  gap: 8px;
}

.swp-event-core-moderation.is-inline {
  margin: 8px 0 10px;
  padding: 8px;
  border-radius: 16px;
  background:
    radial-gradient(circle at 0 0, rgba(var(--branding-primary-rgb), .06), transparent 34%),
    rgba(255,255,255,.86);
}

.swp-event-core-moderation.is-inline .swp-core-moderation-head {
  margin-bottom: 7px;
}

.swp-event-core-moderation.is-inline .swp-core-moderation-head h2 {
  font-size: 1.05rem;
}

.swp-event-core-moderation.is-inline .swp-core-moderation-head p {
  font-size: .76rem;
}

.swp-event-core-moderation.is-inline .js-moderation-list {
  max-height: 520px;
  overflow: auto;
  padding-right: 2px;
}

html.swp-theme-dark .swp-event-core-moderation.is-inline {
  background:
    radial-gradient(circle at 0 0, rgba(var(--branding-primary-rgb), .14), transparent 34%),
    rgba(15,23,42,.9);
}

html.swp-theme-dark .swp-core-moderation-head p {
  color: #94a3b8;
}

html.swp-theme-dark .swp-moderation-filter {
  border-color: rgba(191,245,255,.12);
  background:
    linear-gradient(180deg, rgba(15,23,42,.92), rgba(15,23,42,.78));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.05), 0 14px 32px rgba(0,0,0,.18);
}

html.swp-theme-dark .swp-moderation-filter button {
  color: #94a3b8;
}

html.swp-theme-dark .swp-moderation-filter button:hover {
  color: #e2e8f0;
  background: rgba(255,255,255,.06);
}

html.swp-theme-dark .swp-moderation-filter button.is-active {
  color: #bfdbfe;
  background:
    linear-gradient(180deg, rgba(56,189,248,.16), rgba(59,130,246,.09));
  box-shadow:
    inset 0 0 0 1px rgba(125,211,252,.16),
    0 6px 14px rgba(0,0,0,.12);
}

html.swp-theme-dark .swp-mod-filter-count {
  color: #cbd5e1;
  background: rgba(255,255,255,.08);
}

html.swp-theme-dark .swp-moderation-filter button.is-active .swp-mod-filter-count {
  color: #bfdbfe;
  background: rgba(255,255,255,.1);
}

.swp-moderation-compact-hero .swp-toolbar .btn,
.swp-moderation-compact-hero .swp-toolbar .form-control {
  min-height: 36px;
  padding-top: .38rem;
  padding-bottom: .38rem;
  font-size: .86rem;
}

@media (max-width: 1180px) {
  .swp-moderation-compact-hero {
    grid-template-columns: 1fr;
  }

  .swp-moderation-toolbar {
    grid-column: 1;
  }
}

@media (max-width: 760px) {
  .swp-moderation-compact-hero {
    padding: 10px;
  }

  .swp-moderation-toolbar {
    grid-template-columns: 1fr;
  }

  .swp-moderation-filter {
    width: 100%;
  }

  .swp-moderation-filter button {
    min-width: 0;
  }

  .swp-mod-filter-main span {
    overflow: hidden;
    text-overflow: ellipsis;
  }

  .swp-event-core-moderation .swp-moderation-toolbar {
    grid-template-columns: 1fr;
  }

  .swp-moderation-compact-hero .swp-toolbar .btn,
  .swp-moderation-compact-hero .swp-toolbar .form-control {
    width: 100%;
  }
}

/* Live disattivato: clipart premium offline. */
.swp-offline-page {
  min-height: 100vh;
  min-height: 100dvh;
  margin: 0;
  color: #0f172a;
  background:
    radial-gradient(circle at 14% 12%, color-mix(in srgb, var(--swp-primary) 28%, transparent), transparent 30%),
    radial-gradient(circle at 88% 18%, color-mix(in srgb, var(--swp-secondary) 28%, transparent), transparent 28%),
    linear-gradient(135deg, #f8fbff 0%, #eef7fb 48%, #fff7ed 100%);
  font-family: var(--app-font-family, Inter, sans-serif);
  overflow: hidden;
}

.swp-offline-shell {
  min-height: 100vh;
  min-height: 100dvh;
  display: grid;
  place-items: center;
  padding: clamp(18px, 4vw, 64px);
}

.swp-live-offline-premium {
  position: relative;
  isolation: isolate;
  width: min(1180px, 100%);
  min-height: min(720px, calc(100dvh - 48px));
  display: grid;
  grid-template-columns: minmax(280px, .84fr) minmax(320px, 1fr);
  align-items: center;
  gap: clamp(24px, 5vw, 78px);
  padding: clamp(26px, 5vw, 76px);
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.68);
  border-radius: clamp(28px, 4vw, 56px);
  background:
    linear-gradient(145deg, rgba(255,255,255,.92), rgba(255,255,255,.66)),
    radial-gradient(circle at 78% 20%, rgba(255,255,255,.9), transparent 36%);
  box-shadow:
    0 34px 90px rgba(15,23,42,.14),
    inset 0 1px 0 rgba(255,255,255,.92);
}

.swp-live-offline-premium.is-stage {
  width: 100%;
  height: 100%;
  min-height: 0;
  border-radius: clamp(24px, 3vw, 48px);
}

.swp-live-offline-premium::before {
  content: "";
  position: absolute;
  inset: auto -8% -18% 38%;
  z-index: -1;
  height: 46%;
  border-radius: 999px;
  background: linear-gradient(90deg, color-mix(in srgb, var(--swp-primary) 18%, transparent), color-mix(in srgb, var(--swp-secondary) 20%, transparent));
  filter: blur(44px);
  opacity: .85;
}

.swp-offline-copy {
  position: relative;
  z-index: 2;
  display: grid;
  justify-items: start;
  gap: 14px;
  max-width: 560px;
}

.swp-offline-kicker {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 12px;
  border: 1px solid rgba(148,163,184,.2);
  border-radius: 999px;
  color: #475569;
  background: rgba(255,255,255,.78);
  font-size: .76rem;
  font-weight: 600;
  letter-spacing: .12em;
  text-transform: uppercase;
  box-shadow: 0 12px 28px rgba(15,23,42,.06);
}

.swp-offline-kicker .bi {
  color: var(--swp-secondary);
}

.swp-offline-logo {
  max-width: min(220px, 60vw);
  max-height: 82px;
  object-fit: contain;
  margin: 8px 0 4px;
  filter: drop-shadow(0 14px 22px rgba(15,23,42,.1));
}

.swp-offline-copy h1 {
  margin: 0;
  color: #0f172a;
  font-size: clamp(2.8rem, 7vw, 7rem);
  font-weight: 600;
  line-height: .86;
  letter-spacing: -.07em;
  text-wrap: balance;
}

.swp-offline-copy p {
  max-width: 48ch;
  margin: 0;
  color: #52647a;
  font-size: clamp(1rem, 1.7vw, 1.35rem);
  font-weight: 600;
  line-height: 1.45;
}

.swp-offline-event-pill {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  max-width: 100%;
  margin-top: 6px;
  padding: 10px 14px;
  border-radius: 999px;
  color: #fff;
  background: linear-gradient(135deg, var(--swp-primary), color-mix(in srgb, var(--swp-primary) 42%, var(--swp-secondary)));
  box-shadow: 0 16px 32px color-mix(in srgb, var(--swp-primary) 22%, transparent);
  font-weight: 600;
}

.swp-offline-event-pill span {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.swp-offline-clipart {
  position: relative;
  min-height: clamp(340px, 45vw, 620px);
}

.swp-offline-orbit {
  position: absolute;
  inset: 11% 4% 8% 2%;
  border: 1px solid color-mix(in srgb, var(--swp-primary) 26%, transparent);
  border-radius: 44% 56% 52% 48%;
  transform: rotate(-8deg);
  opacity: .8;
}

.swp-offline-orbit.is-two {
  inset: 18% 12% 15% 9%;
  border-color: color-mix(in srgb, var(--swp-secondary) 28%, transparent);
  transform: rotate(14deg);
}

.swp-offline-screen {
  position: absolute;
  inset: 9% 5% auto 7%;
  height: 68%;
  border: 1px solid rgba(255,255,255,.7);
  border-radius: clamp(22px, 3vw, 40px);
  background:
    linear-gradient(145deg, rgba(15,23,42,.94), rgba(30,41,59,.88)),
    radial-gradient(circle at 30% 22%, color-mix(in srgb, var(--swp-primary) 34%, transparent), transparent 34%);
  box-shadow:
    0 34px 70px rgba(15,23,42,.22),
    inset 0 1px 0 rgba(255,255,255,.14);
  overflow: hidden;
  transform: rotate(-2deg);
}

.swp-offline-screen-top {
  display: flex;
  gap: 7px;
  padding: 16px 18px;
}

.swp-offline-screen-top span {
  width: 10px;
  height: 10px;
  border-radius: 999px;
  background: rgba(255,255,255,.26);
}

.swp-offline-screen-body {
  height: calc(100% - 42px);
  display: grid;
  place-items: center;
  align-content: center;
  gap: 14px;
  padding: 22px;
  color: #fff;
  text-align: center;
}

.swp-offline-screen-body .bi {
  width: clamp(76px, 11vw, 126px);
  height: clamp(76px, 11vw, 126px);
  display: grid;
  place-items: center;
  border-radius: 32px;
  color: #fff;
  background: linear-gradient(135deg, var(--swp-secondary), color-mix(in srgb, var(--swp-secondary) 50%, var(--swp-primary)));
  font-size: clamp(2.3rem, 5vw, 4.3rem);
  box-shadow: 0 22px 42px color-mix(in srgb, var(--swp-secondary) 28%, transparent);
}

.swp-offline-screen-body strong {
  font-size: clamp(1.4rem, 3.2vw, 3rem);
  font-weight: 600;
  letter-spacing: .12em;
}

.swp-offline-screen-body span {
  width: min(76%, 340px);
  height: 10px;
  border-radius: 999px;
  background: rgba(255,255,255,.16);
}

.swp-offline-screen-body span:last-child {
  width: min(54%, 240px);
}

.swp-offline-phone,
.swp-offline-card {
  position: absolute;
  display: grid;
  place-items: center;
  border: 1px solid rgba(255,255,255,.72);
  background: rgba(255,255,255,.82);
  box-shadow: 0 24px 52px rgba(15,23,42,.16);
  backdrop-filter: blur(18px);
}

.swp-offline-phone {
  right: 0;
  bottom: 7%;
  width: clamp(118px, 13vw, 176px);
  height: clamp(178px, 21vw, 260px);
  align-content: center;
  gap: 10px;
  border-radius: 32px;
  transform: rotate(7deg);
}

.swp-offline-phone .bi {
  color: var(--swp-primary);
  font-size: clamp(2rem, 4vw, 3.6rem);
}

.swp-offline-phone span {
  width: 58%;
  height: 8px;
  border-radius: 999px;
  background: #dbeafe;
}

.swp-offline-phone span:last-child {
  width: 38%;
}

.swp-offline-card {
  width: clamp(64px, 8vw, 104px);
  height: clamp(64px, 8vw, 104px);
  border-radius: 26px;
  color: var(--swp-secondary);
  font-size: clamp(1.6rem, 3vw, 2.6rem);
}

.swp-offline-card.is-left {
  left: 0;
  bottom: 15%;
  transform: rotate(-12deg);
}

.swp-offline-card.is-right {
  right: 8%;
  top: 4%;
  color: var(--swp-primary);
  transform: rotate(11deg);
}

body.swp-wall-premium.is-live-offline .swp-wall-live-pill {
  background: rgba(15,23,42,.72);
  border-color: rgba(255,255,255,.22);
}

body.swp-wall-premium.is-live-offline .swp-wall-live-pill .bi {
  color: #f97316;
}

@media (max-width: 780px) {
  .swp-offline-page {
    overflow: auto;
  }

  .swp-live-offline-premium,
  .swp-live-offline-premium.is-stage {
    grid-template-columns: 1fr;
    min-height: calc(100dvh - 28px);
    padding: 24px;
  }

  .swp-offline-clipart {
    order: -1;
    min-height: 300px;
  }

  .swp-offline-copy {
    justify-items: center;
    text-align: center;
  }
}

/* Bottoni: bordo e radius uniformi in tutta l'interfaccia. */
:root {
  --swp-button-radius: 14px;
  --swp-button-height: 40px;
  --swp-button-padding-x: 14px;
  --swp-button-font-size: .84rem;
  --swp-button-icon-size: 40px;
}

.btn:not(.btn-close),
button.ghost-button,
a.ghost-button,
button.primary-button,
a.primary-button,
.swp-topbar .topnav .btn,
.swp-topbar .topnav .swp-topbar-link,
.swp-event-row-actions .btn,
.swp-inline-detail-actions .btn,
.swp-mod-action,
.swp-screen-aspect-preset,
.swp-screen-aspect-reset,
.swp-moderation-filter button,
.swp-public-mobile-nav a,
.swp-public-feed-live,
.swp-privacy-open,
.swp-remove-upload,
.swp-password-toggle.btn {
  border-width: 1px !important;
  border-style: solid !important;
  border-radius: var(--swp-button-radius) !important;
}

.btn:not(.btn-close):not(.btn-lg),
button.ghost-button:not(.btn-lg),
a.ghost-button:not(.btn-lg),
button.primary-button:not(.btn-lg),
a.primary-button:not(.btn-lg),
.swp-topbar .topnav .btn,
.swp-topbar .topnav .swp-topbar-link,
.swp-event-row-actions .btn,
.swp-inline-detail-actions .btn,
.swp-screen-aspect-preset,
.swp-screen-aspect-reset,
.swp-moderation-filter button,
.swp-privacy-open,
.swp-password-toggle.btn {
  min-height: var(--swp-button-height) !important;
  height: var(--swp-button-height) !important;
  padding: 0 var(--swp-button-padding-x) !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 7px !important;
  font-size: var(--swp-button-font-size) !important;
  line-height: 1 !important;
  white-space: nowrap;
}

.swp-icon-only-button.btn,
.swp-topbar-logout,
.swp-privacy-open,
.swp-remove-upload,
.swp-password-toggle.btn {
  width: var(--swp-button-icon-size) !important;
  min-width: var(--swp-button-icon-size) !important;
  height: var(--swp-button-icon-size) !important;
  min-height: var(--swp-button-icon-size) !important;
  padding: 0 !important;
}

.swp-mod-action {
  min-height: var(--swp-button-height) !important;
  height: var(--swp-button-height) !important;
  padding: 0 var(--swp-button-padding-x) !important;
  font-size: var(--swp-button-font-size) !important;
}

.primary-button,
.btn-primary,
.swp-mod-action,
.swp-public-feed-live {
  border-color: transparent !important;
}

.swp-moderation-filter,
.swp-event-feature-badge,
.badge,
.swp-wall-live-pill,
.swp-public-feed-live,
.swp-offline-kicker,
.swp-offline-event-pill,
.swp-post-reaction,
.swp-public-feed-reactions .swp-post-reaction {
  border-radius: 999px;
}

.swp-event-core-moderation .swp-moderation-filter,
.swp-moderation-compact-hero .swp-moderation-filter {
  border-radius: 18px !important;
}

.swp-event-core-moderation .swp-moderation-filter button,
.swp-moderation-compact-hero .swp-moderation-filter button {
  min-height: 32px !important;
  height: 32px !important;
  justify-content: space-between !important;
  padding: 0 8px 0 10px !important;
  border-color: transparent !important;
  border-radius: 13px !important;
  font-size: .76rem !important;
  gap: 7px !important;
}

.swp-event-core-moderation .swp-moderation-filter button.is-active,
.swp-moderation-compact-hero .swp-moderation-filter button.is-active {
  border-color: transparent !important;
  color: var(--accent-2) !important;
}

.swp-event-core-moderation .swp-mod-filter-main,
.swp-moderation-compact-hero .swp-mod-filter-main {
  display: inline-flex;
}

.swp-topbar-logout.btn {
  color: #b42318 !important;
  border-color: rgba(180, 35, 24, .2) !important;
  background: rgba(180, 35, 24, .045) !important;
  box-shadow: 0 8px 18px rgba(180, 35, 24, .05) !important;
}

.swp-topbar-logout.btn:hover,
.swp-topbar-logout.btn:focus {
  color: #9f1d14 !important;
  border-color: rgba(180, 35, 24, .36) !important;
  background:
    linear-gradient(180deg, rgba(255, 241, 242, .98), rgba(254, 226, 226, .8)) !important;
  box-shadow: 0 14px 28px rgba(180, 35, 24, .14) !important;
  transform: translateY(-1px);
}

html.swp-theme-dark .swp-topbar-logout.btn {
  color: #fee2e2 !important;
  border-color: rgba(248, 113, 113, .24) !important;
  background:
    linear-gradient(135deg, rgba(180, 35, 24, .22), rgba(237, 249, 252, .045)) !important;
  box-shadow: 0 14px 28px rgba(180, 35, 24, .14) !important;
}

html.swp-theme-dark .swp-topbar-logout.btn:hover,
html.swp-theme-dark .swp-topbar-logout.btn:focus {
  color: #fff1f2 !important;
  border-color: rgba(248, 113, 113, .4) !important;
  background:
    linear-gradient(135deg, rgba(180, 35, 24, .31), rgba(237, 249, 252, .065)) !important;
}

/* Toast globali app: stile POLLME, pill flottante premium per regia, form e lato utente. */
.swp-toast-container {
  top: clamp(14px, 2vw, 24px) !important;
  right: clamp(14px, 2vw, 24px) !important;
  z-index: 2400;
  width: min(calc(100vw - 28px), 360px);
  padding: 0 !important;
  display: grid;
  gap: 10px;
  pointer-events: none;
}

.swp-app-toast {
  --swp-toast-accent: #0ea5e9;
  --swp-toast-border: rgba(125, 211, 252, .42);
  --swp-toast-bg: #eff6ff;
  --swp-toast-text: #075985;
  --swp-toast-muted: #0369a1;
  width: 100%;
  min-height: 64px;
  padding: 0;
  border: 1px solid var(--swp-toast-border);
  border-left: 5px solid var(--swp-toast-accent);
  border-radius: 16px;
  color: var(--swp-toast-text);
  background: var(--swp-toast-bg);
  box-shadow: 0 20px 44px rgba(15, 23, 42, .14);
  overflow: hidden;
  pointer-events: auto;
  transition: opacity .42s ease, transform .42s ease;
  animation: attendee-toast-fly-in .42s cubic-bezier(.22, 1, .36, 1) both;
}

.swp-app-toast.hide,
.swp-app-toast:not(.show).hide {
  opacity: 0;
  transform: translate(14px, -10px) scale(.96);
}

.swp-app-toast-success {
  --swp-toast-accent: #16a34a;
  --swp-toast-border: #b9ebd4;
  --swp-toast-bg: #ecfdf5;
  --swp-toast-text: #047857;
  --swp-toast-muted: #047857;
}

.swp-app-toast-warning {
  --swp-toast-accent: #f59e0b;
  --swp-toast-border: #fde68a;
  --swp-toast-bg: #fffbeb;
  --swp-toast-text: #92400e;
  --swp-toast-muted: #a16207;
}

.swp-app-toast-info {
  --swp-toast-accent: #0ea5e9;
  --swp-toast-border: #bae6fd;
  --swp-toast-bg: #eff6ff;
  --swp-toast-text: #075985;
  --swp-toast-muted: #0369a1;
}

.swp-app-toast-danger {
  --swp-toast-accent: #ef4444;
  --swp-toast-border: #fecaca;
  --swp-toast-bg: #fef2f2;
  --swp-toast-text: #b91c1c;
  --swp-toast-muted: #991b1b;
}

.swp-app-toast .toast-body {
  display: grid;
  grid-template-columns: 32px minmax(0, 1fr) 24px;
  align-items: center;
  gap: 12px;
  padding: 14px 12px 14px 14px;
}

.swp-app-toast-icon {
  width: 32px;
  height: 32px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  color: #fff;
  background: var(--swp-toast-accent);
  font-size: 1rem;
  box-shadow: 0 8px 16px rgba(15, 23, 42, .14);
}

.swp-app-toast-copy {
  min-width: 0;
  display: grid;
  gap: 1px;
}

.swp-app-toast-copy strong {
  color: var(--swp-toast-text);
  font-size: .92rem;
  font-weight: 600;
  line-height: 1.12;
  letter-spacing: -.02em;
}

.swp-app-toast-copy small {
  color: var(--swp-toast-muted);
  font-size: .78rem;
  font-weight: 600;
  line-height: 1.22;
  opacity: .86;
}

.swp-app-toast .btn-close {
  align-self: center;
  width: 24px;
  height: 24px;
  padding: 0;
  border-radius: 999px;
  background-size: .58rem;
  opacity: .42;
}

.swp-app-toast .btn-close:hover {
  opacity: .72;
}

html.swp-theme-dark .swp-app-toast {
  --swp-toast-bg: linear-gradient(180deg, rgba(13, 31, 40, .98), rgba(8, 24, 32, .98));
  --swp-toast-border: rgba(191, 245, 255, .18);
  --swp-toast-text: #d6fff0;
  --swp-toast-muted: #a7f3d0;
  box-shadow: 0 20px 44px rgba(0, 0, 0, .3);
}

html.swp-theme-dark .swp-app-toast-warning {
  --swp-toast-bg: linear-gradient(180deg, rgba(69, 39, 8, .96), rgba(35, 24, 10, .96));
  --swp-toast-border: rgba(251, 191, 36, .28);
  --swp-toast-text: #fde68a;
  --swp-toast-muted: #fbbf24;
}

html.swp-theme-dark .swp-app-toast-info {
  --swp-toast-bg: linear-gradient(180deg, rgba(8, 47, 73, .96), rgba(8, 29, 45, .96));
  --swp-toast-border: rgba(125, 211, 252, .28);
  --swp-toast-text: #bae6fd;
  --swp-toast-muted: #7dd3fc;
}

html.swp-theme-dark .swp-app-toast-danger {
  --swp-toast-bg: linear-gradient(180deg, rgba(69, 10, 10, .96), rgba(28, 12, 12, .96));
  --swp-toast-border: rgba(248, 113, 113, .28);
  --swp-toast-text: #fecaca;
  --swp-toast-muted: #fca5a5;
}

html.swp-theme-dark .swp-app-toast .btn-close {
  filter: invert(1) grayscale(100%);
}

.swp-live-offline-premium.is-paused .swp-offline-kicker {
  color: #92400e;
  background: rgba(254,243,199,.78);
}

.swp-live-offline-premium.is-paused .swp-offline-screen-body i {
  color: #f59e0b;
}

@keyframes swp-toast-in {
  from {
    opacity: 0;
    transform: translate3d(18px, -10px, 0) scale(.96);
  }

  to {
    opacity: 1;
    transform: translate3d(0, 0, 0) scale(1);
  }
}

/* Hashtag post: autore automatico + hashtag extra liberi. */
.swp-social-hashtags {
  display: grid;
  gap: 8px;
  margin-top: 10px;
}

.swp-social-hashtag-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.swp-social-hashtag-head small {
  color: #64748b;
  font-size: .72rem;
  font-weight: 600;
}

.swp-author-hashtag-pill {
  min-width: 0;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 9px;
  border-radius: 999px;
  color: #075985;
  background: rgba(var(--branding-primary-rgb), .08);
  font-size: .78rem;
  font-weight: 600;
}

.swp-author-hashtag-pill strong {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.swp-hashtag-input-group .input-group-text {
  border-color: rgba(148,163,184,.26);
  border-radius: 14px 0 0 14px;
  color: var(--swp-primary);
  background: #f8fbfd;
}

.swp-hashtag-input-group .form-control {
  min-height: 42px;
  border-color: rgba(148,163,184,.26);
  border-radius: 0 14px 14px 0;
  background: #fbfdff;
  font-size: .9rem;
  font-weight: 600;
}

.swp-hashtag-input-group .form-control:focus {
  border-color: rgba(var(--branding-primary-rgb), .42);
  box-shadow: 0 0 0 4px rgba(var(--branding-primary-rgb), .1);
}

.swp-public-post-hashtags,
.swp-mod-post-hashtags,
.swp-screen-hashtags {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 5px;
  min-width: 0;
}

.swp-public-post-hashtags span,
.swp-mod-post-hashtags span,
.swp-screen-hashtags span {
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  border-radius: 999px;
  font-weight: 600;
  line-height: 1;
}

.swp-public-post-hashtags span {
  padding: 6px 8px;
  color: #075985;
  background: #eff8ff;
  font-size: .72rem;
}

.swp-mod-post-hashtags {
  margin-top: -1px;
}

.swp-mod-post-hashtags span {
  padding: 4px 7px;
  color: #475569;
  background: rgba(241,245,249,.9);
  font-size: .58rem;
}

.swp-screen-hashtags {
  position: absolute;
  z-index: 6;
  left: clamp(10px, .9vw, 14px);
  right: clamp(10px, .9vw, 14px);
  bottom: clamp(49px, 4.25vw, 62px);
  pointer-events: none;
  font-family: var(--app-font-family);
}

.swp-screen-hashtags span {
  max-width: min(40%, 170px);
  padding: clamp(4px, .42vw, 6px) clamp(7px, .62vw, 10px);
  border: 1px solid rgba(255,255,255,.72);
  color: #17415f;
  background: rgba(255,255,255,.88);
  box-shadow: 0 7px 18px rgba(15,23,42,.11);
  font-size: clamp(.58rem, .72vw, .72rem);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}

.swp-wall-premium .swp-screen-post:not(.qr-post) .swp-screen-copy {
  padding-bottom: clamp(84px, 7.2vw, 102px);
}

body.swp-wall-premium[data-wall-aspect-mode="portrait"] .swp-screen-hashtags {
  left: 8px;
  right: 8px;
  bottom: 47px;
  justify-content: center;
}

body.swp-wall-premium[data-wall-aspect-mode="portrait"] .swp-screen-hashtags span {
  max-width: 46%;
  font-size: .62rem;
}

body.swp-wall-premium[data-wall-aspect-mode="portrait"] .swp-screen-post:not(.qr-post) .swp-screen-copy {
  padding-bottom: clamp(78px, 18cqw, 94px);
}

/* Moderazione: il cancella è un'azione secondaria, più piccola e meno aggressiva. */
.swp-mod-post-actions {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  justify-content: stretch;
}

.swp-mod-action-approve {
  min-width: 0 !important;
}

.swp-mod-action-delete {
  width: 100% !important;
  min-width: 0 !important;
  height: auto !important;
  min-height: 32px !important;
  padding: 0 10px !important;
  gap: 4px !important;
  color: #b91c1c !important;
  border-color: rgba(248,113,113,.22) !important;
  background: rgba(254,242,242,.78) !important;
  box-shadow: none !important;
  font-size: .68rem !important;
}

.swp-mod-action-delete .bi {
  color: #dc2626;
  font-size: .76rem;
  opacity: .78;
}

.swp-mod-action-delete:hover,
.swp-mod-action-delete:focus-visible {
  color: #991b1b !important;
  border-color: rgba(239,68,68,.34) !important;
  background: rgba(254,226,226,.84) !important;
  filter: none;
}

.swp-mod-action-delete:disabled {
  opacity: .62;
}

@media (max-width: 640px) {
  .swp-mod-action-delete {
    width: 100% !important;
    min-width: 0 !important;
    padding: 0 8px !important;
  }

  .swp-mod-action-delete span {
    display: inline;
  }
}

@media (max-width: 620px) {
  .swp-social-hashtag-head {
    align-items: flex-start;
    flex-direction: column;
    gap: 6px;
  }

  .swp-hashtag-input-group .form-control {
    min-height: 44px;
    font-size: .88rem;
  }

  .swp-public-post-hashtags span {
    padding: 5px 7px;
    font-size: .68rem;
  }
}

/* Override finale: il link webApp deve restare un input-group compatto, non un bottone generico. */
.swp-new-event-guest-qr .swp-guest-qr-url .swp-guest-qr-open.btn:not(.btn-close):not(.btn-lg) {
  min-width: 78px !important;
  width: auto !important;
  min-height: 42px !important;
  height: 42px !important;
  padding: 0 12px !important;
  border-radius: 0 14px 14px 0 !important;
  gap: 6px !important;
  font-size: .76rem !important;
}

.swp-new-event-guest-qr .swp-guest-qr-url .swp-guest-qr-url-icon {
  border-radius: 14px 0 0 14px !important;
}

@media (max-width: 520px) {
  .swp-new-event-guest-qr .swp-guest-qr-url .swp-guest-qr-open.btn:not(.btn-close):not(.btn-lg) {
    min-width: 46px !important;
    padding: 0 !important;
  }
}

/* Override finale: tab mobile webApp sempre coerenti anche dopo le regole globali bottoni. */
@media (max-width: 991.98px) {
  body.swp-public-app .swp-public-mobile-nav a {
    min-height: 42px !important;
    height: 42px !important;
    border-radius: 999px !important;
    padding: 0 12px !important;
    color: #475569;
    background: rgba(248,250,252,.88);
  }

  body.swp-public-app .swp-public-mobile-nav a.is-active {
    color: #075985;
    border-color: color-mix(in srgb, var(--swp-primary) 30%, #d7e2eb) !important;
    background: color-mix(in srgb, var(--swp-primary) 10%, #fff);
  }
}

/* Override finale monitor: attesa/pausa senza card grigina + QR scan premium. */
body.swp-wall-premium #wall-stage .swp-live-offline-premium.is-stage,
body.swp-wall-premium #wall-stage .swp-wall-empty-premium {
  position: relative;
  isolation: isolate;
  width: 100%;
  height: 100%;
  min-height: 0;
  overflow: hidden;
  border: 0 !important;
  border-radius: 0 !important;
  background:
    radial-gradient(circle at 14% 18%, color-mix(in srgb, var(--swp-primary) 42%, transparent), transparent 32%),
    radial-gradient(circle at 84% 18%, color-mix(in srgb, var(--swp-secondary) 34%, transparent), transparent 30%),
    radial-gradient(circle at 70% 82%, rgba(255,255,255,.14), transparent 34%),
    linear-gradient(135deg, #08111f 0%, #102033 48%, #111827 100%) !important;
  box-shadow: none !important;
}

body.swp-wall-premium #wall-stage .swp-live-offline-premium.is-stage::after,
body.swp-wall-premium #wall-stage .swp-wall-empty-premium::after {
  content: "";
  position: absolute;
  inset: clamp(14px, 1.8vw, 30px);
  z-index: -1;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: clamp(24px, 3vw, 48px);
  background:
    linear-gradient(90deg, transparent, rgba(255,255,255,.08), transparent) 0 0 / 220% 1px no-repeat,
    radial-gradient(circle at 50% 0, rgba(255,255,255,.12), transparent 44%);
  pointer-events: none;
}

body.swp-wall-premium #wall-stage .swp-live-offline-premium.is-stage .swp-offline-kicker,
body.swp-wall-premium #wall-stage .swp-wall-empty-copy span {
  color: rgba(255,255,255,.78);
}

body.swp-wall-premium #wall-stage .swp-live-offline-premium.is-stage .swp-offline-kicker {
  border-color: rgba(255,255,255,.16);
  background: rgba(255,255,255,.1);
  box-shadow: none;
  backdrop-filter: blur(18px);
}

body.swp-wall-premium #wall-stage .swp-live-offline-premium.is-stage .swp-offline-kicker .bi {
  color: #fbbf24;
}

body.swp-wall-premium #wall-stage .swp-live-offline-premium.is-stage .swp-offline-copy h1,
body.swp-wall-premium #wall-stage .swp-wall-empty-copy strong {
  color: #fff;
  text-shadow: 0 20px 48px rgba(0,0,0,.28);
}

body.swp-wall-premium #wall-stage .swp-live-offline-premium.is-stage .swp-offline-copy p {
  color: rgba(255,255,255,.76);
}

body.swp-wall-premium #wall-stage .swp-live-offline-premium.is-stage .swp-offline-event-pill {
  border: 1px solid rgba(255,255,255,.2);
  color: #fff;
  background:
    linear-gradient(135deg, rgba(255,255,255,.18), rgba(255,255,255,.08)),
    linear-gradient(135deg, color-mix(in srgb, var(--swp-primary) 54%, transparent), color-mix(in srgb, var(--swp-secondary) 46%, transparent));
  box-shadow: 0 22px 54px rgba(0,0,0,.16);
  backdrop-filter: blur(18px);
}

body.swp-wall-premium #wall-stage .swp-live-offline-premium.is-stage .swp-offline-screen {
  border-color: rgba(255,255,255,.14);
  background:
    radial-gradient(circle at 35% 24%, color-mix(in srgb, var(--swp-primary) 44%, transparent), transparent 34%),
    linear-gradient(145deg, rgba(3,7,18,.96), rgba(15,23,42,.9));
  box-shadow:
    0 36px 92px rgba(0,0,0,.34),
    inset 0 1px 0 rgba(255,255,255,.13);
}

body.swp-wall-premium #wall-stage .swp-live-offline-premium.is-stage .swp-offline-phone,
body.swp-wall-premium #wall-stage .swp-live-offline-premium.is-stage .swp-offline-card {
  border-color: rgba(255,255,255,.18);
  color: #fff;
  background: rgba(255,255,255,.12);
  box-shadow: 0 24px 62px rgba(0,0,0,.2);
}

body.swp-wall-premium #wall-stage .swp-live-offline-premium.is-stage .swp-offline-phone span {
  background: rgba(255,255,255,.28);
}

body.swp-wall-premium #wall-stage .swp-live-offline-premium.is-paused .swp-offline-kicker {
  color: rgba(255,255,255,.86);
  background: rgba(251,191,36,.16);
}

body.swp-wall-premium #wall-stage .is-qr-mode {
  place-items: center;
}

body.swp-wall-premium #wall-stage .swp-screen-qr-card {
  width: min(1320px, 100%) !important;
  min-height: min(760px, calc(100dvh - 56px));
  display: grid;
  grid-template-columns: minmax(0, .88fr) minmax(340px, .72fr) !important;
  align-items: center;
  gap: clamp(26px, 4vw, 72px);
  padding: clamp(34px, 5vw, 86px) !important;
  overflow: hidden;
  border: 0 !important;
  border-radius: clamp(30px, 4vw, 58px);
  color: #fff;
  background:
    radial-gradient(circle at 14% 18%, color-mix(in srgb, var(--swp-primary) 40%, transparent), transparent 30%),
    radial-gradient(circle at 86% 24%, color-mix(in srgb, var(--swp-secondary) 34%, transparent), transparent 28%),
    linear-gradient(135deg, #07111f 0%, #12233a 50%, #111827 100%) !important;
  box-shadow:
    0 34px 98px rgba(0,0,0,.28),
    inset 0 1px 0 rgba(255,255,255,.12);
}

body.swp-wall-premium #wall-stage .swp-screen-qr-card::before {
  content: "";
  position: absolute;
  inset: clamp(12px, 1.5vw, 24px);
  border: 1px solid rgba(255,255,255,.12);
  border-radius: clamp(24px, 3vw, 46px);
  background:
    radial-gradient(circle at 50% 0, rgba(255,255,255,.13), transparent 42%),
    linear-gradient(120deg, transparent 18%, rgba(255,255,255,.07), transparent 46%);
  pointer-events: none;
}

body.swp-wall-premium #wall-stage .swp-screen-qr-copy > span {
  border-color: rgba(255,255,255,.18);
  color: #e0f2fe;
  background: rgba(255,255,255,.1);
  box-shadow: none;
  backdrop-filter: blur(18px);
}

body.swp-wall-premium #wall-stage .swp-screen-qr-card strong {
  color: #fff !important;
  font-size: clamp(2.1rem, 4.8vw, 5.9rem);
  letter-spacing: -.06em;
  text-shadow: 0 22px 54px rgba(0,0,0,.3);
}

body.swp-wall-premium #wall-stage .swp-screen-qr-card p {
  width: fit-content;
  max-width: min(52ch, 100%);
  padding: 10px 14px;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 999px;
  color: rgba(255,255,255,.76);
  background: rgba(255,255,255,.08);
  font-size: clamp(.9rem, 1.2vw, 1.1rem);
  backdrop-filter: blur(16px);
}

body.swp-wall-premium #wall-stage .swp-screen-qr-card figure {
  position: relative;
  width: min(460px, 35vw) !important;
  max-width: 100%;
  aspect-ratio: 1;
  padding: clamp(18px, 2vw, 28px) !important;
  border: 1px solid rgba(255,255,255,.78) !important;
  border-radius: clamp(28px, 3vw, 46px) !important;
  background:
    linear-gradient(145deg, #fff, #f8fafc),
    radial-gradient(circle at 50% 0, rgba(255,255,255,.98), transparent 34%) !important;
  box-shadow:
    0 34px 88px rgba(0,0,0,.32),
    0 0 0 12px rgba(255,255,255,.08),
    inset 0 1px 0 rgba(255,255,255,.96) !important;
}

body.swp-wall-premium #wall-stage .swp-screen-qr-card figure::before {
  content: "SCANSIONA";
  position: absolute;
  left: 50%;
  top: -14px;
  transform: translateX(-50%);
  padding: 6px 14px;
  border-radius: 999px;
  color: #0f172a;
  background: linear-gradient(135deg, #fff, #e0f2fe);
  box-shadow: 0 12px 28px rgba(0,0,0,.14);
  font-size: .68rem;
  font-weight: 600;
  letter-spacing: .18em;
}

body.swp-wall-premium #wall-stage .swp-screen-qr-card figure::after {
  content: "";
  position: absolute;
  left: 11%;
  right: 11%;
  top: 17%;
  height: 3px;
  border-radius: 999px;
  background: linear-gradient(90deg, transparent, color-mix(in srgb, var(--swp-primary) 82%, #fff), transparent);
  box-shadow: 0 0 22px color-mix(in srgb, var(--swp-primary) 60%, transparent);
  animation: swpQrScanLine 2.8s ease-in-out infinite;
  pointer-events: none;
}

body.swp-wall-premium #wall-stage .swp-screen-qr-card img {
  width: 100% !important;
  height: 100% !important;
  border-radius: clamp(16px, 1.6vw, 24px);
  object-fit: contain !important;
  filter: saturate(1.02) contrast(1.04);
}

body.swp-wall-premium #wall-stage .swp-screen-qr-clipart span {
  border-color: rgba(255,255,255,.14);
  color: #fff;
  background: rgba(255,255,255,.11);
  box-shadow: 0 22px 58px rgba(0,0,0,.18);
}

@keyframes swpQrScanLine {
  0%, 100% {
    opacity: 0;
    transform: translateY(-90px);
  }
  18%, 82% {
    opacity: .95;
  }
  50% {
    transform: translateY(180px);
  }
}

@media (max-width: 900px) {
  body.swp-wall-premium #wall-stage .swp-screen-qr-card {
    grid-template-columns: 1fr !important;
    min-height: calc(100dvh - 28px);
    text-align: center;
  }

  body.swp-wall-premium #wall-stage .swp-screen-qr-card p {
    margin-inline: auto;
  }

  body.swp-wall-premium #wall-stage .swp-screen-qr-card figure {
    width: min(72vw, 420px) !important;
  }
}

/* Override finale: placeholder molto più discreti. */
.form-control::placeholder,
textarea::placeholder,
input::placeholder,
.swp-public-composer textarea.form-control::placeholder,
.swp-public-access-fields .form-control::placeholder,
.swp-hashtag-input-group .form-control::placeholder,
.swp-login-input .form-control::placeholder,
.swp-new-event-form .form-control::placeholder,
.swp-config-form .form-control::placeholder {
  color: rgba(100, 116, 139, .24) !important;
  opacity: 1 !important;
  font-weight: 400 !important;
}

body.swp-public-app .form-control::placeholder,
body.swp-public-app textarea::placeholder {
  color: rgba(100, 116, 139, .2) !important;
}

html.swp-theme-dark .form-control::placeholder,
html.swp-theme-dark textarea::placeholder,
html.swp-theme-dark input::placeholder {
  color: rgba(203, 213, 225, .24) !important;
  opacity: 1 !important;
}

/* WebApp utente: hashtag cliccabili e filtro hashtag. */
.swp-public-hashtag-filter {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin: -6px 0 14px;
  padding: 8px 10px;
  border: 1px solid color-mix(in srgb, var(--swp-primary) 18%, #dbe4ee);
  border-radius: 16px;
  color: #075985;
  background: color-mix(in srgb, var(--swp-primary) 8%, #fff);
  font-size: .78rem;
  font-weight: 600;
}

.swp-public-hashtag-filter[hidden] {
  display: none !important;
}

.swp-public-hashtag-filter > span {
  min-width: 0;
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.swp-public-hashtag-filter strong {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-weight: 600;
}

.swp-public-hashtag-filter .btn {
  min-width: 0 !important;
  min-height: 30px !important;
  height: 30px !important;
  padding: 0 9px !important;
  border: 1px solid rgba(14,165,233,.18) !important;
  border-radius: 999px !important;
  color: #075985;
  background: rgba(255,255,255,.82);
  font-size: .7rem !important;
  font-weight: 600;
}

.swp-public-post-hashtags button {
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  padding: 6px 8px;
  border: 0;
  border-radius: 999px;
  color: #075985;
  background: #eff8ff;
  font-size: .72rem;
  font-weight: 600;
  line-height: 1;
  cursor: pointer;
}

.swp-public-post-hashtags button:hover,
.swp-public-post-hashtags button:focus-visible {
  color: #fff;
  background: linear-gradient(135deg, var(--swp-primary), color-mix(in srgb, var(--swp-primary) 52%, var(--swp-secondary)));
  outline: none;
}

/* Override finale: foto sempre intere su live monitor e webApp utente. */
body.swp-wall-premium #wall-stage .swp-screen-media,
body.swp-wall-premium #wall-stage .swp-screen-post > figure,
body.swp-public-app .swp-public-feed-card > figure {
  position: relative !important;
  display: grid !important;
  place-items: center;
  overflow: hidden;
  background:
    radial-gradient(circle at 20% 18%, color-mix(in srgb, var(--swp-primary) 10%, transparent), transparent 34%),
    linear-gradient(135deg, #f8fbff, #eef4f8) !important;
}

body.swp-wall-premium #wall-stage .swp-screen-media img,
body.swp-wall-premium #wall-stage .swp-screen-post > img,
body.swp-wall-premium #wall-stage .swp-screen-post figure img {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  box-sizing: border-box;
  padding: 0 !important;
  object-fit: contain !important;
  object-position: center center !important;
  transform: none !important;
}

body.swp-public-app .swp-public-feed-card > figure {
  height: clamp(190px, 48vw, 280px);
}

body.swp-public-app .swp-public-feed-card > figure::after {
  display: none !important;
}

body.swp-public-app .swp-public-feed-card > figure img {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  box-sizing: border-box;
  padding: 0 !important;
  object-fit: contain !important;
  object-position: center center !important;
  transform: none !important;
}

body.swp-public-app .swp-public-feed-card:hover > figure img {
  transform: none !important;
}

/* Override finale: pausa monitor premium, non clipart offline. */
body.swp-wall-premium.is-monitor-paused .swp-wall-live-pill {
  border-color: rgba(251,191,36,.26);
  background: rgba(15,23,42,.62);
  box-shadow: 0 18px 44px rgba(0,0,0,.18);
  backdrop-filter: blur(18px);
}

body.swp-wall-premium.is-monitor-paused .swp-wall-live-pill .bi {
  color: #fbbf24;
}

body.swp-wall-premium #wall-stage .swp-monitor-standby {
  position: relative;
  isolation: isolate;
  width: 100%;
  height: 100%;
  min-height: 0;
  display: grid;
  grid-template-columns: minmax(280px, .9fr) minmax(360px, .78fr);
  align-items: center;
  gap: clamp(28px, 5vw, 92px);
  padding: clamp(36px, 6vw, 96px);
  overflow: hidden;
  border-radius: clamp(24px, 3vw, 52px);
  color: #fff;
  background:
    linear-gradient(90deg, rgba(255,255,255,.055) 1px, transparent 1px) 0 0 / 72px 72px,
    linear-gradient(0deg, rgba(255,255,255,.045) 1px, transparent 1px) 0 0 / 72px 72px,
    radial-gradient(circle at 16% 22%, color-mix(in srgb, var(--swp-primary) 46%, transparent), transparent 32%),
    radial-gradient(circle at 88% 18%, color-mix(in srgb, var(--swp-secondary) 34%, transparent), transparent 30%),
    linear-gradient(135deg, #050b14 0%, #0d1d31 46%, #111827 100%);
}

body.swp-wall-premium #wall-stage .swp-monitor-standby::before {
  content: "";
  position: absolute;
  inset: clamp(14px, 1.8vw, 30px);
  z-index: -1;
  border: 1px solid rgba(255,255,255,.13);
  border-radius: clamp(22px, 2.6vw, 46px);
  background:
    radial-gradient(circle at 50% 0, rgba(255,255,255,.13), transparent 38%),
    linear-gradient(120deg, transparent 8%, rgba(255,255,255,.055), transparent 42%);
}

body.swp-wall-premium #wall-stage .swp-standby-glow {
  position: absolute;
  z-index: -2;
  width: clamp(260px, 32vw, 560px);
  aspect-ratio: 1;
  border-radius: 50%;
  filter: blur(34px);
  opacity: .52;
  pointer-events: none;
}

body.swp-wall-premium #wall-stage .swp-standby-glow.is-one {
  left: -10%;
  bottom: -16%;
  background: color-mix(in srgb, var(--swp-primary) 58%, transparent);
}

body.swp-wall-premium #wall-stage .swp-standby-glow.is-two {
  right: -8%;
  top: -14%;
  background: color-mix(in srgb, var(--swp-secondary) 50%, transparent);
}

body.swp-wall-premium #wall-stage .swp-standby-copy {
  position: relative;
  z-index: 2;
  display: grid;
  justify-items: start;
  gap: clamp(13px, 1.7vw, 22px);
  max-width: 720px;
}

body.swp-wall-premium #wall-stage .swp-standby-kicker {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  padding: 9px 14px;
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 999px;
  color: rgba(255,255,255,.84);
  background: rgba(255,255,255,.09);
  font-size: clamp(.72rem, .9vw, .95rem);
  font-weight: 600;
  letter-spacing: .16em;
  text-transform: uppercase;
  backdrop-filter: blur(18px);
}

body.swp-wall-premium #wall-stage .swp-standby-kicker .bi {
  color: #fbbf24;
  filter: drop-shadow(0 0 14px rgba(251,191,36,.34));
}

body.swp-wall-premium #wall-stage .swp-standby-copy h1 {
  margin: 0;
  color: #fff;
  font-size: clamp(3.4rem, 8vw, 9rem);
  font-weight: 600;
  line-height: .82;
  letter-spacing: -.085em;
  text-wrap: balance;
  text-shadow: 0 26px 64px rgba(0,0,0,.34);
}

body.swp-wall-premium #wall-stage .swp-standby-copy p {
  max-width: 48ch;
  margin: 0;
  color: rgba(226,232,240,.78);
  font-size: clamp(1rem, 1.55vw, 1.38rem);
  font-weight: 600;
  line-height: 1.46;
}

body.swp-wall-premium #wall-stage .swp-standby-event {
  min-width: 0;
  max-width: min(100%, 620px);
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 12px 16px;
  border: 1px solid rgba(255,255,255,.17);
  border-radius: 999px;
  color: #fff;
  background: rgba(255,255,255,.1);
  box-shadow: 0 18px 48px rgba(0,0,0,.18);
  backdrop-filter: blur(18px);
  font-size: clamp(.86rem, 1.05vw, 1rem);
  font-weight: 600;
}

body.swp-wall-premium #wall-stage .swp-standby-event span {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

body.swp-wall-premium #wall-stage .swp-standby-visual {
  position: relative;
  z-index: 1;
  min-height: clamp(340px, 43vw, 640px);
}

body.swp-wall-premium #wall-stage .swp-standby-orbit {
  position: absolute;
  inset: 50% auto auto 50%;
  width: clamp(260px, 28vw, 500px);
  aspect-ratio: 1;
  border-radius: 50%;
  border: 1px solid rgba(255,255,255,.16);
  transform: translate(-50%, -50%);
  animation: swpStandbyOrbit 10s linear infinite;
}

body.swp-wall-premium #wall-stage .swp-standby-orbit.is-b {
  width: clamp(330px, 36vw, 620px);
  border-color: color-mix(in srgb, var(--swp-primary) 34%, transparent);
  animation-duration: 16s;
  animation-direction: reverse;
}

body.swp-wall-premium #wall-stage .swp-standby-orbit.is-c {
  width: clamp(190px, 21vw, 370px);
  border-color: color-mix(in srgb, var(--swp-secondary) 34%, transparent);
  animation-duration: 8s;
}

body.swp-wall-premium #wall-stage .swp-standby-core {
  position: absolute;
  left: 50%;
  top: 50%;
  width: clamp(154px, 16vw, 260px);
  aspect-ratio: 1;
  display: grid;
  place-items: center;
  transform: translate(-50%, -50%);
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 42%;
  color: #fff;
  background:
    radial-gradient(circle at 36% 20%, rgba(255,255,255,.26), transparent 34%),
    linear-gradient(135deg, color-mix(in srgb, var(--swp-primary) 70%, #0f172a), color-mix(in srgb, var(--swp-secondary) 62%, #0f172a));
  box-shadow:
    0 38px 92px rgba(0,0,0,.34),
    0 0 80px color-mix(in srgb, var(--swp-primary) 22%, transparent),
    inset 0 1px 0 rgba(255,255,255,.22);
}

body.swp-wall-premium #wall-stage .swp-standby-core .bi {
  font-size: clamp(4rem, 7vw, 7.8rem);
  filter: drop-shadow(0 16px 26px rgba(0,0,0,.18));
}

body.swp-wall-premium #wall-stage .swp-standby-core span {
  position: absolute;
  inset: 16%;
  border: 1px solid rgba(255,255,255,.22);
  border-radius: inherit;
}

body.swp-wall-premium #wall-stage .swp-standby-card {
  position: absolute;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  border: 1px solid rgba(255,255,255,.17);
  border-radius: 22px;
  color: #fff;
  background: rgba(255,255,255,.1);
  box-shadow: 0 22px 54px rgba(0,0,0,.2);
  backdrop-filter: blur(18px);
}

body.swp-wall-premium #wall-stage .swp-standby-card.is-status {
  left: 2%;
  top: 16%;
  display: grid;
  gap: 3px;
  padding: 14px 16px;
}

body.swp-wall-premium #wall-stage .swp-standby-card.is-status small {
  color: rgba(226,232,240,.68);
  font-size: .72rem;
  font-weight: 600;
  letter-spacing: .1em;
  text-transform: uppercase;
}

body.swp-wall-premium #wall-stage .swp-standby-card.is-status strong {
  color: #fbbf24;
  font-size: clamp(1.3rem, 2.1vw, 2.3rem);
  font-weight: 600;
  letter-spacing: .1em;
}

body.swp-wall-premium #wall-stage .swp-standby-card.is-ready {
  right: 2%;
  bottom: 15%;
  padding: 12px 14px;
  font-size: clamp(.78rem, 1vw, .95rem);
  font-weight: 600;
}

body.swp-wall-premium #wall-stage .swp-standby-card.is-ready .bi {
  color: #fbbf24;
}

body.swp-wall-premium #wall-stage .swp-standby-dots {
  position: absolute;
  left: 50%;
  bottom: 5%;
  display: inline-flex;
  gap: 9px;
  transform: translateX(-50%);
}

body.swp-wall-premium #wall-stage .swp-standby-dots i {
  width: 9px;
  height: 9px;
  border-radius: 999px;
  background: rgba(255,255,255,.58);
  animation: swpStandbyDot 1.4s ease-in-out infinite;
}

body.swp-wall-premium #wall-stage .swp-standby-dots i:nth-child(2) {
  animation-delay: .16s;
}

body.swp-wall-premium #wall-stage .swp-standby-dots i:nth-child(3) {
  animation-delay: .32s;
}

@keyframes swpStandbyOrbit {
  from {
    rotate: 0deg;
    border-radius: 42% 58% 50% 50%;
  }
  to {
    rotate: 360deg;
    border-radius: 58% 42% 50% 50%;
  }
}

@keyframes swpStandbyDot {
  0%, 100% {
    opacity: .35;
    transform: translateY(0);
  }
  50% {
    opacity: 1;
    transform: translateY(-5px);
  }
}

@media (max-width: 900px) {
  body.swp-wall-premium #wall-stage .swp-monitor-standby {
    grid-template-columns: 1fr;
    gap: 20px;
    padding: 28px;
  }

  body.swp-wall-premium #wall-stage .swp-standby-copy {
    justify-items: center;
    text-align: center;
  }

  body.swp-wall-premium #wall-stage .swp-standby-visual {
    min-height: 300px;
    order: -1;
  }

  body.swp-wall-premium #wall-stage .swp-standby-card.is-status {
    left: 0;
  }

  body.swp-wall-premium #wall-stage .swp-standby-card.is-ready {
    right: 0;
  }
}

/* Override finale: header pagina utente molto compatto e senza logo. */
body.swp-public-app .swp-public-intro-inner {
  min-height: 0 !important;
  padding: clamp(18px, 2.2vw, 30px) clamp(18px, 2.8vw, 38px) !important;
}

body.swp-public-app .swp-public-brand-row {
  justify-content: flex-start !important;
  margin: 0 0 10px !important;
}

body.swp-public-app .swp-public-logo-box,
body.swp-public-app .swp-public-logo {
  display: none !important;
}

body.swp-public-app .swp-public-brand-row > span {
  min-height: 26px !important;
  padding: 4px 9px !important;
  font-size: .66rem !important;
  letter-spacing: .08em;
  text-transform: uppercase;
}

body.swp-public-app .swp-public-title {
  max-width: 560px !important;
}

body.swp-public-app .swp-public-title h1 {
  margin: 0 0 5px !important;
  font-size: clamp(1.45rem, 2.7vw, 2.35rem) !important;
  line-height: 1.02 !important;
  letter-spacing: -.035em;
  font-weight: 600 !important;
}

body.swp-public-app .swp-public-title p {
  max-width: 540px !important;
  margin: 0 !important;
  font-size: .82rem !important;
  line-height: 1.32 !important;
}

body.swp-public-app .swp-public-visual {
  height: 150px !important;
  margin-top: clamp(12px, 2vh, 24px) !important;
  transform: scale(.82);
  transform-origin: center bottom;
}

@media (min-width: 992px) {
  body.swp-public-app .swp-public-layout {
    min-height: min(680px, calc(100dvh - 56px)) !important;
  }

  body.swp-public-app .swp-public-intro {
    display: grid;
  }
}

@media (max-width: 991.98px) {
  body.swp-public-app .swp-public-intro-inner {
    padding: max(10px, env(safe-area-inset-top)) 16px 12px !important;
  }

  body.swp-public-app .swp-public-brand-row {
    margin-bottom: 6px !important;
  }

  body.swp-public-app .swp-public-title h1 {
    font-size: clamp(1.25rem, 5.6vw, 1.75rem) !important;
  }

  body.swp-public-app .swp-public-title p {
    display: -webkit-box;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    font-size: .76rem !important;
  }

  body.swp-public-app .swp-public-visual {
    display: none !important;
  }
}

/* Override finale: badge pausa più premium e leggibile sul wall live. */
body.swp-wall-premium .swp-wall-live-pill[data-state="paused"],
body.swp-wall-premium.is-monitor-paused .swp-wall-live-pill {
  position: fixed;
  isolation: isolate;
  overflow: hidden;
  gap: 9px !important;
  min-height: 42px !important;
  padding: 8px 15px 8px 9px !important;
  color: #78350f !important;
  border-color: rgba(251,191,36,.48) !important;
  background:
    linear-gradient(135deg, rgba(255,251,235,.98), rgba(254,243,199,.91) 48%, rgba(255,255,255,.86)) !important;
  box-shadow:
    0 18px 46px rgba(120,53,15,.18),
    0 0 0 1px rgba(255,255,255,.46) inset,
    0 0 34px rgba(251,191,36,.24) !important;
  backdrop-filter: blur(18px) saturate(1.2) !important;
  -webkit-backdrop-filter: blur(18px) saturate(1.2) !important;
  font-size: clamp(.68rem, .95vw, .84rem) !important;
  letter-spacing: .105em !important;
}

body.swp-wall-premium .swp-wall-live-pill[data-state="paused"]::before,
body.swp-wall-premium.is-monitor-paused .swp-wall-live-pill::before {
  content: "";
  position: absolute;
  inset: -60% -22% auto auto;
  z-index: -1;
  width: 72px;
  aspect-ratio: 1;
  border-radius: 999px;
  background: radial-gradient(circle, rgba(251,191,36,.42), transparent 68%);
  pointer-events: none;
}

body.swp-wall-premium .swp-wall-live-pill[data-state="paused"] .bi,
body.swp-wall-premium.is-monitor-paused .swp-wall-live-pill .bi {
  display: inline-grid !important;
  place-items: center;
  width: 26px;
  height: 26px;
  flex: 0 0 26px;
  border-radius: 999px;
  color: #92400e !important;
  background:
    linear-gradient(135deg, rgba(251,191,36,.32), rgba(245,158,11,.18));
  box-shadow:
    0 0 0 1px rgba(245,158,11,.2) inset,
    0 0 18px rgba(251,191,36,.35);
  filter: none !important;
  font-size: .82rem !important;
  animation: swpPauseBadgeBreath 2.8s ease-in-out infinite !important;
}

body.swp-wall-premium .swp-wall-live-pill[data-state="paused"] span,
body.swp-wall-premium.is-monitor-paused .swp-wall-live-pill span {
  position: relative;
  font-weight: 600;
}

body.swp-wall-premium #wall-stage .swp-standby-kicker {
  border-color: rgba(251,191,36,.34) !important;
  color: #fff7ed !important;
  background:
    linear-gradient(135deg, rgba(251,191,36,.19), rgba(255,255,255,.07)) !important;
  box-shadow:
    0 16px 42px rgba(0,0,0,.2),
    0 0 26px rgba(251,191,36,.13) inset !important;
}

body.swp-wall-premium #wall-stage .swp-standby-kicker .bi {
  display: inline-grid;
  place-items: center;
  width: 25px;
  height: 25px;
  border-radius: 999px;
  background: rgba(251,191,36,.18);
  color: #fde68a !important;
}

@keyframes swpPauseBadgeBreath {
  0%, 100% {
    transform: scale(1);
    box-shadow:
      0 0 0 1px rgba(245,158,11,.2) inset,
      0 0 16px rgba(251,191,36,.3);
  }
  50% {
    transform: scale(.92);
    box-shadow:
      0 0 0 1px rgba(245,158,11,.32) inset,
      0 0 26px rgba(251,191,36,.52);
  }
}

/* Override finale: quando il live è disattivato usa la stessa card premium della pausa. */
body.swp-wall-premium #wall-stage .swp-monitor-standby.is-live-disabled {
  background:
    linear-gradient(90deg, rgba(255,255,255,.052) 1px, transparent 1px) 0 0 / 72px 72px,
    linear-gradient(0deg, rgba(255,255,255,.04) 1px, transparent 1px) 0 0 / 72px 72px,
    radial-gradient(circle at 16% 22%, color-mix(in srgb, var(--swp-primary) 40%, transparent), transparent 32%),
    radial-gradient(circle at 88% 18%, rgba(248,113,113,.28), transparent 30%),
    linear-gradient(135deg, #070b14 0%, #15101b 45%, #111827 100%) !important;
}

body.swp-wall-premium #wall-stage .swp-monitor-standby.is-live-disabled .swp-standby-kicker {
  border-color: rgba(248,113,113,.34) !important;
  color: #fff1f2 !important;
  background:
    linear-gradient(135deg, rgba(248,113,113,.2), rgba(255,255,255,.07)) !important;
  box-shadow:
    0 16px 42px rgba(0,0,0,.22),
    0 0 28px rgba(248,113,113,.13) inset !important;
}

body.swp-wall-premium #wall-stage .swp-monitor-standby.is-live-disabled .swp-standby-kicker .bi {
  background: rgba(248,113,113,.18);
  color: #fecaca !important;
}

body.swp-wall-premium #wall-stage .swp-monitor-standby.is-live-disabled .swp-standby-core {
  background:
    radial-gradient(circle at 36% 20%, rgba(255,255,255,.24), transparent 34%),
    linear-gradient(135deg, color-mix(in srgb, var(--swp-primary) 56%, #0f172a), color-mix(in srgb, #ef4444 58%, #0f172a)) !important;
  box-shadow:
    0 38px 92px rgba(0,0,0,.34),
    0 0 86px rgba(248,113,113,.18),
    inset 0 1px 0 rgba(255,255,255,.22) !important;
}

body.swp-wall-premium #wall-stage .swp-monitor-standby.is-live-disabled .swp-standby-card.is-status strong,
body.swp-wall-premium #wall-stage .swp-monitor-standby.is-live-disabled .swp-standby-card.is-ready .bi {
  color: #fca5a5 !important;
}

body.swp-wall-premium .swp-wall-live-pill[data-state="offline"],
body.swp-wall-premium.is-live-offline .swp-wall-live-pill {
  position: fixed;
  isolation: isolate;
  overflow: hidden;
  gap: 9px !important;
  min-height: 42px !important;
  padding: 8px 15px 8px 9px !important;
  color: #7f1d1d !important;
  border-color: rgba(248,113,113,.46) !important;
  background:
    linear-gradient(135deg, rgba(255,241,242,.98), rgba(254,226,226,.9) 48%, rgba(255,255,255,.86)) !important;
  box-shadow:
    0 18px 46px rgba(127,29,29,.17),
    0 0 0 1px rgba(255,255,255,.46) inset,
    0 0 34px rgba(248,113,113,.2) !important;
  backdrop-filter: blur(18px) saturate(1.2) !important;
  -webkit-backdrop-filter: blur(18px) saturate(1.2) !important;
  font-size: clamp(.68rem, .95vw, .84rem) !important;
  letter-spacing: .105em !important;
}

body.swp-wall-premium .swp-wall-live-pill[data-state="offline"]::before,
body.swp-wall-premium.is-live-offline .swp-wall-live-pill::before {
  content: "";
  position: absolute;
  inset: -60% -22% auto auto;
  z-index: -1;
  width: 72px;
  aspect-ratio: 1;
  border-radius: 999px;
  background: radial-gradient(circle, rgba(248,113,113,.38), transparent 68%);
  pointer-events: none;
}

body.swp-wall-premium .swp-wall-live-pill[data-state="offline"] .bi,
body.swp-wall-premium.is-live-offline .swp-wall-live-pill .bi {
  display: inline-grid !important;
  place-items: center;
  width: 26px;
  height: 26px;
  flex: 0 0 26px;
  border-radius: 999px;
  color: #991b1b !important;
  background:
    linear-gradient(135deg, rgba(248,113,113,.3), rgba(239,68,68,.16));
  box-shadow:
    0 0 0 1px rgba(239,68,68,.18) inset,
    0 0 18px rgba(248,113,113,.3);
  filter: none !important;
  font-size: .82rem !important;
  animation: swpPauseBadgeBreath 2.8s ease-in-out infinite !important;
}

body.swp-wall-premium .swp-wall-live-pill[data-state="offline"] span,
body.swp-wall-premium.is-live-offline .swp-wall-live-pill span {
  position: relative;
  font-weight: 600;
}

/* Override finale: pagina utente, header ultra compatto e logo sempre nascosto. */
body.swp-public-app .attendee-entry-logo,
body.swp-public-app .swp-public-logo,
body.swp-public-app .swp-public-logo-box,
body.swp-public-app .swp-offline-logo,
body.swp-offline-page.is-public-offline .swp-offline-logo {
  display: none !important;
}

body.swp-public-app .swp-public-shell {
  align-items: flex-start !important;
  padding: clamp(8px, 1.8vw, 18px) !important;
}

body.swp-public-app .swp-public-layout {
  min-height: 0 !important;
}

body.swp-public-app .swp-public-intro {
  min-height: 0 !important;
}

body.swp-public-app .swp-public-intro-inner {
  height: auto !important;
  min-height: 0 !important;
  padding: 12px 16px !important;
}

body.swp-public-app .swp-public-brand-row {
  min-height: 0 !important;
  margin: 0 0 5px !important;
}

body.swp-public-app .swp-public-brand-row > span {
  min-height: 20px !important;
  padding: 2px 7px !important;
  gap: 5px !important;
  font-size: .58rem !important;
  line-height: 1 !important;
  box-shadow: none !important;
}

body.swp-public-app .swp-public-title h1 {
  margin: 0 0 2px !important;
  font-size: clamp(1.12rem, 2.35vw, 1.78rem) !important;
  line-height: .98 !important;
  letter-spacing: -.035em !important;
}

body.swp-public-app .swp-public-title p {
  max-width: 520px !important;
  margin: 0 !important;
  font-size: .68rem !important;
  line-height: 1.2 !important;
}

body.swp-public-app .swp-public-visual {
  display: none !important;
}

@media (min-width: 992px) {
  body.swp-public-app .swp-public-layout {
    min-height: min(620px, calc(100dvh - 36px)) !important;
  }

  body.swp-public-app .swp-public-intro {
    min-height: 100% !important;
    display: grid;
  }

  body.swp-public-app .swp-public-intro-inner {
    height: min(680px, calc(100dvh - 36px)) !important;
    min-height: min(620px, calc(100dvh - 36px)) !important;
    padding: clamp(24px, 3vw, 40px) !important;
  }

  body.swp-public-app .swp-public-brand-row {
    margin-bottom: clamp(18px, 3vh, 28px) !important;
  }

  body.swp-public-app .swp-public-title h1 {
    margin-bottom: 7px !important;
    font-size: clamp(1.75rem, 3vw, 2.8rem) !important;
    line-height: 1.01 !important;
  }

  body.swp-public-app .swp-public-title p {
    max-width: 440px !important;
    font-size: .9rem !important;
    line-height: 1.38 !important;
  }

  body.swp-public-app .swp-public-visual {
    width: min(392px, 94%);
    height: clamp(210px, 31vh, 256px) !important;
    display: block !important;
    flex: 0 0 auto;
    margin-top: auto !important;
    transform: scale(.9);
    transform-origin: center bottom;
  }
}

@media (max-width: 991.98px) {
  body.swp-public-app .swp-public-shell {
    padding: 0 !important;
  }

  body.swp-public-app .swp-public-layout {
    border-radius: 0 !important;
    border-width: 0 0 1px !important;
  }

  body.swp-public-app .swp-public-intro {
    border-right: 0 !important;
    border-bottom: 1px solid rgba(148,163,184,.14) !important;
  }

  body.swp-public-app .swp-public-intro-inner {
    padding: max(7px, env(safe-area-inset-top)) 12px 8px !important;
  }

  body.swp-public-app .swp-public-brand-row {
    margin-bottom: 4px !important;
  }

  body.swp-public-app .swp-public-title h1 {
    font-size: clamp(1rem, 4.4vw, 1.32rem) !important;
  }

body.swp-public-app .swp-public-title p {
    display: -webkit-box !important;
    overflow: hidden !important;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 1 !important;
    font-size: .62rem !important;
    line-height: 1.14 !important;
    opacity: .72;
  }
}

/* Override finale: card premium lato utente quando evento/webapp sono disattivati. */
body.swp-offline-page.is-public-offline {
  min-height: 100vh;
  min-height: 100dvh;
  overflow-x: hidden;
  color: #fff;
  background:
    linear-gradient(90deg, rgba(255,255,255,.045) 1px, transparent 1px) 0 0 / 36px 36px,
    linear-gradient(0deg, rgba(255,255,255,.04) 1px, transparent 1px) 0 0 / 36px 36px,
    radial-gradient(circle at 12% 14%, color-mix(in srgb, var(--swp-primary) 42%, transparent), transparent 30%),
    radial-gradient(circle at 90% 10%, rgba(248,113,113,.26), transparent 30%),
    radial-gradient(circle at 76% 92%, color-mix(in srgb, var(--swp-secondary) 28%, transparent), transparent 32%),
    linear-gradient(135deg, #060b15 0%, #101827 48%, #15101b 100%) !important;
  font-family: var(--app-font-family);
}

body.swp-offline-page.is-public-offline .swp-offline-shell {
  min-height: 100vh;
  min-height: 100dvh;
  padding: clamp(14px, 4vw, 42px);
}

.swp-public-disabled-premium {
  position: relative;
  isolation: isolate;
  width: min(100%, 1040px);
  min-height: min(620px, calc(100dvh - 32px));
  display: grid;
  place-items: center;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.13);
  border-radius: clamp(28px, 4vw, 54px);
  background:
    radial-gradient(circle at 50% 0, rgba(255,255,255,.13), transparent 42%),
    linear-gradient(120deg, rgba(255,255,255,.09), rgba(255,255,255,.035));
  box-shadow:
    0 34px 100px rgba(0,0,0,.34),
    inset 0 1px 0 rgba(255,255,255,.14);
}

.swp-public-disabled-premium::before {
  content: "";
  position: absolute;
  inset: clamp(12px, 2vw, 24px);
  z-index: -1;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: clamp(22px, 3.3vw, 44px);
  background:
    linear-gradient(90deg, transparent, rgba(255,255,255,.08), transparent) 0 0 / 220% 1px no-repeat,
    radial-gradient(circle at 50% 0, rgba(255,255,255,.12), transparent 44%);
  pointer-events: none;
}

.swp-public-disabled-glow {
  position: absolute;
  z-index: -2;
  width: clamp(260px, 38vw, 620px);
  aspect-ratio: 1;
  border-radius: 50%;
  filter: blur(38px);
  opacity: .56;
  pointer-events: none;
}

.swp-public-disabled-glow.is-one {
  left: -14%;
  bottom: -18%;
  background: color-mix(in srgb, var(--swp-primary) 56%, transparent);
}

.swp-public-disabled-glow.is-two {
  right: -14%;
  top: -18%;
  background: rgba(248,113,113,.42);
}

.swp-public-disabled-card {
  width: 100%;
  display: grid;
  grid-template-columns: minmax(0, .94fr) minmax(280px, .68fr);
  align-items: center;
  gap: clamp(24px, 5vw, 72px);
  padding: clamp(26px, 6vw, 78px);
}

.swp-public-disabled-copy {
  position: relative;
  z-index: 2;
  display: grid;
  justify-items: start;
  gap: clamp(12px, 1.8vw, 20px);
  max-width: 620px;
}

.swp-public-disabled-kicker {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  padding: 8px 13px;
  border: 1px solid rgba(248,113,113,.34);
  border-radius: 999px;
  color: #fff1f2;
  background:
    linear-gradient(135deg, rgba(248,113,113,.2), rgba(255,255,255,.07));
  box-shadow:
    0 16px 42px rgba(0,0,0,.22),
    0 0 28px rgba(248,113,113,.13) inset;
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
  font-size: clamp(.66rem, 1.7vw, .82rem);
  font-weight: 600;
  letter-spacing: .13em;
  line-height: 1;
  text-transform: uppercase;
}

.swp-public-disabled-kicker .bi {
  display: inline-grid;
  place-items: center;
  width: 24px;
  height: 24px;
  border-radius: 999px;
  color: #fecaca;
  background: rgba(248,113,113,.18);
}

.swp-public-disabled-copy h1 {
  max-width: 11ch;
  margin: 0;
  color: #fff;
  font-size: clamp(2.35rem, 8vw, 6.4rem);
  font-weight: 600;
  line-height: .86;
  letter-spacing: -.08em;
  text-wrap: balance;
  text-shadow: 0 26px 64px rgba(0,0,0,.34);
}

.swp-public-disabled-copy p {
  max-width: 46ch;
  margin: 0;
  color: rgba(226,232,240,.78);
  font-size: clamp(.95rem, 2.6vw, 1.22rem);
  font-weight: 600;
  line-height: 1.42;
}

.swp-public-disabled-event {
  min-width: 0;
  max-width: min(100%, 560px);
  display: inline-flex;
  align-items: center;
  gap: 9px;
  padding: 10px 14px;
  border: 1px solid rgba(255,255,255,.17);
  border-radius: 999px;
  color: #fff;
  background: rgba(255,255,255,.1);
  box-shadow: 0 18px 48px rgba(0,0,0,.18);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
  font-size: clamp(.82rem, 2.2vw, .96rem);
  font-weight: 600;
}

.swp-public-disabled-event span {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.swp-public-disabled-visual {
  position: relative;
  min-height: clamp(280px, 38vw, 470px);
}

.swp-public-disabled-orbit {
  position: absolute;
  inset: 50% auto auto 50%;
  width: clamp(220px, 30vw, 420px);
  aspect-ratio: 1;
  border: 1px solid rgba(255,255,255,.15);
  border-radius: 46% 54% 50% 50%;
  transform: translate(-50%, -50%);
  animation: swpPublicDisabledOrbit 11s linear infinite;
}

.swp-public-disabled-orbit.is-b {
  width: clamp(285px, 38vw, 540px);
  border-color: rgba(248,113,113,.24);
  animation-duration: 17s;
  animation-direction: reverse;
}

.swp-public-disabled-core {
  position: absolute;
  left: 50%;
  top: 50%;
  width: clamp(140px, 20vw, 230px);
  aspect-ratio: 1;
  display: grid;
  place-items: center;
  transform: translate(-50%, -50%);
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 42%;
  color: #fff;
  background:
    radial-gradient(circle at 36% 20%, rgba(255,255,255,.24), transparent 34%),
    linear-gradient(135deg, color-mix(in srgb, var(--swp-primary) 56%, #0f172a), color-mix(in srgb, #ef4444 58%, #0f172a));
  box-shadow:
    0 38px 92px rgba(0,0,0,.34),
    0 0 86px rgba(248,113,113,.18),
    inset 0 1px 0 rgba(255,255,255,.22);
}

.swp-public-disabled-core .bi {
  font-size: clamp(3.7rem, 8vw, 6.8rem);
  filter: drop-shadow(0 16px 26px rgba(0,0,0,.18));
}

.swp-public-disabled-core span {
  position: absolute;
  inset: 15%;
  border: 1px solid rgba(255,255,255,.22);
  border-radius: inherit;
}

.swp-public-disabled-status,
.swp-public-disabled-note {
  position: absolute;
  border: 1px solid rgba(255,255,255,.17);
  color: #fff;
  background: rgba(255,255,255,.1);
  box-shadow: 0 22px 54px rgba(0,0,0,.2);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
}

.swp-public-disabled-status {
  left: 0;
  top: 15%;
  display: grid;
  gap: 3px;
  padding: 13px 15px;
  border-radius: 22px;
}

.swp-public-disabled-status small {
  color: rgba(226,232,240,.68);
  font-size: .68rem;
  font-weight: 600;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.swp-public-disabled-status strong {
  color: #fca5a5;
  font-size: clamp(1.35rem, 4.4vw, 2.2rem);
  font-weight: 600;
  letter-spacing: .12em;
  line-height: 1;
}

.swp-public-disabled-note {
  right: 0;
  bottom: 12%;
  display: inline-flex;
  align-items: center;
  gap: 9px;
  padding: 11px 13px;
  border-radius: 999px;
  color: rgba(255,255,255,.9);
  font-size: clamp(.74rem, 2vw, .9rem);
  font-weight: 600;
}

.swp-public-disabled-note .bi {
  color: #fca5a5;
  animation: swpPublicDisabledSpin 3.6s linear infinite;
}

@keyframes swpPublicDisabledOrbit {
  from {
    rotate: 0deg;
    border-radius: 42% 58% 50% 50%;
  }
  to {
    rotate: 360deg;
    border-radius: 58% 42% 50% 50%;
  }
}

@keyframes swpPublicDisabledSpin {
  to {
    transform: rotate(360deg);
  }
}

@media (max-width: 760px) {
  body.swp-offline-page.is-public-offline .swp-offline-shell {
    align-items: stretch;
    padding: 10px;
  }

  .swp-public-disabled-premium {
    width: 100%;
    min-height: calc(100dvh - 20px);
    border-radius: 28px;
  }

  .swp-public-disabled-card {
    grid-template-columns: 1fr;
    align-content: center;
    gap: 18px;
    padding: 22px 18px;
  }

  .swp-public-disabled-copy {
    justify-items: center;
    order: 2;
    text-align: center;
  }

  .swp-public-disabled-copy h1 {
    max-width: 10ch;
    font-size: clamp(2.35rem, 15vw, 4rem);
  }

  .swp-public-disabled-copy p {
    max-width: 31ch;
    font-size: .92rem;
    line-height: 1.34;
  }

  .swp-public-disabled-event {
    max-width: 100%;
  }

  .swp-public-disabled-visual {
    min-height: 250px;
    order: 1;
  }

  .swp-public-disabled-status {
    left: 4%;
    top: 8%;
    padding: 10px 12px;
  }

  .swp-public-disabled-note {
    right: 4%;
    bottom: 5%;
    max-width: 190px;
  }
}

/* Override finale: #autore sempre presente + tag multipli liberi e compatti. */
body.swp-public-app .swp-social-hashtags {
  gap: 4px !important;
  margin-top: 6px !important;
}

body.swp-public-app .swp-social-hashtag-head {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 8px !important;
  margin: 0 !important;
  min-height: 20px !important;
}

body.swp-public-app .swp-author-hashtag-pill {
  display: inline-flex !important;
  align-items: center !important;
  gap: 5px !important;
  max-width: min(62vw, 240px);
  min-height: 20px !important;
  padding: 3px 7px !important;
  border-radius: 999px !important;
  color: #075985 !important;
  background: rgba(var(--branding-primary-rgb), .07) !important;
  font-size: .62rem !important;
  font-weight: 600 !important;
  line-height: 1 !important;
}

body.swp-public-app .swp-author-hashtag-pill .bi {
  font-size: .68rem;
}

body.swp-public-app [data-author-hashtag] {
  display: inline-block !important;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

body.swp-public-app .swp-social-hashtag-head small {
  color: rgba(100,116,139,.56) !important;
  font-size: .58rem !important;
  font-weight: 600 !important;
  line-height: 1 !important;
}

body.swp-public-app .swp-hashtag-input-group {
  align-items: stretch;
}

body.swp-public-app .swp-hashtag-input-group .input-group-text {
  min-height: 36px !important;
  padding: 0 9px !important;
  border-radius: 13px 0 0 13px !important;
  font-size: .86rem;
}

body.swp-public-app .swp-hashtag-input-group .form-control {
  min-height: 36px !important;
  height: 36px !important;
  padding: 7px 10px !important;
  border-radius: 0 13px 13px 0 !important;
  font-size: .78rem !important;
  font-weight: 600 !important;
}

body.swp-public-app .swp-hashtag-input-group .form-control::placeholder {
  color: rgba(100,116,139,.5) !important;
  font-weight: 520 !important;
}

@media (max-width: 620px) {
  body.swp-public-app .swp-social-hashtags {
    gap: 3px !important;
    margin-top: 5px !important;
  }

  body.swp-public-app .swp-social-hashtag-head {
    min-height: 18px !important;
  }

  body.swp-public-app .swp-author-hashtag-pill {
    max-width: 68vw;
    min-height: 18px !important;
    padding: 2px 6px !important;
    font-size: .58rem !important;
  }

  body.swp-public-app .swp-social-hashtag-head small {
    display: none !important;
  }

  body.swp-public-app .swp-hashtag-input-group .input-group-text,
  body.swp-public-app .swp-hashtag-input-group .form-control {
    min-height: 34px !important;
    height: 34px !important;
  }

  body.swp-public-app .swp-hashtag-input-group .form-control {
    font-size: .74rem !important;
  }
}

/* Override finale: contatore caratteri piccolo sotto il testo. */
body.swp-public-app .swp-message-count-row {
  display: flex;
  justify-content: flex-end;
  margin: -4px 2px 2px !important;
  min-height: 13px;
  pointer-events: none;
}

body.swp-public-app .swp-message-count-row .swp-character-count {
  color: rgba(100,116,139,.58) !important;
  font-size: .62rem !important;
  font-weight: 600 !important;
  line-height: 1 !important;
  letter-spacing: .01em;
}

body.swp-public-app .swp-message-count-row .swp-character-count strong {
  color: rgba(51,65,85,.72) !important;
  font-weight: 600 !important;
}

@media (max-width: 620px) {
  body.swp-public-app .swp-message-count-row {
    margin-top: -5px !important;
    margin-bottom: 1px !important;
  }

  body.swp-public-app .swp-message-count-row .swp-character-count {
    font-size: .58rem !important;
  }
}

/* Override finale live: card sempre dentro i bordi monitor e senza ombra flottante. */
body.swp-wall-premium {
  --wall-card-shadow: none !important;
  --wall-card-border: color-mix(in srgb, var(--swp-primary) 18%, rgba(148,163,184,.38)) !important;
  --swp-live-safe-pad: clamp(18px, 2.35vmin, 38px);
}

body.swp-wall-premium #wall-stage.swp-screen-stage,
body.swp-wall-premium .swp-screen-stage:where(main) {
  box-sizing: border-box !important;
  padding: var(--swp-live-safe-pad) !important;
  overflow: hidden !important;
}

body.swp-wall-premium #wall-stage .swp-screen-grid {
  box-sizing: border-box !important;
  width: 100% !important;
  height: 100% !important;
  min-width: 0 !important;
  min-height: 0 !important;
  overflow: visible !important;
}

body.swp-wall-premium #wall-stage .swp-screen-post,
body.swp-wall-premium #wall-stage .wall-post,
body.swp-wall-premium #wall-stage .qr-post {
  max-width: 100% !important;
  max-height: 100% !important;
  border: 1px solid var(--wall-card-border) !important;
  box-shadow: none !important;
  outline: 1px solid rgba(255,255,255,.64);
  outline-offset: -1px;
}

body.swp-wall-premium #wall-stage .swp-screen-post:not(.qr-post)::after,
body.swp-wall-premium #wall-stage .wall-post:not(.qr-post)::after {
  content: "";
  position: absolute;
  inset: 1px;
  z-index: 4;
  border-radius: inherit;
  border: 1px solid rgba(255,255,255,.32);
  background:
    linear-gradient(135deg, rgba(255,255,255,.22), transparent 28%, transparent 72%, rgba(255,255,255,.10));
  pointer-events: none;
  mix-blend-mode: screen;
}

body.swp-wall-premium #wall-stage .layout-fullscreen .swp-screen-post {
  width: 100% !important;
  height: 100% !important;
}

body.swp-wall-premium[data-wall-aspect-mode="portrait"] {
  --swp-live-safe-pad: clamp(14px, 3.8cqw, 26px);
}

body.swp-wall-premium[data-wall-aspect-mode="compact"] {
  --swp-live-safe-pad: clamp(14px, 2.8vmin, 28px);
}

/* Override finale regia: controlli live/evento come switch compatti. */
.swp-inline-detail-actions .swp-inline-monitor-switch,
.swp-inline-detail-actions .swp-event-activate-form,
.swp-inline-detail-actions .swp-event-deactivate-form {
  display: inline-flex;
  margin: 0;
}

/* Nella riga aperta resta un solo comando "Attiva live": quello della regia. */
.swp-event-row.is-selected .swp-event-row-actions > .swp-event-activate-form {
  display: none;
}

.swp-inline-detail-actions .swp-regia-live-switch.btn {
  min-width: 168px !important;
  height: 40px !important;
  min-height: 40px !important;
  justify-content: space-between !important;
  gap: 10px !important;
  padding: 0 10px 0 13px !important;
  border-radius: var(--swp-button-radius) !important;
  color: #334155 !important;
  border-color: rgba(148,163,184,.26) !important;
  background: rgba(255,255,255,.92) !important;
  white-space: nowrap;
  box-shadow: 0 8px 18px rgba(15,23,42,.045) !important;
}

.swp-regia-live-switch .swp-switch-copy {
  min-width: 0;
  display: inline-flex;
  align-items: center;
  gap: 7px;
}

.swp-regia-live-switch .swp-switch-copy .bi {
  font-size: .9rem;
  color: #64748b;
}

.swp-regia-live-switch .swp-switch-label {
  overflow: hidden;
  text-overflow: ellipsis;
  font-size: .78rem;
  font-weight: 600;
}

.swp-regia-live-switch .swp-switch-control {
  width: 40px !important;
  height: 22px !important;
  flex: 0 0 40px !important;
  border-color: rgba(148,163,184,.32) !important;
  background: rgba(148,163,184,.16) !important;
}

.swp-regia-live-switch .swp-switch-knob {
  width: 16px !important;
  height: 16px !important;
  border-color: rgba(148,163,184,.22) !important;
}

.swp-regia-live-switch.is-playing {
  color: #334155 !important;
  border-color: rgba(148,163,184,.26) !important;
  background: rgba(255,255,255,.92) !important;
}

.swp-regia-live-switch.is-playing .swp-switch-copy .bi {
  color: #059669;
}

.swp-regia-live-switch.is-playing .swp-switch-control,
.swp-regia-live-switch.is-on .swp-switch-control {
  border-color: rgba(16,185,129,.34) !important;
  background: linear-gradient(135deg, #10b981, #22c55e) !important;
}

.swp-regia-live-switch.is-playing .swp-switch-knob,
.swp-regia-live-switch.is-on .swp-switch-knob {
  transform: translateX(18px);
}

.swp-regia-live-switch.is-paused {
  color: #334155 !important;
  border-color: rgba(148,163,184,.26) !important;
  background: rgba(255,255,255,.92) !important;
}

.swp-regia-live-switch.is-paused .swp-switch-copy .bi {
  color: #d97706;
}

.swp-regia-live-switch.is-paused .swp-switch-control {
  border-color: rgba(245,158,11,.32) !important;
  background: rgba(245,158,11,.16) !important;
}

.swp-regia-live-switch.is-off {
  color: #334155 !important;
  border-color: rgba(148,163,184,.26) !important;
  background: rgba(255,255,255,.92) !important;
}

.swp-regia-live-switch.is-off .swp-switch-copy .bi {
  color: var(--swp-primary);
}

.swp-regia-live-switch.is-off .swp-switch-control {
  border-color: rgba(148,163,184,.32) !important;
  background: rgba(148,163,184,.16) !important;
}

.swp-regia-live-switch.is-on {
  color: #334155 !important;
  border-color: rgba(148,163,184,.26) !important;
  background: rgba(255,255,255,.92) !important;
}

.swp-regia-live-switch.is-on .swp-switch-copy .bi {
  color: #d97706;
}

.swp-regia-live-switch.is-on .swp-switch-control {
  border-color: rgba(16,185,129,.34) !important;
  background: linear-gradient(135deg, #10b981, #22c55e) !important;
}

.swp-regia-live-switch:hover,
.swp-regia-live-switch:focus-visible {
  transform: translateY(-1px);
  color: #172033 !important;
  border-color: rgba(148,163,184,.38) !important;
  background: #ffffff !important;
  box-shadow: 0 12px 26px rgba(15,23,42,.075) !important;
}

/* Regia: stato di modifica bloccata leggibile e con tooltip sul wrapper. */
.swp-edit-locked-wrap {
  min-width: 176px;
  display: inline-flex;
  border-radius: var(--swp-button-radius, 14px);
  line-height: 1;
  cursor: help;
}

.swp-inline-detail-actions .swp-edit-locked-button.btn {
  width: 100%;
  min-width: 176px;
  height: 40px !important;
  min-height: 40px !important;
  justify-content: flex-start !important;
  gap: 8px !important;
  padding: 0 10px !important;
  border-color: rgba(217, 119, 6, .24) !important;
  border-radius: var(--swp-button-radius, 14px) !important;
  color: #92400e !important;
  background: linear-gradient(180deg, rgba(255, 251, 235, .98), rgba(255, 247, 237, .94)) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.9), 0 8px 18px rgba(180, 83, 9, .07) !important;
  opacity: 1 !important;
  pointer-events: none;
  transform: none !important;
}

.swp-edit-locked-icon {
  width: 26px;
  height: 26px;
  flex: 0 0 26px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(217, 119, 6, .18);
  border-radius: 9px;
  color: #b45309;
  background: rgba(245, 158, 11, .14);
  font-size: .72rem;
}

.swp-edit-locked-label {
  min-width: 0;
  flex: 1 1 auto;
  overflow: hidden;
  font-size: .78rem;
  font-weight: 650;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.swp-edit-locked-info {
  flex: 0 0 auto;
  color: rgba(146, 64, 14, .62);
  font-size: .76rem;
}

.swp-edit-locked-wrap:hover .swp-edit-locked-button,
.swp-edit-locked-wrap:focus-visible .swp-edit-locked-button {
  border-color: rgba(217, 119, 6, .4) !important;
  background: linear-gradient(180deg, #fffbeb, #ffedd5) !important;
  box-shadow: inset 0 1px 0 #fff, 0 12px 24px rgba(180, 83, 9, .11) !important;
}

.swp-edit-locked-wrap:focus-visible {
  outline: 3px solid rgba(245, 158, 11, .2);
  outline-offset: 2px;
}

html.swp-theme-dark .swp-inline-detail-actions .swp-edit-locked-button.btn {
  color: #fbbf24 !important;
  border-color: rgba(245, 158, 11, .28) !important;
  background: linear-gradient(180deg, rgba(120, 53, 15, .24), rgba(69, 26, 3, .32)) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.05), 0 8px 18px rgba(0,0,0,.12) !important;
}

html.swp-theme-dark .swp-edit-locked-icon {
  color: #fbbf24;
  border-color: rgba(245, 158, 11, .24);
  background: rgba(245, 158, 11, .13);
}

html.swp-theme-dark .swp-edit-locked-info {
  color: rgba(253, 230, 138, .7);
}

@media (max-width: 720px) {
  .swp-inline-detail-actions .swp-inline-monitor-switch,
  .swp-inline-detail-actions .swp-inline-monitor-switch .swp-monitor-live-switch {
    width: 100%;
  }

  .swp-inline-detail-actions .swp-regia-live-switch.btn {
    min-width: 152px !important;
  }

  .swp-inline-detail-actions .swp-edit-locked-wrap,
  .swp-inline-detail-actions .swp-edit-locked-button.btn {
    width: 100%;
    min-width: 0;
  }
}

/* Override finale: colori tab moderazione per stato. */
.swp-moderation-filter button[data-mod-status-filter="pending"] {
  color: #9a5b00 !important;
}

.swp-moderation-filter button[data-mod-status-filter="pending"] .swp-mod-filter-count {
  color: #9a5b00 !important;
  background: rgba(245,158,11,.14) !important;
}

.swp-moderation-filter button[data-mod-status-filter="pending"].is-active {
  color: #92400e !important;
  background:
    linear-gradient(180deg, rgba(255,251,235,.98), rgba(254,243,199,.76)) !important;
  box-shadow:
    inset 0 0 0 1px rgba(245,158,11,.22),
    0 6px 14px rgba(245,158,11,.08) !important;
}

.swp-moderation-filter button[data-mod-status-filter="approved"] {
  color: #047857 !important;
}

.swp-moderation-filter button[data-mod-status-filter="approved"] .swp-mod-filter-count {
  color: #047857 !important;
  background: rgba(16,185,129,.13) !important;
}

.swp-moderation-filter button[data-mod-status-filter="approved"].is-active {
  color: #047857 !important;
  background:
    linear-gradient(180deg, rgba(236,253,245,.98), rgba(209,250,229,.72)) !important;
  box-shadow:
    inset 0 0 0 1px rgba(16,185,129,.2),
    0 6px 14px rgba(16,185,129,.08) !important;
}

.swp-moderation-filter button[data-mod-status-filter="archived"] {
  color: #b91c1c !important;
}

.swp-moderation-filter button[data-mod-status-filter="archived"] .swp-mod-filter-count {
  color: #b91c1c !important;
  background: rgba(239,68,68,.12) !important;
}

.swp-moderation-filter button[data-mod-status-filter="archived"].is-active {
  color: #b91c1c !important;
  background:
    linear-gradient(180deg, rgba(254,242,242,.98), rgba(254,226,226,.74)) !important;
  box-shadow:
    inset 0 0 0 1px rgba(239,68,68,.2),
    0 6px 14px rgba(239,68,68,.08) !important;
}

.swp-moderation-filter button.is-active .swp-mod-filter-count {
  background: rgba(255,255,255,.78) !important;
}

/* Override finale dark mode: switch regia e tab filtro senza fondi chiari. */
html.swp-theme-dark .swp-inline-detail-actions .swp-regia-live-switch.btn,
html.swp-theme-dark .swp-regia-live-switch.is-playing,
html.swp-theme-dark .swp-regia-live-switch.is-paused,
html.swp-theme-dark .swp-regia-live-switch.is-off,
html.swp-theme-dark .swp-regia-live-switch.is-on {
  color: #e2f4f8 !important;
  border-color: rgba(191,245,255,.16) !important;
  background:
    radial-gradient(circle at top left, rgba(0,170,236,.13), transparent 42%),
    linear-gradient(135deg, rgba(13,31,40,.96), rgba(7,22,31,.93)) !important;
  box-shadow:
    0 12px 28px rgba(0,0,0,.22),
    inset 0 1px 0 rgba(255,255,255,.055) !important;
}

html.swp-theme-dark .swp-regia-live-switch .swp-switch-copy .bi {
  color: #9ec0ca;
}

html.swp-theme-dark .swp-regia-live-switch .swp-switch-control {
  border-color: rgba(191,245,255,.18) !important;
  background: rgba(237,249,252,.08) !important;
}

html.swp-theme-dark .swp-regia-live-switch .swp-switch-knob {
  border-color: rgba(191,245,255,.28) !important;
  background: #d8eef4 !important;
  box-shadow: 0 4px 10px rgba(0,0,0,.22);
}

html.swp-theme-dark .swp-regia-live-switch.is-playing .swp-switch-copy .bi {
  color: #34d399;
}

html.swp-theme-dark .swp-regia-live-switch.is-paused .swp-switch-copy .bi,
html.swp-theme-dark .swp-regia-live-switch.is-on .swp-switch-copy .bi {
  color: #fbbf24;
}

html.swp-theme-dark .swp-regia-live-switch.is-off .swp-switch-copy .bi {
  color: #7dd3fc;
}

html.swp-theme-dark .swp-regia-live-switch.is-playing .swp-switch-control,
html.swp-theme-dark .swp-regia-live-switch.is-on .swp-switch-control {
  border-color: rgba(74,222,128,.34) !important;
  background: linear-gradient(135deg, #059669, #22c55e) !important;
  box-shadow: 0 0 0 3px rgba(34,197,94,.08);
}

html.swp-theme-dark .swp-regia-live-switch.is-paused .swp-switch-control {
  border-color: rgba(251,191,36,.3) !important;
  background: rgba(245,158,11,.18) !important;
}

html.swp-theme-dark .swp-regia-live-switch.is-off .swp-switch-control {
  border-color: rgba(148,163,184,.22) !important;
  background: rgba(148,163,184,.13) !important;
}

html.swp-theme-dark .swp-regia-live-switch:hover,
html.swp-theme-dark .swp-regia-live-switch:focus-visible {
  color: #ffffff !important;
  border-color: rgba(125,211,252,.3) !important;
  background:
    radial-gradient(circle at top left, rgba(0,170,236,.2), transparent 42%),
    linear-gradient(135deg, rgba(18,45,58,.98), rgba(10,28,38,.96)) !important;
  box-shadow:
    0 18px 34px rgba(0,0,0,.28),
    inset 0 1px 0 rgba(255,255,255,.075) !important;
}

html.swp-theme-dark .swp-regia-live-switch:disabled,
html.swp-theme-dark .swp-regia-live-switch.is-disabled {
  color: #7596a1 !important;
  border-color: rgba(191,245,255,.1) !important;
  background: rgba(255,255,255,.035) !important;
  box-shadow: none !important;
  opacity: 1 !important;
}

html.swp-theme-dark .swp-moderation-filter {
  border-color: rgba(191,245,255,.13) !important;
  background:
    linear-gradient(180deg, rgba(15,23,42,.94), rgba(8,22,30,.82)) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.05),
    0 14px 32px rgba(0,0,0,.22) !important;
}

html.swp-theme-dark .swp-moderation-filter button {
  color: #9ec0ca !important;
}

html.swp-theme-dark .swp-moderation-filter button:hover {
  color: #f8fafc !important;
  background: rgba(255,255,255,.06) !important;
}

html.swp-theme-dark .swp-moderation-filter button[data-mod-status-filter="pending"] {
  color: #fbbf24 !important;
}

html.swp-theme-dark .swp-moderation-filter button[data-mod-status-filter="pending"] .swp-mod-filter-count {
  color: #fde68a !important;
  background: rgba(245,158,11,.16) !important;
}

html.swp-theme-dark .swp-moderation-filter button[data-mod-status-filter="pending"].is-active {
  color: #fef3c7 !important;
  background:
    linear-gradient(180deg, rgba(245,158,11,.24), rgba(245,158,11,.12)) !important;
  box-shadow:
    inset 0 0 0 1px rgba(251,191,36,.25),
    0 8px 18px rgba(245,158,11,.12) !important;
}

html.swp-theme-dark .swp-moderation-filter button[data-mod-status-filter="approved"] {
  color: #34d399 !important;
}

html.swp-theme-dark .swp-moderation-filter button[data-mod-status-filter="approved"] .swp-mod-filter-count {
  color: #bbf7d0 !important;
  background: rgba(16,185,129,.14) !important;
}

html.swp-theme-dark .swp-moderation-filter button[data-mod-status-filter="approved"].is-active {
  color: #dcfce7 !important;
  background:
    linear-gradient(180deg, rgba(16,185,129,.22), rgba(16,185,129,.1)) !important;
  box-shadow:
    inset 0 0 0 1px rgba(74,222,128,.22),
    0 8px 18px rgba(16,185,129,.11) !important;
}

html.swp-theme-dark .swp-moderation-filter button[data-mod-status-filter="archived"] {
  color: #f87171 !important;
}

html.swp-theme-dark .swp-moderation-filter button[data-mod-status-filter="archived"] .swp-mod-filter-count {
  color: #fecaca !important;
  background: rgba(248,113,113,.14) !important;
}

html.swp-theme-dark .swp-moderation-filter button[data-mod-status-filter="archived"].is-active {
  color: #fee2e2 !important;
  background:
    linear-gradient(180deg, rgba(248,113,113,.22), rgba(180,35,24,.12)) !important;
  box-shadow:
    inset 0 0 0 1px rgba(248,113,113,.24),
    0 8px 18px rgba(180,35,24,.11) !important;
}

html.swp-theme-dark .swp-moderation-filter button.is-active .swp-mod-filter-count {
  background: rgba(15,23,42,.52) !important;
}

/* Override finale UX mobile: composer utente più social, leggero e chiaro durante la compressione foto. */
body.swp-public-app .swp-social-composer-card {
  position: relative;
  gap: 10px !important;
  padding: clamp(14px, 4vw, 20px) !important;
  border-color: rgba(148,163,184,.2) !important;
  background:
    radial-gradient(circle at 0 0, rgba(var(--branding-primary-rgb), .065), transparent 36%),
    linear-gradient(180deg, rgba(255,255,255,.98), rgba(248,250,252,.94)) !important;
  transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}

body.swp-public-app .swp-social-composer-card.is-writing,
body.swp-public-app .swp-social-composer-card.is-ready {
  border-color: color-mix(in srgb, var(--swp-primary) 28%, rgba(148,163,184,.24)) !important;
  box-shadow:
    0 18px 38px rgba(15,23,42,.08),
    inset 0 1px 0 rgba(255,255,255,.76) !important;
}

body.swp-public-app .swp-public-composer textarea.form-control.swp-social-message-input {
  min-height: 118px !important;
  max-height: 42vh;
  padding: 13px 0 6px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  font-size: 1.04rem !important;
  line-height: 1.42 !important;
}

body.swp-public-app .swp-public-composer textarea.form-control.swp-social-message-input:focus {
  box-shadow: none !important;
}

body.swp-public-app .swp-social-message-input::placeholder,
body.swp-public-app .swp-hashtag-input-group .form-control::placeholder {
  color: rgba(100,116,139,.48) !important;
}

body.swp-public-app .swp-social-composer-tools {
  align-items: center;
  padding-top: 8px;
  border-top: 1px solid rgba(148,163,184,.16);
}

body.swp-public-app .swp-social-tool-btn {
  min-height: 40px;
  padding-inline: 14px;
  border-radius: 999px;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.82);
}

body.swp-public-app .swp-social-composer-card.is-compressing .swp-social-tool-btn,
body.swp-public-app .swp-social-composer-card.is-compressing .swp-social-message-input {
  pointer-events: none;
  opacity: .74;
}

body.swp-public-app .swp-upload-preview figure {
  height: min(54vw, 238px) !important;
  min-height: 168px;
  border-color: rgba(148,163,184,.22) !important;
  background:
    linear-gradient(135deg, rgba(248,250,252,.96), rgba(241,245,249,.9)) !important;
}

body.swp-public-app .swp-upload-preview figure.is-optimizing {
  display: grid;
  place-items: center;
}

body.swp-public-app .swp-upload-optimizing {
  display: grid;
  place-items: center;
  gap: 7px;
  color: #475569;
  text-align: center;
}

body.swp-public-app .swp-upload-optimizing .spinner-border {
  color: var(--swp-primary);
}

body.swp-public-app .swp-upload-optimizing strong {
  color: #172033;
  font-size: .92rem;
  font-weight: 600;
}

body.swp-public-app .swp-upload-optimizing small {
  color: #64748b;
  font-size: .75rem;
  font-weight: 600;
}

body.swp-public-app .swp-upload-preview figcaption {
  color: #0f766e !important;
  font-weight: 600 !important;
}

body.swp-public-app .swp-public-actions {
  position: sticky;
  bottom: 0;
  z-index: 12;
  padding-top: 10px;
  background: linear-gradient(180deg, transparent, rgba(255,255,255,.94) 34%);
}

@media (max-width: 720px) {
  body.swp-public-app .swp-public-composer {
    gap: 12px !important;
    padding-inline: 12px !important;
  }

  body.swp-public-app .swp-social-composer-head small,
  body.swp-public-app .swp-social-helper {
    font-size: .7rem !important;
  }

  body.swp-public-app .swp-public-actions {
    margin-inline: -12px;
    padding: 10px 12px max(10px, env(safe-area-inset-bottom));
  }

  body.swp-public-app .swp-public-composer .attendee-entry-submit {
    width: 100%;
    min-width: 0;
    min-height: 50px;
  }
}

/* Override finale wall: animazioni card più premium ma più leggere per monitor e browser embedded. */
body.swp-wall-premium #wall-stage .swp-screen-post,
body.swp-wall-premium #wall-stage .wall-post {
  backface-visibility: hidden;
  transform: translateZ(0);
  will-change: transform, opacity;
}

body.swp-wall-premium #wall-stage .swp-screen-post.is-new-arrival {
  animation: swpWallCardPremiumEnter .9s cubic-bezier(.16, 1, .3, 1) both !important;
}

body.swp-wall-premium #wall-stage .swp-screen-post.is-new-arrival::after {
  animation: swpWallCardPremiumBorder 1.45s ease-out both;
}

body.swp-wall-premium #wall-stage .swp-new-post-badge {
  top: 10px;
  left: 10px;
  padding: 6px 9px;
  background:
    linear-gradient(135deg, color-mix(in srgb, var(--swp-primary) 88%, #fff), color-mix(in srgb, var(--swp-secondary) 82%, var(--swp-primary))) !important;
  box-shadow: 0 10px 26px rgba(15,23,42,.14) !important;
}

body.swp-wall-premium #wall-stage .swp-new-post-flare::before {
  width: 26%;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.64), transparent) !important;
  filter: none !important;
  animation: swpWallCardPremiumSheen 1s .12s ease-out both !important;
}

body.swp-wall-premium #wall-stage .swp-new-post-flare i {
  width: 6px;
  height: 6px;
  background: color-mix(in srgb, var(--swp-secondary) 76%, white) !important;
  animation: swpWallCardPremiumParticle 1.18s ease-out both !important;
}

@keyframes swpWallCardPremiumEnter {
  0% {
    opacity: 0;
    transform: translate3d(0, 34px, 0) scale(.965);
  }
  54% {
    opacity: 1;
    transform: translate3d(0, -4px, 0) scale(1.01);
  }
  100% {
    opacity: 1;
    transform: translate3d(0, 0, 0) scale(1);
  }
}

@keyframes swpWallCardPremiumBorder {
  0% { border-color: rgba(255,255,255,.72); opacity: 1; }
  45% { border-color: color-mix(in srgb, var(--swp-primary) 38%, rgba(255,255,255,.7)); opacity: 1; }
  100% { opacity: 1; }
}

@keyframes swpWallCardPremiumSheen {
  0% { opacity: 0; transform: translateX(0) rotate(15deg); }
  22% { opacity: .82; }
  100% { opacity: 0; transform: translateX(620%) rotate(15deg); }
}

@keyframes swpWallCardPremiumParticle {
  0% { opacity: 0; transform: translate3d(0, 14px, 0) scale(.45); }
  24% { opacity: 1; }
  100% { opacity: 0; transform: translate3d(0, -24px, 0) scale(1.16); }
}

@keyframes swp-reaction-card-hit {
  0%, 100% {
    transform: scale(1) translateY(0);
    filter: saturate(1);
    box-shadow: none;
  }
  26% {
    transform: scale(1.018) translateY(-3px);
    filter: saturate(1.12);
    box-shadow:
      0 0 0 2px rgba(var(--branding-primary-rgb), .18),
      inset 0 0 0 1px rgba(255,255,255,.42);
  }
  52% {
    transform: scale(.997) translateY(0);
  }
}

@media (prefers-reduced-motion: reduce) {
  body.swp-wall-premium #wall-stage .swp-screen-post,
  body.swp-wall-premium #wall-stage .wall-post {
    will-change: auto;
  }

  body.swp-wall-premium #wall-stage .swp-screen-post.is-new-arrival,
  body.swp-wall-premium #wall-stage .swp-screen-post.is-new-arrival::after,
  body.swp-wall-premium #wall-stage .swp-new-post-flare::before,
  body.swp-wall-premium #wall-stage .swp-new-post-flare i {
    animation: none !important;
  }
}

/* Mantiene leggibile l'intestazione dell'accesso anche dopo gli override compatti. */
@media (max-width: 991.98px) {
  body.swp-public-app .swp-public-intro-inner {
    padding: max(14px, env(safe-area-inset-top)) 18px 16px !important;
  }

  body.swp-public-app .swp-public-brand-row {
    margin-bottom: 8px !important;
  }

  body.swp-public-app .swp-public-title h1 {
    font-size: clamp(1.48rem, 7vw, 2.05rem) !important;
    line-height: 1.02 !important;
  }

  body.swp-public-app .swp-public-title p {
    -webkit-line-clamp: 2 !important;
    font-size: .8rem !important;
    line-height: 1.34 !important;
    opacity: .86;
  }
}

/* Pagina partecipante v3: palette evento reale, gerarchia più semplice. */
body.swp-public-app {
  min-height: 100vh;
  min-height: 100dvh;
  color: #172033;
  background:
    radial-gradient(circle at 8% 4%, color-mix(in srgb, var(--swp-primary) 11%, transparent), transparent 30%),
    radial-gradient(circle at 94% 94%, color-mix(in srgb, var(--swp-secondary) 10%, transparent), transparent 28%),
    #f5f7fb !important;
}

body.swp-public-app .swp-public-shell {
  display: grid;
  min-height: 100vh;
  min-height: 100dvh;
  place-items: center;
  padding: clamp(18px, 3vw, 38px) !important;
}

body.swp-public-app .swp-public-container {
  width: 100%;
  max-width: 1120px !important;
  padding: 0 !important;
}

body.swp-public-app .swp-public-layout {
  display: grid !important;
  grid-template-columns: minmax(0, .86fr) minmax(0, 1.14fr);
  min-height: 620px !important;
  margin: 0 !important;
  overflow: hidden;
  border: 1px solid color-mix(in srgb, var(--swp-primary) 11%, #dbe2ea) !important;
  border-radius: 28px !important;
  background: #ffffff !important;
  box-shadow: 0 24px 70px rgba(15, 23, 42, .1) !important;
}

body.swp-public-app .swp-public-intro {
  position: relative;
  isolation: isolate;
  width: auto !important;
  max-width: none !important;
  min-height: 620px !important;
  overflow: hidden;
  color: #ffffff;
  background:
    linear-gradient(
      148deg,
      color-mix(in srgb, var(--swp-primary) 72%, #0f172a) 0%,
      color-mix(in srgb, var(--swp-primary) 48%, #0f172a) 48%,
      color-mix(in srgb, var(--swp-secondary) 58%, #0f172a) 100%
    ) !important;
}

body.swp-public-app .swp-public-intro::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: auto;
  width: 420px;
  height: 420px;
  right: -230px;
  bottom: -190px;
  opacity: 1;
  background: none;
  border: 1px solid rgba(255, 255, 255, .16);
  border-radius: 50%;
  box-shadow: 0 0 0 70px rgba(255, 255, 255, .035), 0 0 0 140px rgba(255, 255, 255, .025);
}

body.swp-public-app .swp-public-intro::after {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0;
  background: linear-gradient(125deg, rgba(255,255,255,.08), transparent 38%);
  pointer-events: none;
}

body.swp-public-app .swp-public-intro-inner {
  display: flex !important;
  flex-direction: column;
  min-height: 620px;
  padding: 46px 44px !important;
}

body.swp-public-app .swp-public-brand-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin: 0 !important;
  color: #ffffff !important;
}

body.swp-public-app .swp-public-brand-lockup,
body.swp-public-app .swp-public-brand-copy {
  display: inline-flex;
  align-items: center;
}

body.swp-public-app .swp-public-brand-lockup {
  gap: 12px;
}

body.swp-public-app .swp-public-brand-mark {
  display: grid;
  width: 46px;
  height: 46px;
  flex: 0 0 46px;
  overflow: hidden;
  place-items: center;
  border: 1px solid rgba(255,255,255,.2);
  border-radius: 15px;
  color: #ffffff;
  background: rgba(255,255,255,.12);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.18);
}

body.swp-public-app .swp-public-brand-mark img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  padding: 7px;
  background: rgba(255,255,255,.94);
}

body.swp-public-app .swp-public-brand-copy {
  align-items: flex-start;
  flex-direction: column;
  line-height: 1.05;
}

body.swp-public-app .swp-public-brand-copy strong {
  color: #ffffff;
  font-size: 1rem;
  font-weight: 600;
  letter-spacing: .01em;
}

body.swp-public-app .swp-public-brand-copy small {
  margin-top: 4px;
  color: rgba(255,255,255,.66);
  font-size: .7rem;
  font-weight: 600;
  letter-spacing: .12em;
  text-transform: uppercase;
}

body.swp-public-app .swp-public-brand-live {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  min-height: 32px;
  padding: 0 11px;
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 999px;
  color: #ffffff;
  background: rgba(255,255,255,.1);
  font-size: .72rem;
  font-weight: 600;
  letter-spacing: .08em;
  text-transform: uppercase;
}

body.swp-public-app .swp-public-brand-live .bi {
  color: #86efac;
  font-size: .48rem;
}

body.swp-public-app .swp-public-title {
  margin: auto 0 !important;
  padding: 52px 0;
}

body.swp-public-app .swp-public-title h1 {
  max-width: 430px;
  margin: 0 !important;
  color: #ffffff !important;
  font-size: clamp(2.7rem, 4.8vw, 4.45rem) !important;
  font-weight: 600 !important;
  letter-spacing: -.045em;
  line-height: .94 !important;
}

body.swp-public-app .swp-public-title p {
  max-width: 390px;
  margin: 22px 0 0 !important;
  color: rgba(255,255,255,.76) !important;
  font-size: 1rem !important;
  font-weight: 400;
  line-height: 1.55 !important;
}

body.swp-public-app .swp-public-visual {
  display: none !important;
}

body.swp-public-app .swp-public-intro-note {
  display: inline-flex;
  align-items: center;
  align-self: flex-start;
  gap: 10px;
  min-height: 42px;
  padding: 0 14px;
  border: 1px solid rgba(255,255,255,.15);
  border-radius: 14px;
  color: rgba(255,255,255,.84);
  background: rgba(255,255,255,.075);
  font-size: .84rem;
  font-weight: 600;
}

body.swp-public-app .swp-public-intro-note .bi {
  color: #ffffff;
  font-size: 1rem;
}

body.swp-public-app .swp-public-workspace {
  display: flex !important;
  width: auto !important;
  max-width: none !important;
  min-width: 0;
  align-items: stretch;
  background: #ffffff !important;
}

body.swp-public-app .swp-public-access-panel {
  display: flex;
  width: 100%;
  min-height: 100% !important;
  align-items: center;
  justify-content: center;
  padding: 42px !important;
  overflow: visible !important;
  background: transparent !important;
}

body.swp-public-app .swp-public-access-panel::before,
body.swp-public-app .swp-public-access-panel::after,
body.swp-public-app .swp-access-premium-glow {
  display: none !important;
}

body.swp-public-app .swp-public-access-card.swp-access-premium {
  width: 100%;
  max-width: 470px !important;
  gap: 18px !important;
  padding: 38px !important;
  overflow: hidden;
  border: 1px solid #e3e8ef !important;
  border-radius: 22px !important;
  background: #ffffff !important;
  box-shadow: 0 14px 38px rgba(15,23,42,.065) !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

body.swp-public-app .swp-public-access-card.swp-access-premium::before {
  display: none !important;
}

body.swp-public-app .swp-access-event-context {
  min-height: 62px;
  padding: 10px 12px !important;
  border: 1px solid color-mix(in srgb, var(--swp-primary) 9%, #e2e8f0) !important;
  border-radius: 17px !important;
  background: #f8fafc !important;
  box-shadow: none !important;
}

body.swp-public-app .swp-access-event-icon,
body.swp-public-app .swp-access-premium-icon {
  color: var(--swp-on-primary) !important;
  border-color: transparent !important;
  background: var(--swp-primary) !important;
  box-shadow: none !important;
}

body.swp-public-app .swp-access-event-copy small {
  color: #64748b !important;
}

body.swp-public-app .swp-access-event-copy strong {
  color: #172033 !important;
  font-weight: 600 !important;
}

body.swp-public-app .swp-access-live,
body.swp-public-app .swp-public-feed-live {
  color: #047857 !important;
  border-color: rgba(16,185,129,.18) !important;
  background: rgba(16,185,129,.09) !important;
}

body.swp-public-app .swp-access-premium-head {
  display: block !important;
  margin: 0 !important;
}

body.swp-public-app .swp-access-premium-head > div {
  width: 100%;
}

body.swp-public-app .swp-access-premium-head .swp-composer-kicker,
body.swp-public-app .swp-composer-kicker {
  color: color-mix(in srgb, var(--swp-primary) 76%, #102033) !important;
}

body.swp-public-app .swp-access-premium-head .swp-composer-kicker {
  margin-bottom: 7px !important;
}

body.swp-public-app .swp-access-premium-head h2 {
  margin: 0 !important;
  color: #111827 !important;
  font-size: clamp(2rem, 3vw, 2.4rem) !important;
  font-weight: 600 !important;
  letter-spacing: -.035em;
  line-height: 1.04 !important;
}

body.swp-public-app .swp-access-lead {
  max-width: 42ch;
  margin: 10px 0 0 !important;
  color: #64748b;
  font-size: .92rem;
  font-weight: 400;
  line-height: 1.45;
}

body.swp-public-app .swp-public-access-copy {
  margin: -5px 0 0 !important;
}

body.swp-public-app .swp-public-access-copy strong {
  color: #334155 !important;
  font-size: .96rem !important;
  font-weight: 600 !important;
}

body.swp-public-app .swp-public-access-copy p {
  margin-top: 3px !important;
  color: #64748b !important;
  font-size: .88rem !important;
  line-height: 1.42 !important;
}

body.swp-public-app .swp-access-perks {
  display: none !important;
}

body.swp-public-app .swp-public-access-fields {
  gap: 17px !important;
}

body.swp-public-app .swp-access-field .form-label {
  margin-bottom: 7px !important;
  color: #334155 !important;
  font-weight: 600 !important;
}

body.swp-public-app .swp-access-field .form-label small {
  color: #94a3b8 !important;
  font-weight: 600 !important;
}

body.swp-public-app .swp-access-input-shell {
  min-height: 56px !important;
  border: 1px solid #dbe2ea !important;
  border-radius: 16px !important;
  background: #ffffff !important;
  box-shadow: 0 4px 14px rgba(15,23,42,.035) !important;
}

body.swp-public-app .swp-access-input-shell:focus-within {
  border-color: color-mix(in srgb, var(--swp-primary) 66%, #ffffff) !important;
  box-shadow: 0 0 0 4px color-mix(in srgb, var(--swp-primary) 12%, transparent) !important;
}

body.swp-public-app .swp-access-input-shell > .bi {
  color: var(--swp-primary) !important;
}

body.swp-public-app .swp-access-input-shell .form-control {
  color: #172033 !important;
  font-family: var(--app-font-family) !important;
  font-size: 1rem !important;
  font-weight: 600 !important;
}

body.swp-public-app .swp-access-input-shell .form-control::placeholder {
  color: #a6b0be !important;
  font-weight: 400;
}

body.swp-public-app .swp-access-privacy {
  border-color: #dbe2ea !important;
  background: #f8fafc !important;
  box-shadow: none !important;
}

body.swp-public-app .swp-access-privacy a,
body.swp-public-app .swp-privacy-open {
  color: color-mix(in srgb, var(--swp-primary) 78%, #102033) !important;
}

body.swp-public-app .swp-access-actions {
  position: static !important;
  margin: 0 !important;
  padding: 0 !important;
  background: none !important;
}

body.swp-public-app .swp-access-actions .attendee-entry-submit {
  min-height: 56px !important;
  color: var(--swp-on-primary) !important;
  border-color: var(--swp-primary) !important;
  border-radius: 16px !important;
  background: var(--swp-primary) !important;
  box-shadow: 0 15px 30px color-mix(in srgb, var(--swp-primary) 24%, transparent) !important;
  font-family: var(--app-font-family) !important;
  font-size: 1rem !important;
  font-weight: 600 !important;
}

body.swp-public-app .swp-access-actions .attendee-entry-submit:hover,
body.swp-public-app .swp-access-actions .attendee-entry-submit:focus-visible {
  color: var(--swp-on-primary) !important;
  border-color: color-mix(in srgb, var(--swp-primary) 82%, #102033) !important;
  background: color-mix(in srgb, var(--swp-primary) 86%, #102033) !important;
  box-shadow: 0 18px 34px color-mix(in srgb, var(--swp-primary) 30%, transparent) !important;
  transform: translateY(-1px);
}

body.swp-public-app .swp-access-secure-note {
  margin: -6px 0 0 !important;
  color: #94a3b8 !important;
  font-size: .72rem !important;
  font-weight: 600 !important;
}

/* Anche feed e composer usano i token dell'evento, mai quelli del tema legacy. */
body.swp-public-app .swp-post-reaction.is-voted,
body.swp-public-app .swp-author-hashtag-pill,
body.swp-public-app .swp-public-post-hashtags button,
body.swp-public-app .swp-public-post-hashtags span {
  color: color-mix(in srgb, var(--swp-primary) 78%, #102033) !important;
  border-color: color-mix(in srgb, var(--swp-primary) 24%, #dbe2ea) !important;
  background: color-mix(in srgb, var(--swp-primary) 9%, #ffffff) !important;
}

body.swp-public-app .swp-hashtag-input-group:focus-within,
body.swp-public-app .swp-hashtag-input-group .form-control:focus {
  border-color: color-mix(in srgb, var(--swp-primary) 56%, #dbe2ea) !important;
  box-shadow: 0 0 0 4px color-mix(in srgb, var(--swp-primary) 11%, transparent) !important;
}

body.swp-public-app .swp-public-hashtag-filter {
  color: color-mix(in srgb, var(--swp-primary) 78%, #102033) !important;
  border-color: color-mix(in srgb, var(--swp-primary) 22%, #dbe2ea) !important;
  background: color-mix(in srgb, var(--swp-primary) 8%, #ffffff) !important;
}

body.swp-public-app .swp-public-hashtag-filter .btn,
body.swp-public-app .swp-social-tool-btn {
  color: color-mix(in srgb, var(--swp-primary) 78%, #102033) !important;
  border-color: color-mix(in srgb, var(--swp-primary) 22%, #dbe2ea) !important;
  background: color-mix(in srgb, var(--swp-primary) 7%, #ffffff) !important;
}

body.swp-public-app .swp-social-composer-card {
  border-color: color-mix(in srgb, var(--swp-primary) 14%, #dbe2ea) !important;
  box-shadow: 0 18px 44px rgba(15,23,42,.08) !important;
}

body.swp-public-app .swp-public-layout:has([data-public-webapp]:not([hidden])) {
  grid-template-columns: minmax(0, 1fr);
  max-width: 900px;
  margin-inline: auto !important;
}

body.swp-public-app .swp-public-layout:has([data-public-webapp]:not([hidden])) .swp-public-intro {
  display: none !important;
}

body.swp-public-app .swp-public-layout:has([data-public-webapp]:not([hidden])) .swp-public-workspace {
  min-height: 650px;
  background: #ffffff !important;
}

@media (max-width: 991.98px) {
  body.swp-public-app .swp-public-shell {
    display: block;
    padding: 14px !important;
  }

  body.swp-public-app .swp-public-layout {
    grid-template-columns: minmax(0, 1fr);
    min-height: 0 !important;
    border-radius: 26px !important;
  }

  body.swp-public-app .swp-public-intro {
    min-height: 210px !important;
  }

  body.swp-public-app .swp-public-intro-inner {
    min-height: 210px;
    padding: 24px !important;
  }

  body.swp-public-app .swp-public-title {
    padding: 30px 0 22px;
  }

  body.swp-public-app .swp-public-title h1 {
    max-width: none;
    font-size: clamp(2rem, 8vw, 3.15rem) !important;
    line-height: .98 !important;
  }

  body.swp-public-app .swp-public-title p {
    max-width: 620px;
    margin-top: 12px !important;
    font-size: .9rem !important;
  }

  body.swp-public-app .swp-public-intro-note {
    display: none !important;
  }

  body.swp-public-app .swp-public-access-panel {
    min-height: 0 !important;
    padding: 24px !important;
  }

  body.swp-public-app .swp-public-access-card.swp-access-premium {
    max-width: 620px !important;
  }
}

@media (max-width: 575.98px) {
  body.swp-public-app .swp-public-shell {
    padding: 0 !important;
  }

  body.swp-public-app .swp-public-layout {
    min-height: 100vh !important;
    min-height: 100dvh !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
  }

  body.swp-public-app .swp-public-intro {
    min-height: 154px !important;
  }

  body.swp-public-app .swp-public-intro-inner {
    min-height: 154px;
    padding: max(15px, env(safe-area-inset-top)) 16px 16px !important;
  }

  body.swp-public-app .swp-public-brand-mark {
    width: 40px;
    height: 40px;
    flex-basis: 40px;
    border-radius: 13px;
  }

  body.swp-public-app .swp-public-title {
    padding: 18px 0 0;
  }

  body.swp-public-app .swp-public-title h1 {
    font-size: clamp(1.9rem, 10vw, 2.6rem) !important;
  }

  body.swp-public-app .swp-public-title p {
    display: none !important;
  }

  body.swp-public-app .swp-public-access-panel {
    padding: 18px 14px max(20px, env(safe-area-inset-bottom)) !important;
  }

  body.swp-public-app .swp-public-access-card.swp-access-premium {
    gap: 18px !important;
    padding: 22px 2px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  body.swp-public-app .swp-access-premium-head h2 {
    font-size: 2rem !important;
  }

  body.swp-public-app .swp-access-field .form-label small {
    display: none;
  }
}

/* Tipografia pubblica: usa solo i pesi reali caricati da Titillium Web. */
body.swp-public-app {
  font-weight: 400;
}

body.swp-public-app .swp-public-brand-copy strong,
body.swp-public-app .swp-public-brand-live,
body.swp-public-app .swp-public-title h1,
body.swp-public-app .swp-access-event-copy strong,
body.swp-public-app .swp-composer-kicker,
body.swp-public-app .swp-access-premium-head h2,
body.swp-public-app .swp-public-access-copy strong,
body.swp-public-app .swp-access-field .form-label,
body.swp-public-app .swp-access-actions .attendee-entry-submit,
body.swp-public-app .swp-public-feed-heading h2,
body.swp-public-app .swp-public-feed-live,
body.swp-public-app .swp-public-post-author strong,
body.swp-public-app .swp-post-reaction,
body.swp-public-app .swp-public-post-hashtags button,
body.swp-public-app .swp-public-post-hashtags span,
body.swp-public-app .swp-social-composer-head strong,
body.swp-public-app .swp-social-tool-btn,
body.swp-public-app .swp-public-mobile-nav a,
body.swp-public-app .swp-author-hashtag-pill,
body.swp-public-app .swp-character-count strong,
body.swp-public-app .swp-upload-preview strong {
  font-weight: 600 !important;
}

body.swp-public-app .swp-public-brand-copy small,
body.swp-public-app .swp-public-title p,
body.swp-public-app .swp-public-intro-note,
body.swp-public-app .swp-access-event-copy small,
body.swp-public-app .swp-public-access-copy p,
body.swp-public-app .swp-access-field .form-label small,
body.swp-public-app .swp-access-input-shell .form-control,
body.swp-public-app .swp-access-secure-note,
body.swp-public-app .swp-public-post-author small,
body.swp-public-app .swp-public-post-message,
body.swp-public-app .swp-social-composer-head small,
body.swp-public-app .swp-social-hashtag-head small,
body.swp-public-app .swp-hashtag-input-group .form-control,
body.swp-public-app .swp-character-count,
body.swp-public-app .swp-upload-preview small {
  font-weight: 400 !important;
}

/* Anche gli stati offline restano leggibili senza pesi sintetici 800–960. */
.swp-offline-page {
  font-weight: 400;
}

.swp-public-disabled-kicker,
.swp-public-disabled-copy h1,
.swp-public-disabled-event,
.swp-public-disabled-status strong,
.swp-public-disabled-note,
.swp-offline-kicker,
.swp-offline-copy h1,
.swp-offline-event-pill,
.swp-offline-screen-body strong {
  font-weight: 600 !important;
}

.swp-public-disabled-copy p,
.swp-public-disabled-status small,
.swp-offline-copy p {
  font-weight: 400 !important;
}

/* Peso bold condiviso: piu leggero e coerente in tutte le viste. */
:where(b, strong, .fw-bold, .fw-semibold) {
  font-weight: var(--app-font-weight-bold, 600) !important;
}

/* Tooltip compatte e coerenti con la tipografia dell'interfaccia. */
.tooltip {
  --bs-tooltip-font-size: .68rem !important;
  --bs-tooltip-padding-x: 9px;
  --bs-tooltip-padding-y: 6px;
  --bs-tooltip-border-radius: 9px;
  --bs-tooltip-max-width: 180px;
}

.tooltip .tooltip-inner {
  font-size: .68rem !important;
  line-height: 1.2;
}

[data-inline-tooltip]::after {
  padding: 6px 9px !important;
  border-radius: 9px !important;
  font-size: .68rem !important;
  line-height: 1.2 !important;
}

/* Salvataggio evento sempre disponibile durante lo scroll. */
.swp-new-event-form {
  padding-bottom: 104px;
}

.swp-new-event-form .swp-new-event-actions {
  position: fixed;
  z-index: 1035;
  left: 50%;
  bottom: max(14px, env(safe-area-inset-bottom));
  width: min(620px, calc(100vw - 32px));
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(230px, auto);
  align-items: center;
  gap: 12px;
  padding: 10px 10px 10px 18px;
  border: 1px solid rgba(var(--branding-primary-rgb), .18);
  border-radius: 22px;
  background: rgba(255, 255, 255, .92);
  box-shadow: 0 18px 54px rgba(15, 23, 42, .2);
  backdrop-filter: blur(18px) saturate(150%);
  -webkit-backdrop-filter: blur(18px) saturate(150%);
  transform: translateX(-50%);
}

.swp-new-event-form .swp-new-event-actions.has-regia-action {
  width: min(840px, calc(100vw - 32px));
  grid-template-columns: minmax(230px, auto) minmax(150px, 1fr) minmax(230px, auto);
}

.swp-new-event-form .swp-new-event-actions.has-regia-action > :is(.swp-event-save-back, .swp-new-event-submit) {
  width: 100%;
  min-width: 230px;
  min-height: 52px !important;
  height: 52px !important;
  padding: 0 18px !important;
  border-radius: 16px !important;
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: center !important;
  gap: 8px;
  font-size: 1rem !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
}

.swp-new-event-form .swp-event-save-back {
  grid-column: 1;
  grid-row: 1;
  min-width: 230px;
  min-height: 52px !important;
  height: 52px !important;
  padding: 0 18px !important;
  border-color: var(--btn-secondary) !important;
  border-radius: 16px !important;
  color: var(--btn-secondary-text) !important;
  background: var(--btn-secondary) !important;
  box-shadow: 0 10px 24px rgba(var(--branding-secondary-rgb), .2);
  font-weight: 600 !important;
  text-decoration: none;
}

.swp-new-event-form .swp-event-save-back:hover,
.swp-new-event-form .swp-event-save-back:focus-visible {
  border-color: var(--btn-secondary-2) !important;
  color: var(--btn-secondary-text) !important;
  background: var(--btn-secondary-2) !important;
  box-shadow: 0 13px 28px rgba(var(--branding-secondary-rgb), .26);
  transform: translateY(-1px);
}

.swp-new-event-form .swp-new-event-actions .swp-new-event-submit {
  grid-column: 2;
  min-height: 52px;
  border-radius: 16px;
  box-shadow: 0 12px 28px rgba(var(--branding-primary-rgb), .24);
}

.swp-new-event-form .swp-new-event-actions .swp-new-event-submit-note {
  grid-column: 1;
  grid-row: 1;
  margin: 0;
  color: var(--muted);
  text-align: left;
  font-size: .82rem;
}

.swp-new-event-form .swp-new-event-actions.has-regia-action .swp-new-event-submit-note {
  grid-column: 2;
  min-width: 0;
}

.swp-new-event-form .swp-new-event-actions.has-regia-action .swp-new-event-submit {
  grid-column: 3;
}

.swp-new-event-form .swp-new-event-actions.is-dirty {
  border-color: rgba(245, 158, 11, .35);
}

.swp-new-event-form .swp-new-event-actions.is-dirty .swp-new-event-submit-note {
  color: #9a5b08;
}

.swp-new-event-form .swp-new-event-actions.is-saving {
  pointer-events: none;
  opacity: .9;
}

html.swp-theme-dark .swp-new-event-form .swp-new-event-actions {
  border-color: rgba(191, 245, 255, .16);
  background: rgba(8, 22, 30, .9);
  box-shadow: 0 18px 54px rgba(0, 0, 0, .36);
}

html.swp-theme-dark .swp-new-event-form .swp-new-event-actions.is-dirty .swp-new-event-submit-note {
  color: #fbbf24;
}

@media (max-width: 767.98px) {
  .swp-new-event-form .swp-new-event-actions.has-regia-action {
    width: calc(100vw - 24px);
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    padding: 8px;
  }

  .swp-new-event-form .swp-new-event-actions.has-regia-action .swp-new-event-submit-note {
    display: none;
  }

  .swp-new-event-form .swp-new-event-actions.has-regia-action .swp-event-save-back {
    grid-column: 1;
    grid-row: 1;
    width: 100%;
    min-width: 0;
  }

  .swp-new-event-form .swp-new-event-actions.has-regia-action .swp-new-event-submit {
    grid-column: 2;
    grid-row: 1;
    width: 100%;
    min-width: 0;
    padding-inline: 12px !important;
  }

  .swp-new-event-form .swp-new-event-actions.has-regia-action > :is(.swp-event-save-back, .swp-new-event-submit) {
    min-width: 0;
    padding-inline: 12px !important;
  }
}

@media (max-width: 575.98px) {
  .swp-new-event-form {
    padding-bottom: 92px;
  }

  .swp-new-event-form .swp-new-event-actions {
    bottom: max(8px, env(safe-area-inset-bottom));
    width: calc(100vw - 18px);
    grid-template-columns: 1fr;
    gap: 4px;
    padding: 8px;
    border-radius: 19px;
  }

  .swp-new-event-form .swp-new-event-actions.has-regia-action {
    width: calc(100vw - 18px);
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
  }

  .swp-new-event-form .swp-event-save-back {
    grid-column: 1;
    grid-row: 1;
    min-width: 0;
    min-height: 50px !important;
    height: 50px !important;
    padding: 0 10px !important;
    font-size: .8rem !important;
  }

  .swp-new-event-form .swp-new-event-actions .swp-new-event-submit {
    grid-column: 1;
    grid-row: 1;
    min-height: 50px;
  }

  .swp-new-event-form .swp-new-event-actions.has-regia-action .swp-new-event-submit {
    grid-column: 2;
    grid-row: 1;
    min-width: 0;
    padding-inline: 10px !important;
    font-size: .84rem !important;
  }

  .swp-new-event-form .swp-new-event-actions.has-regia-action > :is(.swp-event-save-back, .swp-new-event-submit) {
    min-height: 50px !important;
    height: 50px !important;
    padding-inline: 10px !important;
    font-size: .82rem !important;
  }

  .swp-new-event-form .swp-new-event-actions .swp-new-event-submit-note {
    display: none;
  }
}

/* Calibrazione finale del wall per 21:9, 16:9, 4:3, 1:1 e 9:16. */
body.swp-wall-premium {
  --swp-live-safe-pad: clamp(10px, 2.4vmin, 30px);
}

body.swp-wall-premium #wall-stage.swp-screen-stage {
  box-sizing: border-box !important;
  width: min(100vw, calc(100dvh * var(--screen-display-aspect-width) / var(--screen-display-aspect-height))) !important;
  height: min(100dvh, calc(100vw * var(--screen-display-aspect-height) / var(--screen-display-aspect-width))) !important;
  max-width: 100vw !important;
  max-height: 100dvh !important;
  padding: var(--swp-live-safe-pad) !important;
  overflow: hidden !important;
  aspect-ratio: var(--screen-display-aspect-ratio) !important;
}

body.swp-wall-premium #wall-stage > *,
body.swp-wall-premium #wall-stage .swp-screen-grid,
body.swp-wall-premium #wall-stage .swp-monitor-standby,
body.swp-wall-premium #wall-stage .swp-wall-empty-premium {
  box-sizing: border-box;
  max-width: 100%;
  max-height: 100%;
}

body.swp-wall-premium #wall-stage .swp-monitor-standby {
  grid-template-columns: minmax(0, 1fr) minmax(0, .82fr);
  gap: clamp(14px, 4cqw, 72px);
  padding: clamp(18px, 5cqh, 56px) clamp(20px, 5cqw, 72px);
}

body.swp-wall-premium #wall-stage .swp-standby-copy {
  min-width: 0;
  max-height: 100%;
  gap: clamp(8px, 2.2cqh, 18px);
}

body.swp-wall-premium #wall-stage .swp-standby-copy h1 {
  font-size: clamp(2.35rem, min(7.2cqw, 15cqh), 7.5rem);
  line-height: .88;
}

body.swp-wall-premium #wall-stage .swp-standby-copy p {
  font-size: clamp(.82rem, min(1.6cqw, 3.1cqh), 1.28rem);
  line-height: 1.34;
}

body.swp-wall-premium #wall-stage .swp-standby-visual {
  width: 100%;
  height: min(74cqh, 580px);
  min-width: 0;
  min-height: 0;
}

body.swp-wall-premium #wall-stage .swp-standby-orbit {
  width: min(28cqw, 68cqh, 460px);
}

body.swp-wall-premium #wall-stage .swp-standby-orbit.is-b {
  width: min(35cqw, 82cqh, 560px);
}

body.swp-wall-premium #wall-stage .swp-standby-orbit.is-c {
  width: min(20cqw, 50cqh, 330px);
}

body.swp-wall-premium #wall-stage .swp-standby-core {
  width: min(16cqw, 38cqh, 230px);
}

body.swp-wall-premium #wall-stage .swp-standby-core .bi {
  font-size: clamp(2.4rem, min(6cqw, 14cqh), 6.4rem);
}

body.swp-wall-premium #wall-stage .swp-screen-qr-card {
  width: 100% !important;
  height: 100% !important;
  min-width: 0 !important;
  min-height: 0 !important;
  max-height: 100% !important;
  grid-template-columns: minmax(0, 1fr) minmax(240px, .72fr) !important;
  gap: clamp(18px, 4cqw, 64px);
  padding: clamp(22px, 6cqh, 68px) clamp(22px, 5cqw, 76px) !important;
}

body.swp-wall-premium #wall-stage .swp-screen-qr-card figure {
  width: min(34cqw, 66cqh, 440px) !important;
}

body.swp-wall-premium #wall-stage .layout-minimal,
body.swp-wall-premium #wall-stage .layout-fullscreen {
  grid-template-columns: minmax(0, 1fr) !important;
  grid-template-rows: minmax(0, 1fr) !important;
}

body.swp-wall-premium[data-wall-aspect-mode="compact"] {
  --swp-live-safe-pad: clamp(10px, 2.6vmin, 24px);
}

body.swp-wall-premium[data-wall-aspect-mode="compact"] #wall-stage .layout-mosaic,
body.swp-wall-premium[data-wall-aspect-mode="compact"] #wall-stage .layout-cards,
body.swp-wall-premium[data-wall-aspect-mode="compact"] #wall-stage .layout-celebration {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-template-rows: repeat(2, minmax(0, 1fr));
}

body.swp-wall-premium[data-wall-aspect-mode="portrait"] {
  --swp-live-safe-pad: clamp(8px, 3cqw, 18px);
}

body.swp-wall-premium[data-wall-aspect-mode="portrait"] #wall-stage .layout-mosaic,
body.swp-wall-premium[data-wall-aspect-mode="portrait"] #wall-stage .layout-cards,
body.swp-wall-premium[data-wall-aspect-mode="portrait"] #wall-stage .layout-celebration,
body.swp-wall-premium[data-wall-aspect-mode="portrait"] #wall-stage .layout-feed {
  grid-template-columns: minmax(0, 1fr);
  grid-template-rows: repeat(2, minmax(0, 1fr));
  gap: clamp(8px, 3cqw, 14px);
}

body.swp-wall-premium[data-wall-aspect-mode="portrait"] #wall-stage .swp-monitor-standby {
  grid-template-columns: minmax(0, 1fr);
  grid-template-rows: minmax(180px, .9fr) minmax(0, 1.1fr);
  align-content: stretch;
  gap: clamp(10px, 3cqh, 20px);
  padding: clamp(18px, 4cqh, 34px) clamp(14px, 5cqw, 24px);
}

body.swp-wall-premium[data-wall-aspect-mode="portrait"] #wall-stage .swp-standby-visual {
  order: -1;
  height: 100%;
  min-height: 0;
}

body.swp-wall-premium[data-wall-aspect-mode="portrait"] #wall-stage .swp-standby-copy {
  align-content: center;
  justify-items: center;
  gap: clamp(8px, 1.7cqh, 13px);
  text-align: center;
}

body.swp-wall-premium[data-wall-aspect-mode="portrait"] #wall-stage .swp-standby-copy h1 {
  font-size: clamp(2.2rem, 13cqw, 4.4rem);
  line-height: .9;
}

body.swp-wall-premium[data-wall-aspect-mode="portrait"] #wall-stage .swp-standby-copy p {
  max-width: 34ch;
  font-size: clamp(.78rem, 3.4cqw, 1rem);
  line-height: 1.3;
}

body.swp-wall-premium[data-wall-aspect-mode="portrait"] #wall-stage .swp-standby-event {
  max-width: 100%;
  padding: 8px 12px;
  font-size: clamp(.72rem, 3cqw, .9rem);
}

body.swp-wall-premium[data-wall-aspect-mode="portrait"] #wall-stage .swp-standby-orbit {
  width: min(66cqw, 30cqh);
}

body.swp-wall-premium[data-wall-aspect-mode="portrait"] #wall-stage .swp-standby-orbit.is-b {
  width: min(80cqw, 37cqh);
}

body.swp-wall-premium[data-wall-aspect-mode="portrait"] #wall-stage .swp-standby-orbit.is-c {
  width: min(48cqw, 22cqh);
}

body.swp-wall-premium[data-wall-aspect-mode="portrait"] #wall-stage .swp-standby-core {
  width: min(38cqw, 18cqh);
}

body.swp-wall-premium[data-wall-aspect-mode="portrait"] #wall-stage .swp-standby-core .bi {
  font-size: clamp(2.2rem, 14cqw, 4.5rem);
}

body.swp-wall-premium[data-wall-aspect-mode="portrait"] #wall-stage .swp-standby-card {
  border-radius: 14px;
  transform: scale(.82);
}

body.swp-wall-premium[data-wall-aspect-mode="portrait"] #wall-stage .swp-standby-card.is-status {
  left: -3%;
  top: 8%;
}

body.swp-wall-premium[data-wall-aspect-mode="portrait"] #wall-stage .swp-standby-card.is-ready {
  right: -5%;
  bottom: 7%;
}

body.swp-wall-premium[data-wall-aspect-mode="portrait"] #wall-stage .swp-screen-qr-card {
  grid-template-columns: minmax(0, 1fr) !important;
  grid-template-rows: minmax(0, auto) minmax(180px, 1fr) !important;
  align-content: center;
  gap: clamp(14px, 3cqh, 24px);
  padding: clamp(24px, 5cqh, 40px) clamp(18px, 6cqw, 30px) !important;
  text-align: center;
}

body.swp-wall-premium[data-wall-aspect-mode="portrait"] #wall-stage .swp-screen-qr-card strong {
  font-size: clamp(1.8rem, 9cqw, 3.2rem);
}

body.swp-wall-premium[data-wall-aspect-mode="portrait"] #wall-stage .swp-screen-qr-card p {
  margin-inline: auto;
}

body.swp-wall-premium[data-wall-aspect-mode="portrait"] #wall-stage .swp-screen-qr-card figure {
  width: min(72cqw, 34cqh, 360px) !important;
  justify-self: center;
}

/* Griglie live fluide: nessuna riga supera i bordi del monitor configurato. */
body.swp-wall-premium #wall-stage .layout-cards,
body.swp-wall-premium #wall-stage .layout-celebration,
body.swp-wall-premium #wall-stage .layout-feed {
  grid-template-rows: none !important;
  grid-auto-rows: minmax(0, 1fr) !important;
  align-content: stretch !important;
}

body.swp-wall-premium #wall-stage .layout-feed .swp-screen-post {
  width: 100%;
  height: 100%;
  min-height: 0 !important;
}

body.swp-wall-premium #wall-stage .layout-celebration .swp-screen-post,
body.swp-wall-premium #wall-stage .layout-celebration .swp-screen-post:nth-child(even) {
  transform: none;
}

body.swp-wall-premium[data-wall-aspect-mode="compact"] #wall-stage .layout-mosaic,
body.swp-wall-premium[data-wall-aspect-mode="compact"] #wall-stage .layout-cards,
body.swp-wall-premium[data-wall-aspect-mode="compact"] #wall-stage .layout-celebration {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-template-rows: none !important;
  grid-auto-rows: minmax(0, 1fr) !important;
}

body.swp-wall-premium[data-wall-aspect-mode="compact"] #wall-stage .layout-feed {
  grid-template-columns: minmax(0, 1fr);
  grid-template-rows: none !important;
  grid-auto-rows: minmax(0, 1fr) !important;
}

body.swp-wall-premium[data-wall-aspect-mode="portrait"] #wall-stage .layout-mosaic,
body.swp-wall-premium[data-wall-aspect-mode="portrait"] #wall-stage .layout-cards,
body.swp-wall-premium[data-wall-aspect-mode="portrait"] #wall-stage .layout-celebration,
body.swp-wall-premium[data-wall-aspect-mode="portrait"] #wall-stage .layout-feed {
  grid-template-columns: minmax(0, 1fr);
  grid-template-rows: none !important;
  grid-auto-rows: minmax(0, 1fr) !important;
  align-content: stretch !important;
}

body.swp-wall-premium[data-wall-aspect-mode="portrait"] #wall-stage .layout-feed .swp-screen-post.has-image.has-message,
body.swp-wall-premium[data-wall-aspect-mode="portrait"] #wall-stage .layout-fullscreen .swp-screen-post.has-image.has-message {
  grid-template-columns: minmax(0, 1fr) !important;
  grid-template-rows: minmax(0, 58%) minmax(0, 42%) !important;
}

body.swp-wall-premium[data-wall-aspect-mode="portrait"] #wall-stage .swp-screen-copy {
  padding-inline: clamp(12px, 4cqw, 20px);
}

body.swp-wall-premium[data-wall-aspect-mode="portrait"] #wall-stage .swp-standby-card.is-status {
  left: 0;
}

body.swp-wall-premium[data-wall-aspect-mode="portrait"] #wall-stage .swp-standby-card.is-ready {
  right: 0;
}

body.swp-wall-premium #wall-stage .swp-screen-media,
body.swp-wall-premium #wall-stage .swp-screen-copy,
body.swp-wall-premium #wall-stage .swp-post-reactions,
body.swp-wall-premium #wall-stage .swp-screen-hashtags {
  max-width: 100%;
  max-height: 100%;
}

/* Header compatto della webApp partecipante con il titolo dell'evento. */
body.swp-public-app .swp-public-event-header {
  min-width: 0;
  min-height: 64px;
  gap: 11px;
  padding: 10px clamp(16px, 4vw, 30px);
  border-bottom: 1px solid color-mix(in srgb, var(--swp-primary) 14%, #e2e8f0);
  background:
    linear-gradient(90deg, color-mix(in srgb, var(--swp-primary) 7%, #ffffff), #ffffff 44%);
}

body.swp-public-app .swp-public-event-header-software-logo {
  display: grid;
  width: clamp(92px, 15vw, 116px);
  height: 38px;
  flex: 0 0 auto;
  place-items: center;
}

body.swp-public-app .swp-public-event-header-software-logo img {
  display: block;
  width: 100%;
  height: auto;
  max-height: 32px;
  object-fit: contain;
}

body.swp-public-app .swp-public-event-header-copy {
  display: grid;
  min-width: 0;
  gap: 1px;
  line-height: 1.08;
}

body.swp-public-app .swp-public-event-header-copy small {
  color: #64748b;
  font-size: .66rem;
  font-weight: 600;
  letter-spacing: .08em;
  text-transform: uppercase;
}

body.swp-public-app .swp-public-event-header-copy strong {
  display: block;
  min-width: 0;
  overflow: hidden;
  color: #172033;
  font-size: .98rem;
  font-weight: 600;
  line-height: 1.2;
  text-overflow: ellipsis;
  white-space: nowrap;
}

body.swp-public-app .swp-public-event-header-live {
  display: inline-flex;
  min-height: 28px;
  flex: 0 0 auto;
  align-items: center;
  gap: 6px;
  padding: 0 9px;
  border: 1px solid rgba(16, 185, 129, .18);
  border-radius: 999px;
  color: #047857;
  background: rgba(16, 185, 129, .09);
  font-size: .67rem;
  font-weight: 600;
  letter-spacing: .06em;
  text-transform: uppercase;
}

body.swp-public-app .swp-public-event-header-live .bi {
  color: #10b981;
  font-size: .48rem;
}

@media (max-width: 575.98px) {
  body.swp-public-app .swp-public-event-header {
    min-height: 58px;
    gap: 9px;
    padding: max(8px, env(safe-area-inset-top)) 12px 8px;
  }

  body.swp-public-app .swp-public-event-header-software-logo {
    width: 90px;
    height: 34px;
  }

  body.swp-public-app .swp-public-event-header-copy strong {
    font-size: .91rem;
  }

  body.swp-public-app .swp-public-event-header-live {
    min-height: 26px;
    padding-inline: 8px;
    font-size: .62rem;
  }
}

/* Logo ufficiale eventWall nelle superfici di prodotto. */
.swp-topbar .swp-topbar-product-logo {
  width: clamp(126px, 15vw, 166px);
  height: 38px;
  max-height: 38px;
  padding: 5px 7px;
  border-radius: 10px;
  background: #ffffff;
  object-fit: contain;
  object-position: left center;
}

.swp-login-product-logo img {
  display: block;
  width: 100%;
  height: auto;
  max-height: 52px;
  object-fit: contain;
}

body.swp-public-app .swp-public-software-logo {
  display: block;
  width: clamp(154px, 16vw, 190px);
  height: auto;
  max-height: 34px;
  padding: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  filter: brightness(0) invert(1) drop-shadow(0 3px 10px rgba(0, 0, 0, .14));
  object-fit: contain;
}

body.swp-public-app .swp-access-event-icon.has-logo {
  overflow: hidden;
  border: 1px solid color-mix(in srgb, var(--swp-primary) 14%, #e2e8f0) !important;
  background: #ffffff !important;
}

body.swp-public-app .swp-access-event-icon.has-logo img {
  width: 100%;
  height: 100%;
  padding: 5px;
  object-fit: contain;
}

@media (max-width: 575.98px) {
  .swp-topbar .swp-topbar-product-logo {
    width: 128px;
    height: 34px;
  }

  .swp-login-product-logo {
    width: 144px;
  }

  body.swp-public-app .swp-public-software-logo {
    width: 150px;
    max-height: 30px;
    padding: 0;
  }
}

/* Empty state eventi: anteprima di prodotto premium, non clipart decorativa. */
.swp-events-empty {
  position: relative;
  isolation: isolate;
  min-height: 420px;
  grid-template-columns: minmax(360px, 1.08fr) minmax(280px, .92fr);
  align-items: center;
  gap: clamp(32px, 5vw, 72px);
  padding: clamp(30px, 5vw, 58px);
  overflow: hidden;
  border: 1px solid rgba(var(--branding-primary-rgb), .14) !important;
  border-radius: 30px !important;
  background:
    radial-gradient(circle at 8% 10%, rgba(var(--branding-primary-rgb), .12), transparent 31%),
    radial-gradient(circle at 94% 90%, rgba(var(--branding-secondary-rgb), .09), transparent 29%),
    linear-gradient(145deg, #ffffff 0%, #f8fbfd 54%, #f3f8fb 100%) !important;
  box-shadow:
    0 30px 80px rgba(15, 23, 42, .08),
    inset 0 1px 0 rgba(255, 255, 255, .92) !important;
  text-align: left;
}

.swp-events-empty::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0;
  opacity: .38;
  background-image:
    linear-gradient(rgba(var(--branding-primary-rgb), .055) 1px, transparent 1px),
    linear-gradient(90deg, rgba(var(--branding-primary-rgb), .055) 1px, transparent 1px);
  background-size: 32px 32px;
  mask-image: linear-gradient(90deg, #000, transparent 64%);
  pointer-events: none;
}

.swp-empty-product-stage {
  position: relative;
  width: min(100%, 520px);
  aspect-ratio: 16 / 11;
  align-self: center;
  justify-self: center;
}

.swp-empty-product-glow {
  position: absolute;
  border-radius: 999px;
  filter: blur(2px);
  pointer-events: none;
}

.swp-empty-product-glow.is-primary {
  left: 3%;
  top: 2%;
  width: 54%;
  aspect-ratio: 1;
  background: rgba(var(--branding-primary-rgb), .13);
}

.swp-empty-product-glow.is-secondary {
  right: 2%;
  bottom: 4%;
  width: 38%;
  aspect-ratio: 1;
  background: rgba(var(--branding-secondary-rgb), .1);
}

.swp-empty-product-window {
  position: absolute;
  left: 4%;
  top: 7%;
  width: 88%;
  height: 78%;
  overflow: hidden;
  border: 1px solid rgba(148, 163, 184, .22);
  border-radius: 22px;
  background: rgba(255, 255, 255, .95);
  box-shadow:
    0 32px 64px rgba(15, 23, 42, .16),
    0 7px 20px rgba(15, 23, 42, .08),
    inset 0 1px 0 #ffffff;
  transform: perspective(1200px) rotateY(3deg) rotateX(1deg);
}

.swp-empty-product-topbar {
  height: 48px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 0 15px;
  border-bottom: 1px solid #e9eef3;
  background: rgba(255, 255, 255, .96);
}

.swp-empty-product-brand,
.swp-empty-product-ready {
  display: inline-flex;
  align-items: center;
}

.swp-empty-product-brand {
  gap: 8px;
  color: #172033;
  font-size: .76rem;
}

.swp-empty-product-brand img {
  width: 25px;
  height: 25px;
  object-fit: contain;
}

.swp-empty-product-brand strong {
  font-size: .8rem;
  font-weight: 600;
}

.swp-empty-product-ready {
  gap: 6px;
  min-height: 25px;
  padding: 0 8px;
  border: 1px solid rgba(16, 185, 129, .16);
  border-radius: 999px;
  color: #047857;
  background: #ecfdf5;
  font-size: .58rem;
  font-weight: 600;
  letter-spacing: .05em;
  text-transform: uppercase;
}

.swp-empty-product-ready .bi {
  color: #10b981;
  font-size: .42rem;
}

.swp-empty-product-interface {
  height: calc(100% - 48px);
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr);
  background: #f6f8fb;
}

.swp-empty-product-rail {
  display: flex;
  align-items: center;
  flex-direction: column;
  gap: 8px;
  padding: 13px 8px;
  border-right: 1px solid #e7edf2;
  background: rgba(255, 255, 255, .86);
}

.swp-empty-product-rail span {
  width: 30px;
  height: 30px;
  display: grid;
  place-items: center;
  border-radius: 9px;
  color: #94a3b8;
  font-size: .72rem;
}

.swp-empty-product-rail span.is-active {
  color: var(--accent-2);
  background: rgba(var(--branding-primary-rgb), .1);
  box-shadow: inset 0 0 0 1px rgba(var(--branding-primary-rgb), .1);
}

.swp-empty-product-canvas {
  min-width: 0;
  padding: 14px;
}

.swp-empty-product-canvas-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 10px;
  color: #64748b;
  font-size: .62rem;
}

.swp-empty-product-canvas-head strong {
  padding: 4px 7px;
  border-radius: 999px;
  color: var(--accent-2);
  background: rgba(var(--branding-primary-rgb), .08);
  font-size: .56rem;
  font-weight: 600;
  text-transform: uppercase;
}

.swp-empty-product-posts {
  height: calc(100% - 27px);
  display: grid;
  grid-template-columns: 1.18fr .82fr;
  grid-template-rows: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

.swp-empty-product-posts article {
  min-width: 0;
  display: grid;
  grid-template-columns: 20px minmax(0, 1fr);
  grid-template-rows: 20px minmax(0, 1fr);
  align-items: center;
  gap: 6px;
  padding: 8px;
  overflow: hidden;
  border: 1px solid rgba(148, 163, 184, .18);
  border-radius: 12px;
  background: rgba(255, 255, 255, .94);
  box-shadow: 0 7px 18px rgba(15, 23, 42, .05);
}

.swp-empty-product-posts article.is-featured {
  grid-row: 1 / 3;
}

.swp-empty-product-avatar {
  width: 20px;
  height: 20px;
  border-radius: 7px;
  background: linear-gradient(135deg, var(--btn-primary), color-mix(in srgb, var(--btn-primary) 65%, #ffffff));
}

.swp-empty-product-avatar.is-orange {
  background: linear-gradient(135deg, var(--btn-secondary), #fbbf24);
}

.swp-empty-product-avatar.is-green {
  background: linear-gradient(135deg, #10b981, #86efac);
}

.swp-empty-product-line {
  width: 84%;
  height: 5px;
  border-radius: 999px;
  background: #dce4eb;
}

.swp-empty-product-line.is-short {
  width: 58%;
}

.swp-empty-product-media {
  grid-column: 1 / -1;
  align-self: stretch;
  display: grid;
  place-items: center;
  border-radius: 9px;
  color: rgba(var(--branding-primary-rgb), .68);
  background:
    linear-gradient(145deg, rgba(var(--branding-primary-rgb), .15), rgba(var(--branding-secondary-rgb), .09));
  font-size: 1.15rem;
}

.swp-empty-product-reactions {
  grid-column: 1 / -1;
  align-self: end;
  display: flex;
  gap: 5px;
  color: #f97316;
  font-size: .68rem;
}

.swp-empty-product-float {
  position: absolute;
  z-index: 2;
  display: flex;
  align-items: center;
  gap: 9px;
  min-width: 150px;
  padding: 10px 12px;
  border: 1px solid rgba(255, 255, 255, .9);
  border-radius: 15px;
  background: rgba(255, 255, 255, .92);
  box-shadow: 0 18px 38px rgba(15, 23, 42, .14);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}

.swp-empty-product-float > span {
  width: 31px;
  height: 31px;
  flex: 0 0 31px;
  display: grid;
  place-items: center;
  border-radius: 10px;
  color: var(--accent-2);
  background: rgba(var(--branding-primary-rgb), .1);
  font-size: .82rem;
}

.swp-empty-product-float div {
  min-width: 0;
  display: grid;
  gap: 1px;
}

.swp-empty-product-float strong {
  color: #172033;
  font-size: .72rem;
  font-weight: 600;
  line-height: 1.05;
}

.swp-empty-product-float small {
  color: #7b8797;
  font-size: .58rem;
  line-height: 1.1;
}

.swp-empty-product-float.is-control {
  left: 0;
  bottom: 1%;
}

.swp-empty-product-float.is-audience {
  right: 0;
  top: 1%;
}

.swp-empty-product-float.is-audience > span {
  color: #9a5b08;
  background: rgba(var(--branding-secondary-rgb), .1);
}

.swp-events-empty-copy {
  position: relative;
  z-index: 1;
  align-self: center;
  display: grid;
  justify-items: start;
  gap: 13px;
}

.swp-empty-premium-kicker {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: var(--accent-2);
  font-size: .72rem;
  font-weight: 600;
  letter-spacing: .09em;
  text-transform: uppercase;
}

.swp-empty-premium-kicker .bi {
  color: var(--btn-secondary);
}

.swp-events-empty-copy strong {
  max-width: 13ch;
  color: var(--text);
  font-size: clamp(2rem, 3.3vw, 3.25rem);
  font-weight: 600;
  letter-spacing: -.045em;
  line-height: .96;
  text-wrap: balance;
}

.swp-events-empty-copy p {
  max-width: 44ch;
  margin: 0;
  color: var(--muted);
  font-size: .98rem;
  line-height: 1.52;
}

.swp-empty-premium-features {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}

.swp-empty-premium-features span {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 30px;
  padding: 0 10px;
  border: 1px solid rgba(148, 163, 184, .18);
  border-radius: 999px;
  color: #536176;
  background: rgba(255, 255, 255, .7);
  font-size: .7rem;
  font-weight: 600;
}

.swp-empty-premium-features .bi {
  color: var(--accent-2);
}

.swp-events-empty-copy .btn {
  min-height: 52px;
  margin-top: 2px;
  padding: 0 20px;
  border-radius: 15px;
  box-shadow: 0 14px 30px rgba(var(--branding-primary-rgb), .22);
  font-size: .94rem;
  font-weight: 600;
}

.swp-empty-premium-note {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: #7b8797;
  font-size: .7rem;
}

.swp-empty-premium-note .bi {
  color: #10b981;
}

html.swp-theme-dark .swp-events-empty {
  border-color: rgba(191, 245, 255, .12) !important;
  background:
    radial-gradient(circle at 8% 10%, rgba(var(--branding-primary-rgb), .18), transparent 31%),
    radial-gradient(circle at 94% 90%, rgba(var(--branding-secondary-rgb), .12), transparent 29%),
    linear-gradient(145deg, #0d1f28 0%, #091820 58%, #07141b 100%) !important;
  box-shadow: 0 32px 84px rgba(0, 0, 0, .28) !important;
}

html.swp-theme-dark .swp-empty-product-window,
html.swp-theme-dark .swp-empty-product-float {
  border-color: rgba(191, 245, 255, .13);
  background: rgba(12, 29, 38, .96);
  box-shadow: 0 30px 68px rgba(0, 0, 0, .34);
}

html.swp-theme-dark .swp-empty-product-topbar,
html.swp-theme-dark .swp-empty-product-rail {
  border-color: rgba(191, 245, 255, .1);
  background: rgba(10, 25, 33, .96);
}

html.swp-theme-dark .swp-empty-product-interface,
html.swp-theme-dark .swp-empty-product-canvas {
  background: #0a1a22;
}

html.swp-theme-dark .swp-empty-product-posts article {
  border-color: rgba(191, 245, 255, .1);
  background: rgba(255, 255, 255, .055);
}

html.swp-theme-dark .swp-empty-product-brand,
html.swp-theme-dark .swp-empty-product-float strong {
  color: #edf9fc;
}

html.swp-theme-dark .swp-empty-premium-features span {
  border-color: rgba(191, 245, 255, .1);
  color: #c3d9df;
  background: rgba(255, 255, 255, .05);
}

html.swp-theme-dark .swp-empty-product-line {
  background: rgba(191, 245, 255, .16);
}

@media (max-width: 900px) {
  .swp-events-empty {
    grid-template-columns: minmax(0, 1fr);
    gap: 26px;
    padding: 30px 22px 36px;
    text-align: center;
  }

  .swp-empty-product-stage {
    width: min(100%, 500px);
  }

  .swp-events-empty-copy {
    justify-items: center;
  }

  .swp-events-empty-copy strong,
  .swp-events-empty-copy p {
    max-width: 620px;
  }

  .swp-empty-premium-features {
    justify-content: center;
  }
}

@media (max-width: 575.98px) {
  .swp-events-empty {
    gap: 20px;
    padding: 22px 14px 28px;
    border-radius: 22px !important;
  }

  .swp-empty-product-stage {
    width: 100%;
    min-height: 240px;
  }

  .swp-empty-product-window {
    left: 2%;
    top: 8%;
    width: 96%;
    height: 76%;
    border-radius: 17px;
    transform: none;
  }

  .swp-empty-product-float {
    min-width: 134px;
    padding: 8px 9px;
    border-radius: 13px;
  }

  .swp-empty-product-float.is-audience {
    display: none;
  }

  .swp-events-empty-copy strong {
    font-size: clamp(1.8rem, 10vw, 2.45rem);
  }

  .swp-events-empty-copy p {
    font-size: .9rem;
  }

  .swp-empty-premium-features {
    gap: 5px;
  }

  .swp-empty-premium-features span {
    padding-inline: 8px;
    font-size: .64rem;
  }

  .swp-events-empty-copy .btn {
    width: 100%;
  }
}

/* Gestione agenzie: logica e struttura derivate dal backoffice pollMe. */
body.swp-agencies-page {
  min-height: 100vh;
  color: #111827;
  background-color: #f4f9fc;
  background-image:
    linear-gradient(rgba(91, 120, 145, .055) 1px, transparent 1px),
    linear-gradient(90deg, rgba(91, 120, 145, .055) 1px, transparent 1px),
    radial-gradient(circle at 5% 7%, rgba(var(--branding-primary-rgb), .14), transparent 30%),
    radial-gradient(circle at 94% 72%, rgba(var(--branding-secondary-rgb), .1), transparent 28%);
  background-size: 36px 36px, 36px 36px, auto, auto;
  font-family: var(--app-font-family);
}

html.swp-theme-dark body.swp-agencies-page {
  color: #111827 !important;
  background-color: #f4f9fc !important;
  background-image:
    linear-gradient(rgba(91, 120, 145, .055) 1px, transparent 1px),
    linear-gradient(90deg, rgba(91, 120, 145, .055) 1px, transparent 1px),
    radial-gradient(circle at 5% 7%, rgba(var(--branding-primary-rgb), .14), transparent 30%),
    radial-gradient(circle at 94% 72%, rgba(var(--branding-secondary-rgb), .1), transparent 28%) !important;
}

.swp-agencies-shell {
  width: min(100% - 30px, 1540px);
  margin: 16px auto 60px;
}

.swp-agencies-topbar {
  min-height: 98px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 22px;
  padding: 20px 26px;
  border: 1px solid rgba(191, 231, 247, .78);
  border-radius: 26px;
  background: rgba(255, 255, 255, .94);
  box-shadow: 0 22px 58px rgba(15, 23, 42, .09);
}

.swp-agencies-title {
  display: flex;
  align-items: center;
  gap: 22px;
  min-width: 0;
}

.swp-agencies-title img {
  width: 166px;
  max-width: 34vw;
  height: auto;
}

.swp-agencies-title span {
  display: grid;
  gap: 3px;
  min-width: 0;
}

.swp-agencies-title strong {
  color: #111827;
  font-size: 1.08rem;
  line-height: 1.15;
  font-weight: 600;
}

.swp-agencies-title small {
  color: #687589;
  font-size: .96rem;
  line-height: 1.2;
  font-weight: 600;
}

.swp-agencies-logout {
  min-width: 96px;
  min-height: 54px;
  border: 0;
  border-radius: 17px;
  color: #fff;
  background: var(--btn-secondary);
  box-shadow: 0 16px 35px rgba(var(--branding-secondary-rgb), .24);
  font-weight: 600;
}

.swp-agencies-grid {
  display: grid;
  grid-template-columns: minmax(320px, 510px) minmax(0, 1fr);
  gap: 24px;
  margin-top: 24px;
  align-items: start;
}

.swp-agencies-create,
.swp-agency-card {
  border: 1px solid rgba(191, 231, 247, .82) !important;
  border-radius: 24px !important;
  background: rgba(255, 255, 255, .94) !important;
  box-shadow: 0 24px 62px rgba(15, 23, 42, .08) !important;
}

html.swp-theme-dark body.swp-agencies-page .swp-agencies-topbar,
html.swp-theme-dark body.swp-agencies-page .swp-agencies-create,
html.swp-theme-dark body.swp-agencies-page .swp-agency-card,
html.swp-theme-dark body.swp-agencies-page .swp-agency-modal .modal-content {
  border-color: rgba(191, 231, 247, .82) !important;
  background: rgba(255, 255, 255, .94) !important;
  box-shadow: 0 24px 62px rgba(15, 23, 42, .08) !important;
}

html.swp-theme-dark body.swp-agencies-page .swp-agency-input,
html.swp-theme-dark body.swp-agencies-page .swp-agency-logo-upload,
html.swp-theme-dark body.swp-agencies-page .swp-agency-link-field .form-control {
  border-color: #dce5ee !important;
  color: #172033 !important;
  background: rgba(255, 255, 255, .96) !important;
}

html.swp-theme-dark body.swp-agencies-page .form-control {
  color: #172033 !important;
  background: transparent !important;
}

body.swp-agencies-page .form-control::placeholder,
html.swp-theme-dark body.swp-agencies-page .form-control::placeholder {
  color: #a4afbd !important;
  opacity: 1 !important;
}

html.swp-theme-dark body.swp-agencies-page .swp-agencies-title strong,
html.swp-theme-dark body.swp-agencies-page .swp-agency-create-head strong,
html.swp-theme-dark body.swp-agencies-page .swp-agency-card-header strong,
html.swp-theme-dark body.swp-agencies-page .swp-agency-logo-copy strong,
html.swp-theme-dark body.swp-agencies-page .swp-agency-quota-copy strong,
html.swp-theme-dark body.swp-agencies-page .swp-agency-preview strong,
html.swp-theme-dark body.swp-agencies-page .modal-title {
  color: #121a2c !important;
}

html.swp-theme-dark body.swp-agencies-page .swp-agencies-title small,
html.swp-theme-dark body.swp-agencies-page .swp-agency-create-head p,
html.swp-theme-dark body.swp-agencies-page .swp-agency-field,
html.swp-theme-dark body.swp-agencies-page .swp-agency-logo-copy,
html.swp-theme-dark body.swp-agencies-page .swp-agency-logo-copy small,
html.swp-theme-dark body.swp-agencies-page .swp-agency-link-field,
html.swp-theme-dark body.swp-agencies-page .swp-agency-mail-preview span,
html.swp-theme-dark body.swp-agencies-page .swp-agency-delete-note {
  color: #66758a !important;
}

.swp-agencies-create {
  position: sticky;
  top: 18px;
  padding: 28px 24px 24px;
}

.swp-agency-create-head {
  display: grid;
  grid-template-columns: 58px minmax(0, 1fr);
  gap: 16px;
  align-items: start;
  margin-bottom: 24px;
}

.swp-agency-create-icon {
  width: 58px;
  height: 58px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(var(--branding-primary-rgb), .18);
  border-radius: 18px;
  color: var(--accent);
  background: rgba(var(--branding-primary-rgb), .1);
  font-size: 1.22rem;
}

.swp-agencies-kicker {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  min-height: 29px;
  padding: 5px 11px;
  border-radius: 999px;
  color: var(--accent);
  background: rgba(var(--branding-primary-rgb), .16);
  font-size: .74rem;
  line-height: 1;
  font-weight: 600;
  text-transform: uppercase;
}

.swp-agency-create-head strong,
.swp-agency-card-header strong,
.swp-agency-preview strong {
  display: block;
  margin-top: 7px;
  color: #121a2c;
  font-size: 1.18rem;
  line-height: 1.15;
  font-weight: 600;
}

.swp-agency-create-head p,
.swp-agency-card.is-empty p,
.swp-agency-preview p {
  margin: 7px 0 0;
  color: #66758a;
  line-height: 1.42;
}

.swp-agency-form,
.swp-agency-modal-fields {
  display: grid;
  gap: 15px;
}

.swp-agency-field {
  display: grid;
  gap: 8px;
  color: #66758a;
  font-size: .78rem;
  font-weight: 600;
  text-transform: uppercase;
}

.swp-agency-input {
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr);
  align-items: center;
  min-height: 57px;
  border: 1px solid #dce5ee;
  border-radius: 17px;
  background: rgba(255, 255, 255, .96);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .8);
}

.swp-agency-input i {
  justify-self: center;
  color: var(--accent);
}

.swp-agency-input .form-control {
  min-height: 55px;
  padding: 10px 14px 10px 0;
  border: 0;
  border-radius: 0;
  color: #172033;
  background: transparent;
  box-shadow: none;
  font-size: 1rem;
  font-weight: 400;
}

.swp-agency-logo-upload {
  display: grid;
  grid-template-columns: 96px minmax(0, 1fr) 42px;
  align-items: center;
  gap: 16px;
  min-height: 124px;
  padding: 14px;
  border: 1px dashed #bdd1df;
  border-radius: 24px;
  background: rgba(255, 255, 255, .62);
  cursor: pointer;
}

.swp-agency-logo-preview {
  width: 86px;
  height: 86px;
  display: grid;
  place-items: center;
  overflow: hidden;
  border: 1px solid rgba(var(--branding-primary-rgb), .18);
  border-radius: 22px;
  color: var(--accent);
  background: rgba(var(--branding-primary-rgb), .1);
  font-size: 1.7rem;
}

.swp-agency-logo-preview img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  padding: 10px;
}

.swp-agency-logo-copy {
  display: grid;
  gap: 4px;
  min-width: 0;
  color: #66758a;
  font-size: .88rem;
  line-height: 1.25;
  text-transform: none;
}

.swp-agency-logo-copy strong {
  color: #121a2c;
  font-size: .96rem;
  font-weight: 600;
}

.swp-agency-logo-copy small {
  color: #66758a;
  font-size: .85rem;
}

.swp-agency-logo-copy span {
  width: fit-content;
  max-width: 100%;
  padding: 4px 10px;
  overflow: hidden;
  border-radius: 999px;
  color: #536176;
  background: #edf3f7;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: .76rem;
  font-weight: 600;
}

.swp-agency-logo-action {
  width: 40px;
  height: 40px;
  display: grid;
  place-items: center;
  border-radius: 14px;
  color: var(--accent);
  background: rgba(var(--branding-primary-rgb), .08);
}

.swp-agency-submit {
  min-height: 54px;
  border: 0;
  border-radius: 15px;
  font-weight: 600;
  box-shadow: 0 14px 30px rgba(var(--branding-primary-rgb), .22);
}

.swp-agencies-list {
  display: grid;
  gap: 22px;
}

.swp-agency-card {
  padding: 28px;
}

.swp-agency-card-header {
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 24px;
}

.swp-agency-identity {
  display: grid;
  grid-template-columns: 86px minmax(0, 1fr);
  align-items: center;
  gap: 18px;
  min-width: 0;
}

.swp-agency-card-logo {
  width: 86px;
  height: 86px;
  display: grid;
  place-items: center;
  overflow: hidden;
  flex: 0 0 auto;
  border: 1px solid rgba(var(--branding-primary-rgb), .16);
  border-radius: 22px;
  color: var(--accent);
  background:
    linear-gradient(145deg, rgba(var(--branding-primary-rgb), .12), rgba(var(--branding-secondary-rgb), .08)),
    #f4fbff;
  font-size: 1.8rem;
  font-weight: 600;
}

.swp-agency-card-logo img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  padding: 11px;
}

.swp-agency-meta-chip {
  min-height: 37px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 7px 13px;
  border-radius: 999px;
  color: #344054;
  background: #f1f3f5;
  font-size: .82rem;
  font-weight: 600;
  white-space: nowrap;
}

.swp-agency-quota {
  display: grid;
  gap: 10px;
  margin-bottom: 18px;
}

.swp-agency-quota-copy {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

.swp-agency-quota-copy span {
  color: #65748a;
  font-size: .8rem;
}

.swp-agency-quota-copy strong {
  color: #111827;
  font-size: 1.28rem;
  line-height: 1;
  font-weight: 600;
}

.swp-agency-quota-track {
  height: 7px;
  overflow: hidden;
  border-radius: 999px;
  background: #e8edf3;
}

.swp-agency-quota-track span {
  display: block;
  width: var(--agency-quota-progress, 0%);
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, var(--accent), var(--btn-secondary));
}

.swp-agency-link-field {
  display: grid;
  gap: 8px;
  margin-bottom: 18px;
  color: #65748a;
  font-size: .78rem;
  font-weight: 600;
  text-transform: uppercase;
}

.swp-agency-link-field .form-control {
  min-height: 58px;
  border: 1px solid #d6eef8;
  border-radius: 15px;
  color: #66758a;
  background: rgba(255, 255, 255, .9);
  font-size: 1rem;
}

.swp-agency-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.swp-agency-actions form {
  display: contents;
}

.swp-agency-action {
  min-height: 48px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 10px 15px;
  border: 0;
  border-radius: 13px;
  color: #fff !important;
  font-weight: 600;
  box-shadow: 0 12px 25px rgba(15, 23, 42, .1);
}

.swp-agency-action.is-open { background: #2563eb; }
.swp-agency-action.is-copy { background: #344054; }
.swp-agency-action.is-send { background: var(--btn-secondary); }
.swp-agency-action.is-edit { background: #0f8f96; }
.swp-agency-action.is-delete { background: #be123c; }

.swp-agency-action.is-copied {
  background: #10b981;
}

.swp-agency-modal .modal-content {
  border: 1px solid rgba(191, 231, 247, .82);
  border-radius: 24px;
  box-shadow: 0 28px 70px rgba(15, 23, 42, .18);
}

.swp-agency-modal .modal-header,
.swp-agency-modal .modal-footer {
  border: 0;
}

.swp-agency-modal-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(220px, .9fr);
  gap: 18px;
}

.swp-agency-preview {
  display: grid;
  align-content: center;
  justify-items: center;
  gap: 10px;
  min-height: 280px;
  padding: 22px;
  border: 1px solid #d6eef8;
  border-radius: 22px;
  text-align: center;
  background:
    linear-gradient(rgba(91, 120, 145, .06) 1px, transparent 1px),
    linear-gradient(90deg, rgba(91, 120, 145, .06) 1px, transparent 1px),
    #f8fcff;
  background-size: 28px 28px, 28px 28px, auto;
}

.swp-agency-logo-remove {
  width: fit-content;
}

.swp-agency-mail-preview,
.swp-agency-delete-note {
  display: grid;
  gap: 4px;
  margin-bottom: 16px;
  padding: 14px;
  border-radius: 17px;
  background: #f4f9fc;
}

.swp-agency-mail-preview strong {
  color: #121a2c;
  font-weight: 600;
}

.swp-agency-mail-preview span,
.swp-agency-delete-note {
  color: #66758a;
}

.swp-topbar-agency-name {
  color: #66758a;
  font-size: .86rem;
  font-weight: 600;
}

@media (max-width: 1050px) {
  .swp-agencies-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .swp-agencies-create {
    position: static;
  }
}

@media (max-width: 680px) {
  .swp-agencies-shell {
    width: min(100% - 18px, 1540px);
    margin-top: 9px;
  }

  .swp-agencies-topbar,
  .swp-agency-card {
    border-radius: 20px !important;
  }

  .swp-agencies-topbar {
    align-items: flex-start;
    flex-direction: column;
  }

  .swp-agencies-title {
    gap: 14px;
  }

  .swp-agencies-title img {
    width: 128px;
  }

  .swp-agencies-logout {
    width: 100%;
  }

  .swp-agencies-create,
  .swp-agency-card {
    padding: 20px 16px;
  }

  .swp-agency-card-header,
  .swp-agency-quota-copy {
    align-items: flex-start;
    flex-direction: column;
  }

  .swp-agency-identity {
    grid-template-columns: 64px minmax(0, 1fr);
  }

  .swp-agency-card-logo {
    width: 64px;
    height: 64px;
    border-radius: 19px;
    font-size: 1.28rem;
  }

  .swp-agency-logo-upload {
    grid-template-columns: 64px minmax(0, 1fr);
  }

  .swp-agency-logo-preview {
    width: 64px;
    height: 64px;
    border-radius: 18px;
  }

  .swp-agency-logo-action {
    display: none;
  }

  .swp-agency-actions,
  .swp-agency-action {
    width: 100%;
  }

  .swp-agency-modal-grid {
    grid-template-columns: 1fr;
  }
}

/* Login: misure e comportamento responsive allineati alla console PollMe. */
body.swp-login-page .swp-login-copy h1 {
  margin: 8px 0 12px;
  font-size: clamp(2.2rem, 4.2vw, 3.25rem);
  line-height: .98;
  letter-spacing: -.045em;
  font-weight: var(--app-font-weight-bold, 600);
}

body.swp-login-page .swp-login-form-panel {
  padding: 58px 48px;
}

body.swp-login-page .login-box.swp-login-card {
  width: 100%;
  max-width: none;
  gap: 16px;
}

body.swp-login-page .swp-login-card.is-code-only .swp-login-form-head {
  grid-template-columns: 52px minmax(0, 1fr);
  gap: 15px;
  margin-bottom: 10px;
}

body.swp-login-page .swp-login-lock {
  width: 52px;
  height: 52px;
  border-radius: 17px;
  font-size: 1.2rem;
}

body.swp-login-page .swp-login-form-head .swp-login-kicker {
  margin: 1px 0 4px;
}

body.swp-login-page .swp-login-card h2 {
  margin: 0;
  font-size: 1.55rem;
  line-height: 1.15;
  letter-spacing: -.025em;
  font-weight: 700;
}

body.swp-login-page .swp-login-card p {
  margin-top: 7px;
  font-size: .92rem;
  line-height: 1.45;
}

body.swp-login-page .swp-login-field .form-label {
  gap: 8px;
  font-size: .82rem;
}

body.swp-login-page .swp-login-input .form-control {
  height: 56px;
  min-height: 56px;
  border-radius: 16px;
  font-size: .95rem;
}

body.swp-login-page .swp-password-toggle.btn {
  width: 36px !important;
  min-width: 36px !important;
  height: 36px !important;
  min-height: 36px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 10px !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.swp-login-page .swp-password-toggle.btn:hover,
body.swp-login-page .swp-password-toggle.btn:focus-visible {
  color: #172033;
  background: #edf3f7 !important;
}

body.swp-login-page .swp-login-submit.btn {
  width: 100%;
  height: 56px !important;
  min-height: 56px !important;
  padding: 12px 18px !important;
  border: 0 !important;
  border-radius: 16px !important;
  color: #ffffff !important;
  background: var(--btn-primary, #00aaec) !important;
  box-shadow: 0 15px 28px rgba(var(--branding-primary-rgb, 0, 170, 236), .25) !important;
  font-size: 1rem !important;
  line-height: 1.2 !important;
  font-weight: 700 !important;
}

body.swp-login-page .swp-login-submit.btn:hover,
body.swp-login-page .swp-login-submit.btn:focus-visible {
  color: #ffffff !important;
  background: var(--btn-primary-2, #0088c2) !important;
  transform: translateY(-2px);
}

body.swp-login-page .swp-login-card.is-code-only .swp-login-footnote {
  margin-top: 6px;
  padding-top: 0;
}

@media (max-width: 820px) {
  body.swp-login-page {
    background-color: #f7fafc;
    background-image:
      radial-gradient(circle at 10% 18%, rgba(74, 174, 228, .12), transparent 28%),
      radial-gradient(circle at 91% 75%, rgba(245, 156, 75, .10), transparent 27%);
  }

  body.swp-login-page .swp-login-shell {
    width: min(calc(100% - 40px), 1010px);
    min-height: 660px;
    margin: 14px auto;
  }

  body.swp-login-page .swp-login-layout {
    min-height: 660px;
    grid-template-columns: minmax(0, 1fr);
    border: 1px solid rgba(148, 163, 184, .2);
    border-radius: 26px;
    box-shadow: 0 30px 80px rgba(15, 23, 42, .12);
  }

  body.swp-login-page .swp-login-brand-panel {
    gap: 20px;
    padding: 28px;
    border-bottom: 1px solid rgba(148, 163, 184, .18);
  }

  body.swp-login-page .swp-login-copy {
    margin-top: 8px;
  }

  body.swp-login-page .swp-login-visual {
    min-height: 286px;
    display: flex;
    margin: 0;
  }

  body.swp-login-page .swp-login-form-panel {
    display: flex;
    padding: 42px 28px;
  }
}

@media (max-width: 520px) {
  body.swp-login-page .swp-login-shell {
    width: min(calc(100% - 20px), 1010px);
  }

  body.swp-login-page .swp-login-brand-panel {
    min-height: 430px;
    gap: 0;
    padding: 23px;
  }

  body.swp-login-page .swp-login-product-logo {
    width: 112px;
  }

  body.swp-login-page .swp-login-brand-row > span {
    font-size: .65rem;
  }

  body.swp-login-page .swp-login-copy {
    margin-top: 28px;
  }

  body.swp-login-page .swp-login-copy h1 {
    font-size: 2.25rem;
  }

  body.swp-login-page .swp-login-copy p {
    font-size: .9rem;
  }

  body.swp-login-page .swp-login-visual {
    width: 100%;
    min-height: 190px;
    height: 190px;
    align-items: flex-start;
    justify-content: flex-start;
    margin-top: 20px;
    overflow: hidden;
  }

  body.swp-login-page .swp-login-clip-stage {
    width: 468px;
    min-width: 468px;
    max-width: none;
    transform: scale(.69);
    transform-origin: left top;
  }

  body.swp-login-page .swp-login-feature-strip {
    margin-top: 0;
    flex-wrap: nowrap;
    overflow: hidden;
  }

  body.swp-login-page .swp-login-feature-strip span {
    padding-inline: 9px;
    font-size: .7rem;
  }

  body.swp-login-page .swp-login-feature-strip span:last-child {
    display: none;
  }

  body.swp-login-page .swp-login-form-panel {
    padding: 34px 22px calc(34px + env(safe-area-inset-bottom));
  }

  body.swp-login-page .swp-login-card.is-code-only .swp-login-form-head {
    grid-template-columns: 44px minmax(0, 1fr);
  }

  body.swp-login-page .swp-login-lock {
    width: 44px;
    height: 44px;
    border-radius: 14px;
  }

  body.swp-login-page .swp-login-card h2 {
    font-size: 1.3rem;
  }

  body.swp-login-page .swp-login-footnote {
    flex-direction: column;
    gap: 7px;
  }
}

@media (max-width: 360px) {
  body.swp-login-page .swp-login-visual {
    min-height: 145px;
    height: 145px;
  }

  body.swp-login-page .swp-login-clip-stage {
    transform: scale(.54);
  }
}

/* Gestione agenzie: replica dimensionale e componenti del backoffice PollMe. */
body.swp-agencies-page {
  min-height: 100vh;
  color: #0f172a;
  background:
    radial-gradient(circle at top left, rgba(var(--branding-primary-rgb), .14), transparent 30%),
    radial-gradient(circle at top right, rgba(var(--branding-secondary-rgb), .08), transparent 22%),
    linear-gradient(180deg, #fbfdff 0%, #f8fafc 58%, #f1f5f9 100%);
}

body.swp-agencies-page::before {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  background-image:
    linear-gradient(rgba(var(--branding-primary-rgb), .035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(var(--branding-primary-rgb), .035) 1px, transparent 1px);
  background-size: 48px 48px;
  mask-image: linear-gradient(180deg, rgba(0, 0, 0, .7), transparent);
}

body.swp-agencies-page .swp-agencies-shell {
  position: relative;
  z-index: 1;
  width: min(calc(100% - 24px), 1340px);
  margin: 0 auto 56px;
}

body.swp-agencies-page .swp-agencies-topbar {
  position: sticky;
  top: 12px;
  z-index: 24;
  min-height: 0;
  margin-top: 12px;
  padding: 14px 18px;
  border: 1px solid rgba(var(--branding-primary-rgb), .12);
  border-radius: 22px;
  background: rgba(255, 255, 255, .82);
  box-shadow: 0 14px 36px rgba(15, 23, 42, .08);
  backdrop-filter: blur(18px);
}

body.swp-agencies-page .swp-agencies-title {
  gap: 12px;
  font-weight: 600;
  letter-spacing: .01em;
}

body.swp-agencies-page .swp-agencies-title img,
body.swp-agencies-page .swp-agencies-title .brand-logo {
  display: block;
  width: 156px;
  max-width: 100%;
  max-height: 54px;
  object-fit: contain;
}

body.swp-agencies-page .swp-agencies-title .brand-copy {
  display: grid;
  gap: 2px;
}

body.swp-agencies-page .swp-agencies-title strong {
  color: #0f172a;
  font-size: 1rem;
  line-height: 1.15;
  font-weight: 700 !important;
}

body.swp-agencies-page .swp-agencies-title small {
  color: #64748b;
  font-size: .9rem;
  line-height: 1.2;
  font-weight: 600;
}

body.swp-agencies-page .swp-agencies-logout {
  width: auto;
  min-width: 80px;
  height: 44px !important;
  min-height: 44px !important;
  padding: 12px 18px !important;
  border: 1px solid rgba(245, 158, 11, .18) !important;
  border-radius: 12px !important;
  color: #fff !important;
  background: var(--btn-secondary) !important;
  box-shadow: none !important;
  font-size: var(--button-font-size, .84rem) !important;
  font-weight: 700;
}

body.swp-agencies-page .swp-agencies-logout:hover,
body.swp-agencies-page .swp-agencies-logout:focus-visible {
  color: #fff !important;
  background: var(--btn-secondary-2) !important;
  transform: translateY(-2px);
}

body.swp-agencies-page .swp-agencies-grid {
  display: grid;
  grid-template-columns: minmax(380px, 440px) minmax(0, 1fr);
  gap: 18px;
  align-items: start;
  margin-top: 20px;
}

body.swp-agencies-page .swp-agencies-create {
  position: sticky;
  top: 24px;
  display: grid;
  gap: 14px;
  padding: 18px 20px;
  border: 1px solid rgba(0, 174, 239, .1) !important;
  border-radius: 20px !important;
  background: rgba(255, 255, 255, .82) !important;
  box-shadow: var(--shadow) !important;
}

body.swp-agencies-page .swp-agency-create-head {
  grid-template-columns: auto minmax(0, 1fr);
  gap: 14px;
  margin: 0;
}

body.swp-agencies-page .swp-agency-create-icon {
  width: 48px;
  height: 48px;
  border: 0;
  border-radius: 16px;
  color: var(--btn-primary);
  background: rgba(var(--branding-primary-rgb), .11);
  box-shadow: inset 0 0 0 1px rgba(var(--branding-primary-rgb), .13);
  font-size: 1.35rem;
}

body.swp-agencies-page .event-create-copy {
  display: grid;
  gap: 5px;
}

body.swp-agencies-page .swp-agencies-kicker,
body.swp-agencies-page .backoffice-step-kicker {
  min-height: 0;
  margin: 0;
  padding: 5px 10px;
  border-radius: 999px;
  color: var(--accent-2);
  background: rgba(191, 245, 255, .82);
  font-size: .74rem;
  line-height: normal;
  font-weight: 700 !important;
  letter-spacing: .04em;
}

body.swp-agencies-page .event-create-copy .swp-agencies-kicker {
  padding: 4px 9px;
  font-size: .68rem;
}

body.swp-agencies-page .swp-agency-create-head strong {
  margin: 0;
  color: #0f172a;
  font-size: 1.18rem;
  line-height: 1.14;
  font-weight: 650 !important;
}

body.swp-agencies-page .swp-agency-create-head p {
  margin: 0;
  color: #64748b;
  font-size: .92rem;
  line-height: 1.45;
}

body.swp-agencies-page .swp-agency-form {
  display: grid;
  gap: 12px;
}

body.swp-agencies-page .swp-agency-field {
  display: grid;
  gap: 7px;
  color: #64748b;
  font-size: .74rem;
  font-weight: 600;
  letter-spacing: .03em;
  text-transform: uppercase;
}

body.swp-agencies-page .swp-agency-input {
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr);
  min-height: 48px;
  border: 1px solid rgba(148, 163, 184, .28);
  border-radius: 15px;
  background: #fff;
  box-shadow: 0 10px 22px rgba(15, 23, 42, .05);
}

body.swp-agencies-page .swp-agency-input:focus-within {
  border-color: rgba(var(--branding-primary-rgb), .45);
  box-shadow: 0 14px 28px rgba(var(--branding-primary-rgb), .12);
  transform: translateY(-1px);
}

body.swp-agencies-page .swp-agency-input i {
  color: #94a3b8;
}

body.swp-agencies-page .swp-agency-input .form-control {
  min-height: 46px;
  height: 46px;
  padding: 0 13px 0 0;
  border: 0;
  border-radius: 0;
  color: #172033;
  background: transparent;
  box-shadow: none;
  font-size: 1rem;
  font-weight: 400;
}

body.swp-agencies-page .swp-agency-logo-upload {
  grid-template-columns: 88px minmax(0, 1fr) auto;
  gap: 12px;
  min-height: 100px;
  padding: 10px 12px 10px 10px;
  border: 1px dashed rgba(148, 163, 184, .58);
  border-radius: 18px;
  background: linear-gradient(180deg, rgba(255, 255, 255, .98), rgba(248, 250, 252, .96));
  box-shadow: 0 12px 26px rgba(15, 23, 42, .06);
}

body.swp-agencies-page .swp-agency-logo-preview {
  width: 78px;
  height: 78px;
  border: 0;
  border-radius: 20px;
  color: rgba(var(--branding-primary-rgb), .9);
  background: rgba(var(--branding-primary-rgb), .09);
  box-shadow: inset 0 0 0 1px rgba(var(--branding-primary-rgb), .13);
  font-size: 1.45rem;
}

body.swp-agencies-page .swp-agency-logo-preview img {
  padding: 8px;
  background: #fff;
}

body.swp-agencies-page .swp-agency-logo-copy {
  gap: 4px;
  color: #475569;
}

body.swp-agencies-page .swp-agency-logo-copy strong {
  color: #0f172a;
  font-size: .88rem;
  line-height: 1.18;
  font-weight: 650 !important;
}

body.swp-agencies-page .swp-agency-logo-copy small {
  color: #64748b;
  font-size: .79rem;
  line-height: 1.32;
}

body.swp-agencies-page .swp-agency-logo-copy .agency-logo-filename {
  margin-top: 2px;
  padding: 4px 9px;
  border: 1px solid rgba(148, 163, 184, .2);
  background: rgba(148, 163, 184, .12);
  color: #475569;
  font-size: .78rem;
}

body.swp-agencies-page .swp-agency-logo-action {
  width: 34px;
  height: 34px;
  border-radius: 12px;
  color: rgba(var(--branding-primary-rgb), .95);
  background: rgba(var(--branding-primary-rgb), .1);
}

body.swp-agencies-page .swp-agency-submit {
  width: 100%;
  height: 40px !important;
  min-height: 40px !important;
  margin-top: 2px;
  padding: 7px 13px !important;
  border: 1px solid rgba(var(--branding-primary-rgb), .24) !important;
  border-radius: 12px !important;
  color: #fff !important;
  background: linear-gradient(135deg, var(--btn-primary), var(--btn-primary-2)) !important;
  box-shadow: 0 16px 30px rgba(var(--branding-primary-rgb), .24) !important;
  font-size: .82rem !important;
  font-weight: 700 !important;
}

body.swp-agencies-page .swp-agencies-list {
  display: grid;
  gap: 14px;
}

body.swp-agencies-page .swp-agency-card {
  display: grid;
  gap: 14px;
  padding: 24px;
  border: 1px solid rgba(0, 174, 239, .1) !important;
  border-radius: 24px !important;
  background: rgba(255, 255, 255, .82) !important;
  box-shadow: var(--shadow) !important;
}

body.swp-agencies-page .swp-agency-card.is-limit-reached {
  border-color: rgba(234, 88, 12, .28) !important;
  background: linear-gradient(180deg, rgba(255, 247, 237, .72), rgba(255, 255, 255, .96)) !important;
}

body.swp-agencies-page .swp-agency-card-header {
  align-items: center;
  gap: 16px;
  margin: 0;
  flex-wrap: wrap;
}

body.swp-agencies-page .swp-agency-identity {
  grid-template-columns: 76px minmax(0, 1fr);
  gap: 16px;
  flex: 1 1 360px;
}

body.swp-agencies-page .swp-agency-card-logo {
  width: 76px;
  height: 76px;
  border: 0;
  border-radius: 22px;
  color: var(--btn-primary);
  background: linear-gradient(135deg, rgba(var(--branding-primary-rgb), .12), rgba(235, 102, 0, .1));
  box-shadow: inset 0 0 0 1px rgba(var(--branding-primary-rgb), .12), 0 12px 24px rgba(15, 23, 42, .08);
  font-size: 1.55rem;
  font-weight: 700;
}

body.swp-agencies-page .swp-agency-card-logo img {
  padding: 7px;
  background: #fff;
}

body.swp-agencies-page .swp-agency-card-header strong {
  margin: 0;
  color: #0f172a;
  font-size: 1.08rem;
  line-height: 1.1;
  font-weight: 650 !important;
}

body.swp-agencies-page .swp-agency-meta-chip {
  min-height: 0;
  gap: 8px;
  padding: 6px 11px;
  color: #334155;
  background: rgba(15, 23, 42, .06);
  font-size: .74rem;
  font-weight: 600;
  letter-spacing: .03em;
  text-transform: uppercase;
}

body.swp-agencies-page .swp-agency-meta-chip.is-limit-reached {
  color: #c2410c;
  background: rgba(234, 88, 12, .14);
}

body.swp-agencies-page .swp-agency-quota {
  gap: 7px;
  margin: 0;
}

body.swp-agencies-page .swp-agency-quota-copy {
  gap: 10px;
  color: #64748b;
  font-size: .8rem;
}

body.swp-agencies-page .swp-agency-quota-copy span {
  color: inherit;
  font-size: inherit;
}

body.swp-agencies-page .swp-agency-quota-copy strong {
  color: #0f172a;
  font-size: .8rem;
  line-height: normal;
  font-weight: 650 !important;
}

body.swp-agencies-page .swp-agency-quota-track {
  height: 6px;
  background: rgba(148, 163, 184, .18);
}

body.swp-agencies-page .swp-agency-quota-track span {
  background: linear-gradient(90deg, var(--btn-primary), #eb6600);
}

body.swp-agencies-page .agency-limit-warning {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr);
  gap: 10px;
  align-items: start;
  padding: 11px 13px;
  border: 1px solid rgba(234, 88, 12, .2);
  border-radius: 14px;
  color: #c2410c;
  background: #fff7ed;
}

body.swp-agencies-page .agency-limit-warning strong {
  display: block;
  color: #7c2d12;
  font-size: .9rem;
  font-weight: 700 !important;
}

body.swp-agencies-page .agency-limit-warning span span {
  display: block;
  margin-top: 2px;
  color: #9a3412;
  font-size: .8rem;
}

body.swp-agencies-page .swp-agency-link-field {
  display: grid;
  gap: 6px;
  margin: 0;
  color: #64748b;
  font-size: .74rem;
  font-weight: 600;
  letter-spacing: .03em;
  text-transform: uppercase;
}

body.swp-agencies-page .swp-agency-link-field .form-control {
  width: 100%;
  min-height: 0;
  height: auto;
  padding: 13px 14px;
  border: 1px solid rgba(var(--branding-primary-rgb), .12);
  border-radius: 14px;
  color: #64748b;
  background: #fff;
  font-size: 1rem;
}

body.swp-agencies-page .swp-agency-actions {
  align-items: stretch;
  gap: 10px;
}

body.swp-agencies-page .swp-agency-action {
  flex: 0 0 auto;
  width: auto;
  height: 40px !important;
  min-height: 40px !important;
  padding: 7px 13px !important;
  border-width: 1px !important;
  border-style: solid !important;
  border-radius: 12px !important;
  color: #fff !important;
  font-size: .82rem !important;
  line-height: 1.15 !important;
  font-weight: 700 !important;
  letter-spacing: .01em;
}

body.swp-agencies-page .swp-agency-action.is-open {
  border-color: rgba(37, 99, 235, .24) !important;
  background: linear-gradient(135deg, #2563eb, #1d4ed8) !important;
  box-shadow: 0 12px 24px rgba(37, 99, 235, .18) !important;
}

body.swp-agencies-page .swp-agency-action.is-copy {
  border-color: rgba(71, 85, 105, .24) !important;
  background: linear-gradient(135deg, #475569, #334155) !important;
  box-shadow: 0 12px 24px rgba(71, 85, 105, .16) !important;
}

body.swp-agencies-page .swp-agency-action.is-send {
  border-color: rgba(201, 85, 0, .22) !important;
  background: linear-gradient(135deg, #eb6600, #c95500) !important;
  box-shadow: 0 12px 24px rgba(201, 85, 0, .18) !important;
}

body.swp-agencies-page .swp-agency-action.is-edit {
  border-color: rgba(8, 145, 178, .24) !important;
  background: linear-gradient(135deg, #0f766e, #0891b2) !important;
  box-shadow: 0 12px 24px rgba(8, 145, 178, .16) !important;
}

body.swp-agencies-page .swp-agency-action.is-delete {
  border-color: rgba(190, 18, 60, .24) !important;
  background: linear-gradient(135deg, #be123c, #991b1b) !important;
  box-shadow: 0 12px 24px rgba(190, 18, 60, .16) !important;
}

body.swp-agencies-page .swp-agency-action.is-copied {
  border-color: rgba(21, 115, 71, .26) !important;
  background: linear-gradient(135deg, #1f9d55, #157347) !important;
}

/* Popup invio link. */
body.swp-agencies-page .agency-mail-modal .modal-content {
  overflow: hidden;
  border: 0;
  border-radius: 24px;
  background: #fff;
  box-shadow: 0 28px 70px rgba(15, 23, 42, .22);
}

body.swp-agencies-page .agency-mail-modal .modal-header {
  padding: 22px 24px;
  border-bottom: 1px solid #e8eef3;
  background: linear-gradient(135deg, #effaff, #f5fffb);
}

body.swp-agencies-page .agency-mail-modal .modal-title {
  display: flex;
  align-items: center;
  gap: 12px;
  color: #162033;
  font-size: 1.2rem;
  font-weight: 700;
}

body.swp-agencies-page .agency-mail-modal .modal-title i {
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  border-radius: 13px;
  color: #087a55;
  background: #dff7ec;
}

body.swp-agencies-page .agency-mail-modal .modal-body {
  padding: 24px;
}

body.swp-agencies-page .agency-mail-modal .modal-footer {
  gap: 10px;
  padding: 0 24px 24px;
  border: 0;
}

body.swp-agencies-page .agency-mail-preview {
  margin-bottom: 18px;
  padding: 14px 16px;
  border: 1px solid #dceaf1;
  border-radius: 15px;
  color: #536273;
  background: #f8fbfd;
  font-size: .88rem;
  line-height: 1.45;
}

body.swp-agencies-page .agency-mail-preview strong {
  display: block;
  margin-bottom: 3px;
  color: #172033;
  font-weight: 700 !important;
}

body.swp-agencies-page .agency-mail-field {
  gap: 8px;
  color: #263343;
  font-size: .82rem;
  font-weight: 650;
  letter-spacing: 0;
  text-transform: none;
}

body.swp-agencies-page .agency-mail-input {
  grid-template-columns: 44px minmax(0, 1fr);
  min-height: 52px;
  border: 1px solid #d5dfe7;
  border-radius: 15px;
  background: #fff;
  box-shadow: none;
}

body.swp-agencies-page .agency-mail-input .form-control {
  min-height: 50px;
  height: 50px;
}

body.swp-agencies-page .agency-mail-modal .ghost-button,
body.swp-agencies-page .agency-mail-modal .primary-button,
body.swp-agencies-page .agency-edit-modal .ghost-button,
body.swp-agencies-page .agency-edit-modal .primary-button,
body.swp-agencies-page .events-confirm-dialog .ghost-button,
body.swp-agencies-page .events-confirm-dialog .primary-button {
  height: 40px !important;
  min-height: 40px !important;
  padding: 7px 13px !important;
  border-radius: 12px !important;
  font-size: .82rem !important;
  font-weight: 700 !important;
}

body.swp-agencies-page .agency-mail-modal .ghost-button,
body.swp-agencies-page .agency-edit-modal .ghost-button,
body.swp-agencies-page .events-confirm-dialog .ghost-button {
  border: 1px solid rgba(71, 85, 105, .24) !important;
  color: #fff !important;
  background: linear-gradient(135deg, #64748b, #475569) !important;
  box-shadow: 0 12px 24px rgba(71, 85, 105, .18) !important;
}

body.swp-agencies-page .agency-mail-modal .primary-button,
body.swp-agencies-page .agency-edit-modal .primary-button {
  border: 1px solid rgba(var(--branding-primary-rgb), .24) !important;
  color: #fff !important;
  background: linear-gradient(135deg, var(--btn-primary), var(--btn-primary-2)) !important;
  box-shadow: 0 16px 30px rgba(var(--branding-primary-rgb), .24) !important;
}

/* Popup modifica agenzia. */
body.swp-agencies-page .agency-edit-modal .modal-dialog {
  max-width: min(980px, calc(100vw - 28px));
}

body.swp-agencies-page .agency-edit-form.agency-settings-modal {
  overflow: hidden;
  border: 1px solid rgba(148, 163, 184, .26);
  border-radius: 24px;
  color: #0f172a;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, .98), rgba(248, 250, 252, .98)),
    linear-gradient(135deg, rgba(var(--branding-primary-rgb), .08), rgba(235, 102, 0, .06));
  box-shadow: 0 28px 70px rgba(15, 23, 42, .22);
}

body.swp-agencies-page .agency-settings-modal-header {
  align-items: center;
  padding: 22px 24px 14px;
}

body.swp-agencies-page .agency-settings-modal-title {
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
}

body.swp-agencies-page .agency-settings-modal-title .modal-title {
  font-weight: 500;
}

body.swp-agencies-page .agency-settings-modal-icon {
  width: 46px;
  height: 46px;
  flex: 0 0 46px;
  display: grid;
  place-items: center;
  border-radius: 14px;
  color: #fff;
  background: linear-gradient(135deg, var(--btn-primary), #eb6600);
  box-shadow: 0 14px 28px rgba(var(--branding-primary-rgb), .18);
  font-size: 1.22rem;
}

body.swp-agencies-page .agency-settings-close {
  width: 38px;
  height: 38px;
  border-radius: 12px;
  background-color: rgba(255, 255, 255, .82);
  box-shadow: 0 8px 18px rgba(15, 23, 42, .08);
}

body.swp-agencies-page .agency-edit-form .modal-body {
  padding: 10px 24px 22px;
}

body.swp-agencies-page .agency-settings-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(320px, .88fr);
  gap: 18px;
  align-items: stretch;
}

body.swp-agencies-page .agency-settings-fields {
  display: grid;
  gap: 12px;
  min-width: 0;
}

body.swp-agencies-page .agency-settings-section {
  display: grid;
  gap: 12px;
  padding: 14px;
  border: 1px solid rgba(148, 163, 184, .24);
  border-radius: 16px;
  background: rgba(255, 255, 255, .9);
  box-shadow: 0 12px 28px rgba(15, 23, 42, .05);
}

body.swp-agencies-page .agency-settings-section-head {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
}

body.swp-agencies-page .agency-settings-section-icon {
  width: 34px;
  height: 34px;
  flex: 0 0 34px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(var(--branding-primary-rgb), .12);
  border-radius: 11px;
  color: rgba(var(--branding-primary-rgb), .95);
  background: rgba(var(--branding-primary-rgb), .1);
}

body.swp-agencies-page .agency-settings-section-head strong {
  display: block;
  color: #0f172a;
  font-size: .94rem;
  line-height: 1.15;
  font-weight: 700 !important;
}

body.swp-agencies-page .agency-settings-section-head small {
  display: block;
  margin-top: 2px;
  color: #64748b;
  font-size: .76rem;
  line-height: 1.25;
  overflow-wrap: anywhere;
}

body.swp-agencies-page .agency-settings-field {
  gap: 8px;
}

body.swp-agencies-page .agency-settings-field > span:first-child {
  color: #64748b;
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .08em;
  line-height: 1;
  text-transform: uppercase;
}

body.swp-agencies-page .agency-edit-modal .swp-agency-logo-upload {
  grid-template-columns: 72px minmax(0, 1fr) auto;
  min-height: 88px;
  padding: 10px 12px;
  border-radius: 14px;
  border-color: rgba(var(--branding-primary-rgb), .35);
  background: linear-gradient(180deg, rgba(var(--branding-primary-rgb), .06), rgba(255, 255, 255, .9));
  box-shadow: none;
}

body.swp-agencies-page .agency-edit-modal .swp-agency-logo-preview {
  width: 62px;
  height: 62px;
  border-radius: 16px;
}

body.swp-agencies-page .agency-edit-modal .swp-agency-logo-action {
  color: #fff;
  background: var(--btn-primary);
  box-shadow: 0 12px 22px rgba(var(--branding-primary-rgb), .18);
}

body.swp-agencies-page .agency-logo-remove-button {
  justify-self: start;
  min-height: 38px;
  padding-inline: 12px;
  color: #be123c !important;
  border-color: rgba(190, 18, 60, .18) !important;
  background: linear-gradient(135deg, #fff1f2, #fff) !important;
  box-shadow: none !important;
}

body.swp-agencies-page .agency-logo-remove-button:hover {
  background: linear-gradient(135deg, #ffe4e6, #fff1f2) !important;
  box-shadow: 0 12px 24px rgba(190, 18, 60, .1) !important;
}

body.swp-agencies-page .agency-settings-preview {
  display: grid;
  align-content: space-between;
  justify-items: stretch;
  gap: 14px;
  min-height: 100%;
  padding: 16px;
  border: 1px solid rgba(var(--branding-primary-rgb), .18);
  border-radius: 18px;
  text-align: left;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, .98), rgba(244, 249, 252, .96)),
    linear-gradient(135deg, rgba(var(--branding-primary-rgb), .1), rgba(235, 102, 0, .08));
  box-shadow: 0 18px 40px rgba(15, 23, 42, .08);
}

body.swp-agencies-page .agency-settings-preview-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  min-width: 0;
}

body.swp-agencies-page .agency-settings-preview-logo-wrap {
  width: 74px;
  height: 74px;
  display: grid;
  place-items: center;
  overflow: hidden;
  border: 1px solid rgba(148, 163, 184, .2);
  border-radius: 20px;
  color: var(--btn-primary);
  background: rgba(255, 255, 255, .82);
  font-size: 1.45rem;
  font-weight: 800;
}

body.swp-agencies-page .agency-settings-preview-logo {
  display: block;
  width: 100%;
  height: 100%;
  padding: 8px;
  object-fit: contain;
  background: #fff;
}

body.swp-agencies-page .agency-settings-preview-file {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 0;
  min-height: 30px;
  max-width: 210px;
  padding: 6px 10px;
  overflow: hidden;
  border-radius: 999px;
  color: rgba(var(--branding-primary-rgb), .95);
  background: rgba(var(--branding-primary-rgb), .09);
  font-size: .72rem;
  font-weight: 800;
  text-overflow: ellipsis;
  white-space: nowrap;
}

body.swp-agencies-page .agency-settings-preview.is-removing-logo .agency-settings-preview-file {
  color: #b91c1c;
  background: rgba(239, 68, 68, .1);
}

body.swp-agencies-page .agency-settings-preview-stage {
  display: grid;
  gap: 14px;
  padding: 18px;
  border: 1px solid rgba(255, 255, 255, .72);
  border-radius: 16px;
  color: #0f172a;
  background:
    linear-gradient(135deg, rgba(var(--branding-primary-rgb), .14), rgba(255, 255, 255, .92)),
    linear-gradient(180deg, rgba(255, 255, 255, .96), rgba(255, 255, 255, .74));
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .72);
}

body.swp-agencies-page .agency-settings-preview-kicker {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  min-height: 28px;
  padding: 5px 10px;
  border-radius: 999px;
  color: #c95500;
  background: rgba(235, 102, 0, .14);
  font-size: .72rem;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}

body.swp-agencies-page .agency-settings-preview-copy {
  display: grid;
  gap: 8px;
}

body.swp-agencies-page .agency-settings-preview-copy strong {
  max-width: 12ch;
  color: #0f172a;
  font-size: clamp(1.55rem, 2.2vw, 2.05rem);
  line-height: 1;
  font-weight: 760 !important;
  letter-spacing: 0;
  overflow-wrap: normal;
}

body.swp-agencies-page .agency-settings-preview-copy p {
  margin: 0;
  color: #64748b;
  font-size: .92rem;
  font-weight: 800;
}

body.swp-agencies-page .agency-settings-preview-bars {
  display: grid;
  gap: 7px;
  margin-top: 4px;
}

body.swp-agencies-page .agency-settings-preview-bars span {
  display: block;
  height: 10px;
  border-radius: 999px;
  background: rgba(var(--branding-primary-rgb), .18);
}

body.swp-agencies-page .agency-settings-preview-bars span:nth-child(1) { width: 82%; background: rgba(var(--branding-primary-rgb), .42); }
body.swp-agencies-page .agency-settings-preview-bars span:nth-child(2) { width: 64%; background: rgba(235, 102, 0, .34); }
body.swp-agencies-page .agency-settings-preview-bars span:nth-child(3) { width: 74%; }

body.swp-agencies-page .agency-settings-preview-actions,
body.swp-agencies-page .agency-settings-modal-footer {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}

body.swp-agencies-page .agency-settings-preview-action {
  min-height: 42px;
  padding: 9px 14px;
  cursor: default;
  pointer-events: none;
}

body.swp-agencies-page .agency-settings-modal-footer {
  justify-content: space-between;
  padding-top: 18px !important;
  border-top: 1px solid rgba(148, 163, 184, .18) !important;
}

/* Popup conferma eliminazione. */
body.swp-agencies-page .events-confirm-dialog .modal-content {
  overflow: hidden;
  border: 1px solid rgba(148, 163, 184, .22);
  border-radius: 24px;
  color: #0f172a;
  background: #fff;
  box-shadow: 0 32px 80px rgba(15, 23, 42, .28);
}

body.swp-agencies-page .events-confirm-dialog .modal-header {
  align-items: flex-start;
  gap: 16px;
  padding: 24px 24px 14px;
  border: 0;
}

body.swp-agencies-page .events-confirm-dialog .modal-title {
  color: #0f172a;
  font-size: clamp(1.12rem, 2vw, 1.3rem);
  line-height: 1.2;
  font-weight: 750;
}

body.swp-agencies-page .events-confirm-heading {
  display: flex;
  align-items: center;
  gap: 13px;
}

body.swp-agencies-page .events-confirm-icon {
  width: 46px;
  height: 46px;
  flex: 0 0 46px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(220, 38, 38, .14);
  border-radius: 15px;
  color: #dc2626;
  background: linear-gradient(145deg, #fff1f2, #fee2e2);
}

body.swp-agencies-page .events-confirm-dialog .modal-body {
  padding: 4px 24px 20px;
}

body.swp-agencies-page .events-confirm-copy {
  margin: 0 0 14px;
  color: #475569;
  font-size: .98rem;
  line-height: 1.6;
}

body.swp-agencies-page .events-confirm-dialog .swp-agency-delete-note {
  margin: 14px 0 0;
  border: 1px solid rgba(234, 88, 12, .18);
  color: #9a3412;
  background: #fff7ed;
}

body.swp-agencies-page .events-confirm-dialog .modal-footer {
  padding: 0 24px 24px;
  border: 0;
}

body.swp-agencies-page .events-confirm-actions {
  display: flex;
  width: 100%;
  gap: 10px;
  justify-content: flex-end;
}

body.swp-agencies-page .events-confirm-actions button {
  min-width: 124px;
}

body.swp-agencies-page .events-confirm-dialog .events-danger-button {
  border: 1px solid rgba(220, 38, 38, .24) !important;
  color: #fff !important;
  background: linear-gradient(135deg, #ef4444, #dc2626) !important;
  box-shadow: 0 14px 28px rgba(220, 38, 38, .18) !important;
}

@media (max-width: 979px) {
  body.swp-agencies-page .swp-agencies-grid {
    grid-template-columns: 1fr;
  }

  body.swp-agencies-page .swp-agencies-create {
    position: static;
  }

  body.swp-agencies-page .agency-settings-grid {
    grid-template-columns: 1fr;
  }

  body.swp-agencies-page .agency-settings-preview-stage {
    grid-template-columns: minmax(0, 1fr) minmax(120px, .42fr);
    align-items: center;
  }

  body.swp-agencies-page .agency-settings-preview-kicker {
    grid-column: 1 / -1;
  }
}

@media (max-width: 680px) {
  body.swp-agencies-page .swp-agencies-shell {
    width: min(calc(100% - 24px), 1340px);
    margin-top: 0;
  }

  body.swp-agencies-page .swp-agencies-topbar {
    align-items: center;
    flex-direction: row;
    padding: 12px 14px;
    border-radius: 20px;
  }

  body.swp-agencies-page .swp-agencies-title {
    gap: 10px;
  }

  body.swp-agencies-page .swp-agencies-title img,
  body.swp-agencies-page .swp-agencies-title .brand-logo {
    width: 118px;
  }

  body.swp-agencies-page .swp-agencies-title strong { font-size: .88rem; }
  body.swp-agencies-page .swp-agencies-title small { font-size: .76rem; }

  body.swp-agencies-page .swp-agencies-logout {
    width: auto;
    min-width: 44px;
    padding-inline: 12px !important;
  }

  body.swp-agencies-page .swp-agency-card,
  body.swp-agencies-page .swp-agencies-create {
    padding: 18px;
  }

  body.swp-agencies-page .swp-agency-card-header,
  body.swp-agencies-page .swp-agency-quota-copy {
    align-items: center;
    flex-direction: row;
  }

  body.swp-agencies-page .swp-agency-identity {
    grid-template-columns: 64px minmax(0, 1fr);
    gap: 12px;
  }

  body.swp-agencies-page .swp-agency-card-logo {
    width: 64px;
    height: 64px;
    border-radius: 19px;
  }

  body.swp-agencies-page .swp-agency-action {
    width: 100%;
  }

  body.swp-agencies-page .agency-settings-modal-header {
    padding: 18px 18px 12px;
  }

  body.swp-agencies-page .agency-settings-modal-footer {
    padding-inline: 18px !important;
  }

  body.swp-agencies-page .agency-settings-modal-title {
    gap: 10px;
  }

  body.swp-agencies-page .agency-settings-modal-icon {
    width: 40px;
    height: 40px;
    flex-basis: 40px;
    border-radius: 13px;
  }

  body.swp-agencies-page .agency-edit-form .modal-body {
    padding: 8px 18px 18px;
  }

  body.swp-agencies-page .agency-edit-modal .swp-agency-logo-upload {
    grid-template-columns: 64px minmax(0, 1fr);
  }

  body.swp-agencies-page .agency-edit-modal .swp-agency-logo-action {
    display: none;
  }

  body.swp-agencies-page .agency-settings-preview-stage {
    grid-template-columns: 1fr;
  }

  body.swp-agencies-page .events-confirm-actions {
    display: grid;
    grid-template-columns: 1fr;
  }

  body.swp-agencies-page .events-confirm-actions button {
    width: 100%;
  }
}

/* Monitor live v4: stati pronto e QR premium, fluidi in ogni rapporto. */
body.swp-wall-premium #wall-stage .swp-wall-ready-premium,
body.swp-wall-premium #wall-stage .swp-screen-qr-card {
  font-family: var(--app-font-family);
  -webkit-font-smoothing: antialiased;
}

body.swp-wall-premium #wall-stage .swp-wall-ready-premium {
  position: relative;
  isolation: isolate;
  width: 100%;
  height: 100%;
  min-width: 0;
  min-height: 0;
  display: grid;
  grid-template-columns: minmax(0, .86fr) minmax(300px, 1.14fr);
  align-items: center;
  gap: clamp(22px, 5cqw, 86px);
  padding: clamp(24px, 6cqh, 70px) clamp(26px, 6cqw, 90px);
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, .12);
  border-radius: clamp(26px, 3.2cqw, 54px);
  color: #fff;
  background:
    radial-gradient(circle at 10% 9%, color-mix(in srgb, var(--swp-primary) 48%, transparent), transparent 29%),
    radial-gradient(circle at 88% 82%, color-mix(in srgb, var(--swp-secondary) 38%, transparent), transparent 32%),
    linear-gradient(137deg, #07111e 0%, #0d1b2c 48%, #12263b 100%);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .08), 0 36px 100px rgba(2, 8, 23, .3);
}

body.swp-wall-premium #wall-stage .swp-wall-ready-premium::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  opacity: .34;
  background-image: radial-gradient(rgba(255, 255, 255, .18) 1px, transparent 1px);
  background-size: clamp(26px, 2.2cqw, 42px) clamp(26px, 2.2cqw, 42px);
  mask-image: linear-gradient(115deg, #000, transparent 50%, #000);
  pointer-events: none;
}

body.swp-wall-premium #wall-stage .swp-wall-ready-premium::after {
  content: "";
  position: absolute;
  inset: clamp(12px, 1.4cqw, 24px);
  z-index: -1;
  border: 1px solid rgba(255, 255, 255, .09);
  border-radius: clamp(20px, 2.5cqw, 42px);
  pointer-events: none;
}

body.swp-wall-premium #wall-stage .swp-wall-ready-glow,
body.swp-wall-premium #wall-stage .swp-screen-qr-glow {
  position: absolute;
  z-index: -1;
  width: min(42cqw, 620px);
  aspect-ratio: 1;
  border-radius: 50%;
  filter: blur(18px);
  pointer-events: none;
}

body.swp-wall-premium #wall-stage .swp-wall-ready-glow.is-one,
body.swp-wall-premium #wall-stage .swp-screen-qr-glow.is-one {
  top: -30%;
  left: -16%;
  background: color-mix(in srgb, var(--swp-primary) 24%, transparent);
}

body.swp-wall-premium #wall-stage .swp-wall-ready-glow.is-two,
body.swp-wall-premium #wall-stage .swp-screen-qr-glow.is-two {
  right: -18%;
  bottom: -42%;
  background: color-mix(in srgb, var(--swp-secondary) 19%, transparent);
}

body.swp-wall-premium #wall-stage .swp-wall-ready-copy {
  position: relative;
  z-index: 2;
  min-width: 0;
  display: grid;
  justify-items: start;
  gap: clamp(10px, 1.7cqh, 18px);
}

body.swp-wall-premium #wall-stage .swp-wall-ready-kicker,
body.swp-wall-premium #wall-stage .swp-screen-qr-kicker {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  width: fit-content;
  min-height: clamp(32px, 5cqh, 42px);
  padding: 7px 13px;
  border: 1px solid rgba(255, 255, 255, .15);
  border-radius: 999px;
  color: #dff7ff;
  background: rgba(255, 255, 255, .09);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .08);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  font-size: clamp(.68rem, min(.9cqw, 1.8cqh), .84rem);
  font-style: normal;
  font-weight: 600;
  letter-spacing: .12em;
  line-height: 1;
  text-transform: uppercase;
}

body.swp-wall-premium #wall-stage .swp-wall-ready-kicker .bi,
body.swp-wall-premium #wall-stage .swp-screen-qr-kicker .bi {
  color: #7dd3fc;
  font-size: 1.08em;
}

body.swp-wall-premium #wall-stage .swp-wall-ready-copy h1 {
  max-width: 7.5ch;
  margin: 0;
  color: #fff;
  font-size: clamp(2.5rem, min(6.6cqw, 14.5cqh), 7rem);
  font-weight: 650;
  letter-spacing: -.06em;
  line-height: .9;
  text-wrap: balance;
  text-shadow: 0 22px 54px rgba(0, 0, 0, .28);
}

body.swp-wall-premium #wall-stage .swp-wall-ready-copy > p {
  max-width: 39ch;
  margin: 0;
  color: rgba(230, 240, 250, .76);
  font-size: clamp(.84rem, min(1.35cqw, 2.8cqh), 1.22rem);
  font-weight: 400;
  line-height: 1.48;
  text-wrap: balance;
}

body.swp-wall-premium #wall-stage .swp-wall-ready-event {
  min-width: min(100%, 280px);
  max-width: 100%;
  display: flex;
  align-items: center;
  gap: 11px;
  margin-top: clamp(2px, .7cqh, 7px);
  padding: 9px 14px 9px 9px;
  border: 1px solid rgba(255, 255, 255, .13);
  border-radius: 17px;
  color: #fff;
  background: linear-gradient(135deg, rgba(255, 255, 255, .12), rgba(255, 255, 255, .065));
  box-shadow: 0 18px 42px rgba(0, 0, 0, .14);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
}

body.swp-wall-premium #wall-stage .swp-wall-ready-event-mark {
  width: clamp(38px, 4.2cqw, 48px);
  aspect-ratio: 1;
  flex: 0 0 auto;
  display: grid;
  place-items: center;
  border-radius: 13px;
  color: #fff;
  background: linear-gradient(145deg, color-mix(in srgb, var(--swp-primary) 88%, #fff), color-mix(in srgb, var(--swp-secondary) 80%, #0f172a));
  box-shadow: 0 12px 28px color-mix(in srgb, var(--swp-primary) 24%, transparent);
}

body.swp-wall-premium #wall-stage .swp-wall-ready-event > span:last-child {
  min-width: 0;
  display: grid;
  gap: 2px;
}

body.swp-wall-premium #wall-stage .swp-wall-ready-event small {
  color: rgba(226, 232, 240, .6);
  font-size: clamp(.61rem, .75cqw, .72rem);
  font-weight: 500;
  letter-spacing: .08em;
  line-height: 1;
  text-transform: uppercase;
}

body.swp-wall-premium #wall-stage .swp-wall-ready-event strong {
  max-width: 28ch;
  overflow: hidden;
  color: #fff;
  font-size: clamp(.82rem, 1.05cqw, 1rem);
  font-weight: 600;
  line-height: 1.2;
  text-overflow: ellipsis;
  white-space: nowrap;
}

body.swp-wall-premium #wall-stage .swp-wall-ready-status {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  color: rgba(226, 232, 240, .7);
  font-size: clamp(.68rem, .86cqw, .82rem);
  font-weight: 500;
}

body.swp-wall-premium #wall-stage .swp-wall-ready-status > i {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #34d399;
  box-shadow: 0 0 0 5px rgba(52, 211, 153, .12), 0 0 18px rgba(52, 211, 153, .68);
  animation: swpWallReadyPulse 2s ease-in-out infinite;
}

body.swp-wall-premium #wall-stage .swp-wall-ready-visual {
  position: relative;
  z-index: 2;
  width: 100%;
  height: min(74cqh, 620px);
  min-width: 0;
  min-height: 0;
  display: grid;
  place-items: center;
  perspective: 1100px;
}

body.swp-wall-premium #wall-stage .swp-wall-ready-window {
  position: relative;
  width: min(46cqw, 760px);
  max-width: 100%;
  aspect-ratio: 1.35;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, .17);
  border-radius: clamp(22px, 2.4cqw, 38px);
  background: linear-gradient(145deg, rgba(255, 255, 255, .15), rgba(255, 255, 255, .07));
  box-shadow: 0 46px 100px rgba(0, 0, 0, .34), inset 0 1px 0 rgba(255, 255, 255, .15);
  backdrop-filter: blur(22px);
  -webkit-backdrop-filter: blur(22px);
  transform: rotateY(-5deg) rotateX(2deg);
}

body.swp-wall-premium #wall-stage .swp-wall-ready-window-bar {
  height: clamp(38px, 6.5cqh, 58px);
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  padding: 0 clamp(13px, 1.4cqw, 21px);
  border-bottom: 1px solid rgba(255, 255, 255, .1);
  color: rgba(255, 255, 255, .68);
  background: rgba(1, 8, 20, .2);
}

body.swp-wall-premium #wall-stage .swp-wall-ready-window-bar > span {
  display: flex;
  gap: 5px;
}

body.swp-wall-premium #wall-stage .swp-wall-ready-window-bar > span i {
  width: clamp(5px, .55cqw, 8px);
  aspect-ratio: 1;
  border-radius: 50%;
  background: rgba(255, 255, 255, .22);
}

body.swp-wall-premium #wall-stage .swp-wall-ready-window-bar b {
  font-size: clamp(.58rem, .72cqw, .7rem);
  font-weight: 600;
  letter-spacing: .16em;
}

body.swp-wall-premium #wall-stage .swp-wall-ready-window-bar em {
  justify-self: end;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: clamp(.56rem, .7cqw, .68rem);
  font-style: normal;
  font-weight: 600;
  letter-spacing: .05em;
  text-transform: uppercase;
}

body.swp-wall-premium #wall-stage .swp-wall-ready-window-bar em .bi {
  color: #34d399;
  font-size: .58em;
}

body.swp-wall-premium #wall-stage .swp-wall-ready-grid {
  height: calc(100% - clamp(38px, 6.5cqh, 58px));
  display: grid;
  grid-template-columns: 1.05fr .95fr;
  grid-template-rows: 1fr .68fr;
  gap: clamp(8px, 1.2cqw, 16px);
  padding: clamp(12px, 1.7cqw, 24px);
}

body.swp-wall-premium #wall-stage .swp-wall-ready-card {
  position: relative;
  min-width: 0;
  min-height: 0;
  display: grid;
  align-content: end;
  gap: 7px;
  padding: clamp(11px, 1.4cqw, 20px);
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, .11);
  border-radius: clamp(14px, 1.5cqw, 24px);
  background: rgba(255, 255, 255, .085);
}

body.swp-wall-premium #wall-stage .swp-wall-ready-card > .bi {
  position: absolute;
  top: 50%;
  left: 50%;
  color: rgba(255, 255, 255, .9);
  font-size: clamp(1.3rem, min(2.6cqw, 5cqh), 2.8rem);
  transform: translate(-50%, -70%);
}

body.swp-wall-premium #wall-stage .swp-wall-ready-card.is-photo {
  grid-row: 1 / 3;
  background:
    radial-gradient(circle at 72% 20%, rgba(255, 255, 255, .18), transparent 26%),
    linear-gradient(150deg, color-mix(in srgb, var(--swp-primary) 64%, #18283b), #122132 60%, color-mix(in srgb, var(--swp-secondary) 46%, #122132));
}

body.swp-wall-premium #wall-stage .swp-wall-ready-card.is-message {
  background: linear-gradient(145deg, rgba(255, 255, 255, .14), rgba(255, 255, 255, .06));
}

body.swp-wall-premium #wall-stage .swp-wall-ready-card.is-wide {
  grid-template-columns: auto 1fr;
  align-items: center;
  align-content: center;
  background: linear-gradient(145deg, rgba(255, 255, 255, .11), rgba(255, 255, 255, .05));
}

body.swp-wall-premium #wall-stage .swp-wall-ready-card.is-wide > .bi {
  position: static;
  color: #fb7185;
  transform: none;
}

body.swp-wall-premium #wall-stage .swp-wall-ready-card b,
body.swp-wall-premium #wall-stage .swp-wall-ready-card small {
  display: block;
  height: clamp(4px, .55cqh, 7px);
  border-radius: 999px;
  background: rgba(255, 255, 255, .24);
}

body.swp-wall-premium #wall-stage .swp-wall-ready-card b {
  width: 74%;
}

body.swp-wall-premium #wall-stage .swp-wall-ready-card small {
  width: 52%;
  opacity: .64;
}

body.swp-wall-premium #wall-stage .swp-wall-ready-card.is-wide b {
  width: 72%;
}

body.swp-wall-premium #wall-stage .swp-wall-ready-float {
  position: absolute;
  z-index: 4;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: clamp(8px, 1cqw, 13px) clamp(10px, 1.25cqw, 17px);
  border: 1px solid rgba(255, 255, 255, .2);
  border-radius: 999px;
  color: #fff;
  background: rgba(13, 27, 44, .78);
  box-shadow: 0 20px 48px rgba(0, 0, 0, .28);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
  font-size: clamp(.65rem, .82cqw, .82rem);
  animation: swpWallReadyFloat 4.6s ease-in-out infinite;
}

body.swp-wall-premium #wall-stage .swp-wall-ready-float b {
  font-weight: 600;
}

body.swp-wall-premium #wall-stage .swp-wall-ready-float.is-like {
  top: 12%;
  right: 2%;
}

body.swp-wall-premium #wall-stage .swp-wall-ready-float.is-like .bi {
  color: #fb7185;
}

body.swp-wall-premium #wall-stage .swp-wall-ready-float.is-post {
  left: 0;
  bottom: 8%;
  animation-delay: -2.2s;
}

body.swp-wall-premium #wall-stage .swp-wall-ready-float.is-post .bi {
  color: #7dd3fc;
}

/* QR: pannello scansionabile ad alto contrasto. */
body.swp-wall-premium #wall-stage .is-qr-mode {
  width: 100%;
  height: 100%;
  min-width: 0;
  min-height: 0;
  place-items: stretch;
}

body.swp-wall-premium #wall-stage .swp-screen-qr-card {
  position: relative;
  isolation: isolate;
  width: 100% !important;
  height: 100% !important;
  min-width: 0 !important;
  min-height: 0 !important;
  max-width: none !important;
  max-height: none !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(290px, .68fr) !important;
  grid-template-rows: minmax(0, 1fr) !important;
  align-items: center;
  gap: clamp(24px, 5cqw, 84px) !important;
  margin: 0 !important;
  padding: clamp(26px, 6cqh, 72px) clamp(28px, 6cqw, 92px) !important;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, .13) !important;
  border-radius: clamp(26px, 3.2cqw, 54px) !important;
  color: #fff !important;
  background:
    radial-gradient(circle at 10% 10%, color-mix(in srgb, var(--swp-primary) 52%, transparent), transparent 30%),
    radial-gradient(circle at 86% 86%, color-mix(in srgb, var(--swp-secondary) 42%, transparent), transparent 30%),
    linear-gradient(137deg, #07111e 0%, #0d1b2c 48%, #12263b 100%) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .08), 0 36px 100px rgba(2, 8, 23, .3) !important;
}

body.swp-wall-premium #wall-stage .swp-screen-qr-card::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  opacity: .3;
  border: 0;
  border-radius: inherit;
  background-image: radial-gradient(rgba(255, 255, 255, .19) 1px, transparent 1px);
  background-size: clamp(26px, 2.2cqw, 42px) clamp(26px, 2.2cqw, 42px);
  mask-image: linear-gradient(115deg, #000, transparent 48%, #000);
  pointer-events: none;
}

body.swp-wall-premium #wall-stage .swp-screen-qr-card::after {
  content: "";
  position: absolute;
  inset: clamp(12px, 1.4cqw, 24px);
  z-index: -1;
  border: 1px solid rgba(255, 255, 255, .09);
  border-radius: clamp(20px, 2.5cqw, 42px);
  pointer-events: none;
}

body.swp-wall-premium #wall-stage .swp-screen-qr-copy {
  position: relative;
  z-index: 2;
  min-width: 0;
  display: grid;
  justify-items: start;
  align-content: center;
  gap: clamp(10px, 1.7cqh, 18px);
  padding: 0 !important;
  text-align: left;
}

body.swp-wall-premium #wall-stage .swp-screen-qr-copy > .swp-screen-qr-kicker {
  color: #dff7ff;
  background: rgba(255, 255, 255, .09);
}

body.swp-wall-premium #wall-stage .swp-screen-qr-card .swp-screen-qr-copy > strong {
  display: block;
  max-width: 10ch;
  margin: 0;
  color: #fff !important;
  font-size: clamp(2.25rem, min(5.8cqw, 13cqh), 6.2rem) !important;
  font-weight: 650 !important;
  letter-spacing: -.06em !important;
  line-height: .9 !important;
  text-wrap: balance;
  text-shadow: 0 22px 54px rgba(0, 0, 0, .28);
}

body.swp-wall-premium #wall-stage .swp-screen-qr-card .swp-screen-qr-copy > p {
  width: auto;
  max-width: 41ch;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  color: rgba(230, 240, 250, .78);
  background: transparent;
  font-size: clamp(.84rem, min(1.3cqw, 2.7cqh), 1.2rem);
  font-weight: 400;
  line-height: 1.48;
  text-align: left;
  text-wrap: balance;
  backdrop-filter: none;
}

body.swp-wall-premium #wall-stage .swp-screen-qr-steps {
  display: flex;
  align-items: center;
  gap: clamp(6px, .9cqw, 12px);
  margin-top: clamp(1px, .5cqh, 5px);
}

body.swp-wall-premium #wall-stage .swp-screen-qr-steps > span {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 0;
  border: 0;
  color: rgba(241, 245, 249, .76);
  background: transparent;
  box-shadow: none;
  font-size: clamp(.66rem, .85cqw, .82rem);
  font-weight: 550;
  letter-spacing: 0;
  text-transform: none;
  backdrop-filter: none;
}

body.swp-wall-premium #wall-stage .swp-screen-qr-steps > span b {
  width: clamp(24px, 2.3cqw, 30px);
  aspect-ratio: 1;
  display: grid;
  place-items: center;
  border: 1px solid rgba(125, 211, 252, .28);
  border-radius: 50%;
  color: #e0f2fe;
  background: rgba(14, 165, 233, .13);
  font-size: .82em;
  font-weight: 650;
}

body.swp-wall-premium #wall-stage .swp-screen-qr-steps > .bi {
  color: rgba(226, 232, 240, .32);
  font-size: .74em;
}

body.swp-wall-premium #wall-stage .swp-screen-qr-url {
  width: min(100%, 540px);
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 9px;
  margin-top: clamp(1px, .7cqh, 7px);
  padding: 9px 13px;
  border: 1px solid rgba(255, 255, 255, .12);
  border-radius: 13px;
  color: rgba(226, 232, 240, .64);
  background: rgba(255, 255, 255, .065);
  font-size: clamp(.64rem, .8cqw, .78rem);
  line-height: 1.2;
}

body.swp-wall-premium #wall-stage .swp-screen-qr-url .bi {
  flex: 0 0 auto;
  color: #7dd3fc;
  font-size: 1.15em;
}

body.swp-wall-premium #wall-stage .swp-screen-qr-url span {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

body.swp-wall-premium #wall-stage .swp-screen-qr-panel {
  position: relative;
  z-index: 3;
  width: min(36cqw, 68cqh, 500px);
  max-width: 100%;
  justify-self: center;
  display: grid;
  gap: clamp(10px, 1.6cqh, 15px);
  padding: clamp(13px, 1.6cqw, 21px);
  border: 1px solid rgba(255, 255, 255, .62);
  border-radius: clamp(24px, 2.8cqw, 40px);
  color: #0f172a;
  background: linear-gradient(145deg, rgba(255, 255, 255, .99), rgba(241, 247, 251, .97));
  box-shadow: 0 40px 94px rgba(0, 0, 0, .34), 0 0 0 10px rgba(255, 255, 255, .065), inset 0 1px 0 #fff;
}

body.swp-wall-premium #wall-stage .swp-screen-qr-panel-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 0 clamp(3px, .45cqw, 7px);
  color: #0f172a;
  font-size: clamp(.68rem, .9cqw, .86rem);
  font-weight: 650;
  letter-spacing: .11em;
  line-height: 1;
  text-transform: uppercase;
}

body.swp-wall-premium #wall-stage .swp-screen-qr-panel-head .bi {
  color: color-mix(in srgb, var(--swp-primary) 82%, #0369a1);
  font-size: 1.12em;
}

body.swp-wall-premium #wall-stage .swp-screen-qr-panel .swp-screen-qr-code {
  position: relative;
  width: 100% !important;
  max-width: none !important;
  aspect-ratio: 1;
  justify-self: stretch;
  margin: 0 !important;
  padding: clamp(14px, 1.5cqw, 22px) !important;
  overflow: hidden;
  border: 1px solid #dce7ef !important;
  border-radius: clamp(18px, 2cqw, 29px) !important;
  background: #fff !important;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .96), 0 16px 36px rgba(15, 23, 42, .08) !important;
}

body.swp-wall-premium #wall-stage .swp-screen-qr-panel .swp-screen-qr-code::before,
body.swp-wall-premium #wall-stage .swp-screen-qr-panel .swp-screen-qr-code::after {
  content: none !important;
  display: none !important;
  animation: none !important;
}

body.swp-wall-premium #wall-stage .swp-screen-qr-code img {
  position: relative;
  z-index: 2;
  display: block;
  width: 100% !important;
  height: 100% !important;
  border-radius: clamp(9px, 1cqw, 14px) !important;
  object-fit: contain !important;
  filter: contrast(1.07) !important;
}

body.swp-wall-premium #wall-stage .swp-qr-corner {
  position: absolute;
  z-index: 4;
  width: clamp(18px, 2cqw, 28px);
  aspect-ratio: 1;
  border-color: color-mix(in srgb, var(--swp-primary) 82%, #0369a1);
  border-style: solid;
  pointer-events: none;
}

body.swp-wall-premium #wall-stage .swp-qr-corner.is-tl {
  top: 9px;
  left: 9px;
  border-width: 3px 0 0 3px;
  border-radius: 9px 0 0;
}

body.swp-wall-premium #wall-stage .swp-qr-corner.is-tr {
  top: 9px;
  right: 9px;
  border-width: 3px 3px 0 0;
  border-radius: 0 9px 0 0;
}

body.swp-wall-premium #wall-stage .swp-qr-corner.is-bl {
  bottom: 9px;
  left: 9px;
  border-width: 0 0 3px 3px;
  border-radius: 0 0 0 9px;
}

body.swp-wall-premium #wall-stage .swp-qr-corner.is-br {
  right: 9px;
  bottom: 9px;
  border-width: 0 3px 3px 0;
  border-radius: 0 0 9px;
}

body.swp-wall-premium #wall-stage .swp-screen-qr-panel-foot {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: center;
  column-gap: 8px;
  padding: 1px clamp(3px, .45cqw, 7px) 2px;
  text-align: left;
}

body.swp-wall-premium #wall-stage .swp-screen-qr-panel-foot > .bi {
  grid-row: 1 / 3;
  width: clamp(30px, 2.8cqw, 38px);
  aspect-ratio: 1;
  display: grid;
  place-items: center;
  border-radius: 11px;
  color: #0369a1;
  background: #e0f2fe;
}

body.swp-wall-premium #wall-stage .swp-screen-qr-panel-foot span {
  color: #0f172a;
  font-size: clamp(.7rem, .85cqw, .82rem);
  font-weight: 650;
  line-height: 1.15;
}

body.swp-wall-premium #wall-stage .swp-screen-qr-panel-foot small {
  color: #64748b;
  font-size: clamp(.6rem, .72cqw, .7rem);
  font-weight: 450;
  line-height: 1.2;
}

body.swp-wall-premium #wall-stage .swp-screen-qr-clipart {
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
}

body.swp-wall-premium #wall-stage .swp-screen-qr-clipart > span {
  position: absolute;
  display: grid;
  place-items: center;
  border: 1px solid rgba(255, 255, 255, .17);
  border-radius: 50%;
  color: #fff;
  background: rgba(255, 255, 255, .1);
  box-shadow: 0 20px 54px rgba(0, 0, 0, .22);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
  animation: swpWallReadyFloat 5s ease-in-out infinite;
}

body.swp-wall-premium #wall-stage .swp-screen-qr-clipart .is-phone {
  top: 9%;
  right: 4%;
  width: clamp(38px, 4cqw, 56px);
  font-size: clamp(.9rem, 1.35cqw, 1.3rem);
}

body.swp-wall-premium #wall-stage .swp-screen-qr-clipart .is-heart {
  right: 34%;
  bottom: 7%;
  width: clamp(42px, 4.6cqw, 64px);
  color: #fda4af;
  font-size: clamp(1rem, 1.5cqw, 1.45rem);
  animation-delay: -2.4s;
}

body.swp-wall-premium #wall-stage .swp-screen-qr-clipart .is-spark {
  top: 12%;
  left: 47%;
  width: clamp(34px, 3.6cqw, 50px);
  color: #bae6fd;
  font-size: clamp(.84rem, 1.2cqw, 1.14rem);
  animation-delay: -1.1s;
}

@keyframes swpWallReadyPulse {
  0%, 100% { opacity: 1; transform: scale(1); }
  50% { opacity: .46; transform: scale(.76); }
}

@keyframes swpWallReadyFloat {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-8px); }
}

body.swp-wall-premium[data-wall-aspect-mode="compact"] #wall-stage .swp-wall-ready-premium,
body.swp-wall-premium[data-wall-aspect-mode="compact"] #wall-stage .swp-screen-qr-card {
  gap: clamp(18px, 3.5cqw, 44px) !important;
  padding-inline: clamp(22px, 4.5cqw, 54px) !important;
}

body.swp-wall-premium[data-wall-aspect-mode="compact"] #wall-stage .swp-wall-ready-window {
  width: min(50cqw, 620px);
}

body.swp-wall-premium[data-wall-aspect-mode="compact"] #wall-stage .swp-screen-qr-steps {
  flex-wrap: wrap;
}

body.swp-wall-premium[data-wall-aspect-mode="portrait"] #wall-stage .swp-wall-ready-premium {
  grid-template-columns: minmax(0, 1fr);
  grid-template-rows: minmax(210px, .92fr) minmax(0, 1.08fr);
  align-content: stretch;
  gap: clamp(12px, 2.7cqh, 22px);
  padding: clamp(20px, 4cqh, 36px) clamp(17px, 5.5cqw, 30px);
  text-align: center;
}

body.swp-wall-premium[data-wall-aspect-mode="portrait"] #wall-stage .swp-wall-ready-copy {
  align-content: center;
  justify-items: center;
  gap: clamp(8px, 1.4cqh, 13px);
}

body.swp-wall-premium[data-wall-aspect-mode="portrait"] #wall-stage .swp-wall-ready-copy h1 {
  max-width: 9ch;
  font-size: clamp(2.35rem, 13cqw, 4.65rem);
  line-height: .91;
}

body.swp-wall-premium[data-wall-aspect-mode="portrait"] #wall-stage .swp-wall-ready-copy > p {
  max-width: 34ch;
  font-size: clamp(.78rem, 3.35cqw, 1.02rem);
  line-height: 1.38;
}

body.swp-wall-premium[data-wall-aspect-mode="portrait"] #wall-stage .swp-wall-ready-event {
  min-width: 0;
  width: min(100%, 330px);
  text-align: left;
}

body.swp-wall-premium[data-wall-aspect-mode="portrait"] #wall-stage .swp-wall-ready-visual {
  order: -1;
  height: 100%;
}

body.swp-wall-premium[data-wall-aspect-mode="portrait"] #wall-stage .swp-wall-ready-window {
  width: min(84cqw, 42cqh, 430px);
  transform: none;
}

body.swp-wall-premium[data-wall-aspect-mode="portrait"] #wall-stage .swp-wall-ready-float.is-like {
  right: 0;
  top: 7%;
}

body.swp-wall-premium[data-wall-aspect-mode="portrait"] #wall-stage .swp-wall-ready-float.is-post {
  left: 0;
  bottom: 6%;
}

body.swp-wall-premium[data-wall-aspect-mode="portrait"] #wall-stage .swp-screen-qr-card {
  grid-template-columns: minmax(0, 1fr) !important;
  grid-template-rows: minmax(240px, .96fr) minmax(0, 1.04fr) !important;
  align-content: stretch;
  gap: clamp(12px, 2.5cqh, 22px) !important;
  padding: clamp(20px, 4cqh, 38px) clamp(17px, 5.5cqw, 30px) !important;
  text-align: center;
}

body.swp-wall-premium[data-wall-aspect-mode="portrait"] #wall-stage .swp-screen-qr-copy {
  order: 2;
  align-content: center;
  justify-items: center;
  gap: clamp(8px, 1.35cqh, 13px);
  text-align: center;
}

body.swp-wall-premium[data-wall-aspect-mode="portrait"] #wall-stage .swp-screen-qr-card .swp-screen-qr-copy > strong {
  max-width: 10ch;
  font-size: clamp(2rem, 10.8cqw, 3.75rem) !important;
  line-height: .91 !important;
}

body.swp-wall-premium[data-wall-aspect-mode="portrait"] #wall-stage .swp-screen-qr-card .swp-screen-qr-copy > p {
  max-width: 34ch;
  font-size: clamp(.76rem, 3.2cqw, .98rem);
  line-height: 1.37;
  text-align: center;
}

body.swp-wall-premium[data-wall-aspect-mode="portrait"] #wall-stage .swp-screen-qr-panel {
  order: 1;
  width: min(75cqw, 38cqh, 380px);
  align-self: center;
  padding: clamp(11px, 3.2cqw, 17px);
  border-radius: clamp(20px, 6cqw, 32px);
}

body.swp-wall-premium[data-wall-aspect-mode="portrait"] #wall-stage .swp-screen-qr-steps {
  justify-content: center;
}

body.swp-wall-premium[data-wall-aspect-mode="portrait"] #wall-stage .swp-screen-qr-url {
  width: min(100%, 360px);
  margin-inline: auto;
}

body.swp-wall-premium[data-wall-aspect-mode="portrait"] #wall-stage .swp-screen-qr-clipart {
  display: none;
}

@media (max-height: 520px) and (orientation: landscape) {
  body.swp-wall-premium #wall-stage .swp-wall-ready-event,
  body.swp-wall-premium #wall-stage .swp-screen-qr-url {
    display: none;
  }

  body.swp-wall-premium #wall-stage .swp-screen-qr-steps {
    margin-top: 0;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.swp-wall-premium #wall-stage .swp-wall-ready-status > i,
  body.swp-wall-premium #wall-stage .swp-wall-ready-float,
  body.swp-wall-premium #wall-stage .swp-screen-qr-clipart > span {
    animation: none !important;
  }
}

/* Browser stretti ma alti: impaginazione verticale senza perdere il QR. */
@media (max-width: 900px) and (min-height: 600px) {
  body.swp-wall-premium #wall-stage .swp-wall-ready-premium {
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: minmax(180px, .84fr) minmax(0, 1.16fr);
    align-content: stretch;
    gap: clamp(10px, 2.4vh, 18px);
    padding: clamp(18px, 3.5vh, 30px) clamp(16px, 5vw, 28px);
    text-align: center;
  }

  body.swp-wall-premium #wall-stage .swp-wall-ready-copy {
    align-content: center;
    justify-items: center;
    gap: clamp(7px, 1.25vh, 12px);
  }

  body.swp-wall-premium #wall-stage .swp-wall-ready-copy h1 {
    max-width: 9ch;
    font-size: clamp(2.15rem, 9vw, 4rem);
  }

  body.swp-wall-premium #wall-stage .swp-wall-ready-copy > p {
    max-width: 34ch;
    font-size: clamp(.76rem, 2.5vw, .96rem);
    line-height: 1.36;
  }

  body.swp-wall-premium #wall-stage .swp-wall-ready-event {
    min-width: 0;
    width: min(100%, 330px);
    text-align: left;
  }

  body.swp-wall-premium #wall-stage .swp-wall-ready-visual {
    order: -1;
    height: 100%;
  }

  body.swp-wall-premium #wall-stage .swp-wall-ready-window {
    width: min(72vw, 38vh, 430px);
    transform: none;
  }

  body.swp-wall-premium #wall-stage .swp-screen-qr-card {
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-rows: minmax(235px, .94fr) minmax(0, 1.06fr) !important;
    align-content: stretch;
    gap: clamp(10px, 2.2vh, 18px) !important;
    padding: clamp(18px, 3.5vh, 30px) clamp(16px, 5vw, 28px) !important;
    text-align: center;
  }

  body.swp-wall-premium #wall-stage .swp-screen-qr-copy {
    order: 2;
    align-content: center;
    justify-items: center;
    gap: clamp(7px, 1.2vh, 11px);
    text-align: center;
  }

  body.swp-wall-premium #wall-stage .swp-screen-qr-card .swp-screen-qr-copy > strong {
    max-width: 11ch;
    font-size: clamp(1.9rem, 8.3vw, 3.55rem) !important;
    line-height: .92 !important;
  }

  body.swp-wall-premium #wall-stage .swp-screen-qr-card .swp-screen-qr-copy > p {
    max-width: 35ch;
    font-size: clamp(.74rem, 2.35vw, .94rem);
    line-height: 1.34;
    text-align: center;
  }

  body.swp-wall-premium #wall-stage .swp-screen-qr-panel {
    order: 1;
    width: min(58vw, 36vh, 360px);
    align-self: center;
    padding: clamp(10px, 2.2vw, 15px);
  }

  body.swp-wall-premium #wall-stage .swp-screen-qr-steps {
    justify-content: center;
  }

  body.swp-wall-premium #wall-stage .swp-screen-qr-url {
    width: min(100%, 380px);
    margin-inline: auto;
  }

  body.swp-wall-premium #wall-stage .swp-screen-qr-clipart {
    display: none;
  }
}

/* Durante la scansione il QR resta sempre completamente libero da overlay. */
body.swp-wall-premium:has(#wall-stage .is-qr-mode) .swp-wall-type-toast {
  display: none !important;
}

/* Wall pulito: niente ombre o linee animate sotto le card premium. */
body.swp-wall-premium #wall-stage .swp-wall-ready-premium,
body.swp-wall-premium #wall-stage .swp-screen-qr-card,
body.swp-wall-premium #wall-stage .swp-screen-qr-panel {
  box-shadow: none !important;
}

body.swp-wall-premium #wall-stage .swp-wall-ready-premium,
body.swp-wall-premium #wall-stage .swp-screen-qr-card {
  outline: 0 !important;
}

body.swp-wall-premium:has(#wall-stage .is-qr-mode),
body.swp-wall-premium:has(#wall-stage .swp-wall-ready-premium) {
  background: #071421 !important;
  background-image: none !important;
}

body.swp-wall-premium #wall-stage .swp-wall-ready-premium::after,
body.swp-wall-premium #wall-stage .swp-screen-qr-card::after,
body.swp-wall-premium #wall-stage .swp-screen-qr-card figure::after,
body.swp-wall-premium #wall-stage .swp-screen-qr-code::after {
  content: none !important;
  display: none !important;
  animation: none !important;
  box-shadow: none !important;
}

/* QR wall v5: composizione editoriale, minimale e full-bleed. */
body.swp-wall-premium #wall-stage.swp-screen-stage:has(.is-qr-mode),
body.swp-wall-premium.swp-wall-showing-qr #wall-stage.swp-screen-stage {
  padding: 0 !important;
  background: #071421;
}

body.swp-wall-premium #wall-stage .swp-screen-qr-card {
  grid-template-columns: minmax(0, 1.06fr) minmax(270px, .62fr) !important;
  gap: clamp(28px, 5.2cqw, 84px) !important;
  padding: clamp(26px, 6cqh, 66px) clamp(32px, 7cqw, 104px) !important;
  border: 0 !important;
  border-radius: 0 !important;
  background:
    radial-gradient(circle at 6% 8%, color-mix(in srgb, var(--swp-primary) 36%, transparent), transparent 30%),
    radial-gradient(circle at 96% 88%, color-mix(in srgb, var(--swp-secondary) 24%, transparent), transparent 28%),
    linear-gradient(132deg, #071421 0%, #0a1a2a 48%, #0d2133 100%) !important;
}

body.swp-wall-premium #wall-stage .swp-screen-qr-card::before {
  opacity: .18;
  background-size: clamp(30px, 2.6cqw, 48px) clamp(30px, 2.6cqw, 48px);
  mask-image: linear-gradient(118deg, #000, transparent 56%);
}

body.swp-wall-premium #wall-stage .swp-screen-qr-copy {
  max-width: 780px;
  gap: clamp(9px, 1.45cqh, 16px);
}

body.swp-wall-premium #wall-stage .swp-screen-qr-event {
  min-width: 0;
  max-width: min(100%, 520px);
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: clamp(2px, .8cqh, 8px);
}

body.swp-wall-premium #wall-stage .swp-screen-qr-event-mark {
  width: clamp(42px, min(4cqw, 8cqh), 54px);
  aspect-ratio: 1;
  flex: 0 0 auto;
  display: grid;
  place-items: center;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, .16);
  border-radius: clamp(13px, 1.2cqw, 17px);
  background: rgba(255, 255, 255, .96);
}

body.swp-wall-premium #wall-stage .swp-screen-qr-event-mark img {
  width: 100% !important;
  height: 100% !important;
  padding: 7px;
  border-radius: 0 !important;
  object-fit: contain !important;
  filter: none !important;
}

body.swp-wall-premium #wall-stage .swp-screen-qr-event > span:last-child {
  min-width: 0;
  display: grid;
  gap: 3px;
}

body.swp-wall-premium #wall-stage .swp-screen-qr-event small {
  color: rgba(203, 213, 225, .58);
  font-size: clamp(.62rem, min(.72cqw, 1.5cqh), .72rem);
  font-weight: 550;
  letter-spacing: .11em;
  line-height: 1;
  text-transform: uppercase;
}

body.swp-wall-premium #wall-stage .swp-screen-qr-event b {
  max-width: 32ch;
  overflow: hidden;
  color: #fff;
  font-size: clamp(.88rem, min(1.2cqw, 2.5cqh), 1.08rem);
  font-weight: 600;
  line-height: 1.15;
  text-overflow: ellipsis;
  white-space: nowrap;
}

body.swp-wall-premium #wall-stage .swp-screen-qr-copy > .swp-screen-qr-kicker {
  min-height: clamp(30px, 4.5cqh, 38px);
  padding: 6px 12px;
  color: #bae6fd;
  background: rgba(14, 165, 233, .09);
  border-color: rgba(125, 211, 252, .2);
}

body.swp-wall-premium #wall-stage .swp-screen-qr-card .swp-screen-qr-copy > strong {
  max-width: 10.4ch;
  font-size: clamp(2.35rem, min(5.2cqw, 13cqh), 5.6rem) !important;
  font-weight: 600 !important;
  letter-spacing: -.055em !important;
  line-height: .91 !important;
  text-shadow: none;
}

body.swp-wall-premium #wall-stage .swp-screen-qr-card .swp-screen-qr-copy > p {
  max-width: 39ch;
  color: rgba(226, 232, 240, .72);
  font-size: clamp(.82rem, min(1.24cqw, 2.5cqh), 1.12rem);
  line-height: 1.45;
}

body.swp-wall-premium #wall-stage .swp-screen-qr-benefits {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px 18px;
}

body.swp-wall-premium #wall-stage .swp-screen-qr-benefits span {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: rgba(241, 245, 249, .72);
  font-size: clamp(.68rem, min(.82cqw, 1.7cqh), .82rem);
  font-weight: 550;
}

body.swp-wall-premium #wall-stage .swp-screen-qr-benefits .bi {
  color: #7dd3fc;
  font-size: 1.05em;
}

body.swp-wall-premium #wall-stage .swp-screen-qr-url {
  width: min(100%, 500px);
  margin-top: clamp(1px, .4cqh, 4px);
  padding: 8px 12px;
  border-color: rgba(255, 255, 255, .1);
  border-radius: 12px;
  color: rgba(203, 213, 225, .5);
  background: rgba(255, 255, 255, .045);
}

body.swp-wall-premium #wall-stage .swp-screen-qr-panel {
  width: min(31cqw, 74cqh, 470px);
  gap: clamp(9px, 1.4cqh, 14px);
  padding: clamp(13px, min(1.4cqw, 2.7cqh), 19px);
  border: 1px solid rgba(255, 255, 255, .78);
  border-radius: clamp(24px, 2.4cqw, 36px);
  background: #f8fbfd;
}

body.swp-wall-premium #wall-stage .swp-screen-qr-panel-head {
  padding-inline: 3px;
  letter-spacing: .08em;
}

body.swp-wall-premium #wall-stage .swp-screen-qr-panel-head > span,
body.swp-wall-premium #wall-stage .swp-screen-qr-panel-head > em {
  display: inline-flex;
  align-items: center;
  gap: 7px;
}

body.swp-wall-premium #wall-stage .swp-screen-qr-panel-head > span .bi {
  color: #0284c7;
}

body.swp-wall-premium #wall-stage .swp-screen-qr-panel-head > em {
  color: #047857;
  font-size: .84em;
  font-style: normal;
  font-weight: 650;
  letter-spacing: .12em;
}

body.swp-wall-premium #wall-stage .swp-screen-qr-panel-head > em .bi {
  color: #10b981;
  font-size: .52em;
}

body.swp-wall-premium #wall-stage .swp-screen-qr-panel .swp-screen-qr-code {
  padding: clamp(12px, min(1.25cqw, 2.4cqh), 18px) !important;
  border-color: #dce7ef !important;
  border-radius: clamp(17px, 1.8cqw, 26px) !important;
  box-shadow: none !important;
}

body.swp-wall-premium #wall-stage .swp-screen-qr-panel-foot {
  grid-template-columns: auto minmax(0, 1fr) auto;
  grid-template-rows: 1fr;
  gap: 9px;
  padding: 1px 3px;
}

body.swp-wall-premium #wall-stage .swp-screen-qr-panel-foot > .bi {
  grid-row: auto;
  width: clamp(31px, 2.8cqw, 38px);
  border-radius: 11px;
  color: #0369a1;
  background: #e0f2fe;
}

body.swp-wall-premium #wall-stage .swp-screen-qr-panel-foot > .bi:last-child {
  width: auto;
  color: #64748b;
  background: transparent;
  font-size: 1rem;
}

body.swp-wall-premium #wall-stage .swp-screen-qr-panel-foot > span {
  min-width: 0;
  display: grid;
  gap: 2px;
}

body.swp-wall-premium #wall-stage .swp-screen-qr-panel-foot strong {
  color: #0f172a !important;
  font-size: clamp(.7rem, min(.84cqw, 1.7cqh), .82rem) !important;
  font-weight: 650 !important;
  letter-spacing: 0 !important;
  line-height: 1.12 !important;
  text-align: left !important;
}

body.swp-wall-premium #wall-stage .swp-screen-qr-panel-foot small {
  color: #64748b;
  font-size: clamp(.59rem, min(.7cqw, 1.4cqh), .68rem);
  line-height: 1.16;
}

body.swp-wall-premium[data-wall-aspect-mode="portrait"] #wall-stage .swp-screen-qr-event {
  justify-content: center;
  margin-inline: auto;
  text-align: left;
}

body.swp-wall-premium[data-wall-aspect-mode="portrait"] #wall-stage .swp-screen-qr-card .swp-screen-qr-copy > strong {
  max-width: 10ch;
  font-size: clamp(2rem, 10.5cqw, 3.6rem) !important;
}

body.swp-wall-premium[data-wall-aspect-mode="portrait"] #wall-stage .swp-screen-qr-benefits {
  justify-content: center;
}

@container (min-aspect-ratio: 2 / 1) {
  body.swp-wall-premium #wall-stage .swp-screen-qr-card {
    grid-template-columns: minmax(0, 1fr) minmax(250px, .52fr) !important;
    gap: clamp(28px, 5cqw, 72px) !important;
    padding: clamp(22px, 5cqh, 42px) clamp(46px, 7cqw, 104px) !important;
  }

  body.swp-wall-premium #wall-stage .swp-screen-qr-copy {
    gap: clamp(7px, 1.15cqh, 12px);
  }

  body.swp-wall-premium #wall-stage .swp-screen-qr-event {
    margin-bottom: 2px;
  }

  body.swp-wall-premium #wall-stage .swp-screen-qr-card .swp-screen-qr-copy > strong {
    max-width: 11.2ch;
    font-size: clamp(2.25rem, min(4.7cqw, 14cqh), 5rem) !important;
  }

  body.swp-wall-premium #wall-stage .swp-screen-qr-panel {
    width: min(25cqw, 78cqh, 430px);
    gap: clamp(7px, 1.2cqh, 11px);
    padding: clamp(11px, 2.4cqh, 16px);
  }
}

@container (max-height: 500px) {
  body.swp-wall-premium #wall-stage .swp-screen-qr-benefits {
    display: none;
  }

  body.swp-wall-premium #wall-stage .swp-screen-qr-event-mark {
    width: 40px;
  }

  body.swp-wall-premium #wall-stage .swp-screen-qr-panel-foot small {
    display: none;
  }
}

/* Mosaico live: card più vive, giocose e stabili in ogni proporzione. */
body.swp-wall-premium[data-wall-aspect-mode="wide"] #wall-stage .layout-mosaic {
  grid-template-columns: repeat(12, minmax(0, 1fr)) !important;
  grid-template-rows: repeat(6, minmax(0, 1fr)) !important;
  grid-auto-rows: minmax(0, 1fr) !important;
}

body.swp-wall-premium[data-wall-aspect-mode="wide"] #wall-stage .layout-mosaic .swp-screen-post:nth-child(1) {
  grid-column: 1 / span 6 !important;
  grid-row: 1 / span 6 !important;
}

body.swp-wall-premium[data-wall-aspect-mode="wide"] #wall-stage .layout-mosaic .swp-screen-post:nth-child(2) {
  grid-column: 7 / span 6 !important;
  grid-row: 1 / span 3 !important;
}

body.swp-wall-premium[data-wall-aspect-mode="wide"] #wall-stage .layout-mosaic .swp-screen-post:nth-child(3) {
  grid-column: 7 / span 3 !important;
  grid-row: 4 / span 3 !important;
}

body.swp-wall-premium[data-wall-aspect-mode="wide"] #wall-stage .layout-mosaic .swp-screen-post:nth-child(4) {
  grid-column: 10 / span 3 !important;
  grid-row: 4 / span 3 !important;
}

body.swp-wall-premium #wall-stage .layout-mosaic .swp-mosaic-card {
  --swp-mosaic-accent: var(--swp-primary);
  --swp-mosaic-symbol: "✦";
  --swp-mosaic-lift: -2px;
  --swp-mosaic-tilt-a: -.1deg;
  --swp-mosaic-tilt-b: .08deg;
  --swp-mosaic-duration: 7.2s;
  --swp-mosaic-delay: -1.2s;
  isolation: isolate;
  border-color: color-mix(in srgb, var(--swp-mosaic-accent) 30%, #d8e2ea) !important;
  background:
    radial-gradient(circle at 92% 8%, color-mix(in srgb, var(--swp-mosaic-accent) 17%, transparent), transparent 38%),
    radial-gradient(circle at 8% 94%, color-mix(in srgb, var(--swp-mosaic-accent) 8%, transparent), transparent 34%),
    linear-gradient(145deg, #ffffff, color-mix(in srgb, var(--swp-mosaic-accent) 5%, #f8fbfd)) !important;
  box-shadow: none !important;
  outline-color: color-mix(in srgb, var(--swp-mosaic-accent) 12%, rgba(255,255,255,.76));
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  transition: border-color .24s ease, outline-color .24s ease, background .24s ease;
  will-change: auto;
}

body.swp-wall-premium #wall-stage .layout-mosaic .swp-mosaic-card.is-mosaic-variant-2 {
  --swp-mosaic-accent: var(--swp-secondary);
  --swp-mosaic-symbol: "♥";
  --swp-mosaic-lift: -3px;
  --swp-mosaic-tilt-a: .09deg;
  --swp-mosaic-tilt-b: -.08deg;
  --swp-mosaic-duration: 6.4s;
  --swp-mosaic-delay: -3s;
}

body.swp-wall-premium #wall-stage .layout-mosaic .swp-mosaic-card.is-mosaic-variant-3 {
  --swp-mosaic-accent: color-mix(in srgb, var(--swp-primary) 54%, #22c55e);
  --swp-mosaic-symbol: "⚡";
  --swp-mosaic-lift: -2px;
  --swp-mosaic-tilt-a: -.08deg;
  --swp-mosaic-tilt-b: .12deg;
  --swp-mosaic-duration: 7.8s;
  --swp-mosaic-delay: -4.4s;
}

body.swp-wall-premium #wall-stage .layout-mosaic .swp-mosaic-card.is-mosaic-variant-4 {
  --swp-mosaic-accent: color-mix(in srgb, var(--swp-secondary) 46%, #8b5cf6);
  --swp-mosaic-symbol: "☺";
  --swp-mosaic-lift: -3px;
  --swp-mosaic-tilt-a: .1deg;
  --swp-mosaic-tilt-b: -.1deg;
  --swp-mosaic-duration: 6.9s;
  --swp-mosaic-delay: -2.2s;
}

body.swp-wall-premium #wall-stage .layout-mosaic .swp-mosaic-card:nth-child(1) {
  --swp-mosaic-lift: -2px;
  --swp-mosaic-tilt-a: 0deg;
  --swp-mosaic-tilt-b: .04deg;
}

body.swp-wall-premium #wall-stage .layout-mosaic .swp-mosaic-card:not(.is-new-arrival):not(.is-reaction-hit):not(.is-mosaic-intro) {
  animation: swpMosaicCardIdle var(--swp-mosaic-duration) ease-in-out var(--swp-mosaic-delay) infinite alternate;
}

body.swp-wall-premium #wall-stage .layout-mosaic .swp-mosaic-card .swp-screen-copy {
  position: relative;
  isolation: isolate;
}

body.swp-wall-premium #wall-stage .layout-mosaic .swp-mosaic-card.has-image.has-message .swp-screen-copy,
body.swp-wall-premium #wall-stage .layout-mosaic .swp-mosaic-card.only-message .swp-screen-copy {
  background:
    radial-gradient(circle at 92% 12%, color-mix(in srgb, var(--swp-mosaic-accent) 14%, transparent), transparent 38%),
    linear-gradient(155deg, rgba(255,255,255,.98), color-mix(in srgb, var(--swp-mosaic-accent) 7%, #f8fbfd)) !important;
}

body.swp-wall-premium #wall-stage .layout-mosaic .swp-mosaic-card .swp-screen-copy::before {
  content: var(--swp-mosaic-symbol);
  position: absolute;
  z-index: 0;
  top: clamp(8px, 1.1cqw, 17px);
  left: clamp(10px, 1.25cqw, 20px);
  color: var(--swp-mosaic-accent);
  font-family: Arial, sans-serif;
  font-size: clamp(1.55rem, min(3.2cqw, 6cqh), 4.2rem);
  font-weight: 700;
  line-height: 1;
  opacity: .13;
  pointer-events: none;
  animation: swpMosaicSymbolPulse calc(var(--swp-mosaic-duration) * .72) ease-in-out var(--swp-mosaic-delay) infinite alternate;
}

body.swp-wall-premium #wall-stage .layout-mosaic .swp-mosaic-card .swp-screen-copy p {
  z-index: 1;
}

body.swp-wall-premium #wall-stage .layout-mosaic .swp-mosaic-card .swp-screen-media {
  background:
    radial-gradient(circle at 18% 18%, color-mix(in srgb, var(--swp-mosaic-accent) 13%, transparent), transparent 36%),
    linear-gradient(135deg, color-mix(in srgb, var(--swp-mosaic-accent) 6%, #f8fbff), #edf4f8) !important;
}

body.swp-wall-premium #wall-stage .layout-mosaic .swp-mosaic-card .swp-screen-author,
body.swp-wall-premium #wall-stage .layout-mosaic .swp-mosaic-card .swp-screen-hashtags span,
body.swp-wall-premium #wall-stage .layout-mosaic .swp-mosaic-card .swp-post-reaction {
  border-color: color-mix(in srgb, var(--swp-mosaic-accent) 22%, rgba(255,255,255,.78));
  background: color-mix(in srgb, var(--swp-mosaic-accent) 6%, rgba(255,255,255,.94));
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

body.swp-wall-premium #wall-stage .layout-mosaic .swp-mosaic-card .swp-screen-hashtags span {
  color: color-mix(in srgb, var(--swp-mosaic-accent) 62%, #17324a);
}

body.swp-wall-premium #wall-stage .layout-mosaic .swp-mosaic-card.is-mosaic-intro {
  animation: swpMosaicCardIntro .72s cubic-bezier(.16, 1, .3, 1) var(--swp-mosaic-intro-delay, 0ms) both !important;
}

body.swp-wall-premium #wall-stage .layout-mosaic .swp-mosaic-card.is-new-arrival {
  animation: swpMosaicNewCard .78s cubic-bezier(.16, 1, .3, 1) both !important;
}

@media (hover: hover) {
  body.swp-wall-premium #wall-stage .layout-mosaic .swp-mosaic-card:hover {
    animation: none;
    translate: 0 -4px;
    rotate: 0deg;
    border-color: color-mix(in srgb, var(--swp-mosaic-accent) 48%, #d8e2ea) !important;
    outline-color: color-mix(in srgb, var(--swp-mosaic-accent) 22%, rgba(255,255,255,.8));
  }
}

body.swp-wall-premium[data-wall-aspect-mode="compact"] #wall-stage .layout-mosaic .swp-mosaic-card,
body.swp-wall-premium[data-wall-aspect-mode="portrait"] #wall-stage .layout-mosaic .swp-mosaic-card {
  --swp-mosaic-lift: -1px;
  --swp-mosaic-tilt-a: 0deg;
  --swp-mosaic-tilt-b: 0deg;
  --swp-mosaic-duration: 8s;
}

body.swp-wall-premium[data-wall-aspect-mode="portrait"] #wall-stage .layout-mosaic .swp-mosaic-card.has-image.has-message {
  grid-template-rows: minmax(0, 54%) minmax(0, 46%) !important;
}

body.swp-wall-premium[data-wall-aspect-mode="compact"] #wall-stage .layout-mosaic .swp-mosaic-card .swp-screen-copy::before,
body.swp-wall-premium[data-wall-aspect-mode="portrait"] #wall-stage .layout-mosaic .swp-mosaic-card .swp-screen-copy::before {
  font-size: clamp(1.25rem, 4cqw, 2.3rem);
  opacity: .1;
}

@keyframes swpMosaicCardIdle {
  from {
    translate: 0 0;
    rotate: var(--swp-mosaic-tilt-a);
  }
  to {
    translate: 0 var(--swp-mosaic-lift);
    rotate: var(--swp-mosaic-tilt-b);
  }
}

@keyframes swpMosaicSymbolPulse {
  from {
    opacity: .09;
    transform: scale(.94) rotate(-5deg);
  }
  to {
    opacity: .17;
    transform: scale(1.06) rotate(4deg);
  }
}

@keyframes swpMosaicCardIntro {
  0% {
    opacity: 0;
    transform: translate3d(0, 20px, 0) scale(.975);
  }
  64% {
    opacity: 1;
    transform: translate3d(0, -3px, 0) scale(1.006);
  }
  100% {
    opacity: 1;
    transform: translate3d(0, 0, 0) scale(1);
  }
}

@keyframes swpMosaicNewCard {
  0% {
    opacity: 0;
    transform: translate3d(0, 28px, 0) scale(.94) rotate(-.7deg);
  }
  58% {
    opacity: 1;
    transform: translate3d(0, -4px, 0) scale(1.012) rotate(.15deg);
  }
  100% {
    opacity: 1;
    transform: translate3d(0, 0, 0) scale(1) rotate(0);
  }
}

@media (prefers-reduced-motion: reduce) {
  body.swp-wall-premium #wall-stage .layout-mosaic .swp-mosaic-card,
  body.swp-wall-premium #wall-stage .layout-mosaic .swp-mosaic-card.is-mosaic-intro,
  body.swp-wall-premium #wall-stage .layout-mosaic .swp-mosaic-card.is-new-arrival,
  body.swp-wall-premium #wall-stage .layout-mosaic .swp-mosaic-card .swp-screen-copy::before {
    animation: none !important;
    translate: 0 0 !important;
    rotate: 0deg !important;
    transform: none !important;
    opacity: 1;
    will-change: auto;
  }

  body.swp-wall-premium #wall-stage .swp-new-post-badge,
  body.swp-wall-premium #wall-stage .swp-new-post-flare,
  body.swp-wall-premium #wall-stage .swp-reaction-celebration {
    display: none !important;
  }

  body.swp-wall-premium #wall-stage .layout-mosaic .swp-mosaic-card .swp-screen-copy::before {
    opacity: .11;
  }
}

/* Report evento: azione compatta in riga + modale download/email. */
.swp-event-row-actions .swp-event-report-button.btn {
  min-width: 108px;
  color: #ffffff !important;
  border-color: rgba(4, 120, 87, .28) !important;
  background:
    linear-gradient(135deg, #22a866 0%, #0b8a5a 54%, #047857 100%) !important;
  box-shadow:
    0 10px 22px rgba(5, 150, 105, .18),
    inset 0 1px 0 rgba(255, 255, 255, .2) !important;
  transition: transform .16s ease, box-shadow .16s ease, filter .16s ease;
}

.swp-event-row-actions .swp-event-report-button.btn:hover,
.swp-event-row-actions .swp-event-report-button.btn:focus-visible {
  color: #ffffff !important;
  border-color: rgba(4, 120, 87, .4) !important;
  background:
    linear-gradient(135deg, #28b970 0%, #0b9661 54%, #047857 100%) !important;
  box-shadow:
    0 14px 28px rgba(5, 150, 105, .24),
    inset 0 1px 0 rgba(255, 255, 255, .24) !important;
  transform: translateY(-1px);
}

.swp-event-row-actions .swp-event-report-button.btn .bi {
  font-size: 1rem;
}

.swp-event-row-actions .swp-event-report-button.btn.is-downloading {
  filter: saturate(.84);
  box-shadow:
    0 8px 18px rgba(5, 150, 105, .14),
    inset 0 1px 0 rgba(255, 255, 255, .18) !important;
}

.swp-report-modal .modal-dialog {
  max-width: 690px;
}

.swp-report-modal .modal-content {
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(0, 170, 236, .16);
  border-radius: 30px;
  background:
    radial-gradient(circle at top right, rgba(0, 170, 236, .15), transparent 38%),
    linear-gradient(145deg, rgba(255, 255, 255, .98), rgba(247, 251, 253, .96));
  box-shadow: 0 32px 90px rgba(15, 23, 42, .2);
}

.swp-report-modal-grid {
  position: absolute;
  inset: 0;
  opacity: .38;
  pointer-events: none;
  background-image:
    linear-gradient(rgba(148, 163, 184, .16) 1px, transparent 1px),
    linear-gradient(90deg, rgba(148, 163, 184, .16) 1px, transparent 1px);
  background-size: 34px 34px;
  mask-image: linear-gradient(135deg, #000 0%, transparent 76%);
}

.swp-report-modal .modal-header,
.swp-report-modal .modal-body {
  position: relative;
  z-index: 1;
}

.swp-report-modal .modal-header {
  align-items: flex-start;
  gap: 14px;
  padding: 24px 24px 12px;
  border-bottom: 0;
}

.swp-report-modal .modal-title {
  margin: 3px 0 0;
  color: var(--text);
  font-size: 1.52rem;
  line-height: 1.08;
  font-weight: 700;
  letter-spacing: -.03em;
}

.swp-report-modal .btn-close {
  width: 36px;
  height: 36px;
  margin: 0 0 0 auto;
  border-radius: 13px;
  background-color: rgba(255, 255, 255, .86);
  box-shadow: 0 8px 20px rgba(15, 23, 42, .08);
}

.swp-report-modal-icon {
  width: 56px;
  height: 56px;
  flex: 0 0 56px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(5, 150, 105, .2);
  border-radius: 20px;
  color: #047857;
  background:
    radial-gradient(circle at 28% 20%, rgba(255, 255, 255, .75), transparent 36%),
    linear-gradient(135deg, rgba(16, 185, 129, .14), rgba(0, 170, 236, .1));
  font-size: 1.35rem;
}

.swp-report-modal .modal-body {
  padding: 0 24px 24px;
}

.swp-report-modal-intro {
  margin: 0;
  color: #5f6f84;
  font-size: .96rem;
  line-height: 1.58;
}

.swp-report-modal-event {
  display: grid;
  gap: 5px;
  margin-top: 18px;
  padding: 16px 17px;
  border: 1px solid #e1eaf1;
  border-radius: 20px;
  background: rgba(255, 255, 255, .76);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .76);
}

.swp-report-modal-event span {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: #0089c1;
  font-size: .76rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .05em;
}

.swp-report-modal-event strong {
  color: #172033;
  font-size: 1.08rem;
  line-height: 1.2;
  font-weight: 700;
}

.swp-report-modal-event small {
  color: #7a8798;
  font-size: .84rem;
}

.swp-report-modal-stats {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin-top: 14px;
}

.swp-report-modal-stats div {
  min-width: 0;
  padding: 13px 10px;
  border: 1px solid rgba(0, 170, 236, .16);
  border-radius: 18px;
  background: rgba(239, 250, 255, .78);
  text-align: center;
}

.swp-report-modal-stats strong {
  display: block;
  color: #0089c1;
  font-size: 1.28rem;
  line-height: 1;
  font-weight: 800;
}

.swp-report-modal-stats span {
  display: block;
  margin-top: 6px;
  color: #64748b;
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .05em;
  text-transform: uppercase;
}

.swp-report-modal-options {
  display: grid;
  grid-template-columns: minmax(0, .92fr) minmax(0, 1.28fr);
  gap: 14px;
  margin-top: 18px;
}

.swp-report-option-card {
  min-width: 0;
  display: grid;
  gap: 13px;
  align-content: start;
  padding: 18px;
  border: 1px solid rgba(15, 23, 42, .08);
  border-radius: 22px;
  background: rgba(255, 255, 255, .86);
  color: inherit;
  text-decoration: none;
  box-shadow: 0 14px 34px rgba(15, 23, 42, .07);
  transition: transform .16s ease, border-color .16s ease, box-shadow .16s ease;
}

.swp-report-option-card:hover,
.swp-report-option-card:focus-within,
.swp-report-option-card:focus-visible {
  border-color: rgba(0, 170, 236, .28);
  color: inherit;
  text-decoration: none;
  transform: translateY(-1px);
  box-shadow: 0 18px 42px rgba(15, 23, 42, .1);
}

.swp-report-download-card {
  background:
    radial-gradient(circle at top right, rgba(16, 185, 129, .15), transparent 34%),
    linear-gradient(145deg, rgba(255, 255, 255, .92), rgba(240, 253, 244, .88));
}

.swp-report-email-card {
  background:
    radial-gradient(circle at top right, rgba(235, 102, 0, .12), transparent 34%),
    linear-gradient(145deg, rgba(255, 255, 255, .93), rgba(255, 247, 237, .82));
}

.swp-report-option-icon {
  width: 46px;
  height: 46px;
  display: grid;
  place-items: center;
  border-radius: 16px;
  color: #ffffff;
  background: linear-gradient(135deg, #22a866, #047857);
  box-shadow: 0 12px 24px rgba(5, 150, 105, .2);
  font-size: 1.15rem;
}

.swp-report-email-card .swp-report-option-icon {
  background: linear-gradient(135deg, #eb6600, #f59e0b);
  box-shadow: 0 12px 24px rgba(235, 102, 0, .2);
}

.swp-report-option-copy {
  display: grid;
  gap: 4px;
}

.swp-report-option-copy strong {
  color: #172033;
  font-size: 1rem;
  line-height: 1.2;
  font-weight: 800;
}

.swp-report-option-copy small {
  color: #64748b;
  font-size: .84rem;
  line-height: 1.45;
}

.swp-report-option-arrow {
  align-self: end;
  justify-self: end;
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  border-radius: 999px;
  color: #047857;
  background: rgba(5, 150, 105, .1);
  font-size: 1.3rem;
}

.swp-report-download-card.is-downloading .swp-report-option-icon .bi {
  animation: swp-report-pulse 1s ease-in-out infinite;
}

@keyframes swp-report-pulse {
  0%, 100% { transform: translateY(0); opacity: 1; }
  50% { transform: translateY(2px); opacity: .72; }
}

.swp-report-email-controls {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 8px;
}

.swp-report-email-controls .form-control {
  min-height: 42px;
  border-radius: 14px;
  border-color: rgba(15, 23, 42, .13);
  font-size: .9rem;
}

.swp-report-email-controls .btn {
  min-height: 42px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  border-radius: 14px;
  font-size: .88rem;
  font-weight: 700;
  white-space: nowrap;
}

.swp-report-email-controls .spinner-border {
  width: 1rem;
  height: 1rem;
  border-width: .14em;
}

.swp-report-modal-note {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  margin-top: 16px;
  padding: 13px 15px;
  border: 1px solid rgba(235, 102, 0, .18);
  border-radius: 18px;
  color: #9a3412;
  background: #fff7ed;
  font-size: .85rem;
  line-height: 1.5;
}

.swp-report-modal-note .bi {
  margin-top: 1px;
  color: #eb6600;
}

html.swp-theme-dark .swp-report-modal .modal-content {
  border-color: rgba(191, 245, 255, .15);
  background:
    radial-gradient(circle at top right, rgba(0, 170, 236, .16), transparent 38%),
    linear-gradient(145deg, rgba(13, 31, 40, .98), rgba(8, 22, 30, .98));
  color: #edf9fc;
  box-shadow: 0 30px 90px rgba(0, 0, 0, .42);
}

html.swp-theme-dark .swp-report-modal .modal-title,
html.swp-theme-dark .swp-report-modal-event strong,
html.swp-theme-dark .swp-report-option-copy strong {
  color: #f8fafc;
}

html.swp-theme-dark .swp-report-modal-intro,
html.swp-theme-dark .swp-report-modal-event small,
html.swp-theme-dark .swp-report-option-copy small,
html.swp-theme-dark .swp-report-modal-stats span {
  color: #a9c7d1;
}

html.swp-theme-dark .swp-report-modal-event,
html.swp-theme-dark .swp-report-option-card,
html.swp-theme-dark .swp-report-modal-stats div {
  border-color: rgba(191, 245, 255, .12);
  background: rgba(255, 255, 255, .055);
}

html.swp-theme-dark .swp-report-email-controls .form-control {
  border-color: rgba(191, 245, 255, .16);
  background: rgba(2, 12, 18, .38);
  color: #f8fafc;
}

html.swp-theme-dark .swp-report-modal-note {
  border-color: rgba(235, 102, 0, .28);
  background: rgba(235, 102, 0, .12);
  color: #fed7aa;
}

@media (max-width: 760px) {
  .swp-event-row-actions .swp-event-report-button.btn {
    width: 100%;
    min-width: 0;
  }

  .swp-report-modal .modal-dialog {
    margin: .75rem;
  }

  .swp-report-modal .modal-header {
    padding: 20px 18px 10px;
  }

  .swp-report-modal .modal-body {
    padding: 0 18px 18px;
  }

  .swp-report-modal-stats,
  .swp-report-modal-options,
  .swp-report-email-controls {
    grid-template-columns: 1fr;
  }
}

/* Regia: impostazioni live modificabili senza spegnere evento o monitor. */
.swp-live-tool-launcher {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  flex: 1 1 auto;
  min-width: 220px;
  margin: 0;
}

.swp-live-tool-buttons {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 8px;
}

.swp-live-tool-buttons .btn {
  min-height: 38px;
  border-radius: 12px;
}

.swp-live-tool-buttons .btn.is-active {
  color: #fff !important;
  border-color: transparent !important;
  background: linear-gradient(135deg, var(--btn-primary-2), var(--btn-primary)) !important;
  box-shadow: 0 10px 20px rgba(var(--branding-primary-rgb), .18);
}

.swp-live-settings-panel {
  margin: 10px 0 16px;
  padding: clamp(16px, 2vw, 22px);
  border: 1px solid rgba(15, 23, 42, .08);
  background: linear-gradient(180deg, rgba(255, 255, 255, .98), rgba(248, 252, 255, .96));
}

.swp-live-settings-panel[hidden] {
  display: none !important;
}

.swp-live-settings-panel [data-live-tool-group] {
  display: none;
}

.swp-live-settings-panel[data-active-live-tool="monitor"] [data-live-tool-group~="monitor"],
.swp-live-settings-panel[data-active-live-tool="public"] [data-live-tool-group~="public"] {
  display: block;
}

.swp-live-settings-panel[data-active-live-tool="public"] .swp-live-public-qr-block {
  display: grid !important;
  grid-column: auto;
}

.swp-live-settings-panel[data-active-live-tool="public"] .swp-live-guest-qr-body {
  display: grid !important;
}

.swp-live-settings-panel[data-active-live-tool="public"] .swp-live-guest-qr-main,
.swp-live-settings-panel[data-active-live-tool="public"] .swp-guest-qr-url-label,
.swp-live-settings-panel[data-active-live-tool="public"] .swp-guest-qr-url,
.swp-live-settings-panel[data-active-live-tool="public"] .swp-guest-qr-url .form-control,
.swp-live-settings-panel[data-active-live-tool="public"] .swp-guest-qr-open {
  visibility: visible !important;
  opacity: 1 !important;
}

.swp-live-settings-panel[data-active-live-tool="public"] .swp-guest-qr-url {
  display: grid !important;
  width: 100% !important;
}

.swp-live-settings-head {
  align-items: center;
  gap: 12px;
  margin-bottom: 16px;
}

.swp-live-settings-head h2 {
  margin: 3px 0 2px;
  font-size: 1.05rem;
  font-weight: 600;
}

.swp-live-settings-head p {
  margin: 0;
  color: var(--muted);
  font-size: .82rem;
}

.swp-live-settings-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(320px, .92fr);
  gap: 14px;
}

.swp-live-settings-block {
  min-width: 0;
  padding: 14px;
  border: 1px solid rgba(15, 23, 42, .07);
  border-radius: 16px;
  background: rgba(255, 255, 255, .72);
}

.swp-live-settings-block.is-saving {
  opacity: .72;
}

.swp-live-layout-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 7px;
}

.swp-live-layout-grid .swp-wall-layout-option {
  min-height: 66px;
  grid-template-columns: 34px minmax(0, 1fr);
  gap: 8px;
  padding: 9px;
  border-radius: 13px;
}

.swp-live-layout-grid .swp-wall-layout-icon {
  width: 34px;
  height: 34px;
  border-radius: 10px;
}

.swp-live-layout-grid .swp-wall-layout-option strong,
.swp-live-moderation-grid .swp-moderation-option strong {
  font-size: .78rem;
  font-weight: 600;
}

.swp-live-layout-grid .swp-wall-layout-option small,
.swp-live-moderation-grid .swp-moderation-option small {
  font-size: .68rem;
  line-height: 1.15;
}

.swp-live-monitor-config {
  grid-template-columns: minmax(150px, .74fr) minmax(230px, 1.26fr);
  gap: 12px;
  padding: 12px;
  border-radius: 14px;
}

.swp-live-monitor-config .swp-monitor-preview-wrap {
  min-height: 168px;
  padding: 10px;
  border-radius: 13px;
}

.swp-live-monitor-config .swp-monitor-preview {
  width: min(100%, 210px, calc(135px * var(--preview-aspect-width) / var(--preview-aspect-height)));
}

.swp-live-monitor-config .swp-monitor-preview-screen {
  max-height: 135px;
  border-width: 6px;
}

.swp-live-monitor-config .swp-screen-aspect-preset {
  min-height: 36px;
  border-radius: 10px;
  font-size: .73rem;
}

.swp-live-monitor-config .swp-screen-aspect-manual .form-control,
.swp-live-monitor-config .swp-screen-aspect-separator {
  min-height: 40px;
}

.swp-live-settings-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 10px;
}

.swp-live-monitor-actions {
  grid-column: 1 / -1;
  justify-content: center;
  flex-wrap: nowrap;
}

.swp-live-moderation-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 9px;
}

.swp-live-moderation-grid .swp-moderation-option {
  min-height: 78px;
  grid-template-columns: 40px minmax(0, 1fr);
  gap: 10px;
  padding: 10px;
  border-radius: 14px;
}

.swp-live-public-qr-block {
  min-height: 100%;
}

.swp-live-guest-qr-clone {
  display: grid;
  align-content: start;
  gap: 12px;
}

.swp-live-guest-qr-body {
  display: grid;
  grid-template-columns: minmax(126px, 168px) minmax(0, 1fr);
  align-items: start;
  gap: 12px;
}

.swp-live-guest-qr-main {
  display: grid;
  min-width: 0;
  gap: 10px;
}

.swp-live-guest-qr-clone .swp-guest-qr-preview {
  min-height: 156px;
}

.swp-live-guest-qr-clone .swp-guest-qr-actions {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.swp-live-guest-qr-clone .swp-guest-qr-actions .btn {
  min-height: 40px;
  font-size: .74rem;
}

.swp-live-public-qr-card {
  display: grid;
  grid-template-columns: minmax(104px, 132px) minmax(0, 1fr);
  align-items: center;
  gap: 12px;
  margin-top: 10px;
  padding: 10px;
  border: 1px solid rgba(var(--branding-primary-rgb), .12);
  border-radius: 18px;
  background:
    linear-gradient(135deg, rgba(var(--branding-primary-rgb), .07), rgba(255, 255, 255, .84)),
    #ffffff;
}

.swp-live-public-qr-preview {
  display: grid;
  width: 100%;
  aspect-ratio: 1;
  margin: 0;
  place-items: center;
  overflow: hidden;
  border: 1px solid rgba(15, 23, 42, .08);
  border-radius: 16px;
  background: #ffffff;
  box-shadow: 0 14px 30px rgba(15, 23, 42, .07);
}

.swp-live-public-qr-preview img {
  display: block;
  width: 100%;
  height: 100%;
  padding: 8px;
  object-fit: contain;
}

.swp-live-public-qr-copy {
  display: grid;
  min-width: 0;
  gap: 10px;
}

.swp-live-public-qr-label {
  display: inline-flex;
  width: fit-content;
  align-items: center;
  gap: 7px;
  color: var(--accent-2);
  font-size: .75rem;
  font-weight: 600;
  text-transform: uppercase;
}

.swp-live-public-qr-url {
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr) 34px;
  align-items: center;
  min-height: 42px;
  overflow: hidden;
  border: 1px solid rgba(148, 163, 184, .2);
  border-radius: 14px;
  background: rgba(255, 255, 255, .94);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .92);
}

.swp-live-public-qr-url .form-control {
  min-width: 0;
  min-height: 40px;
  padding: 0 4px;
  border: 0;
  overflow: hidden;
  color: #1e293b;
  background: transparent;
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
  font-size: .72rem;
  font-weight: 600;
  letter-spacing: 0;
  text-overflow: ellipsis;
  box-shadow: none;
}

.swp-live-public-qr-url .form-control:focus {
  box-shadow: none;
}

.swp-live-public-qr-url:focus-within {
  border-color: rgba(var(--branding-primary-rgb), .34);
  box-shadow: 0 0 0 4px rgba(var(--branding-primary-rgb), .08), inset 0 1px 0 rgba(255, 255, 255, .92);
}

.swp-live-public-qr-url-icon {
  display: grid;
  align-self: stretch;
  place-items: center;
  color: var(--accent-2);
  background: rgba(var(--branding-primary-rgb), .08);
  font-size: .92rem;
}

.swp-live-public-qr-open-inline {
  display: grid;
  width: 28px;
  height: 28px;
  place-items: center;
  justify-self: center;
  border-radius: 10px;
  color: color-mix(in srgb, var(--swp-primary) 72%, #172033);
  background: rgba(var(--branding-primary-rgb), .08);
  font-size: .82rem;
  text-decoration: none;
  transition: background .16s ease, color .16s ease, transform .16s ease;
}

.swp-live-public-qr-open-inline:hover,
.swp-live-public-qr-open-inline:focus-visible {
  color: #ffffff;
  background: linear-gradient(135deg, var(--btn-primary-2), var(--btn-primary));
  transform: translateY(-1px);
}

.swp-live-public-qr-actions {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}

.swp-live-public-qr-actions .btn {
  min-height: 38px;
  justify-content: center;
  border-radius: 12px;
}

.swp-live-public-qr-live-button.is-active {
  color: #fff !important;
  border-color: transparent !important;
  background: linear-gradient(135deg, #b42318, #f97316) !important;
  box-shadow: 0 16px 28px rgba(239, 68, 68, .18) !important;
}

.swp-live-blacklist-block {
  min-height: 100%;
}

.swp-live-blacklist-block .swp-wall-choice-head {
  margin-bottom: 12px;
}

.swp-live-settings-panel[data-active-live-tool="public"] .swp-live-settings-grid {
  grid-template-columns: minmax(0, 1.08fr) minmax(280px, .92fr);
}

.swp-live-font-field {
  display: grid;
  gap: 7px;
}

.swp-live-font-field > span {
  color: var(--muted);
  font-size: .68rem;
  font-weight: 600;
  text-transform: uppercase;
}

.swp-live-font-field .form-select {
  min-height: 44px;
  border-radius: 13px;
  font-weight: 600;
}

.swp-live-access-actions {
  display: grid;
  gap: 10px;
}

.swp-live-excel-entry {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(132px, auto);
  align-items: stretch;
  gap: 10px;
}

.swp-live-excel-picker {
  min-width: 0;
  justify-content: flex-start;
  overflow: hidden;
}

.swp-live-excel-picker span {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.swp-live-excel-entry .btn {
  min-height: 40px;
  border-radius: 12px;
}

.swp-live-email-entry {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(116px, auto);
  align-items: stretch;
  gap: 10px;
}

.swp-live-email-entry textarea {
  min-height: 88px;
  resize: vertical;
}

.swp-live-email-entry .btn {
  min-width: 116px;
}

.swp-live-email-status,
.swp-live-open-access-note {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  margin-top: 9px;
  color: var(--muted);
  font-size: .76rem;
  font-weight: 600;
}

.swp-live-open-access-note {
  margin-top: 0;
  padding: 11px 12px;
  border: 1px solid rgba(var(--branding-primary-rgb), .12);
  border-radius: 12px;
  color: var(--accent-2);
  background: rgba(var(--branding-primary-rgb), .06);
}

.swp-live-blacklist-button {
  width: 100%;
  justify-content: center;
  min-height: 42px;
}

.swp-blacklist-word-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.swp-blacklist-word-chip {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  max-width: 100%;
  padding: 6px 7px 6px 10px;
  border: 1px solid rgba(15, 23, 42, .08);
  border-radius: 999px;
  background: #fff;
  color: var(--text);
  font-size: .78rem;
  font-weight: 600;
}

.swp-blacklist-word-chip > span {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
}

.swp-blacklist-word-chip button {
  width: 24px;
  height: 24px;
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  border: 0;
  border-radius: 999px;
  color: #b91c1c;
  background: rgba(185, 28, 28, .08);
}

@media (max-width: 1180px) {
  .swp-live-settings-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 760px) {
  .swp-live-tool-launcher {
    align-items: stretch;
    flex-direction: column;
  }

  .swp-live-tool-buttons,
  .swp-live-tool-buttons .btn {
    width: 100%;
  }

  .swp-live-settings-head {
    align-items: stretch;
  }

  .swp-live-settings-head .btn {
    width: 100%;
  }

  .swp-live-layout-grid,
  .swp-live-moderation-grid,
  .swp-live-monitor-config,
  .swp-live-excel-entry,
  .swp-live-email-entry {
    grid-template-columns: 1fr;
  }

  .swp-live-excel-entry .btn,
  .swp-live-excel-picker {
    width: 100%;
    justify-content: center;
  }

  .swp-live-public-qr-card {
    grid-template-columns: 1fr;
  }

  .swp-live-public-qr-preview {
    max-width: 180px;
  }

  .swp-live-monitor-actions {
    gap: 6px;
  }

  .swp-live-monitor-actions .btn,
  .swp-live-monitor-actions .swp-screen-aspect-reset {
    padding-right: 8px;
    padding-left: 8px;
    font-size: .72rem;
  }

  .swp-live-public-qr-actions .btn {
    flex: 1 1 100%;
    justify-content: center;
  }

  .swp-live-email-entry .btn {
    width: 100%;
  }
}

@media (max-width: 860px) {
  .swp-live-settings-panel[data-active-live-tool="public"] .swp-live-settings-grid {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (max-width: 1120px) {
  .swp-live-guest-qr-body,
  .swp-live-public-qr-actions {
    grid-template-columns: minmax(0, 1fr);
  }

  .swp-live-guest-qr-clone .swp-guest-qr-actions {
    grid-template-columns: minmax(0, 1fr);
  }
}

/* Regia evento: action bar ordinata in gruppi chiari. */
.swp-inline-detail-head {
  align-items: flex-start;
  gap: 14px;
}

.swp-regia-title-block {
  flex: 0 0 auto;
  padding-top: 10px;
}

.swp-regia-connected-mini {
  display: grid;
  min-width: 118px;
  min-height: 54px;
  align-content: center;
  gap: 3px;
  padding: 8px 12px;
  border: 1px solid rgba(var(--branding-primary-rgb), .12);
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(255, 255, 255, .96), rgba(248, 252, 255, .88));
}

.swp-regia-connected-mini span {
  color: #64748b;
  font-size: .58rem;
  font-weight: 600;
  letter-spacing: .1em;
  line-height: 1;
  text-transform: uppercase;
  white-space: nowrap;
}

.swp-regia-connected-mini strong {
  color: #0f172a;
  font-size: 1.15rem;
  font-weight: 600;
  line-height: 1;
}

.swp-regia-action-bar {
  display: grid;
  flex: 1 1 auto;
  grid-template-columns: minmax(220px, auto) minmax(0, 1fr);
  align-items: end;
  justify-content: end;
  gap: 10px;
  min-width: 0;
}

.swp-regia-action-group {
  display: grid;
  align-content: start;
  gap: 6px;
  min-width: 0;
  padding: 8px;
  border: 1px solid rgba(15, 23, 42, .07);
  border-radius: 16px;
  background: rgba(248, 252, 255, .78);
}

.swp-regia-action-group.is-tools {
  justify-self: start;
}

.swp-regia-action-group.is-live,
.swp-regia-action-group.is-config {
  justify-self: end;
}

.swp-regia-action-label {
  display: inline-flex;
  align-items: center;
  color: #7b8a9c;
  font-size: .58rem;
  font-weight: 600;
  letter-spacing: .11em;
  line-height: 1;
  text-transform: uppercase;
}

.swp-regia-action-row {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
}

.swp-regia-action-bar .swp-live-tool-launcher {
  flex: 0 1 auto;
  justify-content: flex-start;
  min-width: 0;
  width: 100%;
}

.swp-regia-action-bar .swp-live-tool-buttons {
  flex-wrap: nowrap;
  justify-content: flex-start;
  gap: 7px;
}

.swp-regia-action-bar .swp-live-tool-buttons .btn {
  min-width: 104px;
  min-height: 38px;
  justify-content: center;
}

.swp-regia-action-bar .swp-inline-detail-actions {
  display: grid;
  grid-template-columns: minmax(0, auto) minmax(0, auto);
  align-items: end;
  justify-content: end;
  gap: 10px;
  min-width: 0;
}

.swp-regia-action-bar .swp-inline-detail-actions form {
  margin: 0;
}

.swp-regia-action-bar .swp-inline-detail-actions .btn,
.swp-regia-action-bar .swp-inline-detail-actions form,
.swp-regia-action-bar .swp-inline-detail-actions .swp-edit-locked-wrap {
  width: auto;
}

.swp-regia-action-bar .swp-edit-locked-wrap,
.swp-regia-action-bar .swp-edit-locked-button.btn {
  min-width: 168px;
}

@media (max-width: 1280px) {
  .swp-inline-detail-head {
    align-items: stretch;
    flex-direction: column;
  }

  .swp-regia-title-block {
    padding-top: 0;
  }

  .swp-regia-connected-mini {
    width: fit-content;
  }

  .swp-regia-action-bar {
    grid-template-columns: minmax(0, 1fr);
    justify-content: stretch;
  }

  .swp-regia-action-group.is-tools,
  .swp-regia-action-group.is-live,
  .swp-regia-action-group.is-config {
    justify-self: stretch;
  }

  .swp-regia-action-bar .swp-inline-detail-actions {
    grid-template-columns: minmax(0, 1fr) minmax(0, auto);
    justify-content: stretch;
  }
}

@media (max-width: 760px) {
  .swp-regia-action-bar,
  .swp-regia-action-bar .swp-inline-detail-actions {
    grid-template-columns: minmax(0, 1fr);
  }

  .swp-regia-action-row,
  .swp-regia-action-bar .swp-live-tool-buttons {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    width: 100%;
  }

  .swp-regia-action-bar .swp-inline-detail-actions .btn,
  .swp-regia-action-bar .swp-inline-detail-actions form,
  .swp-regia-action-bar .swp-inline-detail-actions .swp-edit-locked-wrap,
  .swp-regia-action-bar .swp-live-tool-buttons .btn {
    width: 100%;
    min-width: 0 !important;
  }
}

/* Pagina ospite: header evento piu premium su accesso e webApp. */
body.swp-public-app .swp-public-title {
  display: grid;
  align-content: center;
  gap: clamp(18px, 2.4vw, 26px);
  margin: auto 0 !important;
  padding: clamp(34px, 5vw, 56px) 0 !important;
}

body.swp-public-app .swp-public-hero-header {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
  width: min(100%, 430px);
  min-height: 68px;
  padding: 10px 12px;
  border: 1px solid rgba(255, 255, 255, .2);
  border-radius: 22px;
  color: #ffffff;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, .18), rgba(255, 255, 255, .08)),
    rgba(2, 8, 23, .14);
  box-shadow:
    0 18px 42px rgba(2, 8, 23, .16),
    inset 0 1px 0 rgba(255, 255, 255, .18);
  backdrop-filter: blur(18px) saturate(1.12);
  -webkit-backdrop-filter: blur(18px) saturate(1.12);
}

body.swp-public-app .swp-public-event-mark,
body.swp-public-app .swp-public-event-header-mark {
  display: grid;
  place-items: center;
  overflow: hidden;
  flex: 0 0 auto;
  color: var(--swp-on-primary);
  background:
    linear-gradient(135deg, var(--swp-primary), color-mix(in srgb, var(--swp-secondary) 72%, var(--swp-primary)));
  font-weight: 600;
  line-height: 1;
}

body.swp-public-app .swp-public-event-mark {
  width: 48px;
  height: 48px;
  border: 1px solid rgba(255, 255, 255, .28);
  border-radius: 16px;
  font-size: 1.16rem;
  box-shadow: 0 12px 28px rgba(2, 8, 23, .18);
}

body.swp-public-app .swp-public-event-mark.has-logo,
body.swp-public-app .swp-public-event-header-mark.has-logo {
  background: #ffffff;
}

body.swp-public-app .swp-public-event-mark img,
body.swp-public-app .swp-public-event-header-mark img {
  width: 100%;
  height: 100%;
  padding: 6px;
  object-fit: contain;
}

body.swp-public-app .swp-public-hero-context {
  display: grid;
  min-width: 0;
  gap: 2px;
}

body.swp-public-app .swp-public-hero-context small {
  color: rgba(255, 255, 255, .68);
  font-size: .62rem;
  font-weight: 600;
  letter-spacing: .12em;
  line-height: 1;
  text-transform: uppercase;
}

body.swp-public-app .swp-public-hero-context strong {
  overflow: hidden;
  color: #ffffff;
  font-size: .98rem;
  font-weight: 600;
  line-height: 1.18;
  text-overflow: ellipsis;
  white-space: nowrap;
}

body.swp-public-app .swp-public-hero-status {
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(255, 255, 255, .16);
  border-radius: 999px;
  color: #86efac;
  background: rgba(255, 255, 255, .1);
  font-size: .98rem;
}

body.swp-public-app .swp-public-title h1 {
  margin: 0 !important;
}

body.swp-public-app .swp-public-title p {
  margin-top: 0 !important;
}

body.swp-public-app .swp-public-event-header {
  position: sticky;
  top: 0;
  z-index: 20;
  min-height: 76px;
  gap: 12px;
  margin: 0;
  padding: 12px clamp(15px, 3vw, 24px);
  border: 0;
  border-bottom: 1px solid color-mix(in srgb, var(--swp-primary) 12%, #e2e8f0);
  background:
    linear-gradient(135deg, color-mix(in srgb, var(--swp-primary) 8%, #ffffff), #ffffff 54%),
    #ffffff;
  box-shadow: 0 14px 34px rgba(15, 23, 42, .06);
}

body.swp-public-app [data-public-webapp]:not([hidden]) > .swp-public-event-header {
  position: sticky;
  top: 0;
  z-index: 20;
  isolation: isolate;
  min-height: 76px;
  gap: 12px;
  padding: 12px clamp(15px, 3vw, 24px);
  overflow: visible;
  border: 0;
  border-bottom: 1px solid color-mix(in srgb, var(--swp-primary) 12%, #e2e8f0);
  background:
    linear-gradient(135deg, color-mix(in srgb, var(--swp-primary) 8%, #ffffff), #ffffff 54%),
    #ffffff;
  box-shadow: 0 14px 34px rgba(15, 23, 42, .06);
}

body.swp-public-app [data-public-webapp]:not([hidden]) > .swp-public-event-header::before,
body.swp-public-app [data-public-webapp]:not([hidden]) > .swp-public-event-header::after {
  content: none;
}

body.swp-public-app .swp-public-event-header-mark {
  width: 46px;
  height: 46px;
  border: 1px solid color-mix(in srgb, var(--swp-primary) 16%, #dbe5ef);
  border-radius: 15px;
  font-size: 1rem;
  box-shadow: 0 10px 22px color-mix(in srgb, var(--swp-primary) 14%, transparent);
}

body.swp-public-app [data-public-webapp]:not([hidden]) .swp-public-event-header-mark {
  width: 46px;
  height: 46px;
  border: 1px solid color-mix(in srgb, var(--swp-primary) 16%, #dbe5ef);
  border-radius: 15px;
  font-size: 1rem;
  box-shadow: 0 10px 22px color-mix(in srgb, var(--swp-primary) 14%, transparent);
}

body.swp-public-app .swp-public-event-header-copy {
  gap: 3px;
}

body.swp-public-app [data-public-webapp]:not([hidden]) .swp-public-event-header-copy {
  gap: 3px;
}

body.swp-public-app .swp-public-event-header-copy small {
  color: color-mix(in srgb, var(--swp-primary) 70%, #475569);
  font-size: .64rem;
  letter-spacing: .1em;
}

body.swp-public-app [data-public-webapp]:not([hidden]) .swp-public-event-header-copy small {
  color: color-mix(in srgb, var(--swp-primary) 70%, #475569);
  font-size: .64rem;
  letter-spacing: .1em;
}

body.swp-public-app .swp-public-event-header-copy strong {
  color: #0f172a;
  font-size: clamp(.98rem, 2.6vw, 1.16rem);
  letter-spacing: 0;
}

body.swp-public-app [data-public-webapp]:not([hidden]) .swp-public-event-header-copy strong {
  color: #0f172a;
  font-size: clamp(.98rem, 2.6vw, 1.16rem);
  font-weight: 600;
  letter-spacing: 0;
}

body.swp-public-app .swp-public-event-header-software-logo {
  width: clamp(86px, 13vw, 108px);
  height: 34px;
  padding: 4px 0;
  border-right: 0;
  opacity: .82;
}

body.swp-public-app [data-public-webapp]:not([hidden]) .swp-public-event-header-software-logo {
  width: clamp(86px, 13vw, 108px);
  height: 34px;
  padding: 4px 0;
  border-right: 0;
  opacity: .82;
}

body.swp-public-app [data-public-webapp]:not([hidden]) .swp-public-event-header-software-logo img {
  max-height: 28px;
}

body.swp-public-app .swp-public-event-header-live {
  min-height: 30px;
  padding: 0 10px;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .7);
}

body.swp-public-app [data-public-webapp]:not([hidden]) .swp-public-event-header-live {
  min-height: 30px;
  gap: 6px;
  padding: 0 10px;
  border-color: rgba(16, 185, 129, .2);
  color: #047857;
  background: linear-gradient(180deg, rgba(236, 253, 245, .96), rgba(209, 250, 229, .72));
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .7);
  font-size: .64rem;
  letter-spacing: .08em;
}

body.swp-public-app [data-public-webapp]:not([hidden]) .swp-public-event-header-live .bi {
  animation: none;
}

@media (max-width: 575.98px) {
  body.swp-public-app .swp-public-title {
    gap: 14px;
    padding: 16px 0 0 !important;
  }

  body.swp-public-app .swp-public-hero-header {
    min-height: 58px;
    gap: 9px;
    padding: 8px 9px;
    border-radius: 18px;
  }

  body.swp-public-app .swp-public-event-mark {
    width: 42px;
    height: 42px;
    border-radius: 14px;
    font-size: 1rem;
  }

  body.swp-public-app .swp-public-hero-status {
    display: none;
  }

  body.swp-public-app .swp-public-event-header {
    min-height: 64px;
    gap: 9px;
    padding: max(8px, env(safe-area-inset-top)) 11px 9px;
  }

  body.swp-public-app [data-public-webapp]:not([hidden]) > .swp-public-event-header {
    min-height: 64px;
    gap: 9px;
    padding: max(8px, env(safe-area-inset-top)) 11px 9px;
  }

  body.swp-public-app .swp-public-event-header-mark {
    width: 40px;
    height: 40px;
    border-radius: 13px;
  }

  body.swp-public-app [data-public-webapp]:not([hidden]) .swp-public-event-header-mark {
    width: 40px;
    height: 40px;
    border-radius: 13px;
  }

  body.swp-public-app .swp-public-event-header-software-logo {
    display: none;
  }

  body.swp-public-app [data-public-webapp]:not([hidden]) .swp-public-event-header-software-logo {
    display: none;
  }

  body.swp-public-app .swp-public-event-header-live {
    min-height: 27px;
    padding-inline: 8px;
    font-size: .61rem;
  }

  body.swp-public-app [data-public-webapp]:not([hidden]) .swp-public-event-header-live {
    min-height: 27px;
    padding-inline: 8px;
    font-size: .61rem;
  }
}

/* Header ospite: rifinitura minimal premium, senza card evento duplicata. */
body.swp-public-app .swp-public-brand-row {
  align-items: center;
  justify-content: space-between;
  gap: 14px;
}

body.swp-public-app .swp-public-brand-lockup {
  display: inline-grid;
  width: auto;
  min-height: 46px;
  place-items: center;
  padding: 8px 14px;
  border: 1px solid rgba(255, 255, 255, .72);
  border-radius: 18px;
  background: rgba(255, 255, 255, .92);
  box-shadow:
    0 16px 34px rgba(15, 23, 42, .12),
    inset 0 1px 0 rgba(255, 255, 255, .92);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}

body.swp-public-app .swp-public-software-logo {
  width: clamp(132px, 15vw, 166px);
  max-height: 31px;
  filter: none !important;
}

body.swp-public-app .swp-public-brand-live {
  min-height: 32px;
  padding: 0 12px;
  border: 1px solid rgba(255, 255, 255, .36);
  border-radius: 999px;
  color: #ffffff;
  background: rgba(255, 255, 255, .13);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .18);
  font-size: .68rem;
  font-weight: 600;
  letter-spacing: .08em;
}

body.swp-public-app .swp-public-title {
  max-width: 540px;
  gap: clamp(14px, 2vw, 20px);
  padding: clamp(42px, 8vw, 96px) 0 clamp(24px, 5vw, 48px) !important;
}

body.swp-public-app .swp-public-event-eyebrow {
  display: inline-flex;
  width: fit-content;
  align-items: center;
  gap: 8px;
  color: rgba(255, 255, 255, .76);
  font-size: .72rem;
  font-weight: 600;
  letter-spacing: .11em;
  line-height: 1;
  text-transform: uppercase;
}

body.swp-public-app .swp-public-event-eyebrow span {
  display: inline-flex;
  min-height: 30px;
  align-items: center;
  gap: 7px;
  padding: 0 11px;
  border: 1px solid rgba(255, 255, 255, .22);
  border-radius: 999px;
  background: rgba(255, 255, 255, .1);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .14);
}

body.swp-public-app .swp-public-event-eyebrow span:first-child {
  color: #ffffff;
  background: rgba(255, 255, 255, .16);
}

body.swp-public-app .swp-public-event-eyebrow .bi {
  color: #86efac;
  font-size: .82rem;
}

body.swp-public-app .swp-public-title h1 {
  max-width: 520px;
  color: #ffffff;
  font-size: clamp(3rem, 7vw, 5.35rem);
  font-weight: 600;
  line-height: .96;
  text-wrap: balance;
  text-shadow: 0 14px 34px rgba(15, 23, 42, .24);
}

body.swp-public-app .swp-public-title p {
  max-width: 470px;
  color: rgba(255, 255, 255, .78);
  font-size: clamp(1rem, 1.7vw, 1.18rem);
  font-weight: 400;
  line-height: 1.55;
}

body.swp-public-app [data-public-webapp]:not([hidden]) > .swp-public-event-header {
  min-height: 70px;
  gap: 14px;
  padding: 12px clamp(16px, 3vw, 26px);
  border-bottom: 1px solid color-mix(in srgb, var(--swp-primary) 10%, #e5edf3);
  background:
    linear-gradient(135deg, color-mix(in srgb, var(--swp-primary) 6%, #ffffff), #ffffff 56%),
    #ffffff;
  box-shadow: 0 12px 28px rgba(15, 23, 42, .045);
}

body.swp-public-app [data-public-webapp]:not([hidden]) .swp-public-event-header-copy {
  min-width: 0;
  gap: 4px;
}

body.swp-public-app [data-public-webapp]:not([hidden]) .swp-public-event-header-copy small {
  display: inline-flex;
  width: fit-content;
  align-items: center;
  gap: 6px;
  color: color-mix(in srgb, var(--swp-primary) 62%, #64748b);
  font-size: .62rem;
  font-weight: 600;
  letter-spacing: .12em;
  line-height: 1;
  text-transform: uppercase;
}

body.swp-public-app [data-public-webapp]:not([hidden]) .swp-public-event-header-copy strong {
  color: #111827;
  font-size: clamp(1.05rem, 2.4vw, 1.28rem);
  font-weight: 600;
  line-height: 1.08;
}

body.swp-public-app [data-public-webapp]:not([hidden]) .swp-public-event-header-software-logo {
  width: clamp(92px, 12vw, 112px);
  height: 32px;
  opacity: .72;
}

body.swp-public-app [data-public-webapp]:not([hidden]) .swp-public-event-header-live {
  min-height: 29px;
  padding: 0 10px;
  font-size: .62rem;
  letter-spacing: .08em;
}

@media (max-width: 575.98px) {
  body.swp-public-app .swp-public-brand-lockup {
    min-height: 42px;
    padding: 7px 11px;
    border-radius: 16px;
  }

  body.swp-public-app .swp-public-software-logo {
    width: 136px;
    max-height: 28px;
  }

  body.swp-public-app .swp-public-brand-live {
    min-height: 29px;
    padding-inline: 10px;
    font-size: .62rem;
  }

  body.swp-public-app .swp-public-title {
    gap: 13px;
    padding: 34px 0 18px !important;
  }

  body.swp-public-app .swp-public-event-eyebrow {
    gap: 6px;
    font-size: .61rem;
    letter-spacing: .08em;
  }

  body.swp-public-app .swp-public-event-eyebrow span {
    min-height: 27px;
    padding: 0 9px;
  }

  body.swp-public-app .swp-public-title h1 {
    font-size: clamp(2.55rem, 14vw, 3.6rem);
    line-height: .98;
  }

  body.swp-public-app .swp-public-title p {
    font-size: .98rem;
    line-height: 1.48;
  }

  body.swp-public-app [data-public-webapp]:not([hidden]) > .swp-public-event-header {
    min-height: 60px;
    gap: 10px;
    padding: max(9px, env(safe-area-inset-top)) 12px 9px;
  }

  body.swp-public-app [data-public-webapp]:not([hidden]) .swp-public-event-header-copy small {
    font-size: .55rem;
    letter-spacing: .09em;
  }

  body.swp-public-app [data-public-webapp]:not([hidden]) .swp-public-event-header-copy strong {
    font-size: .98rem;
  }
}

@media (max-width: 380px) {
  body.swp-public-app .swp-public-event-eyebrow span:nth-child(2),
  body.swp-public-app [data-public-webapp]:not([hidden]) .swp-public-event-header-live {
    display: none;
  }
}

/* Header ospite: seconda passata, meno badge e proporzioni piu editoriali. */
body.swp-public-app .swp-public-intro-inner {
  justify-content: flex-start !important;
}

body.swp-public-app .swp-public-title {
  margin: clamp(72px, 10vh, 112px) 0 0 !important;
  padding: 0 0 clamp(28px, 4vw, 42px) !important;
}

body.swp-public-app .swp-public-event-eyebrow {
  min-height: 32px;
  gap: 8px;
  padding: 0 12px;
  border: 1px solid rgba(255, 255, 255, .22);
  border-radius: 999px;
  color: rgba(255, 255, 255, .72);
  background: rgba(255, 255, 255, .11);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .14);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}

body.swp-public-app .swp-public-event-eyebrow span,
body.swp-public-app .swp-public-event-eyebrow em {
  min-height: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  font-style: normal;
}

body.swp-public-app .swp-public-event-eyebrow span {
  color: #ffffff;
}

body.swp-public-app .swp-public-event-eyebrow em::before {
  content: "";
  display: inline-block;
  width: 4px;
  height: 4px;
  margin: 0 8px 2px 0;
  border-radius: 999px;
  background: rgba(255, 255, 255, .44);
}

body.swp-public-app .swp-public-event-eyebrow .bi {
  color: #86efac;
  font-size: .8rem;
}

body.swp-public-app .swp-public-title h1 {
  margin-top: clamp(16px, 2.2vw, 22px) !important;
}

@media (max-width: 575.98px) {
  body.swp-public-app .swp-public-title {
    margin-top: 42px !important;
    padding-bottom: 14px !important;
  }

  body.swp-public-app .swp-public-event-eyebrow {
    min-height: 29px;
    padding-inline: 10px;
  }
}

/* Wall live: card piu dinamiche per Mosaico, Celebration e Cards. */
body.swp-wall-premium #wall-stage .layout-mosaic,
body.swp-wall-premium #wall-stage .layout-cards,
body.swp-wall-premium #wall-stage .layout-celebration {
  perspective: 1400px;
}

body.swp-wall-premium #wall-stage .swp-screen-post:not(.qr-post) {
  transform-origin: 50% 64%;
  transform-style: preserve-3d;
}

body.swp-wall-premium #wall-stage .swp-screen-post:not(.qr-post) .swp-screen-media {
  position: relative;
}

body.swp-wall-premium #wall-stage .swp-screen-post:not(.qr-post) .swp-screen-media::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    linear-gradient(135deg, rgba(255,255,255,.2), transparent 34%),
    radial-gradient(circle at 82% 14%, rgba(255,255,255,.2), transparent 28%);
  opacity: .38;
}

body.swp-wall-premium #wall-stage .swp-screen-post.has-live-reactions .swp-screen-copy {
  padding-bottom: clamp(84px, 7vw, 104px);
}

body.swp-wall-premium #wall-stage .swp-screen-post .swp-post-reactions {
  pointer-events: none;
}

body.swp-wall-premium #wall-stage .swp-screen-post .swp-post-reaction {
  border-color: rgba(255,255,255,.76);
  background: rgba(255,255,255,.92);
  box-shadow:
    0 8px 22px rgba(15,23,42,.12),
    inset 0 1px 0 rgba(255,255,255,.8);
}

body.swp-wall-premium #wall-stage .layout-mosaic .swp-mosaic-card.is-mosaic-variant-5 {
  --swp-mosaic-accent: color-mix(in srgb, #f97316 72%, var(--swp-secondary));
  --swp-mosaic-symbol: "✺";
  --swp-mosaic-lift: -2px;
  --swp-mosaic-tilt-a: -.06deg;
  --swp-mosaic-tilt-b: .1deg;
  --swp-mosaic-duration: 7.6s;
  --swp-mosaic-delay: -3.6s;
}

body.swp-wall-premium #wall-stage .layout-mosaic .swp-mosaic-card.is-mosaic-variant-6 {
  --swp-mosaic-accent: color-mix(in srgb, #14b8a6 64%, var(--swp-primary));
  --swp-mosaic-symbol: "◆";
  --swp-mosaic-lift: -3px;
  --swp-mosaic-tilt-a: .07deg;
  --swp-mosaic-tilt-b: -.09deg;
  --swp-mosaic-duration: 6.8s;
  --swp-mosaic-delay: -5s;
}

body.swp-wall-premium #wall-stage .layout-mosaic .swp-mosaic-card.is-mosaic-hero {
  border-color: color-mix(in srgb, var(--swp-mosaic-accent) 42%, #d8e2ea) !important;
  background:
    radial-gradient(circle at 86% 9%, color-mix(in srgb, var(--swp-mosaic-accent) 22%, transparent), transparent 34%),
    radial-gradient(circle at 12% 92%, rgba(255,255,255,.78), transparent 28%),
    linear-gradient(145deg, #ffffff, color-mix(in srgb, var(--swp-mosaic-accent) 8%, #f8fbfd)) !important;
}

body.swp-wall-premium #wall-stage .layout-mosaic .swp-mosaic-card.is-mosaic-hero .swp-screen-copy p {
  letter-spacing: -.025em;
}

body.swp-wall-premium #wall-stage .layout-cards .swp-cards-card {
  --swp-card-accent: var(--swp-primary);
  --swp-card-tilt-a: -.45deg;
  --swp-card-tilt-b: .18deg;
  --swp-card-lift: -4px;
  --swp-card-duration: 8.5s;
  isolation: isolate;
  border-color: color-mix(in srgb, var(--swp-card-accent) 25%, #dce7ef) !important;
  background:
    radial-gradient(circle at 92% 10%, color-mix(in srgb, var(--swp-card-accent) 16%, transparent), transparent 34%),
    linear-gradient(150deg, rgba(255,255,255,.98), color-mix(in srgb, var(--swp-card-accent) 5%, #f8fbfd)) !important;
  box-shadow:
    0 20px 54px rgba(15,23,42,.105),
    inset 0 1px 0 rgba(255,255,255,.82) !important;
}

body.swp-wall-premium #wall-stage .layout-cards .swp-cards-card.is-cards-variant-2 {
  --swp-card-accent: var(--swp-secondary);
  --swp-card-tilt-a: .38deg;
  --swp-card-tilt-b: -.12deg;
  --swp-card-duration: 9.2s;
}

body.swp-wall-premium #wall-stage .layout-cards .swp-cards-card.is-cards-variant-3 {
  --swp-card-accent: color-mix(in srgb, var(--swp-primary) 55%, #22c55e);
  --swp-card-tilt-a: -.18deg;
  --swp-card-tilt-b: .36deg;
  --swp-card-duration: 8s;
}

body.swp-wall-premium #wall-stage .layout-cards .swp-cards-card.is-cards-variant-4 {
  --swp-card-accent: color-mix(in srgb, var(--swp-secondary) 56%, #8b5cf6);
  --swp-card-tilt-a: .18deg;
  --swp-card-tilt-b: -.34deg;
  --swp-card-duration: 9.6s;
}

body.swp-wall-premium #wall-stage .layout-cards .swp-cards-card.is-cards-variant-5 {
  --swp-card-accent: #f97316;
  --swp-card-tilt-a: -.32deg;
  --swp-card-tilt-b: .08deg;
  --swp-card-duration: 8.8s;
}

body.swp-wall-premium #wall-stage .layout-cards .swp-cards-card.is-cards-variant-6 {
  --swp-card-accent: #14b8a6;
  --swp-card-tilt-a: .28deg;
  --swp-card-tilt-b: -.2deg;
  --swp-card-duration: 9s;
}

body.swp-wall-premium #wall-stage .layout-cards .swp-cards-card:not(.is-new-arrival):not(.is-reaction-hit) {
  animation: swpCardsSoftFloat var(--swp-card-duration) ease-in-out var(--swp-card-delay, 0ms) infinite alternate;
}

body.swp-wall-premium #wall-stage .layout-cards .swp-cards-card .swp-screen-copy,
body.swp-wall-premium #wall-stage .layout-cards .swp-cards-card.only-message .swp-screen-copy {
  background:
    radial-gradient(circle at 92% 10%, color-mix(in srgb, var(--swp-card-accent) 14%, transparent), transparent 36%),
    linear-gradient(160deg, rgba(255,255,255,.96), color-mix(in srgb, var(--swp-card-accent) 6%, #f7fbfd)) !important;
}

body.swp-wall-premium #wall-stage .layout-cards .swp-cards-card .swp-screen-copy p {
  letter-spacing: -.012em;
}

body.swp-wall-premium #wall-stage .layout-cards .swp-cards-card .swp-screen-author,
body.swp-wall-premium #wall-stage .layout-cards .swp-cards-card .swp-screen-hashtags span,
body.swp-wall-premium #wall-stage .layout-cards .swp-cards-card .swp-post-reaction {
  border-color: color-mix(in srgb, var(--swp-card-accent) 20%, rgba(255,255,255,.76));
  background: color-mix(in srgb, var(--swp-card-accent) 7%, rgba(255,255,255,.93));
}

body.swp-wall-premium #wall-stage .layout-celebration .swp-celebration-card {
  --swp-celebration-accent: var(--swp-secondary);
  --swp-celebration-tilt-a: -.7deg;
  --swp-celebration-tilt-b: .28deg;
  --swp-celebration-lift: -5px;
  --swp-celebration-duration: 7.8s;
  isolation: isolate;
  overflow: hidden;
  border-color: color-mix(in srgb, var(--swp-celebration-accent) 34%, #dfe9f0) !important;
  background:
    radial-gradient(circle at 86% 12%, color-mix(in srgb, var(--swp-celebration-accent) 22%, transparent), transparent 34%),
    radial-gradient(circle at 8% 86%, rgba(255,255,255,.74), transparent 30%),
    linear-gradient(145deg, #ffffff, color-mix(in srgb, var(--swp-celebration-accent) 7%, #f8fbfd)) !important;
  box-shadow:
    0 22px 56px rgba(15,23,42,.105),
    0 0 0 1px rgba(255,255,255,.58) inset !important;
}

body.swp-wall-premium #wall-stage .layout-celebration .swp-celebration-card.is-celebration-variant-2 {
  --swp-celebration-accent: var(--swp-primary);
  --swp-celebration-tilt-a: .55deg;
  --swp-celebration-tilt-b: -.18deg;
  --swp-celebration-duration: 8.6s;
}

body.swp-wall-premium #wall-stage .layout-celebration .swp-celebration-card.is-celebration-variant-3 {
  --swp-celebration-accent: #22c55e;
  --swp-celebration-tilt-a: -.36deg;
  --swp-celebration-tilt-b: .54deg;
  --swp-celebration-duration: 7.3s;
}

body.swp-wall-premium #wall-stage .layout-celebration .swp-celebration-card.is-celebration-variant-4 {
  --swp-celebration-accent: #8b5cf6;
  --swp-celebration-tilt-a: .28deg;
  --swp-celebration-tilt-b: -.55deg;
}

body.swp-wall-premium #wall-stage .layout-celebration .swp-celebration-card.is-celebration-variant-5 {
  --swp-celebration-accent: #f97316;
  --swp-celebration-tilt-a: -.62deg;
  --swp-celebration-tilt-b: .16deg;
}

body.swp-wall-premium #wall-stage .layout-celebration .swp-celebration-card.is-celebration-variant-6 {
  --swp-celebration-accent: #14b8a6;
  --swp-celebration-tilt-a: .5deg;
  --swp-celebration-tilt-b: -.3deg;
  --swp-celebration-duration: 8.2s;
}

body.swp-wall-premium #wall-stage .layout-celebration .swp-celebration-card::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background:
    radial-gradient(circle at 12% 18%, color-mix(in srgb, var(--swp-celebration-accent) 70%, #fff) 0 3px, transparent 4px),
    radial-gradient(circle at 86% 22%, rgba(255,255,255,.9) 0 2px, transparent 3px),
    radial-gradient(circle at 72% 82%, color-mix(in srgb, var(--swp-celebration-accent) 52%, #fff) 0 2px, transparent 3px),
    radial-gradient(circle at 24% 76%, rgba(255,255,255,.82) 0 2px, transparent 4px);
  opacity: .44;
  transform: translate3d(0, 0, 0) scale(1);
  animation: swpCelebrationSparkle 5.8s ease-in-out var(--swp-card-delay, 0ms) infinite alternate;
}

body.swp-wall-premium #wall-stage .layout-celebration .swp-celebration-card > * {
  position: relative;
  z-index: 2;
}

body.swp-wall-premium #wall-stage .layout-celebration .swp-celebration-card .swp-screen-author,
body.swp-wall-premium #wall-stage .layout-celebration .swp-celebration-card .swp-screen-hashtags,
body.swp-wall-premium #wall-stage .layout-celebration .swp-celebration-card .swp-post-reactions {
  z-index: 7;
}

body.swp-wall-premium #wall-stage .layout-celebration .swp-celebration-card .swp-new-post-flare {
  z-index: 8;
}

body.swp-wall-premium #wall-stage .layout-celebration .swp-celebration-card .swp-new-post-badge {
  z-index: 9;
}

body.swp-wall-premium #wall-stage .layout-celebration .swp-celebration-card:not(.is-new-arrival):not(.is-reaction-hit) {
  animation: swpCelebrationCardFloat var(--swp-celebration-duration) ease-in-out var(--swp-card-delay, 0ms) infinite alternate;
}

body.swp-wall-premium #wall-stage .layout-celebration .swp-celebration-card .swp-screen-copy,
body.swp-wall-premium #wall-stage .layout-celebration .swp-celebration-card.only-message .swp-screen-copy {
  background:
    radial-gradient(circle at 86% 14%, color-mix(in srgb, var(--swp-celebration-accent) 16%, transparent), transparent 38%),
    linear-gradient(155deg, rgba(255,255,255,.96), color-mix(in srgb, var(--swp-celebration-accent) 7%, #f8fbfd)) !important;
}

body.swp-wall-premium #wall-stage .layout-celebration .swp-celebration-card .swp-screen-author,
body.swp-wall-premium #wall-stage .layout-celebration .swp-celebration-card .swp-screen-hashtags span,
body.swp-wall-premium #wall-stage .layout-celebration .swp-celebration-card .swp-post-reaction {
  border-color: color-mix(in srgb, var(--swp-celebration-accent) 24%, rgba(255,255,255,.76));
  background: color-mix(in srgb, var(--swp-celebration-accent) 8%, rgba(255,255,255,.94));
}

body.swp-wall-premium #wall-stage .layout-celebration .swp-celebration-card .swp-screen-hashtags span {
  color: color-mix(in srgb, var(--swp-celebration-accent) 62%, #17324a);
}

body.swp-wall-premium #wall-stage .layout-cards .swp-cards-card .swp-screen-hashtags span {
  color: color-mix(in srgb, var(--swp-card-accent) 62%, #17324a);
}

@keyframes swpCardsSoftFloat {
  from {
    transform: translate3d(0, 0, 0) rotate(var(--swp-card-tilt-a));
  }
  to {
    transform: translate3d(0, var(--swp-card-lift), 0) rotate(var(--swp-card-tilt-b));
  }
}

@keyframes swpCelebrationCardFloat {
  from {
    transform: translate3d(0, 0, 0) rotate(var(--swp-celebration-tilt-a));
  }
  to {
    transform: translate3d(0, var(--swp-celebration-lift), 0) rotate(var(--swp-celebration-tilt-b));
  }
}

@keyframes swpCelebrationSparkle {
  from {
    opacity: .28;
    transform: translate3d(-4px, 3px, 0) scale(.985);
  }
  to {
    opacity: .62;
    transform: translate3d(5px, -4px, 0) scale(1.015);
  }
}

body.swp-wall-premium[data-wall-aspect-mode="compact"] #wall-stage .layout-cards .swp-cards-card,
body.swp-wall-premium[data-wall-aspect-mode="portrait"] #wall-stage .layout-cards .swp-cards-card,
body.swp-wall-premium[data-wall-aspect-mode="compact"] #wall-stage .layout-celebration .swp-celebration-card,
body.swp-wall-premium[data-wall-aspect-mode="portrait"] #wall-stage .layout-celebration .swp-celebration-card {
  --swp-card-tilt-a: 0deg;
  --swp-card-tilt-b: 0deg;
  --swp-card-lift: -2px;
  --swp-celebration-tilt-a: 0deg;
  --swp-celebration-tilt-b: 0deg;
  --swp-celebration-lift: -2px;
}

@media (prefers-reduced-motion: reduce) {
  body.swp-wall-premium #wall-stage .layout-cards .swp-cards-card,
  body.swp-wall-premium #wall-stage .layout-celebration .swp-celebration-card,
  body.swp-wall-premium #wall-stage .layout-celebration .swp-celebration-card::after {
    animation: none !important;
    transform: none !important;
  }
}

/* WebApp ospite: Post/Scrivi sempre fissi in alto e composer più semplice. */
body.swp-public-app {
  --swp-public-sticky-header-height: 66px;
  --swp-public-sticky-nav-height: 58px;
}

body.swp-public-app .swp-public-layout:has([data-public-webapp]:not([hidden])),
body.swp-public-app .swp-public-layout:has([data-public-webapp]:not([hidden])) .swp-public-workspace {
  overflow: visible !important;
}

body.swp-public-app [data-public-webapp]:not([hidden]) {
  display: block;
  min-height: 100dvh;
  background: #ffffff;
}

body.swp-public-app [data-public-webapp]:not([hidden]) > .swp-public-event-header {
  position: sticky;
  top: 0;
  z-index: 1040;
  min-height: var(--swp-public-sticky-header-height);
  border-bottom-color: color-mix(in srgb, var(--swp-primary) 12%, #e5edf3) !important;
  background:
    linear-gradient(135deg, color-mix(in srgb, var(--swp-primary) 5%, #ffffff), rgba(255,255,255,.98) 58%),
    #ffffff !important;
  backdrop-filter: blur(18px) saturate(150%);
  -webkit-backdrop-filter: blur(18px) saturate(150%);
}

body.swp-public-app [data-public-webapp]:not([hidden]) .swp-public-mobile-nav {
  position: sticky !important;
  top: var(--swp-public-sticky-header-height) !important;
  z-index: 1039 !important;
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  padding: 8px clamp(12px, 2.6vw, 18px);
  border-bottom: 1px solid color-mix(in srgb, var(--swp-primary) 10%, #e5edf3);
  background: rgba(255,255,255,.94) !important;
  box-shadow: 0 12px 24px rgba(15,23,42,.045);
  backdrop-filter: blur(18px) saturate(150%);
  -webkit-backdrop-filter: blur(18px) saturate(150%);
}

body.swp-public-app [data-public-webapp]:not([hidden]) .swp-public-mobile-nav.is-single {
  grid-template-columns: minmax(0, 1fr);
}

body.swp-public-app [data-public-webapp]:not([hidden]) .swp-public-mobile-nav a {
  min-height: 42px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  border: 1px solid color-mix(in srgb, var(--swp-primary) 13%, #dbe4ec);
  border-radius: 999px;
  color: #64748b;
  background: #f8fafc;
  box-shadow: none;
  text-decoration: none;
  font-size: .84rem;
  font-weight: 600 !important;
  line-height: 1;
  transition: color .16s ease, background .16s ease, border-color .16s ease, transform .16s ease;
}

body.swp-public-app [data-public-webapp]:not([hidden]) .swp-public-mobile-nav a.is-active {
  color: color-mix(in srgb, var(--swp-primary) 76%, #102033) !important;
  border-color: color-mix(in srgb, var(--swp-primary) 30%, #dbe4ec) !important;
  background: color-mix(in srgb, var(--swp-primary) 9%, #ffffff) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.9), 0 8px 18px color-mix(in srgb, var(--swp-primary) 9%, transparent);
}

body.swp-public-app [data-public-webapp]:not([hidden]) .swp-public-mobile-nav a:focus-visible {
  outline: 3px solid color-mix(in srgb, var(--swp-primary) 22%, transparent);
  outline-offset: 2px;
}

body.swp-public-app [data-public-webapp]:not([hidden]) :is(.swp-public-reaction-feed, .swp-public-composer) {
  scroll-margin-top: calc(var(--swp-public-sticky-header-height) + var(--swp-public-sticky-nav-height) + 12px);
}

body.swp-public-app [data-public-webapp]:not([hidden]) .swp-public-composer {
  height: auto !important;
  min-height: 0 !important;
  gap: 10px !important;
  padding: clamp(14px, 2.7vw, 24px) clamp(12px, 2.8vw, 24px) calc(16px + env(safe-area-inset-bottom)) !important;
}

body.swp-public-app [data-public-webapp]:not([hidden]) .swp-public-composer > .swp-composer-heading {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
}

body.swp-public-app [data-public-webapp]:not([hidden]) .swp-social-composer-card {
  gap: 8px !important;
  padding: clamp(12px, 3.4vw, 16px) !important;
  border-color: color-mix(in srgb, var(--swp-primary) 11%, #e2e8f0) !important;
  border-radius: 20px !important;
  background: #ffffff !important;
  box-shadow: 0 10px 28px rgba(15,23,42,.055) !important;
}

body.swp-public-app [data-public-webapp]:not([hidden]) .swp-social-composer-card.is-writing,
body.swp-public-app [data-public-webapp]:not([hidden]) .swp-social-composer-card.is-ready {
  box-shadow: 0 12px 30px rgba(15,23,42,.07) !important;
  transform: none !important;
}

body.swp-public-app [data-public-webapp]:not([hidden]) .swp-social-composer-head {
  min-height: 36px;
  gap: 8px;
}

body.swp-public-app [data-public-webapp]:not([hidden]) .swp-social-avatar {
  width: 34px;
  height: 34px;
  flex-basis: 34px;
  font-size: .76rem;
}

body.swp-public-app [data-public-webapp]:not([hidden]) .swp-social-composer-head strong {
  font-size: .9rem !important;
}

body.swp-public-app [data-public-webapp]:not([hidden]) .swp-social-composer-head small {
  display: none !important;
}

body.swp-public-app [data-public-webapp]:not([hidden]) .swp-public-composer textarea.form-control.swp-social-message-input {
  min-height: 92px !important;
  max-height: 34vh;
  padding: 8px 0 2px !important;
  font-size: 1rem !important;
  line-height: 1.38 !important;
}

body.swp-public-app [data-public-webapp]:not([hidden]) .swp-message-count-row {
  display: flex;
  justify-content: flex-end;
  margin-top: -4px;
}

body.swp-public-app [data-public-webapp]:not([hidden]) .swp-character-count {
  font-size: .66rem !important;
}

body.swp-public-app [data-public-webapp]:not([hidden]) .swp-social-hashtags {
  display: grid;
  gap: 7px;
  padding: 8px 9px;
  border: 1px solid color-mix(in srgb, var(--swp-primary) 9%, #e2e8f0);
  border-radius: 15px;
  background: #f8fafc;
}

body.swp-public-app [data-public-webapp]:not([hidden]) .swp-social-hashtag-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}

body.swp-public-app [data-public-webapp]:not([hidden]) .swp-social-hashtag-head small {
  display: none !important;
}

body.swp-public-app [data-public-webapp]:not([hidden]) .swp-author-hashtag-pill {
  min-height: 26px;
  padding: 0 8px;
  font-size: .67rem !important;
}

body.swp-public-app [data-public-webapp]:not([hidden]) .swp-hashtag-input-group {
  min-height: 36px;
}

body.swp-public-app [data-public-webapp]:not([hidden]) .swp-hashtag-input-group .input-group-text {
  display: none !important;
}

body.swp-public-app [data-public-webapp]:not([hidden]) .swp-hashtag-input-group .form-control {
  min-height: 36px !important;
  border-radius: 999px !important;
  font-size: .78rem !important;
}

body.swp-public-app [data-public-webapp]:not([hidden]) .swp-social-composer-tools {
  min-height: 40px;
  justify-content: space-between;
  padding-top: 8px !important;
}

body.swp-public-app [data-public-webapp]:not([hidden]) .swp-social-helper {
  display: none !important;
}

body.swp-public-app [data-public-webapp]:not([hidden]) .swp-social-tool-btn {
  min-height: 36px !important;
  padding: 7px 12px !important;
  font-size: .78rem !important;
}

body.swp-public-app [data-public-webapp]:not([hidden]) .swp-public-actions {
  gap: 8px !important;
  margin-top: 0 !important;
  padding-top: 8px !important;
}

body.swp-public-app [data-public-webapp]:not([hidden]) .swp-public-composer .attendee-entry-submit {
  min-height: 48px !important;
  border-radius: 15px !important;
}

@media (max-width: 575.98px) {
  body.swp-public-app {
    --swp-public-sticky-header-height: 60px;
    --swp-public-sticky-nav-height: 56px;
  }

  body.swp-public-app [data-public-webapp]:not([hidden]) > .swp-public-event-header {
    min-height: var(--swp-public-sticky-header-height);
  }

  body.swp-public-app [data-public-webapp]:not([hidden]) .swp-public-mobile-nav {
    gap: 7px;
    padding: 7px 10px;
  }

  body.swp-public-app [data-public-webapp]:not([hidden]) .swp-public-mobile-nav a {
    min-height: 40px;
    font-size: .8rem;
  }

  body.swp-public-app [data-public-webapp]:not([hidden]) .swp-public-composer {
    padding-inline: 10px !important;
  }

  body.swp-public-app [data-public-webapp]:not([hidden]) .swp-social-composer-card {
    border-radius: 18px !important;
  }
}

/* Wall live: ingresso "Nuovo post" più evidente e memorabile. */
body.swp-wall-premium #wall-stage .swp-screen-post.is-new-arrival {
  z-index: 30 !important;
  transform-origin: 50% 64%;
  animation: swpNewPostSpotlightIn 1.05s cubic-bezier(.16, 1, .3, 1) both !important;
}

body.swp-wall-premium #wall-stage .swp-screen-post.is-new-arrival::before {
  animation: swpNewPostInnerGlow 2.25s ease-out both !important;
}

body.swp-wall-premium #wall-stage .swp-new-post-radar {
  position: absolute;
  z-index: 5;
  inset: -18px;
  overflow: visible;
  border-radius: inherit;
  pointer-events: none;
}

body.swp-wall-premium #wall-stage .swp-new-post-radar::before {
  content: "";
  position: absolute;
  inset: 16px;
  border-radius: inherit;
  background:
    radial-gradient(circle at 18% 18%, color-mix(in srgb, var(--swp-primary) 30%, transparent), transparent 36%),
    radial-gradient(circle at 86% 18%, color-mix(in srgb, var(--swp-secondary) 22%, transparent), transparent 34%);
  opacity: 0;
  animation: swpNewPostAura 2.8s ease-out both;
}

body.swp-wall-premium #wall-stage .swp-new-post-radar i {
  position: absolute;
  inset: 12px;
  display: block;
  border: 2px solid color-mix(in srgb, var(--swp-primary) 48%, rgba(255,255,255,.72));
  border-radius: inherit;
  opacity: 0;
  transform: scale(.92);
  animation: swpNewPostRadar 2.45s cubic-bezier(.16, 1, .3, 1) both;
}

body.swp-wall-premium #wall-stage .swp-new-post-radar i:nth-child(2) {
  border-color: color-mix(in srgb, var(--swp-secondary) 42%, rgba(255,255,255,.7));
  animation-delay: .28s;
}

body.swp-wall-premium #wall-stage .swp-new-post-badge {
  top: clamp(9px, .85vw, 14px) !important;
  left: clamp(9px, .85vw, 14px) !important;
  min-height: 34px;
  gap: 7px;
  padding: 7px 10px 7px 8px !important;
  border: 1px solid rgba(255,255,255,.84) !important;
  border-radius: 999px;
  color: #ffffff !important;
  background:
    linear-gradient(135deg, color-mix(in srgb, var(--swp-primary) 88%, #ffffff), color-mix(in srgb, var(--swp-secondary) 76%, var(--swp-primary))) !important;
  box-shadow:
    0 14px 34px color-mix(in srgb, var(--swp-primary) 24%, transparent),
    inset 0 1px 0 rgba(255,255,255,.32) !important;
  letter-spacing: .06em;
  animation: swpNewPostBadgePop 3.35s cubic-bezier(.16, 1, .3, 1) both !important;
}

body.swp-wall-premium #wall-stage .swp-new-post-badge .bi {
  width: 20px;
  height: 20px;
  display: inline-grid;
  place-items: center;
  border-radius: 999px;
  color: color-mix(in srgb, var(--swp-secondary) 72%, #ffffff);
  background: rgba(255,255,255,.92);
  font-size: .82rem;
  animation: swpNewPostIconTwinkle 1.25s .18s ease-out both;
}

body.swp-wall-premium #wall-stage .swp-new-post-badge strong {
  font-size: .68rem;
  font-weight: 600 !important;
  line-height: 1;
  text-transform: uppercase;
}

body.swp-wall-premium #wall-stage .swp-new-post-badge small {
  min-height: 18px;
  display: inline-flex;
  align-items: center;
  padding: 0 6px;
  border-radius: 999px;
  color: color-mix(in srgb, var(--swp-primary) 78%, #0f172a);
  background: rgba(255,255,255,.9);
  font-size: .55rem;
  font-weight: 600;
  line-height: 1;
  text-transform: uppercase;
}

body.swp-wall-premium #wall-stage .swp-new-post-flare {
  z-index: 8;
}

body.swp-wall-premium #wall-stage .swp-new-post-flare::before {
  top: -45% !important;
  bottom: -45% !important;
  left: -42% !important;
  width: 28% !important;
  background:
    linear-gradient(90deg, transparent, rgba(255,255,255,.82), color-mix(in srgb, var(--swp-primary) 20%, rgba(255,255,255,.6)), transparent) !important;
  filter: blur(1px) !important;
  animation: swpNewPostSheen 1.22s .2s ease-out both !important;
}

body.swp-wall-premium #wall-stage .swp-new-post-flare i {
  width: 8px !important;
  height: 8px !important;
  border-radius: 999px;
  background: color-mix(in srgb, var(--swp-secondary) 78%, #ffffff) !important;
  box-shadow:
    0 0 0 3px rgba(255,255,255,.42),
    0 0 18px color-mix(in srgb, var(--swp-secondary) 62%, transparent) !important;
  animation: swpNewPostConfetti 1.65s ease-out both !important;
}

body.swp-wall-premium #wall-stage .swp-new-post-flare i:nth-child(1) { --swp-new-particle-x: -26px; top: 16%; left: 16%; animation-delay: .1s !important; }
body.swp-wall-premium #wall-stage .swp-new-post-flare i:nth-child(2) { --swp-new-particle-x: 24px; top: 12%; right: 18%; width: 6px !important; height: 6px !important; animation-delay: .18s !important; }
body.swp-wall-premium #wall-stage .swp-new-post-flare i:nth-child(3) { --swp-new-particle-x: 30px; right: 9%; bottom: 28%; background: color-mix(in srgb, var(--swp-primary) 72%, #ffffff) !important; animation-delay: .26s !important; }
body.swp-wall-premium #wall-stage .swp-new-post-flare i:nth-child(4) { --swp-new-particle-x: -18px; left: 24%; bottom: 14%; width: 5px !important; height: 5px !important; animation-delay: .34s !important; }
body.swp-wall-premium #wall-stage .swp-new-post-flare i:nth-child(5) { --swp-new-particle-x: -34px; top: 48%; left: 8%; background: #ffffff !important; animation-delay: .42s !important; }
body.swp-wall-premium #wall-stage .swp-new-post-flare i:nth-child(6) { --swp-new-particle-x: 18px; right: 28%; bottom: 10%; width: 5px !important; height: 5px !important; animation-delay: .5s !important; }

@keyframes swpNewPostSpotlightIn {
  0% {
    opacity: 0;
    transform: translate3d(0, 44px, 0) scale(.88) rotateX(9deg);
    filter: blur(8px) saturate(.82);
  }
  42% {
    opacity: 1;
    transform: translate3d(0, -9px, 0) scale(1.035) rotateX(0);
    filter: blur(0) saturate(1.18);
  }
  68% {
    transform: translate3d(0, 3px, 0) scale(.992);
  }
  100% {
    opacity: 1;
    transform: translate3d(0, 0, 0) scale(1);
    filter: blur(0) saturate(1);
  }
}

@keyframes swpNewPostInnerGlow {
  0% {
    box-shadow:
      inset 0 0 0 3px color-mix(in srgb, var(--swp-primary) 52%, rgba(255,255,255,.88)),
      inset 0 0 58px color-mix(in srgb, var(--swp-primary) 28%, transparent);
  }
  52% {
    box-shadow:
      inset 0 0 0 2px color-mix(in srgb, var(--swp-secondary) 36%, rgba(255,255,255,.72)),
      inset 0 0 44px color-mix(in srgb, var(--swp-secondary) 20%, transparent);
  }
  100% {
    box-shadow: inset 0 1px 0 rgba(255,255,255,.82);
  }
}

@keyframes swpNewPostAura {
  0% { opacity: 0; transform: scale(.92); }
  22% { opacity: .52; }
  100% { opacity: 0; transform: scale(1.08); }
}

@keyframes swpNewPostRadar {
  0% { opacity: 0; transform: scale(.92); }
  16% { opacity: .72; }
  100% { opacity: 0; transform: scale(1.13); }
}

@keyframes swpNewPostBadgePop {
  0% { opacity: 0; transform: translate3d(0, -12px, 0) scale(.72); }
  16% { opacity: 1; transform: translate3d(0, 0, 0) scale(1.04); }
  28%, 76% { opacity: 1; transform: translate3d(0, 0, 0) scale(1); }
  100% { opacity: 0; transform: translate3d(0, -5px, 0) scale(.96); }
}

@keyframes swpNewPostIconTwinkle {
  0% { transform: scale(.55) rotate(-28deg); }
  42% { transform: scale(1.18) rotate(12deg); }
  100% { transform: scale(1) rotate(0); }
}

@keyframes swpNewPostSheen {
  0% { opacity: 0; transform: translateX(0) rotate(16deg); }
  20% { opacity: .92; }
  100% { opacity: 0; transform: translateX(660%) rotate(16deg); }
}

@keyframes swpNewPostConfetti {
  0% { opacity: 0; transform: translate3d(0, 20px, 0) scale(.35); }
  22% { opacity: 1; }
  100% { opacity: 0; transform: translate3d(var(--swp-new-particle-x, 0), -36px, 0) scale(1.22); }
}

@media (prefers-reduced-motion: reduce) {
  body.swp-wall-premium #wall-stage .swp-screen-post.is-new-arrival,
  body.swp-wall-premium #wall-stage .swp-screen-post.is-new-arrival::before,
  body.swp-wall-premium #wall-stage .swp-new-post-radar,
  body.swp-wall-premium #wall-stage .swp-new-post-radar::before,
  body.swp-wall-premium #wall-stage .swp-new-post-radar i,
  body.swp-wall-premium #wall-stage .swp-new-post-badge,
  body.swp-wall-premium #wall-stage .swp-new-post-badge .bi,
  body.swp-wall-premium #wall-stage .swp-new-post-flare::before,
  body.swp-wall-premium #wall-stage .swp-new-post-flare i {
    animation: none !important;
    transform: none !important;
    filter: none !important;
  }
}

/* Celebration v2: spotlight premium, non festa cheap. */
body.swp-wall-premium[data-wall-aspect-mode="wide"] #wall-stage .layout-celebration {
  grid-template-columns: repeat(12, minmax(0, 1fr)) !important;
  grid-template-rows: repeat(6, minmax(0, 1fr)) !important;
  grid-auto-rows: minmax(0, 1fr) !important;
  gap: clamp(14px, 1.25cqw, 24px) !important;
}

body.swp-wall-premium[data-wall-aspect-mode="wide"] #wall-stage .layout-celebration .swp-screen-post:nth-child(1) {
  grid-column: 1 / span 6 !important;
  grid-row: 1 / span 6 !important;
}

body.swp-wall-premium[data-wall-aspect-mode="wide"] #wall-stage .layout-celebration .swp-screen-post:nth-child(2) {
  grid-column: 7 / span 3 !important;
  grid-row: 1 / span 3 !important;
}

body.swp-wall-premium[data-wall-aspect-mode="wide"] #wall-stage .layout-celebration .swp-screen-post:nth-child(3) {
  grid-column: 10 / span 3 !important;
  grid-row: 1 / span 3 !important;
}

body.swp-wall-premium[data-wall-aspect-mode="wide"] #wall-stage .layout-celebration .swp-screen-post:nth-child(4) {
  grid-column: 7 / span 3 !important;
  grid-row: 4 / span 3 !important;
}

body.swp-wall-premium[data-wall-aspect-mode="wide"] #wall-stage .layout-celebration .swp-screen-post:nth-child(5) {
  grid-column: 10 / span 3 !important;
  grid-row: 4 / span 3 !important;
}

body.swp-wall-premium #wall-stage .layout-celebration {
  position: relative;
  isolation: isolate;
}

body.swp-wall-premium #wall-stage .layout-celebration::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: clamp(8px, 1cqw, 18px);
  border-radius: clamp(24px, 2.5cqw, 44px);
  background:
    radial-gradient(circle at 21% 18%, color-mix(in srgb, var(--swp-primary) 14%, transparent), transparent 38%),
    radial-gradient(circle at 88% 86%, color-mix(in srgb, var(--swp-secondary) 11%, transparent), transparent 36%),
    linear-gradient(135deg, rgba(255,255,255,.22), rgba(255,255,255,0));
  opacity: .78;
  pointer-events: none;
}

body.swp-wall-premium #wall-stage .layout-celebration .swp-celebration-card {
  --swp-celebration-accent: var(--swp-primary);
  --swp-celebration-duration: 11s;
  overflow: hidden;
  border: 1px solid color-mix(in srgb, var(--swp-celebration-accent) 18%, #dbe6ef) !important;
  border-radius: clamp(22px, 1.9cqw, 34px) !important;
  background:
    linear-gradient(145deg, rgba(255,255,255,.98), color-mix(in srgb, var(--swp-celebration-accent) 4%, #f8fbfd)) !important;
  box-shadow:
    0 18px 48px rgba(15,23,42,.085),
    inset 0 1px 0 rgba(255,255,255,.86) !important;
  transform: none !important;
  animation: none !important;
}

body.swp-wall-premium #wall-stage .layout-celebration .swp-celebration-card:nth-child(1) {
  --swp-celebration-accent: color-mix(in srgb, var(--swp-primary) 78%, var(--swp-secondary));
  border-color: color-mix(in srgb, var(--swp-primary) 28%, #dbe6ef) !important;
  background:
    radial-gradient(circle at 88% 12%, color-mix(in srgb, var(--swp-secondary) 12%, transparent), transparent 36%),
    radial-gradient(circle at 10% 92%, color-mix(in srgb, var(--swp-primary) 9%, transparent), transparent 34%),
    linear-gradient(145deg, #ffffff, color-mix(in srgb, var(--swp-primary) 5%, #f8fbfd)) !important;
  box-shadow:
    0 24px 70px rgba(15,23,42,.11),
    0 0 0 1px rgba(255,255,255,.72) inset !important;
}

body.swp-wall-premium #wall-stage .layout-celebration .swp-celebration-card.is-celebration-variant-2 {
  --swp-celebration-accent: var(--swp-secondary);
}

body.swp-wall-premium #wall-stage .layout-celebration .swp-celebration-card.is-celebration-variant-3 {
  --swp-celebration-accent: color-mix(in srgb, var(--swp-primary) 62%, #14b8a6);
}

body.swp-wall-premium #wall-stage .layout-celebration .swp-celebration-card.is-celebration-variant-4 {
  --swp-celebration-accent: color-mix(in srgb, var(--swp-secondary) 52%, #8b5cf6);
}

body.swp-wall-premium #wall-stage .layout-celebration .swp-celebration-card.is-celebration-variant-5,
body.swp-wall-premium #wall-stage .layout-celebration .swp-celebration-card.is-celebration-variant-6 {
  --swp-celebration-accent: color-mix(in srgb, var(--swp-primary) 58%, #f59e0b);
}

body.swp-wall-premium #wall-stage .layout-celebration .swp-celebration-card::after {
  content: "";
  position: absolute;
  z-index: 1;
  inset: 0;
  pointer-events: none;
  background:
    linear-gradient(115deg, transparent 0 58%, color-mix(in srgb, var(--swp-celebration-accent) 10%, rgba(255,255,255,.7)) 58% 60%, transparent 60%),
    radial-gradient(circle at 86% 12%, color-mix(in srgb, var(--swp-celebration-accent) 13%, transparent), transparent 28%);
  opacity: .72;
  transform: none;
  animation: none !important;
}

body.swp-wall-premium #wall-stage .layout-celebration .swp-celebration-card:nth-child(1)::after {
  background:
    linear-gradient(118deg, transparent 0 62%, color-mix(in srgb, var(--swp-celebration-accent) 14%, rgba(255,255,255,.82)) 62% 64%, transparent 64%),
    radial-gradient(circle at 86% 12%, color-mix(in srgb, var(--swp-secondary) 13%, transparent), transparent 30%);
  opacity: .82;
}

body.swp-wall-premium #wall-stage .layout-celebration .swp-celebration-card > * {
  position: relative;
  z-index: 2;
}

body.swp-wall-premium #wall-stage .layout-celebration .swp-celebration-card.has-image.has-message {
  grid-template-rows: minmax(0, 58%) minmax(0, 42%) !important;
}

body.swp-wall-premium #wall-stage .layout-celebration .swp-celebration-card:nth-child(1).has-image.has-message {
  grid-template-rows: minmax(0, 66%) minmax(0, 34%) !important;
}

body.swp-wall-premium #wall-stage .layout-celebration .swp-celebration-card.only-message .swp-screen-copy,
body.swp-wall-premium #wall-stage .layout-celebration .swp-celebration-card.has-image.has-message .swp-screen-copy {
  background:
    radial-gradient(circle at 92% 12%, color-mix(in srgb, var(--swp-celebration-accent) 10%, transparent), transparent 36%),
    linear-gradient(155deg, rgba(255,255,255,.97), color-mix(in srgb, var(--swp-celebration-accent) 4%, #f8fbfd)) !important;
}

body.swp-wall-premium #wall-stage .layout-celebration .swp-celebration-card .swp-screen-copy {
  align-items: center;
  padding: clamp(14px, 1.45cqw, 24px) !important;
}

body.swp-wall-premium #wall-stage .layout-celebration .swp-celebration-card .swp-screen-copy p {
  color: #101827 !important;
  font-size: clamp(1.02rem, min(1.45cqw, 3.7cqh), 1.72rem) !important;
  font-weight: 600 !important;
  line-height: 1.12 !important;
  letter-spacing: -.018em;
}

body.swp-wall-premium #wall-stage .layout-celebration .swp-celebration-card:nth-child(1) .swp-screen-copy p {
  font-size: clamp(1.8rem, min(3.1cqw, 7cqh), 3.9rem) !important;
  line-height: 1.04 !important;
  letter-spacing: -.035em;
}

body.swp-wall-premium #wall-stage .layout-celebration .swp-celebration-card.only-image .swp-screen-media img,
body.swp-wall-premium #wall-stage .layout-celebration .swp-celebration-card.has-image .swp-screen-media img {
  object-fit: contain !important;
  padding: clamp(8px, .8cqw, 16px) !important;
}

body.swp-wall-premium #wall-stage .layout-celebration .swp-celebration-card:not(:nth-child(1)).only-image .swp-screen-media img {
  object-fit: cover !important;
  padding: 0 !important;
}

body.swp-wall-premium #wall-stage .layout-celebration .swp-celebration-card .swp-screen-author,
body.swp-wall-premium #wall-stage .layout-celebration .swp-celebration-card .swp-screen-hashtags span,
body.swp-wall-premium #wall-stage .layout-celebration .swp-celebration-card .swp-post-reaction {
  border-color: color-mix(in srgb, var(--swp-celebration-accent) 18%, rgba(255,255,255,.82)) !important;
  background: rgba(255,255,255,.9) !important;
  box-shadow: 0 8px 20px rgba(15,23,42,.08) !important;
}

body.swp-wall-premium #wall-stage .layout-celebration .swp-celebration-card .swp-screen-hashtags span {
  color: color-mix(in srgb, var(--swp-celebration-accent) 58%, #172033) !important;
}

body.swp-wall-premium[data-wall-aspect-mode="compact"] #wall-stage .layout-celebration,
body.swp-wall-premium[data-wall-aspect-mode="portrait"] #wall-stage .layout-celebration {
  gap: clamp(9px, 2cqw, 14px) !important;
}

body.swp-wall-premium[data-wall-aspect-mode="compact"] #wall-stage .layout-celebration .swp-celebration-card,
body.swp-wall-premium[data-wall-aspect-mode="portrait"] #wall-stage .layout-celebration .swp-celebration-card {
  border-radius: clamp(18px, 4cqw, 24px) !important;
}

/* Celebration: gli hashtag non devono mai coprire il testo. */
body.swp-wall-premium #wall-stage .layout-celebration .swp-celebration-card .swp-screen-hashtags {
  top: clamp(10px, .85cqw, 15px) !important;
  right: auto !important;
  bottom: auto !important;
  left: clamp(10px, .85cqw, 15px) !important;
  max-width: min(62%, 360px);
  max-height: clamp(24px, 2.2cqw, 32px);
  flex-wrap: nowrap;
  overflow: hidden;
  justify-content: flex-start;
}

body.swp-wall-premium #wall-stage .layout-celebration .swp-celebration-card .swp-screen-hashtags span {
  max-width: min(46%, 150px) !important;
  padding: clamp(4px, .35cqw, 6px) clamp(7px, .5cqw, 9px) !important;
  font-size: clamp(.54rem, .62cqw, .66rem) !important;
  line-height: 1 !important;
}

body.swp-wall-premium #wall-stage .layout-celebration .swp-celebration-card.only-message.has-hashtags .swp-screen-copy {
  padding-top: clamp(54px, 3.2cqw, 70px) !important;
}

body.swp-wall-premium #wall-stage .layout-celebration .swp-celebration-card.has-live-reactions .swp-screen-copy {
  padding-bottom: clamp(62px, 4cqw, 88px) !important;
}

body.swp-wall-premium #wall-stage .layout-celebration .swp-celebration-card.only-message.has-hashtags.has-live-reactions .swp-screen-copy {
  padding-top: clamp(54px, 3.2cqw, 70px) !important;
  padding-bottom: clamp(62px, 4cqw, 88px) !important;
}

/* Regia: card QR webApp utente più compatta. */
.swp-live-guest-qr-clone {
  gap: 12px !important;
}

.swp-live-guest-qr-clone .swp-guest-qr-head {
  grid-template-columns: 34px minmax(0, 1fr) auto;
  align-items: center;
  gap: 8px;
}

.swp-live-guest-qr-clone .swp-guest-qr-icon {
  width: 34px;
  height: 34px;
  border-radius: 11px;
  font-size: .98rem;
}

.swp-live-guest-qr-clone .swp-guest-qr-head h2 {
  font-size: .92rem;
  line-height: 1.05;
}

.swp-live-guest-qr-clone .swp-guest-qr-head p {
  display: none !important;
}

.swp-live-guest-qr-body {
  grid-template-columns: minmax(92px, 118px) minmax(0, 1fr) !important;
  gap: 14px !important;
  align-items: start;
}

.swp-live-guest-qr-main {
  gap: 8px !important;
}

.swp-live-guest-qr-clone .swp-guest-qr-preview {
  min-height: 118px !important;
  padding: 7px;
  border-radius: 16px;
}

.swp-live-guest-qr-clone .swp-guest-qr-preview::after {
  inset: 7px;
  border-radius: 13px;
}

.swp-live-guest-qr-clone .swp-guest-qr-preview img {
  width: min(104px, 100%);
  border-radius: 11px;
  box-shadow: 0 10px 20px rgba(15,23,42,.1);
}

.swp-live-guest-qr-clone .swp-guest-qr-url-label {
  margin-bottom: 0;
  font-size: .62rem;
}

.swp-live-guest-qr-clone .swp-guest-qr-url {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr) auto;
  align-items: center;
  min-height: 42px;
  overflow: hidden;
  gap: 0;
  padding: 3px;
  border: 1px solid rgba(148,163,184,.2);
  border-radius: 15px;
  background: rgba(255,255,255,.95);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.92);
}

.swp-live-guest-qr-clone .swp-guest-qr-url:focus-within {
  border-color: rgba(var(--branding-primary-rgb), .34);
  box-shadow: 0 0 0 4px rgba(var(--branding-primary-rgb), .08), inset 0 1px 0 rgba(255,255,255,.92);
}

.swp-live-guest-qr-clone .swp-guest-qr-url .form-control {
  min-height: 34px;
  padding: 0 8px;
  border: 0;
  background: transparent;
  font-size: .66rem;
  box-shadow: none;
}

.swp-live-guest-qr-clone .swp-guest-qr-url .form-control:focus {
  box-shadow: none;
}

.swp-live-guest-qr-clone .swp-guest-qr-url-icon {
  width: 34px;
  min-height: 34px !important;
  height: 34px !important;
  display: grid;
  place-items: center;
  padding: 0;
  border: 0;
  border-radius: 12px !important;
  background: rgba(var(--branding-primary-rgb), .08);
}

.swp-live-guest-qr-clone .swp-guest-qr-open.btn {
  min-height: 34px !important;
  height: 34px !important;
}

.swp-live-guest-qr-clone .swp-guest-qr-open.btn {
  min-width: 62px;
  padding-inline: 10px !important;
  border: 0 !important;
  border-radius: 12px !important;
  color: #ffffff;
  background: linear-gradient(135deg, var(--btn-primary-2), var(--btn-primary));
  box-shadow: 0 9px 18px rgba(var(--branding-primary-rgb), .18);
  font-size: .68rem !important;
}

.swp-live-guest-qr-clone .swp-guest-qr-open.btn:hover,
.swp-live-guest-qr-clone .swp-guest-qr-open.btn:focus-visible {
  color: #ffffff;
  transform: translateY(-1px);
  box-shadow: 0 12px 22px rgba(var(--branding-primary-rgb), .24);
}

.swp-live-guest-qr-clone .swp-guest-qr-actions {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 6px !important;
}

.swp-live-guest-qr-clone .swp-guest-qr-actions .btn {
  min-height: 34px !important;
  padding: 6px 8px !important;
  border-radius: 11px !important;
  font-size: .68rem !important;
  line-height: 1;
}

@media (max-width: 1120px) {
  .swp-live-guest-qr-body {
    grid-template-columns: minmax(82px, 104px) minmax(0, 1fr) !important;
  }

  .swp-live-guest-qr-clone .swp-guest-qr-actions {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }

  .swp-live-guest-qr-clone .swp-guest-qr-actions .btn span {
    display: none;
  }

  .swp-live-guest-qr-clone .swp-guest-qr-actions .btn {
    padding-inline: 6px !important;
  }
}

@media (max-width: 640px) {
  .swp-live-guest-qr-body {
    grid-template-columns: 1fr !important;
  }

  .swp-live-guest-qr-clone .swp-guest-qr-preview {
    min-height: 112px !important;
  }
}

/* Regia + Wall: testo in evidenza fisso sopra i post. */
.swp-live-highlight-block {
  gap: 9px;
}

.swp-live-highlight-label {
  margin: 0;
  color: var(--muted);
  font-size: .66rem;
  font-weight: 600;
  letter-spacing: .07em;
  text-transform: uppercase;
}

.swp-live-highlight-input {
  min-height: 66px !important;
  resize: vertical;
  border-color: color-mix(in srgb, var(--swp-primary) 16%, #dbe4ee);
  border-radius: 15px;
  background:
    radial-gradient(circle at 100% 0, color-mix(in srgb, var(--swp-primary) 7%, transparent), transparent 42%),
    #ffffff;
  font-size: .84rem;
  font-weight: 600;
  line-height: 1.25;
}

.swp-live-highlight-input:focus {
  border-color: color-mix(in srgb, var(--swp-primary) 44%, #dbe4ee);
  box-shadow: 0 0 0 4px color-mix(in srgb, var(--swp-primary) 10%, transparent);
}

.swp-live-highlight-foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.swp-live-highlight-foot small {
  color: var(--muted);
  font-size: .68rem;
  font-weight: 600;
}

.swp-live-highlight-actions {
  display: inline-flex;
  align-items: center;
  gap: 7px;
}

.swp-live-highlight-actions .btn {
  min-height: 34px;
  border-radius: 11px;
  font-size: .72rem;
}

.swp-live-highlight-feedback {
  min-height: 16px;
  margin: -2px 0 0;
  color: var(--muted);
  font-size: .7rem;
  font-weight: 600;
}

body.swp-wall-premium #wall-stage.swp-screen-stage {
  position: relative;
}

body.swp-wall-premium #wall-stage.swp-has-highlight {
  --swp-wall-highlight-space: clamp(46px, 5.8cqh, 72px);
}

body.swp-wall-premium #wall-stage .swp-wall-highlight-banner {
  position: absolute;
  z-index: 45;
  top: var(--swp-live-safe-pad, 18px);
  left: calc(var(--swp-live-safe-pad, 18px) + clamp(4px, .55cqw, 10px));
  right: calc(var(--swp-live-safe-pad, 18px) + clamp(4px, .55cqw, 10px));
  min-height: clamp(38px, 4.6cqh, 56px);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: clamp(8px, .8cqw, 13px);
  padding: clamp(8px, 1cqh, 12px) clamp(14px, 2cqw, 28px);
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.68);
  border-radius: 999px;
  color: #0f172a;
  background:
    linear-gradient(135deg, rgba(255,255,255,.94), color-mix(in srgb, var(--swp-primary) 7%, rgba(255,255,255,.92))),
    #ffffff;
  box-shadow:
    0 18px 48px rgba(15,23,42,.12),
    inset 0 1px 0 rgba(255,255,255,.92);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
}

body.swp-wall-premium #wall-stage .swp-wall-highlight-banner::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    radial-gradient(circle at 10% 50%, color-mix(in srgb, var(--swp-primary) 16%, transparent), transparent 30%),
    radial-gradient(circle at 92% 50%, color-mix(in srgb, var(--swp-secondary) 12%, transparent), transparent 32%);
}

body.swp-wall-premium #wall-stage .swp-wall-highlight-banner > * {
  position: relative;
  z-index: 1;
}

body.swp-wall-premium #wall-stage .swp-wall-highlight-icon {
  width: clamp(26px, 2.8cqh, 34px);
  height: clamp(26px, 2.8cqh, 34px);
  flex: 0 0 auto;
  display: grid;
  place-items: center;
  border-radius: 999px;
  color: #ffffff;
  background: linear-gradient(135deg, var(--swp-primary), color-mix(in srgb, var(--swp-primary) 56%, var(--swp-secondary)));
  box-shadow: 0 10px 24px color-mix(in srgb, var(--swp-primary) 24%, transparent);
  font-size: clamp(.78rem, 1.5cqh, 1rem);
}

body.swp-wall-premium #wall-stage .swp-wall-highlight-banner strong {
  min-width: 0;
  overflow: hidden;
  color: #111827;
  font-family: var(--app-font-family);
  font-size: clamp(.92rem, min(1.32cqw, 2.5cqh), 1.42rem);
  font-weight: 600;
  line-height: 1.08;
  letter-spacing: -.012em;
  text-align: center;
  text-overflow: ellipsis;
  white-space: nowrap;
}

body.swp-wall-premium #wall-stage.swp-has-highlight > .swp-screen-grid,
body.swp-wall-premium #wall-stage.swp-has-highlight > .swp-wall-ready-premium {
  height: calc(100% - var(--swp-wall-highlight-space)) !important;
  margin-top: var(--swp-wall-highlight-space) !important;
}

body.swp-wall-premium[data-wall-aspect-mode="compact"] #wall-stage.swp-has-highlight,
body.swp-wall-premium[data-wall-aspect-mode="portrait"] #wall-stage.swp-has-highlight {
  --swp-wall-highlight-space: clamp(40px, 8cqw, 54px);
}

body.swp-wall-premium[data-wall-aspect-mode="portrait"] #wall-stage .swp-wall-highlight-banner {
  left: calc(var(--swp-live-safe-pad, 12px) + 2px);
  right: calc(var(--swp-live-safe-pad, 12px) + 2px);
  gap: 7px;
  padding-inline: 12px;
}

body.swp-wall-premium[data-wall-aspect-mode="portrait"] #wall-stage .swp-wall-highlight-icon {
  display: none;
}

body.swp-wall-premium[data-wall-aspect-mode="portrait"] #wall-stage .swp-wall-highlight-banner strong {
  font-size: clamp(.78rem, 3.6cqw, 1rem);
}

/* Wall live v5: scena premium finale per monitor e preview browser. */
body.swp-wall-premium.wall-display.screen-live-shell {
  --swp-wall-stage-radius: clamp(24px, 2.6vmin, 44px);
  background:
    radial-gradient(circle at 10% 12%, color-mix(in srgb, var(--swp-primary) 24%, transparent), transparent 34%),
    radial-gradient(circle at 92% 8%, color-mix(in srgb, var(--swp-secondary) 18%, transparent), transparent 30%),
    radial-gradient(circle at 76% 94%, rgba(255,255,255,.12), transparent 34%),
    linear-gradient(135deg, #08111f 0%, #0e2235 46%, #111827 100%) !important;
}

body.swp-wall-premium.wall-display.screen-live-shell::before,
body.swp-wall-premium.wall-display.screen-live-shell::after {
  content: "";
  position: fixed;
  z-index: 0;
  pointer-events: none;
}

body.swp-wall-premium.wall-display.screen-live-shell::before {
  inset: 0;
  background:
    linear-gradient(rgba(255,255,255,.055) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.045) 1px, transparent 1px);
  background-size: clamp(42px, 5vmin, 74px) clamp(42px, 5vmin, 74px);
  mask-image: radial-gradient(circle at 50% 48%, #000 0 58%, transparent 88%);
  opacity: .72;
}

body.swp-wall-premium.wall-display.screen-live-shell::after {
  width: 48vmin;
  height: 48vmin;
  right: -18vmin;
  bottom: -20vmin;
  border-radius: 999px;
  background: color-mix(in srgb, var(--swp-secondary) 18%, transparent);
  filter: blur(10px);
  opacity: .74;
}

body.swp-wall-premium #wall-stage.swp-screen-stage {
  position: relative;
  z-index: 1;
  border: 1px solid rgba(255,255,255,.13);
  border-radius: var(--swp-wall-stage-radius);
  background:
    radial-gradient(circle at 18% 18%, color-mix(in srgb, var(--swp-primary) 20%, transparent), transparent 34%),
    radial-gradient(circle at 86% 78%, color-mix(in srgb, var(--swp-secondary) 13%, transparent), transparent 32%),
    linear-gradient(145deg, rgba(255,255,255,.09), rgba(255,255,255,.035)) !important;
  box-shadow:
    0 34px 90px rgba(0,0,0,.34),
    inset 0 1px 0 rgba(255,255,255,.18),
    inset 0 0 0 1px rgba(255,255,255,.05);
}

body.swp-wall-premium #wall-stage .swp-screen-grid {
  gap: clamp(12px, 1.25cqw, 24px) !important;
}

body.swp-wall-premium .swp-wall-event-chip,
body.swp-wall-premium .swp-wall-live-overlay {
  z-index: 80;
  border: 1px solid rgba(255,255,255,.18) !important;
  color: #ffffff !important;
  background: rgba(8,17,31,.52) !important;
  box-shadow: 0 16px 40px rgba(0,0,0,.22) !important;
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
}

body.swp-wall-premium .swp-wall-live-overlay {
  top: clamp(14px, 1.7vmin, 24px) !important;
  right: clamp(14px, 1.7vmin, 24px) !important;
  padding: 8px 12px !important;
  color: #bbf7d0 !important;
}

body.swp-wall-premium .swp-wall-event-chip {
  position: fixed;
  top: clamp(14px, 1.7vmin, 24px);
  left: clamp(14px, 1.7vmin, 24px);
  display: inline-flex;
  align-items: center;
  gap: 9px;
  max-width: min(46vw, 520px);
  min-height: 42px;
  padding: 7px 12px 7px 8px;
  border-radius: 999px;
}

body.swp-wall-premium .swp-wall-event-chip-logo,
body.swp-wall-premium .swp-wall-event-chip-mark {
  width: 30px;
  height: 30px;
  flex: 0 0 auto;
  display: grid;
  place-items: center;
  overflow: hidden;
  border-radius: 999px;
  color: #ffffff;
  background: linear-gradient(135deg, var(--swp-primary), color-mix(in srgb, var(--swp-primary) 46%, var(--swp-secondary)));
}

body.swp-wall-premium .swp-wall-event-chip-logo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

body.swp-wall-premium .swp-wall-event-chip span:last-child {
  display: grid;
  min-width: 0;
  line-height: 1;
}

body.swp-wall-premium .swp-wall-event-chip small {
  color: rgba(255,255,255,.62);
  font-size: .56rem;
  font-weight: 600;
  letter-spacing: .1em;
  text-transform: uppercase;
}

body.swp-wall-premium .swp-wall-event-chip strong {
  overflow: hidden;
  color: #ffffff;
  font-size: .82rem;
  font-weight: 600;
  letter-spacing: -.01em;
  text-overflow: ellipsis;
  white-space: nowrap;
}

body.swp-wall-premium #wall-type-toast {
  top: auto !important;
  right: clamp(14px, 1.7vmin, 24px) !important;
  bottom: clamp(14px, 1.7vmin, 24px) !important;
  transform: scale(.88);
  transform-origin: right bottom;
  opacity: .9;
}

body.swp-wall-premium #wall-stage .layout-celebration {
  position: relative;
  z-index: 1;
}

body.swp-wall-premium #wall-stage .layout-celebration::before {
  display: none !important;
}

body.swp-wall-premium #wall-stage .layout-celebration .swp-celebration-card {
  --swp-celebration-accent: var(--swp-primary);
  isolation: isolate;
  border: 1px solid color-mix(in srgb, var(--swp-celebration-accent) 26%, rgba(255,255,255,.32)) !important;
  border-radius: clamp(22px, 2.2cqw, 38px) !important;
  background:
    radial-gradient(circle at 12% 10%, color-mix(in srgb, var(--swp-celebration-accent) 15%, transparent), transparent 34%),
    linear-gradient(145deg, rgba(255,255,255,.98), color-mix(in srgb, var(--swp-celebration-accent) 5%, #f6fbff)) !important;
  box-shadow:
    0 22px 54px rgba(0,0,0,.20),
    inset 0 1px 0 rgba(255,255,255,.92) !important;
  transform: none !important;
  animation: none !important;
}

body.swp-wall-premium #wall-stage .layout-celebration .swp-celebration-card:nth-child(1) {
  border-color: color-mix(in srgb, var(--swp-primary) 34%, rgba(255,255,255,.36)) !important;
  background:
    radial-gradient(circle at 88% 16%, color-mix(in srgb, var(--swp-secondary) 15%, transparent), transparent 36%),
    radial-gradient(circle at 10% 90%, color-mix(in srgb, var(--swp-primary) 12%, transparent), transparent 34%),
    linear-gradient(145deg, #ffffff, color-mix(in srgb, var(--swp-primary) 6%, #f7fbff)) !important;
}

body.swp-wall-premium #wall-stage .layout-celebration .swp-celebration-card.only-message {
  display: grid;
}

body.swp-wall-premium #wall-stage .layout-celebration .swp-celebration-card.only-message::before {
  content: "“";
  position: absolute;
  z-index: 1;
  right: clamp(18px, 2.2cqw, 42px);
  bottom: clamp(10px, 1.5cqw, 28px);
  color: color-mix(in srgb, var(--swp-celebration-accent) 16%, transparent);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(5rem, 12cqw, 15rem);
  font-weight: 700;
  line-height: .72;
  pointer-events: none;
}

body.swp-wall-premium #wall-stage .layout-celebration .swp-celebration-card::after,
body.swp-wall-premium #wall-stage .layout-celebration .swp-celebration-card.only-message::after {
  content: "" !important;
  position: absolute;
  z-index: 1;
  inset: 0;
  pointer-events: none;
  border-radius: inherit;
  background:
    linear-gradient(115deg, transparent 0 61%, rgba(255,255,255,.48) 61% 62%, transparent 62%),
    radial-gradient(circle at 92% 10%, color-mix(in srgb, var(--swp-celebration-accent) 12%, transparent), transparent 30%) !important;
  opacity: .86 !important;
  animation: none !important;
}

body.swp-wall-premium #wall-stage .layout-celebration .swp-celebration-card .swp-screen-copy {
  position: relative !important;
  z-index: 3;
  width: 100%;
  height: 100%;
  display: grid !important;
  align-content: center !important;
  justify-items: center !important;
  padding: clamp(42px, 4.6cqw, 84px) clamp(18px, 2.5cqw, 48px) clamp(54px, 4.8cqw, 88px) !important;
  background: transparent !important;
  text-align: center;
}

body.swp-wall-premium #wall-stage .layout-celebration .swp-celebration-card.only-message .swp-screen-copy,
body.swp-wall-premium #wall-stage .layout-celebration .swp-celebration-card.has-image.has-message .swp-screen-copy {
  background: transparent !important;
}

body.swp-wall-premium #wall-stage .layout-celebration .swp-celebration-card.has-image.has-message .swp-screen-copy {
  align-content: center !important;
  padding: clamp(14px, 1.4cqw, 24px) clamp(14px, 1.7cqw, 30px) clamp(42px, 3.8cqw, 66px) !important;
  text-align: left;
}

body.swp-wall-premium #wall-stage .layout-celebration .swp-celebration-card .swp-screen-copy p {
  padding: 0 !important;
  max-width: 16ch;
  color: #0f172a !important;
  font-size: clamp(1.08rem, min(1.7cqw, 4cqh), 2rem) !important;
  font-weight: 600 !important;
  line-height: 1.03 !important;
  letter-spacing: -.035em !important;
  text-wrap: balance;
}

body.swp-wall-premium #wall-stage .layout-celebration .swp-celebration-card:nth-child(1) .swp-screen-copy p {
  max-width: 13ch;
  font-size: clamp(2.15rem, min(4.2cqw, 8.8cqh), 5.25rem) !important;
  line-height: .94 !important;
}

body.swp-wall-premium #wall-stage .layout-celebration .swp-celebration-card .swp-screen-author {
  position: absolute !important;
  z-index: 9 !important;
  top: auto !important;
  right: auto !important;
  bottom: clamp(12px, 1.25cqw, 22px) !important;
  left: clamp(12px, 1.25cqw, 22px) !important;
  max-width: calc(100% - clamp(24px, 2.5cqw, 44px));
  min-height: 30px;
  padding: 7px 10px !important;
  border: 1px solid rgba(255,255,255,.72) !important;
  color: #172033 !important;
  background: rgba(255,255,255,.86) !important;
  box-shadow: 0 12px 28px rgba(15,23,42,.10) !important;
  font-size: clamp(.64rem, .68cqw, .78rem) !important;
}

body.swp-wall-premium #wall-stage .layout-celebration .swp-celebration-card .swp-screen-hashtags {
  position: absolute !important;
  z-index: 8;
  top: clamp(12px, 1.2cqw, 20px) !important;
  left: clamp(12px, 1.2cqw, 20px) !important;
  right: clamp(12px, 1.2cqw, 20px) !important;
  bottom: auto !important;
  max-width: calc(100% - clamp(24px, 2.4cqw, 40px)) !important;
  justify-content: center !important;
}

body.swp-wall-premium #wall-stage .layout-celebration .swp-celebration-card .swp-screen-hashtags span {
  max-width: min(48%, 170px) !important;
  border-color: color-mix(in srgb, var(--swp-celebration-accent) 18%, rgba(255,255,255,.68)) !important;
  color: color-mix(in srgb, var(--swp-celebration-accent) 54%, #172033) !important;
  background: rgba(255,255,255,.74) !important;
}

body.swp-wall-premium #wall-stage .layout-celebration .swp-celebration-card.has-image .swp-screen-media {
  border-radius: inherit;
  background: #0b1220 !important;
}

body.swp-wall-premium #wall-stage .layout-celebration .swp-celebration-card.has-image .swp-screen-media img {
  object-fit: cover !important;
  padding: 0 !important;
}

body.swp-wall-premium #wall-stage .layout-celebration .swp-celebration-card .swp-post-reactions {
  position: absolute !important;
  z-index: 9 !important;
  left: auto !important;
  right: clamp(10px, 1.1cqw, 18px) !important;
  bottom: clamp(10px, 1.1cqw, 18px) !important;
  justify-content: flex-end !important;
}

body.swp-wall-premium #wall-stage .layout-celebration .swp-celebration-card .swp-post-reaction {
  background: rgba(255,255,255,.88) !important;
}

body.swp-wall-premium #wall-stage .swp-monitor-standby {
  border: 1px solid rgba(255,255,255,.14);
  border-radius: calc(var(--swp-wall-stage-radius) - 8px);
  background:
    radial-gradient(circle at 14% 18%, color-mix(in srgb, var(--swp-primary) 25%, transparent), transparent 34%),
    radial-gradient(circle at 86% 82%, color-mix(in srgb, var(--swp-secondary) 16%, transparent), transparent 32%),
    linear-gradient(140deg, rgba(10,24,40,.96), rgba(10,16,28,.92)) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.12);
}

@media (max-width: 760px) {
  body.swp-wall-premium .swp-wall-event-chip {
    max-width: calc(100vw - 112px);
  }

  body.swp-wall-premium .swp-wall-event-chip small {
    display: none;
  }

  body.swp-wall-premium #wall-stage .layout-celebration .swp-celebration-card .swp-screen-copy {
    padding-inline: 16px !important;
  }
}

/* Moderazione: card "da approvare" più compatte, con meno interlinea su testo e hashtag. */
.swp-event-core-moderation .swp-mod-post-card .swp-mod-post-body {
  gap: 5px;
  padding: 7px;
}

.swp-event-core-moderation .swp-mod-post-card .swp-mod-post-message {
  min-height: 0;
  padding: 5px 7px;
  border-radius: 10px;
  font-size: .78rem;
  font-weight: 560;
  line-height: 1.12;
}

.swp-event-core-moderation .swp-mod-post-card.is-status-pending .swp-mod-post-message {
  line-height: 1.08;
}

.swp-event-core-moderation .swp-mod-post-card .swp-mod-post-hashtags {
  gap: 3px;
  margin-top: -2px;
  line-height: 1;
}

.swp-event-core-moderation .swp-mod-post-card .swp-mod-post-hashtags span {
  padding: 3px 6px;
  font-size: .55rem;
  line-height: 1;
}

.swp-event-core-moderation .swp-mod-post-card .swp-mod-author small {
  line-height: 1.05;
}

/* Wall live v6: photo frame premium, card inclinate e ingresso nuovo post più vivo. */
body.swp-wall-premium #wall-stage .layout-mosaic,
body.swp-wall-premium #wall-stage .layout-cards,
body.swp-wall-premium #wall-stage .layout-celebration {
  perspective: 1600px;
  perspective-origin: 50% 42%;
}

body.swp-wall-premium #wall-stage .layout-mosaic .swp-mosaic-card,
body.swp-wall-premium #wall-stage .layout-cards .swp-cards-card,
body.swp-wall-premium #wall-stage .layout-celebration .swp-celebration-card {
  --swp-live-tilt: -.55deg;
  --swp-live-tilt-alt: .2deg;
  --swp-live-entry-tilt: -4deg;
  --swp-live-float-y: -6px;
  --swp-live-float-duration: 8.4s;
  transform: translate3d(0, 0, 0) rotate(var(--swp-live-tilt)) !important;
  transform-origin: 50% 62%;
  will-change: transform, filter;
}

body.swp-wall-premium #wall-stage .layout-mosaic .swp-mosaic-card.is-mosaic-variant-2,
body.swp-wall-premium #wall-stage .layout-cards .swp-cards-card.is-cards-variant-2,
body.swp-wall-premium #wall-stage .layout-celebration .swp-celebration-card.is-celebration-variant-2 {
  --swp-live-tilt: .48deg;
  --swp-live-tilt-alt: -.22deg;
  --swp-live-entry-tilt: 4deg;
  --swp-live-float-duration: 9.1s;
}

body.swp-wall-premium #wall-stage .layout-mosaic .swp-mosaic-card.is-mosaic-variant-3,
body.swp-wall-premium #wall-stage .layout-cards .swp-cards-card.is-cards-variant-3,
body.swp-wall-premium #wall-stage .layout-celebration .swp-celebration-card.is-celebration-variant-3 {
  --swp-live-tilt: -.28deg;
  --swp-live-tilt-alt: .62deg;
  --swp-live-entry-tilt: -5deg;
  --swp-live-float-y: -8px;
  --swp-live-float-duration: 7.7s;
}

body.swp-wall-premium #wall-stage .layout-mosaic .swp-mosaic-card.is-mosaic-variant-4,
body.swp-wall-premium #wall-stage .layout-cards .swp-cards-card.is-cards-variant-4,
body.swp-wall-premium #wall-stage .layout-celebration .swp-celebration-card.is-celebration-variant-4 {
  --swp-live-tilt: .24deg;
  --swp-live-tilt-alt: -.58deg;
  --swp-live-entry-tilt: 5deg;
  --swp-live-float-duration: 8.9s;
}

body.swp-wall-premium #wall-stage .layout-mosaic .swp-mosaic-card.is-mosaic-variant-5,
body.swp-wall-premium #wall-stage .layout-cards .swp-cards-card.is-cards-variant-5,
body.swp-wall-premium #wall-stage .layout-celebration .swp-celebration-card.is-celebration-variant-5 {
  --swp-live-tilt: -.72deg;
  --swp-live-tilt-alt: .12deg;
  --swp-live-entry-tilt: -6deg;
}

body.swp-wall-premium #wall-stage .layout-mosaic .swp-mosaic-card.is-mosaic-variant-6,
body.swp-wall-premium #wall-stage .layout-cards .swp-cards-card.is-cards-variant-6,
body.swp-wall-premium #wall-stage .layout-celebration .swp-celebration-card.is-celebration-variant-6 {
  --swp-live-tilt: .64deg;
  --swp-live-tilt-alt: -.3deg;
  --swp-live-entry-tilt: 6deg;
  --swp-live-float-y: -7px;
}

body.swp-wall-premium #wall-stage .layout-mosaic .swp-mosaic-card:not(.is-new-arrival):not(.is-reaction-hit):not(.is-mosaic-intro),
body.swp-wall-premium #wall-stage .layout-cards .swp-cards-card:not(.is-new-arrival):not(.is-reaction-hit),
body.swp-wall-premium #wall-stage .layout-celebration .swp-celebration-card:not(.is-new-arrival):not(.is-reaction-hit) {
  animation: swpLivePremiumCardDrift var(--swp-live-float-duration) ease-in-out var(--swp-card-delay, 0ms) infinite alternate !important;
}

body.swp-wall-premium #wall-stage .swp-screen-post.has-image .swp-screen-media,
body.swp-wall-premium #wall-stage .layout-celebration .swp-celebration-card.has-image .swp-screen-media {
  position: relative !important;
  isolation: isolate;
  overflow: hidden !important;
  border-radius: inherit;
  background:
    radial-gradient(circle at 18% 16%, color-mix(in srgb, var(--swp-primary) 18%, transparent), transparent 36%),
    linear-gradient(135deg, #0f172a, #1e293b) !important;
}

body.swp-wall-premium #wall-stage .swp-screen-post.has-image .swp-screen-media::before {
  content: "";
  position: absolute;
  z-index: 0;
  inset: -20px;
  background-image:
    linear-gradient(135deg, rgba(15,23,42,.2), rgba(255,255,255,.08)),
    var(--swp-post-image, linear-gradient(135deg, #0f172a, #1e293b));
  background-position: center;
  background-size: cover;
  filter: blur(18px) saturate(1.18);
  opacity: .58;
  transform: scale(1.08);
}

body.swp-wall-premium #wall-stage .swp-screen-post.has-image .swp-screen-media::after {
  z-index: 3;
  background:
    linear-gradient(135deg, rgba(255,255,255,.22), transparent 34%),
    radial-gradient(circle at 82% 14%, rgba(255,255,255,.2), transparent 28%),
    linear-gradient(180deg, transparent 68%, rgba(15,23,42,.1)) !important;
}

body.swp-wall-premium #wall-stage .swp-screen-post.has-image .swp-screen-media img,
body.swp-wall-premium #wall-stage .layout-celebration .swp-celebration-card.has-image .swp-screen-media img,
body.swp-wall-premium #wall-stage .layout-celebration .swp-celebration-card:not(:nth-child(1)).only-image .swp-screen-media img {
  z-index: 2 !important;
  object-fit: contain !important;
  object-position: center center !important;
  padding: clamp(8px, .8cqw, 16px) !important;
  filter: drop-shadow(0 18px 26px rgba(0,0,0,.18));
  transform: none !important;
}

body.swp-wall-premium #wall-stage .layout-mosaic .swp-mosaic-card.has-image .swp-screen-media img {
  padding: clamp(6px, .55cqw, 12px) !important;
}

body.swp-wall-premium #wall-stage .layout-cards .swp-cards-card.has-image .swp-screen-media img,
body.swp-wall-premium #wall-stage .layout-celebration .swp-celebration-card.has-image .swp-screen-media img {
  padding: clamp(10px, .95cqw, 18px) !important;
}

body.swp-wall-premium #wall-stage .swp-screen-post.is-new-arrival {
  z-index: 60 !important;
  animation: swpLivePremiumNewPostIn 1.55s cubic-bezier(.15, 1.12, .28, 1) both !important;
  filter: saturate(1.08);
}

body.swp-wall-premium #wall-stage .swp-screen-post.is-new-arrival::before {
  animation: swpLivePremiumNewPostGlow 2.75s ease-out both !important;
}

body.swp-wall-premium #wall-stage .swp-screen-post.is-new-arrival .swp-screen-media::before {
  animation: swpLivePremiumPhotoGlow 2.6s ease-out both;
}

body.swp-wall-premium #wall-stage .swp-new-post-badge {
  z-index: 18 !important;
  box-shadow:
    0 18px 40px color-mix(in srgb, var(--swp-primary) 28%, transparent),
    0 0 0 6px rgba(255,255,255,.16),
    inset 0 1px 0 rgba(255,255,255,.36) !important;
}

body.swp-wall-premium #wall-stage .swp-new-post-radar {
  z-index: 14;
}

body.swp-wall-premium #wall-stage .swp-new-post-flare i {
  transform-origin: center;
}

@keyframes swpLivePremiumCardDrift {
  from {
    transform: translate3d(0, 0, 0) rotate(var(--swp-live-tilt));
    filter: saturate(1);
  }
  to {
    transform: translate3d(0, var(--swp-live-float-y), 0) rotate(var(--swp-live-tilt-alt));
    filter: saturate(1.035);
  }
}

@keyframes swpLivePremiumNewPostIn {
  0% {
    opacity: 0;
    transform: translate3d(0, 54px, 0) scale(.82) rotate(var(--swp-live-entry-tilt)) rotateX(10deg);
    filter: blur(10px) saturate(.78);
  }
  42% {
    opacity: 1;
    transform: translate3d(0, -12px, 0) scale(1.045) rotate(var(--swp-live-tilt-alt)) rotateX(0);
    filter: blur(0) saturate(1.2);
  }
  68% {
    transform: translate3d(0, 4px, 0) scale(.992) rotate(var(--swp-live-tilt));
    filter: blur(0) saturate(1.08);
  }
  100% {
    opacity: 1;
    transform: translate3d(0, 0, 0) scale(1) rotate(var(--swp-live-tilt));
    filter: blur(0) saturate(1);
  }
}

@keyframes swpLivePremiumNewPostGlow {
  0% {
    box-shadow:
      inset 0 0 0 3px color-mix(in srgb, var(--swp-primary) 54%, rgba(255,255,255,.9)),
      0 0 0 0 color-mix(in srgb, var(--swp-primary) 36%, transparent),
      0 26px 70px rgba(0,0,0,.24);
  }
  44% {
    box-shadow:
      inset 0 0 0 2px color-mix(in srgb, var(--swp-secondary) 42%, rgba(255,255,255,.82)),
      0 0 0 14px color-mix(in srgb, var(--swp-primary) 14%, transparent),
      0 30px 82px rgba(0,0,0,.28);
  }
  100% {
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,.82),
      0 0 0 0 transparent,
      0 22px 56px rgba(0,0,0,.18);
  }
}

@keyframes swpLivePremiumPhotoGlow {
  0% {
    opacity: .18;
    transform: scale(1.18);
    filter: blur(24px) saturate(1.6);
  }
  48% {
    opacity: .78;
  }
  100% {
    opacity: .58;
    transform: scale(1.08);
    filter: blur(18px) saturate(1.18);
  }
}

body.swp-wall-premium[data-wall-aspect-mode="compact"] #wall-stage .layout-mosaic .swp-mosaic-card,
body.swp-wall-premium[data-wall-aspect-mode="portrait"] #wall-stage .layout-mosaic .swp-mosaic-card,
body.swp-wall-premium[data-wall-aspect-mode="compact"] #wall-stage .layout-cards .swp-cards-card,
body.swp-wall-premium[data-wall-aspect-mode="portrait"] #wall-stage .layout-cards .swp-cards-card,
body.swp-wall-premium[data-wall-aspect-mode="compact"] #wall-stage .layout-celebration .swp-celebration-card,
body.swp-wall-premium[data-wall-aspect-mode="portrait"] #wall-stage .layout-celebration .swp-celebration-card {
  --swp-live-tilt: -.24deg;
  --swp-live-tilt-alt: .12deg;
  --swp-live-entry-tilt: -2.4deg;
  --swp-live-float-y: -3px;
}

@media (prefers-reduced-motion: reduce) {
  body.swp-wall-premium #wall-stage .layout-mosaic .swp-mosaic-card,
  body.swp-wall-premium #wall-stage .layout-cards .swp-cards-card,
  body.swp-wall-premium #wall-stage .layout-celebration .swp-celebration-card,
  body.swp-wall-premium #wall-stage .swp-screen-post.is-new-arrival,
  body.swp-wall-premium #wall-stage .swp-screen-post.is-new-arrival::before,
  body.swp-wall-premium #wall-stage .swp-screen-post.is-new-arrival .swp-screen-media::before {
    animation: none !important;
    transform: none !important;
    filter: none !important;
  }
}

/* Wall live v6.1: Celebration testuale più premium, meno "lenzuolo bianco". */
body.swp-wall-premium #wall-stage .layout-celebration .swp-celebration-card.only-message {
  color: #ffffff !important;
  background:
    radial-gradient(circle at 18% 18%, color-mix(in srgb, var(--swp-celebration-accent) 34%, transparent), transparent 36%),
    radial-gradient(circle at 86% 14%, color-mix(in srgb, var(--swp-secondary) 24%, transparent), transparent 34%),
    radial-gradient(circle at 76% 88%, rgba(255,255,255,.14), transparent 34%),
    linear-gradient(138deg, #08111f 0%, color-mix(in srgb, var(--swp-celebration-accent) 18%, #102033) 48%, #0f172a 100%) !important;
  box-shadow:
    0 26px 76px rgba(0,0,0,.32),
    inset 0 1px 0 rgba(255,255,255,.18),
    inset 0 0 0 1px rgba(255,255,255,.06) !important;
}

body.swp-wall-premium #wall-stage .layout-celebration .swp-celebration-card.only-message::before {
  z-index: 1;
  right: clamp(14px, 2cqw, 34px);
  bottom: clamp(8px, 1.4cqw, 22px);
  color: rgba(255,255,255,.12) !important;
  text-shadow: 0 0 42px color-mix(in srgb, var(--swp-celebration-accent) 38%, transparent);
}

body.swp-wall-premium #wall-stage .layout-celebration .swp-celebration-card.only-message::after {
  background:
    linear-gradient(120deg, transparent 0 56%, rgba(255,255,255,.12) 56% 57%, transparent 57%),
    radial-gradient(circle at 18% 20%, rgba(255,255,255,.22) 0 4px, transparent 5px),
    radial-gradient(circle at 88% 26%, color-mix(in srgb, var(--swp-celebration-accent) 60%, #fff) 0 3px, transparent 4px),
    radial-gradient(circle at 74% 82%, rgba(255,255,255,.18) 0 3px, transparent 4px) !important;
  opacity: .82 !important;
}

body.swp-wall-premium #wall-stage .layout-celebration .swp-celebration-card.only-message .swp-screen-copy {
  background:
    radial-gradient(circle at 50% 48%, rgba(255,255,255,.08), transparent 38%),
    linear-gradient(180deg, rgba(255,255,255,.02), rgba(255,255,255,.08)) !important;
}

body.swp-wall-premium #wall-stage .layout-celebration .swp-celebration-card.only-message .swp-screen-copy p {
  max-width: min(17ch, 92%);
  color: #ffffff !important;
  font-weight: 620 !important;
  letter-spacing: -.04em !important;
  text-shadow: 0 18px 42px rgba(0,0,0,.34);
}

body.swp-wall-premium #wall-stage .layout-celebration .swp-celebration-card.only-message:nth-child(1) .swp-screen-copy p {
  max-width: min(15ch, 90%);
  font-size: clamp(2rem, min(3.55cqw, 7.4cqh), 4.65rem) !important;
}

body.swp-wall-premium #wall-stage .layout-celebration .swp-celebration-card.only-message .swp-screen-author {
  border-color: rgba(255,255,255,.2) !important;
  color: #ffffff !important;
  background: rgba(255,255,255,.12) !important;
  box-shadow: 0 14px 32px rgba(0,0,0,.22) !important;
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}

body.swp-wall-premium #wall-stage .layout-celebration .swp-celebration-card.only-message .swp-screen-hashtags span,
body.swp-wall-premium #wall-stage .layout-celebration .swp-celebration-card.only-message .swp-post-reaction {
  border-color: rgba(255,255,255,.22) !important;
  color: #ffffff !important;
  background: rgba(255,255,255,.14) !important;
  box-shadow: 0 10px 24px rgba(0,0,0,.16);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}

/* Accesso ospiti: più aria tra titolo "QR webApp utente" e codice QR. */
.swp-new-event-guest-qr {
  gap: 18px;
}

.swp-new-event-guest-qr .swp-guest-qr-head {
  margin-bottom: 2px;
}

.swp-new-event-guest-qr .swp-guest-qr-preview {
  margin-top: 2px;
}

.swp-live-guest-qr-clone {
  gap: 18px !important;
}

.swp-live-guest-qr-clone .swp-guest-qr-head {
  margin-bottom: 5px;
}

.swp-live-guest-qr-clone .swp-live-guest-qr-body {
  padding-top: 3px;
}

/* Wall live v7: ritorno chiaro premium, pulito e luminoso. */
body.swp-wall-premium.wall-display.screen-live-shell {
  background:
    radial-gradient(circle at 8% 10%, color-mix(in srgb, var(--swp-primary) 16%, transparent), transparent 32%),
    radial-gradient(circle at 90% 12%, color-mix(in srgb, var(--swp-secondary) 12%, transparent), transparent 30%),
    radial-gradient(circle at 78% 92%, rgba(255,255,255,.9), transparent 32%),
    linear-gradient(135deg, #f6fbff 0%, #eef8fc 44%, #fffaf4 100%) !important;
}

body.swp-wall-premium.wall-display.screen-live-shell::before {
  background:
    linear-gradient(rgba(14,165,233,.055) 1px, transparent 1px),
    linear-gradient(90deg, rgba(14,165,233,.045) 1px, transparent 1px) !important;
  background-size: clamp(42px, 5vmin, 74px) clamp(42px, 5vmin, 74px) !important;
  opacity: .8 !important;
}

body.swp-wall-premium.wall-display.screen-live-shell::after {
  background:
    radial-gradient(circle, color-mix(in srgb, var(--swp-secondary) 20%, rgba(255,255,255,.65)), transparent 68%) !important;
  filter: blur(18px) !important;
  opacity: .9 !important;
}

body.swp-wall-premium #wall-stage.swp-screen-stage {
  border-color: rgba(14,165,233,.18) !important;
  background:
    radial-gradient(circle at 12% 18%, color-mix(in srgb, var(--swp-primary) 10%, transparent), transparent 34%),
    radial-gradient(circle at 88% 78%, color-mix(in srgb, var(--swp-secondary) 9%, transparent), transparent 32%),
    linear-gradient(145deg, rgba(255,255,255,.86), rgba(248,253,255,.74)) !important;
  box-shadow:
    0 30px 90px rgba(51,65,85,.12),
    inset 0 1px 0 rgba(255,255,255,.92),
    inset 0 0 0 1px rgba(255,255,255,.62) !important;
}

body.swp-wall-premium .swp-wall-event-chip,
body.swp-wall-premium .swp-wall-live-overlay {
  border-color: rgba(14,165,233,.16) !important;
  color: #172033 !important;
  background: rgba(255,255,255,.78) !important;
  box-shadow: 0 18px 46px rgba(51,65,85,.12) !important;
}

body.swp-wall-premium .swp-wall-event-chip small {
  color: #64748b !important;
}

body.swp-wall-premium .swp-wall-event-chip strong {
  color: #111827 !important;
}

body.swp-wall-premium .swp-wall-live-overlay {
  color: #059669 !important;
}

body.swp-wall-premium #wall-type-toast {
  border-color: rgba(14,165,233,.16) !important;
  color: #172033 !important;
  background: rgba(255,255,255,.86) !important;
  box-shadow: 0 18px 42px rgba(51,65,85,.14) !important;
}

body.swp-wall-premium #wall-stage .layout-mosaic .swp-mosaic-card,
body.swp-wall-premium #wall-stage .layout-cards .swp-cards-card,
body.swp-wall-premium #wall-stage .layout-celebration .swp-celebration-card,
body.swp-wall-premium #wall-stage .layout-celebration .swp-celebration-card.only-message {
  color: #111827 !important;
  border-color: color-mix(in srgb, var(--swp-primary) 20%, rgba(203,213,225,.82)) !important;
  background:
    radial-gradient(circle at 12% 10%, color-mix(in srgb, var(--swp-primary) 11%, transparent), transparent 34%),
    radial-gradient(circle at 88% 14%, color-mix(in srgb, var(--swp-secondary) 8%, transparent), transparent 30%),
    linear-gradient(145deg, rgba(255,255,255,.98), #f8fcff 58%, color-mix(in srgb, var(--swp-secondary) 4%, #ffffff)) !important;
  box-shadow:
    0 22px 58px rgba(51,65,85,.13),
    inset 0 1px 0 rgba(255,255,255,.94),
    inset 0 0 0 1px rgba(255,255,255,.58) !important;
}

body.swp-wall-premium #wall-stage .layout-celebration .swp-celebration-card.only-message::before {
  color: color-mix(in srgb, var(--swp-primary) 13%, transparent) !important;
  text-shadow: none !important;
}

body.swp-wall-premium #wall-stage .layout-celebration .swp-celebration-card.only-message::after {
  background:
    linear-gradient(115deg, transparent 0 60%, rgba(255,255,255,.56) 60% 61%, transparent 61%),
    radial-gradient(circle at 16% 20%, color-mix(in srgb, var(--swp-primary) 18%, transparent) 0 5px, transparent 6px),
    radial-gradient(circle at 88% 26%, color-mix(in srgb, var(--swp-secondary) 16%, transparent) 0 4px, transparent 5px),
    radial-gradient(circle at 74% 82%, rgba(255,255,255,.88) 0 4px, transparent 5px) !important;
  opacity: .88 !important;
}

body.swp-wall-premium #wall-stage .layout-celebration .swp-celebration-card.only-message .swp-screen-copy,
body.swp-wall-premium #wall-stage .layout-cards .swp-cards-card .swp-screen-copy,
body.swp-wall-premium #wall-stage .layout-mosaic .swp-mosaic-card .swp-screen-copy {
  background:
    radial-gradient(circle at 88% 12%, color-mix(in srgb, var(--swp-primary) 10%, transparent), transparent 36%),
    linear-gradient(155deg, rgba(255,255,255,.88), color-mix(in srgb, var(--swp-secondary) 5%, #fbfdff)) !important;
}

body.swp-wall-premium #wall-stage .layout-celebration .swp-celebration-card.only-message .swp-screen-copy p,
body.swp-wall-premium #wall-stage .layout-celebration .swp-celebration-card .swp-screen-copy p {
  color: #0f172a !important;
  text-shadow: none !important;
}

body.swp-wall-premium #wall-stage .layout-celebration .swp-celebration-card.only-message .swp-screen-author,
body.swp-wall-premium #wall-stage .layout-celebration .swp-celebration-card.only-message .swp-screen-hashtags span,
body.swp-wall-premium #wall-stage .layout-celebration .swp-celebration-card.only-message .swp-post-reaction,
body.swp-wall-premium #wall-stage .swp-screen-author,
body.swp-wall-premium #wall-stage .swp-screen-hashtags span,
body.swp-wall-premium #wall-stage .swp-post-reaction {
  border-color: rgba(14,165,233,.14) !important;
  color: #1e293b !important;
  background: rgba(255,255,255,.82) !important;
  box-shadow: 0 10px 24px rgba(51,65,85,.1) !important;
}

body.swp-wall-premium #wall-stage .swp-screen-post.has-image .swp-screen-media,
body.swp-wall-premium #wall-stage .layout-celebration .swp-celebration-card.has-image .swp-screen-media {
  background:
    radial-gradient(circle at 16% 16%, color-mix(in srgb, var(--swp-primary) 14%, transparent), transparent 36%),
    radial-gradient(circle at 84% 84%, color-mix(in srgb, var(--swp-secondary) 10%, transparent), transparent 34%),
    linear-gradient(135deg, #f8fcff, #eaf6fb) !important;
}

body.swp-wall-premium #wall-stage .swp-screen-post.has-image .swp-screen-media::before {
  background-image:
    linear-gradient(135deg, rgba(255,255,255,.34), rgba(255,255,255,.22)),
    var(--swp-post-image, linear-gradient(135deg, #eaf6fb, #ffffff)) !important;
  filter: blur(20px) saturate(1.12) brightness(1.08) !important;
  opacity: .46 !important;
}

body.swp-wall-premium #wall-stage .swp-screen-post.has-image .swp-screen-media img,
body.swp-wall-premium #wall-stage .layout-celebration .swp-celebration-card.has-image .swp-screen-media img {
  filter: drop-shadow(0 16px 24px rgba(51,65,85,.16)) !important;
}

body.swp-wall-premium #wall-stage .swp-screen-post.is-new-arrival {
  animation: swpLiveBrightNewPostIn 2.15s cubic-bezier(.15, 1.12, .28, 1) both !important;
}

body.swp-wall-premium #wall-stage .swp-screen-post.is-new-arrival::before {
  animation: swpLiveBrightNewPostGlow 5.8s ease-out both !important;
}

body.swp-wall-premium #wall-stage .swp-new-post-radar {
  inset: -26px !important;
}

body.swp-wall-premium #wall-stage .swp-new-post-radar::before {
  background:
    radial-gradient(circle at 18% 18%, color-mix(in srgb, var(--swp-primary) 34%, transparent), transparent 36%),
    radial-gradient(circle at 86% 18%, color-mix(in srgb, var(--swp-secondary) 28%, transparent), transparent 34%) !important;
  animation-duration: 5.5s !important;
}

body.swp-wall-premium #wall-stage .swp-new-post-radar i {
  border-width: 3px !important;
  border-color: color-mix(in srgb, var(--swp-primary) 58%, rgba(255,255,255,.9)) !important;
  animation: swpLiveBrightNewPostRing 5.8s cubic-bezier(.16, 1, .3, 1) both !important;
}

body.swp-wall-premium #wall-stage .swp-new-post-radar i:nth-child(2) {
  border-color: color-mix(in srgb, var(--swp-secondary) 54%, rgba(255,255,255,.88)) !important;
  animation-delay: .45s !important;
}

body.swp-wall-premium #wall-stage .swp-new-post-badge {
  min-height: 40px !important;
  padding: 8px 12px 8px 9px !important;
  border: 1px solid rgba(255,255,255,.88) !important;
  background:
    linear-gradient(135deg, color-mix(in srgb, var(--swp-primary) 92%, #ffffff), color-mix(in srgb, var(--swp-secondary) 78%, var(--swp-primary))) !important;
  box-shadow:
    0 22px 50px color-mix(in srgb, var(--swp-primary) 30%, transparent),
    0 0 0 8px rgba(255,255,255,.34),
    inset 0 1px 0 rgba(255,255,255,.42) !important;
  animation: swpLiveBrightBadgeHold 6.05s cubic-bezier(.16, 1, .3, 1) both !important;
}

body.swp-wall-premium #wall-stage .swp-new-post-badge strong {
  font-size: .74rem !important;
}

body.swp-wall-premium #wall-stage .swp-new-post-badge small {
  color: #0f172a !important;
}

@keyframes swpLiveBrightNewPostIn {
  0% {
    opacity: 0;
    transform: translate3d(0, 64px, 0) scale(.8) rotate(var(--swp-live-entry-tilt)) rotateX(12deg);
    filter: blur(12px) saturate(.78);
  }
  36% {
    opacity: 1;
    transform: translate3d(0, -15px, 0) scale(1.06) rotate(var(--swp-live-tilt-alt)) rotateX(0);
    filter: blur(0) saturate(1.22);
  }
  62% {
    transform: translate3d(0, 5px, 0) scale(.99) rotate(var(--swp-live-tilt));
  }
  100% {
    opacity: 1;
    transform: translate3d(0, 0, 0) scale(1) rotate(var(--swp-live-tilt));
    filter: blur(0) saturate(1);
  }
}

@keyframes swpLiveBrightNewPostGlow {
  0%, 100% {
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,.9),
      0 22px 58px rgba(51,65,85,.13);
  }
  16%, 58% {
    box-shadow:
      inset 0 0 0 3px color-mix(in srgb, var(--swp-primary) 48%, rgba(255,255,255,.9)),
      0 0 0 18px color-mix(in srgb, var(--swp-primary) 12%, transparent),
      0 30px 84px color-mix(in srgb, var(--swp-primary) 22%, rgba(51,65,85,.16));
  }
}

@keyframes swpLiveBrightNewPostRing {
  0% { opacity: 0; transform: scale(.88); }
  12% { opacity: .92; }
  72% { opacity: .22; }
  100% { opacity: 0; transform: scale(1.22); }
}

@keyframes swpLiveBrightBadgeHold {
  0% { opacity: 0; transform: translate3d(0, -14px, 0) scale(.72); }
  12% { opacity: 1; transform: translate3d(0, 0, 0) scale(1.05); }
  22%, 82% { opacity: 1; transform: translate3d(0, 0, 0) scale(1); }
  100% { opacity: 0; transform: translate3d(0, -7px, 0) scale(.96); }
}

.swp-new-wall-toast {
  position: fixed;
  z-index: 120;
  top: clamp(18px, 2.2vmin, 32px);
  left: 50%;
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  gap: 9px;
  padding: 8px 14px 8px 9px;
  border: 1px solid rgba(14,165,233,.18);
  border-radius: 999px;
  color: #172033;
  background: rgba(255,255,255,.86);
  box-shadow:
    0 24px 60px rgba(51,65,85,.16),
    inset 0 1px 0 rgba(255,255,255,.92);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
  transform: translate3d(-50%, -14px, 0) scale(.92);
  opacity: 0;
  pointer-events: none;
  animation: swpNewWallToastIn .52s cubic-bezier(.16, 1, .3, 1) forwards;
}

.swp-new-wall-toast span {
  width: 28px;
  height: 28px;
  display: grid;
  place-items: center;
  border-radius: 999px;
  color: #ffffff;
  background: linear-gradient(135deg, var(--swp-primary), color-mix(in srgb, var(--swp-primary) 62%, var(--swp-secondary)));
  box-shadow: 0 12px 24px color-mix(in srgb, var(--swp-primary) 24%, transparent);
}

.swp-new-wall-toast strong {
  font-size: .82rem;
  font-weight: 650;
  letter-spacing: -.01em;
}

.swp-new-wall-toast small {
  min-height: 22px;
  display: inline-flex;
  align-items: center;
  padding: 0 8px;
  border-radius: 999px;
  color: color-mix(in srgb, var(--swp-primary) 68%, #172033);
  background: rgba(14,165,233,.08);
  font-size: .62rem;
  font-weight: 650;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.swp-new-wall-toast.is-leaving {
  animation: swpNewWallToastOut .42s ease-in forwards;
}

@keyframes swpNewWallToastIn {
  to {
    opacity: 1;
    transform: translate3d(-50%, 0, 0) scale(1);
  }
}

@keyframes swpNewWallToastOut {
  to {
    opacity: 0;
    transform: translate3d(-50%, -10px, 0) scale(.96);
  }
}

@media (prefers-reduced-motion: reduce) {
  .swp-new-wall-toast,
  .swp-new-wall-toast.is-leaving {
    animation: none !important;
    opacity: 1;
    transform: translate3d(-50%, 0, 0) scale(1);
  }
}

/* Regia: card nuovi post da approvare meno appiccicate e più respirate. */
.swp-event-core-moderation.is-inline {
  padding: 10px;
}

.swp-event-core-moderation.is-inline .js-moderation-list {
  padding: 3px 4px 5px 2px;
}

.swp-event-core-moderation .moderation-grid,
.swp-event-core-moderation .swp-moderation-grid {
  gap: 12px;
}

.swp-event-core-moderation .swp-mod-post-card {
  padding: 6px;
  border-radius: 19px;
}

.swp-event-core-moderation .swp-mod-post-media {
  margin: 0 0 2px;
  border-radius: 14px;
}

.swp-event-core-moderation .swp-mod-post-body {
  gap: 8px;
  padding: 8px 3px 3px;
}

.swp-event-core-moderation .swp-mod-post-head {
  gap: 9px;
  padding-inline: 2px;
}

.swp-event-core-moderation .swp-mod-post-message {
  padding: 7px 9px;
  line-height: 1.14;
}

.swp-event-core-moderation .swp-mod-post-card.is-status-pending .swp-mod-post-message {
  line-height: 1.12;
}

.swp-event-core-moderation .swp-mod-post-hashtags {
  gap: 5px;
  margin-top: 0;
}

.swp-event-core-moderation .swp-mod-post-actions {
  gap: 8px;
  margin-top: 2px;
}

.swp-event-core-moderation .swp-mod-action {
  min-height: 34px;
}

/* Wall live: nuovo post elegante, senza effetti cheap. */
body.swp-wall-premium #wall-stage .swp-new-post-radar,
body.swp-wall-premium #wall-stage .swp-new-post-flare,
.swp-new-wall-toast {
  display: none !important;
}

body.swp-wall-premium #wall-stage .swp-screen-post.is-new-arrival {
  z-index: 40 !important;
  transform-origin: 50% 62%;
  animation: swpWallElegantPostIn 1.35s cubic-bezier(.16, 1, .3, 1) both !important;
}

body.swp-wall-premium #wall-stage .swp-screen-post.is-new-arrival::before {
  animation: swpWallElegantPostGlow 2.45s ease-out both !important;
}

body.swp-wall-premium #wall-stage .swp-new-post-badge {
  top: clamp(10px, .9cqw, 14px) !important;
  left: auto !important;
  right: clamp(10px, .9cqw, 14px) !important;
  min-height: 28px !important;
  gap: 6px !important;
  padding: 5px 9px 5px 6px !important;
  border: 1px solid rgba(14,165,233,.16) !important;
  border-radius: 999px !important;
  color: #0f172a !important;
  background: rgba(255,255,255,.9) !important;
  box-shadow:
    0 10px 24px rgba(51,65,85,.12),
    inset 0 1px 0 rgba(255,255,255,.95) !important;
  letter-spacing: .02em !important;
  text-transform: none !important;
  animation: swpWallElegantBadgeIn 2.65s ease-out both !important;
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}

body.swp-wall-premium #wall-stage .swp-new-post-badge .bi {
  width: 18px;
  height: 18px;
  display: inline-grid;
  place-items: center;
  border-radius: 999px;
  color: #ffffff;
  background: linear-gradient(135deg, var(--swp-primary), color-mix(in srgb, var(--swp-primary) 62%, var(--swp-secondary)));
  font-size: .68rem;
}

body.swp-wall-premium #wall-stage .swp-new-post-badge strong {
  color: #0f172a !important;
  font-size: .66rem !important;
  font-weight: 650 !important;
  line-height: 1;
  text-transform: none !important;
}

body.swp-wall-premium #wall-stage .swp-new-post-badge small {
  display: none !important;
}

@keyframes swpWallElegantPostIn {
  0% {
    opacity: 0;
    transform: translate3d(0, 22px, 0) scale(.975) rotate(var(--swp-live-tilt, 0deg));
    filter: blur(6px) saturate(.92);
  }
  58% {
    opacity: 1;
    transform: translate3d(0, -4px, 0) scale(1.012) rotate(var(--swp-live-tilt-alt, 0deg));
    filter: blur(0) saturate(1.06);
  }
  100% {
    opacity: 1;
    transform: translate3d(0, 0, 0) scale(1) rotate(var(--swp-live-tilt, 0deg));
    filter: blur(0) saturate(1);
  }
}

@keyframes swpWallElegantPostGlow {
  0% {
    box-shadow:
      inset 0 0 0 2px color-mix(in srgb, var(--swp-primary) 34%, rgba(255,255,255,.94)),
      0 18px 52px rgba(51,65,85,.12);
  }
  45% {
    box-shadow:
      inset 0 0 0 2px color-mix(in srgb, var(--swp-primary) 24%, rgba(255,255,255,.94)),
      0 0 0 10px color-mix(in srgb, var(--swp-primary) 7%, transparent),
      0 24px 62px rgba(51,65,85,.15);
  }
  100% {
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,.9),
      0 18px 52px rgba(51,65,85,.1);
  }
}

@keyframes swpWallElegantBadgeIn {
  0% {
    opacity: 0;
    transform: translate3d(0, -6px, 0) scale(.92);
  }
  18%, 74% {
    opacity: 1;
    transform: translate3d(0, 0, 0) scale(1);
  }
  100% {
    opacity: 0;
    transform: translate3d(0, -4px, 0) scale(.98);
  }
}

/* Regia: card solo messaggio più ariosa, non incollata ai bordi. */
.swp-event-core-moderation .swp-mod-post-card.is-text-only {
  padding: 10px;
  border-radius: 21px;
}

.swp-event-core-moderation .swp-mod-post-card.is-text-only .swp-mod-post-body {
  gap: 10px;
  padding: 4px;
}

.swp-event-core-moderation .swp-mod-post-card.is-text-only .swp-mod-post-head {
  padding: 1px 2px 0;
}

.swp-event-core-moderation .swp-mod-post-card.is-text-only .swp-mod-post-message {
  margin: 1px 0 0;
  padding: 11px 12px;
  border-radius: 15px;
  background: rgba(248,251,255,.88);
  font-size: .8rem;
  line-height: 1.22;
}

.swp-event-core-moderation .swp-mod-post-card.is-text-only.is-status-pending .swp-mod-post-message {
  line-height: 1.2;
}

.swp-event-core-moderation .swp-mod-post-card.is-text-only .swp-mod-post-hashtags {
  padding-inline: 2px;
}

.swp-event-core-moderation .swp-mod-post-card.is-text-only .swp-mod-post-actions {
  margin-top: 3px;
}

/* Wall live: ingresso nuova card quasi neutro. */
body.swp-wall-premium #wall-stage .swp-new-post-badge,
body.swp-wall-premium #wall-stage .swp-new-post-radar,
body.swp-wall-premium #wall-stage .swp-new-post-flare,
.swp-new-wall-toast {
  display: none !important;
}

body.swp-wall-premium #wall-stage .swp-screen-post.is-new-arrival {
  z-index: 10 !important;
  animation: swpWallQuietFadeIn .38s ease-out both !important;
  transform-origin: 50% 50%;
}

body.swp-wall-premium #wall-stage .swp-screen-post.is-new-arrival::before,
body.swp-wall-premium #wall-stage .swp-screen-post.is-new-arrival::after {
  animation: none !important;
}

@keyframes swpWallQuietFadeIn {
  from {
    opacity: 0;
    transform: translate3d(0, 7px, 0) scale(.995);
    filter: none;
  }
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0) scale(1);
    filter: none;
  }
}

/* Wall live: ingresso "wow" premium per il nuovo post. */
body.swp-wall-premium #wall-stage .swp-screen-post.is-new-arrival {
  position: relative;
  z-index: 80 !important;
  overflow: visible !important;
  isolation: isolate;
  transform-origin: 50% 58%;
  animation: swpWallWowArrival 1.8s cubic-bezier(.16, 1, .24, 1) both !important;
}

body.swp-wall-premium #wall-stage .swp-screen-post.is-new-arrival::before,
body.swp-wall-premium #wall-stage .swp-screen-post.is-new-arrival::after {
  animation: none !important;
}

body.swp-wall-premium #wall-stage .swp-arrival-orbit,
body.swp-wall-premium #wall-stage .swp-arrival-sheen,
body.swp-wall-premium #wall-stage .swp-arrival-sparks {
  position: absolute;
  z-index: 25;
  pointer-events: none;
}

body.swp-wall-premium #wall-stage .swp-arrival-orbit {
  inset: -20px;
  border-radius: inherit;
  opacity: 0;
  animation: swpWallWowOrbit 3.35s cubic-bezier(.16, 1, .3, 1) both;
}

body.swp-wall-premium #wall-stage .swp-arrival-orbit::before,
body.swp-wall-premium #wall-stage .swp-arrival-orbit::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  border: 1px solid color-mix(in srgb, var(--swp-primary) 34%, rgba(255,255,255,.9));
  box-shadow:
    0 0 0 1px rgba(255,255,255,.42),
    0 0 42px color-mix(in srgb, var(--swp-primary) 22%, transparent);
}

body.swp-wall-premium #wall-stage .swp-arrival-orbit::after {
  inset: 10px;
  border-color: color-mix(in srgb, var(--swp-secondary) 26%, rgba(255,255,255,.9));
  animation: swpWallWowOrbitInner 2.8s .16s cubic-bezier(.16, 1, .3, 1) both;
}

body.swp-wall-premium #wall-stage .swp-arrival-sheen {
  inset: 0;
  z-index: 26;
  overflow: hidden;
  border-radius: inherit;
}

body.swp-wall-premium #wall-stage .swp-arrival-sheen::before {
  content: "";
  position: absolute;
  top: -42%;
  bottom: -42%;
  left: -58%;
  width: 34%;
  border-radius: 999px;
  background:
    linear-gradient(90deg, transparent, rgba(255,255,255,.86), color-mix(in srgb, var(--swp-primary) 16%, rgba(255,255,255,.58)), transparent);
  filter: blur(1px);
  transform: rotate(15deg);
  animation: swpWallWowSheen 1.4s .2s ease-out both;
}

body.swp-wall-premium #wall-stage .swp-arrival-sparks {
  inset: -18px;
  z-index: 27;
  border-radius: inherit;
}

body.swp-wall-premium #wall-stage .swp-arrival-sparks i {
  position: absolute;
  width: 7px;
  height: 7px;
  display: block;
  border-radius: 999px;
  background: #ffffff;
  box-shadow:
    0 0 0 3px color-mix(in srgb, var(--swp-primary) 12%, transparent),
    0 0 22px color-mix(in srgb, var(--swp-primary) 42%, transparent);
  opacity: 0;
  animation: swpWallWowSpark 2.4s ease-out both;
}

body.swp-wall-premium #wall-stage .swp-arrival-sparks i:nth-child(1) { top: 8%; left: 14%; --swp-spark-x: -18px; --swp-spark-y: -20px; animation-delay: .1s; }
body.swp-wall-premium #wall-stage .swp-arrival-sparks i:nth-child(2) { top: 12%; right: 16%; width: 5px; height: 5px; --swp-spark-x: 20px; --swp-spark-y: -18px; animation-delay: .18s; }
body.swp-wall-premium #wall-stage .swp-arrival-sparks i:nth-child(3) { top: 48%; right: 5%; background: color-mix(in srgb, var(--swp-secondary) 72%, #fff); --swp-spark-x: 24px; --swp-spark-y: 4px; animation-delay: .28s; }
body.swp-wall-premium #wall-stage .swp-arrival-sparks i:nth-child(4) { bottom: 12%; right: 22%; width: 5px; height: 5px; --swp-spark-x: 16px; --swp-spark-y: 20px; animation-delay: .38s; }
body.swp-wall-premium #wall-stage .swp-arrival-sparks i:nth-child(5) { bottom: 8%; left: 18%; background: color-mix(in srgb, var(--swp-primary) 58%, #fff); --swp-spark-x: -22px; --swp-spark-y: 18px; animation-delay: .48s; }
body.swp-wall-premium #wall-stage .swp-arrival-sparks i:nth-child(6) { top: 52%; left: 6%; width: 5px; height: 5px; --swp-spark-x: -20px; --swp-spark-y: -2px; animation-delay: .58s; }

@keyframes swpWallWowArrival {
  0% {
    opacity: 0;
    transform: translate3d(0, 46px, 0) scale(.88) rotateX(10deg) rotate(var(--swp-live-tilt, 0deg));
    filter: blur(12px) saturate(.78);
  }
  36% {
    opacity: 1;
    transform: translate3d(0, -12px, 0) scale(1.035) rotateX(0deg) rotate(var(--swp-live-tilt-alt, 0deg));
    filter: blur(0) saturate(1.15);
  }
  64% {
    transform: translate3d(0, 4px, 0) scale(.994) rotate(var(--swp-live-tilt, 0deg));
    filter: saturate(1.04);
  }
  100% {
    opacity: 1;
    transform: translate3d(0, 0, 0) scale(1) rotate(var(--swp-live-tilt, 0deg));
    filter: blur(0) saturate(1);
  }
}

@keyframes swpWallWowOrbit {
  0% { opacity: 0; transform: scale(.86); }
  16% { opacity: .94; }
  72% { opacity: .26; }
  100% { opacity: 0; transform: scale(1.12); }
}

@keyframes swpWallWowOrbitInner {
  0% { opacity: 0; transform: scale(.92); }
  18% { opacity: .68; }
  100% { opacity: 0; transform: scale(1.08); }
}

@keyframes swpWallWowSheen {
  0% { opacity: 0; transform: translateX(0) rotate(15deg); }
  20% { opacity: .92; }
  100% { opacity: 0; transform: translateX(680%) rotate(15deg); }
}

@keyframes swpWallWowSpark {
  0% { opacity: 0; transform: translate3d(0, 10px, 0) scale(.38); }
  20% { opacity: .95; }
  100% { opacity: 0; transform: translate3d(var(--swp-spark-x, 0), var(--swp-spark-y, -18px), 0) scale(1.22); }
}

@media (prefers-reduced-motion: reduce) {
  body.swp-wall-premium #wall-stage .swp-screen-post.is-new-arrival,
  body.swp-wall-premium #wall-stage .swp-arrival-orbit,
  body.swp-wall-premium #wall-stage .swp-arrival-orbit::after,
  body.swp-wall-premium #wall-stage .swp-arrival-sheen::before,
  body.swp-wall-premium #wall-stage .swp-arrival-sparks i {
    animation: none !important;
    transform: none !important;
    opacity: 1;
    filter: none !important;
  }

  body.swp-wall-premium #wall-stage .swp-arrival-orbit,
  body.swp-wall-premium #wall-stage .swp-arrival-sheen,
  body.swp-wall-premium #wall-stage .swp-arrival-sparks {
    display: none !important;
  }
}

/* Wall v8: estrazione intelligente + story card premium per testi lunghi. */
body.swp-wall-premium #wall-stage .swp-screen-grid.swp-grid-has-medium-copy,
body.swp-wall-premium #wall-stage .swp-screen-grid.swp-grid-has-long-copy,
body.swp-wall-premium #wall-stage .swp-screen-grid.swp-grid-has-xlong-copy {
  gap: clamp(16px, 1.55cqw, 30px) !important;
}

body.swp-wall-premium #wall-stage .swp-screen-post.is-copy-medium,
body.swp-wall-premium #wall-stage .swp-screen-post.is-copy-long,
body.swp-wall-premium #wall-stage .swp-screen-post.is-copy-xlong {
  --swp-story-accent: color-mix(in srgb, var(--swp-primary) 74%, var(--swp-secondary));
  border-color: color-mix(in srgb, var(--swp-story-accent) 24%, rgba(203,213,225,.82)) !important;
  background:
    radial-gradient(circle at 12% 8%, color-mix(in srgb, var(--swp-story-accent) 13%, transparent), transparent 34%),
    radial-gradient(circle at 86% 92%, color-mix(in srgb, var(--swp-secondary) 8%, transparent), transparent 32%),
    linear-gradient(145deg, rgba(255,255,255,.99), color-mix(in srgb, var(--swp-story-accent) 4%, #f8fcff)) !important;
  box-shadow:
    0 28px 76px rgba(51,65,85,.16),
    inset 0 1px 0 rgba(255,255,255,.95),
    inset 0 0 0 1px rgba(255,255,255,.6) !important;
}

body.swp-wall-premium #wall-stage .swp-screen-post.is-copy-long::after,
body.swp-wall-premium #wall-stage .swp-screen-post.is-copy-xlong::after {
  content: "" !important;
  position: absolute;
  z-index: 1;
  inset: 0;
  pointer-events: none;
  border-radius: inherit;
  background:
    linear-gradient(120deg, transparent 0 58%, rgba(255,255,255,.62) 58% 59%, transparent 59%),
    radial-gradient(circle at 18% 18%, color-mix(in srgb, var(--swp-story-accent) 13%, transparent), transparent 28%) !important;
  opacity: .72 !important;
}

body.swp-wall-premium #wall-stage .swp-screen-post.is-copy-long .swp-screen-copy,
body.swp-wall-premium #wall-stage .swp-screen-post.is-copy-xlong .swp-screen-copy {
  position: relative !important;
  z-index: 4 !important;
  width: 100%;
  height: 100%;
  display: grid !important;
  align-content: center !important;
  justify-items: center !important;
  overflow: visible !important;
  padding: clamp(28px, 3.2cqw, 64px) clamp(20px, 3.4cqw, 72px) !important;
  background:
    radial-gradient(circle at 80% 12%, color-mix(in srgb, var(--swp-story-accent) 8%, transparent), transparent 34%),
    linear-gradient(150deg, rgba(255,255,255,.9), rgba(255,255,255,.64)) !important;
}

body.swp-wall-premium #wall-stage .swp-screen-post.is-copy-xlong .swp-screen-copy {
  padding: clamp(24px, 2.8cqw, 54px) clamp(18px, 3cqw, 60px) !important;
}

body.swp-wall-premium #wall-stage .swp-screen-post.is-copy-medium .swp-screen-copy p,
body.swp-wall-premium #wall-stage .swp-screen-post.is-copy-long .swp-screen-copy p,
body.swp-wall-premium #wall-stage .swp-screen-post.is-copy-xlong .swp-screen-copy p {
  max-width: min(38ch, 100%) !important;
  overflow: visible !important;
  display: block !important;
  color: #0f172a !important;
  text-align: center;
  text-overflow: clip !important;
  white-space: normal !important;
  overflow-wrap: anywhere;
  -webkit-line-clamp: unset !important;
  line-clamp: unset !important;
  text-shadow: none !important;
  text-wrap: balance;
}

body.swp-wall-premium #wall-stage .swp-screen-post.is-copy-medium .swp-screen-copy p {
  font-size: clamp(1.05rem, min(1.75cqw, 3.8cqh), 2.3rem) !important;
  line-height: 1.08 !important;
}

body.swp-wall-premium #wall-stage .swp-screen-post.is-copy-long .swp-screen-copy p {
  font-size: clamp(.92rem, min(1.35cqw, 3.1cqh), 1.86rem) !important;
  line-height: 1.08 !important;
  max-width: min(42ch, 100%) !important;
}

body.swp-wall-premium #wall-stage .swp-screen-post.is-copy-xlong .swp-screen-copy p {
  font-size: clamp(.72rem, min(1.05cqw, 2.35cqh), 1.34rem) !important;
  line-height: 1.07 !important;
  max-width: min(54ch, 100%) !important;
  text-wrap: pretty;
}

body.swp-wall-premium #wall-stage .swp-screen-post.is-copy-long .swp-screen-copy.is-fit-overflowing p,
body.swp-wall-premium #wall-stage .swp-screen-post.is-copy-xlong .swp-screen-copy.is-fit-overflowing p {
  font-size: clamp(.62rem, min(.88cqw, 2cqh), 1.08rem) !important;
  line-height: 1.04 !important;
  max-width: min(64ch, 100%) !important;
}

body.swp-wall-premium #wall-stage .swp-screen-post.has-image.has-message.is-copy-long .swp-screen-media,
body.swp-wall-premium #wall-stage .swp-screen-post.has-image.has-message.is-copy-xlong .swp-screen-media {
  position: absolute !important;
  z-index: 0 !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  opacity: .16;
  filter: saturate(1.1);
}

body.swp-wall-premium #wall-stage .swp-screen-post.has-image.has-message.is-copy-long .swp-screen-media img,
body.swp-wall-premium #wall-stage .swp-screen-post.has-image.has-message.is-copy-xlong .swp-screen-media img {
  padding: 0 !important;
  object-fit: cover !important;
  filter: blur(1px) saturate(1.08) opacity(.8) !important;
}

body.swp-wall-premium #wall-stage .swp-screen-post.is-copy-long .swp-screen-author,
body.swp-wall-premium #wall-stage .swp-screen-post.is-copy-xlong .swp-screen-author {
  z-index: 8 !important;
}

body.swp-wall-premium[data-wall-aspect-mode="wide"] #wall-stage .layout-mosaic.swp-grid-has-long-copy,
body.swp-wall-premium[data-wall-aspect-mode="wide"] #wall-stage .layout-mosaic.swp-grid-has-xlong-copy,
body.swp-wall-premium[data-wall-aspect-mode="wide"] #wall-stage .layout-celebration.swp-grid-has-long-copy,
body.swp-wall-premium[data-wall-aspect-mode="wide"] #wall-stage .layout-celebration.swp-grid-has-xlong-copy {
  grid-template-columns: repeat(12, minmax(0, 1fr)) !important;
  grid-template-rows: repeat(6, minmax(0, 1fr)) !important;
}

body.swp-wall-premium[data-wall-aspect-mode="wide"] #wall-stage .layout-mosaic .swp-screen-post.is-copy-long,
body.swp-wall-premium[data-wall-aspect-mode="wide"] #wall-stage .layout-celebration .swp-screen-post.is-copy-long {
  grid-column: span 7 !important;
  grid-row: span 4 !important;
}

body.swp-wall-premium[data-wall-aspect-mode="wide"] #wall-stage .layout-mosaic .swp-screen-post.is-copy-xlong,
body.swp-wall-premium[data-wall-aspect-mode="wide"] #wall-stage .layout-celebration .swp-screen-post.is-copy-xlong {
  grid-column: span 8 !important;
  grid-row: span 6 !important;
}

body.swp-wall-premium[data-wall-aspect-mode="compact"] #wall-stage .swp-screen-post.is-copy-long .swp-screen-copy,
body.swp-wall-premium[data-wall-aspect-mode="portrait"] #wall-stage .swp-screen-post.is-copy-long .swp-screen-copy,
body.swp-wall-premium[data-wall-aspect-mode="compact"] #wall-stage .swp-screen-post.is-copy-xlong .swp-screen-copy,
body.swp-wall-premium[data-wall-aspect-mode="portrait"] #wall-stage .swp-screen-post.is-copy-xlong .swp-screen-copy {
  padding: clamp(18px, 5cqw, 32px) clamp(14px, 5cqw, 28px) !important;
}

body.swp-wall-premium[data-wall-aspect-mode="portrait"] #wall-stage .swp-screen-post.is-copy-xlong .swp-screen-copy p {
  font-size: clamp(.66rem, 3.15cqw, 1rem) !important;
  line-height: 1.04 !important;
}

/* Wall v8.1: anche i testi medi non devono tagliarsi se la card ha una foto. */
body.swp-wall-premium #wall-stage .swp-screen-post.is-copy-medium .swp-screen-copy {
  position: relative !important;
  z-index: 4 !important;
  width: 100%;
  height: 100%;
  display: grid !important;
  align-content: center !important;
  justify-items: center !important;
  overflow: visible !important;
  padding: clamp(20px, 2.35cqw, 46px) clamp(16px, 2.6cqw, 54px) !important;
  background:
    radial-gradient(circle at 84% 14%, color-mix(in srgb, var(--swp-story-accent, var(--swp-primary)) 7%, transparent), transparent 34%),
    linear-gradient(150deg, rgba(255,255,255,.88), rgba(255,255,255,.66)) !important;
}

body.swp-wall-premium #wall-stage .swp-screen-post.has-image.has-message.is-copy-medium .swp-screen-media {
  position: absolute !important;
  z-index: 0 !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  opacity: .2;
}

body.swp-wall-premium #wall-stage .swp-screen-post.has-image.has-message.is-copy-medium .swp-screen-media img {
  padding: 0 !important;
  object-fit: cover !important;
  filter: blur(.5px) saturate(1.05) opacity(.85) !important;
}

body.swp-wall-premium #wall-stage .swp-screen-post.is-copy-medium .swp-screen-copy.is-fit-overflowing p {
  font-size: clamp(.76rem, min(1.05cqw, 2.4cqh), 1.18rem) !important;
  line-height: 1.05 !important;
  max-width: min(48ch, 100%) !important;
}

/* Moderazione: pin post in evidenza, massimo 3 gestito da API. */
.swp-event-core-moderation .swp-mod-post-actions {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.swp-event-core-moderation .swp-mod-action-feature {
  min-width: 0;
  color: #92400e;
  border: 1px solid rgba(245,158,11,.24);
  background:
    radial-gradient(circle at 18% 12%, rgba(255,255,255,.95), transparent 36%),
    linear-gradient(135deg, rgba(255,251,235,.96), rgba(254,243,199,.78));
  box-shadow: none;
}

.swp-event-core-moderation .swp-mod-action-feature.is-active {
  color: #fff;
  border-color: rgba(245,158,11,.18);
  background: linear-gradient(135deg, #f59e0b, #f97316);
  box-shadow: 0 9px 18px rgba(245,158,11,.18);
}

.swp-event-core-moderation .swp-mod-action-feature:not(.is-active):hover,
.swp-event-core-moderation .swp-mod-action-feature:not(.is-active):focus-visible {
  color: #7c2d12;
}

.swp-event-core-moderation .swp-mod-post-card.is-featured {
  position: relative;
  border-color: rgba(245,158,11,.34);
  background:
    radial-gradient(circle at 92% 12%, rgba(245,158,11,.13), transparent 30%),
    linear-gradient(145deg, rgba(255,255,255,.98), rgba(255,251,235,.76));
}

.swp-event-core-moderation .swp-mod-post-card.is-featured::after {
  content: "In evidenza";
  position: absolute;
  top: 10px;
  right: 10px;
  z-index: 5;
  padding: 4px 8px;
  border-radius: 999px;
  color: #92400e;
  background: rgba(255,251,235,.92);
  border: 1px solid rgba(245,158,11,.25);
  font-size: .56rem;
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: uppercase;
  box-shadow: 0 8px 18px rgba(146,64,14,.08);
}

body.swp-wall-premium #wall-stage .swp-screen-post.is-featured-wall-post {
  border-color: rgba(245,158,11,.42) !important;
  box-shadow:
    0 22px 58px rgba(15,23,42,.13),
    0 0 0 1px rgba(245,158,11,.16),
    0 0 34px rgba(245,158,11,.13) !important;
}

body.swp-wall-premium #wall-stage .swp-screen-post.is-featured-wall-post .swp-screen-author::after {
  content: "In evidenza";
  display: inline-flex;
  align-items: center;
  margin-left: 8px;
  padding: 3px 8px;
  border-radius: 999px;
  color: #92400e;
  background: rgba(255,251,235,.88);
  border: 1px solid rgba(245,158,11,.24);
  font-size: .58em;
  font-weight: 800;
  letter-spacing: .045em;
  text-transform: uppercase;
}

@media (max-width: 760px) {
  .swp-event-core-moderation .swp-mod-post-actions {
    grid-template-columns: 1fr;
  }
}

/* Wall v9.3: immagini reali, niente card contenitore, ingresso con coriandoli sotto. */
body.swp-wall-premium #wall-stage .swp-screen-post:not(.qr-post) {
  isolation: isolate;
  overflow: visible !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
}

body.swp-wall-premium #wall-stage .swp-screen-post:not(.qr-post)::before,
body.swp-wall-premium #wall-stage .swp-screen-post:not(.qr-post)::after,
body.swp-wall-premium #wall-stage .swp-screen-post.has-image .swp-screen-media::before,
body.swp-wall-premium #wall-stage .swp-screen-post.has-image .swp-screen-media::after {
  content: none !important;
  display: none !important;
  animation: none !important;
}

body.swp-wall-premium #wall-stage .swp-screen-post.has-image.has-message.is-copy-medium .swp-screen-media,
body.swp-wall-premium #wall-stage .swp-screen-post.has-image.has-message.is-copy-long .swp-screen-media,
body.swp-wall-premium #wall-stage .swp-screen-post.has-image.has-message.is-copy-xlong .swp-screen-media,
body.swp-wall-premium #wall-stage .swp-screen-post.has-image .swp-screen-media,
body.swp-wall-premium #wall-stage .layout-celebration .swp-celebration-card.has-image .swp-screen-media {
  position: relative !important;
  z-index: 2 !important;
  inset: auto !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  opacity: 1 !important;
  overflow: visible !important;
  border: 0 !important;
  border-radius: clamp(18px, 1.55cqw, 30px) !important;
  background: transparent !important;
  filter: none !important;
  box-shadow: none !important;
}

body.swp-wall-premium #wall-stage .swp-screen-post.has-image .swp-screen-media img,
body.swp-wall-premium #wall-stage .swp-screen-post.has-image.has-message.is-copy-medium .swp-screen-media img,
body.swp-wall-premium #wall-stage .swp-screen-post.has-image.has-message.is-copy-long .swp-screen-media img,
body.swp-wall-premium #wall-stage .swp-screen-post.has-image.has-message.is-copy-xlong .swp-screen-media img,
body.swp-wall-premium #wall-stage .layout-celebration .swp-celebration-card.has-image .swp-screen-media img,
body.swp-wall-premium #wall-stage .layout-celebration .swp-celebration-card:not(:nth-child(1)).only-image .swp-screen-media img {
  z-index: 2 !important;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  padding: 0 !important;
  opacity: 1 !important;
  object-fit: contain !important;
  object-position: center center !important;
  transform: none !important;
  filter: drop-shadow(0 18px 24px rgba(15,23,42,.16)) !important;
  background: transparent !important;
}

body.swp-wall-premium #wall-stage .swp-screen-post.has-image.has-message .swp-screen-copy,
body.swp-wall-premium #wall-stage .swp-screen-post.only-message .swp-screen-copy,
body.swp-wall-premium #wall-stage .swp-screen-post.is-copy-medium .swp-screen-copy,
body.swp-wall-premium #wall-stage .swp-screen-post.is-copy-long .swp-screen-copy,
body.swp-wall-premium #wall-stage .swp-screen-post.is-copy-xlong .swp-screen-copy {
  position: relative !important;
  z-index: 3 !important;
  overflow: visible !important;
  border: 1px solid rgba(255,255,255,.66) !important;
  border-radius: clamp(16px, 1.45cqw, 26px) !important;
  background:
    radial-gradient(circle at 88% 12%, color-mix(in srgb, var(--swp-primary) 7%, transparent), transparent 36%),
    rgba(255,255,255,.84) !important;
  box-shadow: 0 16px 36px rgba(15,23,42,.08) !important;
  backdrop-filter: blur(10px) !important;
}

body.swp-wall-premium #wall-stage .swp-screen-post.has-image.has-message .swp-screen-copy,
body.swp-wall-premium #wall-stage .swp-screen-post.has-image.has-message.is-copy-medium .swp-screen-copy,
body.swp-wall-premium #wall-stage .swp-screen-post.has-image.has-message.is-copy-long .swp-screen-copy,
body.swp-wall-premium #wall-stage .swp-screen-post.has-image.has-message.is-copy-xlong .swp-screen-copy {
  width: auto !important;
  height: auto !important;
  min-height: 0 !important;
  align-content: center !important;
}

body.swp-wall-premium #wall-stage .swp-screen-post.only-image .swp-screen-copy {
  display: none !important;
}

body.swp-wall-premium #wall-stage .swp-screen-post.is-new-arrival {
  position: relative;
  z-index: 90 !important;
  overflow: visible !important;
  transform-origin: 50% 72%;
  animation: swpWallConfettiPostIn .74s cubic-bezier(.18, 1, .32, 1) both !important;
  filter: none !important;
}

body.swp-wall-premium #wall-stage .swp-screen-post.is-new-arrival > .swp-screen-media,
body.swp-wall-premium #wall-stage .swp-screen-post.is-new-arrival > .swp-screen-copy,
body.swp-wall-premium #wall-stage .swp-screen-post.is-new-arrival > .swp-screen-author,
body.swp-wall-premium #wall-stage .swp-screen-post.is-new-arrival > .swp-screen-hashtags,
body.swp-wall-premium #wall-stage .swp-screen-post.is-new-arrival > .swp-post-reactions {
  z-index: 3 !important;
}

body.swp-wall-premium #wall-stage .swp-arrival-orbit,
body.swp-wall-premium #wall-stage .swp-arrival-sheen,
body.swp-wall-premium #wall-stage .swp-arrival-sparks {
  display: none !important;
}

body.swp-wall-premium #wall-stage .swp-arrival-confetti {
  position: absolute;
  z-index: 1;
  left: -18%;
  right: -18%;
  bottom: -24%;
  height: 58%;
  pointer-events: none;
  opacity: 0;
  border-radius: 999px;
  filter: drop-shadow(0 18px 22px rgba(15,23,42,.12));
  animation: swpWallConfettiBed 3.15s ease-out both;
}

body.swp-wall-premium #wall-stage .swp-arrival-confetti::before {
  content: "";
  position: absolute;
  left: 12%;
  right: 12%;
  bottom: 2%;
  height: 46%;
  border-radius: 999px;
  background:
    radial-gradient(ellipse at center, color-mix(in srgb, var(--swp-primary) 18%, transparent), transparent 64%),
    radial-gradient(ellipse at 58% 64%, color-mix(in srgb, var(--swp-secondary) 13%, transparent), transparent 58%);
  filter: blur(18px);
  opacity: .82;
}

body.swp-wall-premium #wall-stage .swp-arrival-confetti i {
  position: absolute;
  bottom: 10%;
  left: 50%;
  display: block;
  width: 8px;
  height: 13px;
  border-radius: 3px;
  background: #fff;
  opacity: 0;
  transform-origin: center;
  animation: swpWallConfettiPiece 2.7s cubic-bezier(.16, 1, .3, 1) both;
}

body.swp-wall-premium #wall-stage .swp-arrival-confetti i:nth-child(1) { --swp-confetti-x: -42%; --swp-confetti-y: -72px; --swp-confetti-r: -74deg; left: 16%; background: #18b7ea; animation-delay: .03s; }
body.swp-wall-premium #wall-stage .swp-arrival-confetti i:nth-child(2) { --swp-confetti-x: -22%; --swp-confetti-y: -108px; --swp-confetti-r: 118deg; left: 25%; width: 6px; height: 6px; border-radius: 999px; background: #f59e0b; animation-delay: .08s; }
body.swp-wall-premium #wall-stage .swp-arrival-confetti i:nth-child(3) { --swp-confetti-x: -10%; --swp-confetti-y: -86px; --swp-confetti-r: 68deg; left: 34%; background: #22c55e; animation-delay: .14s; }
body.swp-wall-premium #wall-stage .swp-arrival-confetti i:nth-child(4) { --swp-confetti-x: 2%; --swp-confetti-y: -124px; --swp-confetti-r: -128deg; left: 43%; width: 10px; height: 5px; background: #ffffff; animation-delay: .18s; }
body.swp-wall-premium #wall-stage .swp-arrival-confetti i:nth-child(5) { --swp-confetti-x: 16%; --swp-confetti-y: -92px; --swp-confetti-r: 96deg; left: 52%; background: #a855f7; animation-delay: .11s; }
body.swp-wall-premium #wall-stage .swp-arrival-confetti i:nth-child(6) { --swp-confetti-x: 28%; --swp-confetti-y: -116px; --swp-confetti-r: -88deg; left: 61%; width: 6px; height: 6px; border-radius: 999px; background: #fb7185; animation-delay: .2s; }
body.swp-wall-premium #wall-stage .swp-arrival-confetti i:nth-child(7) { --swp-confetti-x: 44%; --swp-confetti-y: -78px; --swp-confetti-r: 144deg; left: 72%; background: #38bdf8; animation-delay: .16s; }
body.swp-wall-premium #wall-stage .swp-arrival-confetti i:nth-child(8) { --swp-confetti-x: 56%; --swp-confetti-y: -106px; --swp-confetti-r: -112deg; left: 84%; width: 9px; height: 5px; background: #fde047; animation-delay: .06s; }
body.swp-wall-premium #wall-stage .swp-arrival-confetti i:nth-child(9) { --swp-confetti-x: -48%; --swp-confetti-y: -42px; --swp-confetti-r: 52deg; left: 20%; width: 7px; height: 7px; border-radius: 999px; background: #ffffff; animation-delay: .34s; }
body.swp-wall-premium #wall-stage .swp-arrival-confetti i:nth-child(10) { --swp-confetti-x: -30%; --swp-confetti-y: -58px; --swp-confetti-r: -36deg; left: 31%; background: #fb923c; animation-delay: .28s; }
body.swp-wall-premium #wall-stage .swp-arrival-confetti i:nth-child(11) { --swp-confetti-x: -6%; --swp-confetti-y: -54px; --swp-confetti-r: 82deg; left: 46%; width: 6px; height: 6px; border-radius: 999px; background: #2dd4bf; animation-delay: .39s; }
body.swp-wall-premium #wall-stage .swp-arrival-confetti i:nth-child(12) { --swp-confetti-x: 14%; --swp-confetti-y: -46px; --swp-confetti-r: -66deg; left: 57%; background: #ffffff; animation-delay: .31s; }
body.swp-wall-premium #wall-stage .swp-arrival-confetti i:nth-child(13) { --swp-confetti-x: 36%; --swp-confetti-y: -62px; --swp-confetti-r: 108deg; left: 68%; width: 8px; height: 8px; border-radius: 999px; background: #60a5fa; animation-delay: .36s; }
body.swp-wall-premium #wall-stage .swp-arrival-confetti i:nth-child(14) { --swp-confetti-x: 48%; --swp-confetti-y: -48px; --swp-confetti-r: -132deg; left: 79%; background: #f472b6; animation-delay: .25s; }

@keyframes swpWallConfettiPostIn {
  0% {
    opacity: 0;
    transform: translate3d(0, 18px, 0) scale(.985) rotate(var(--swp-live-tilt, 0deg));
  }
  100% {
    opacity: 1;
    transform: translate3d(0, 0, 0) scale(1) rotate(var(--swp-live-tilt, 0deg));
  }
}

@keyframes swpWallConfettiBed {
  0% { opacity: 0; transform: translate3d(0, 20px, 0) scale(.92); }
  16% { opacity: 1; }
  68% { opacity: .82; }
  100% { opacity: 0; transform: translate3d(0, -4px, 0) scale(1.02); }
}

@keyframes swpWallConfettiPiece {
  0% {
    opacity: 0;
    transform: translate3d(0, 30px, 0) scale(.56) rotate(0deg);
  }
  14% {
    opacity: .98;
  }
  66% {
    opacity: .86;
  }
  100% {
    opacity: 0;
    transform: translate3d(var(--swp-confetti-x, 0), var(--swp-confetti-y, -80px), 0) scale(.88) rotate(var(--swp-confetti-r, 90deg));
  }
}

@media (prefers-reduced-motion: reduce) {
  body.swp-wall-premium #wall-stage .swp-screen-post.is-new-arrival {
    animation: none !important;
  }

  body.swp-wall-premium #wall-stage .swp-arrival-confetti {
    display: none !important;
  }
}

/* Regia: azioni post compatte a icona, sempre sulla stessa riga. */
.swp-event-core-moderation .swp-mod-post-actions {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(32px, 1fr)) !important;
  gap: 6px !important;
  align-items: stretch !important;
}

.swp-event-core-moderation .swp-mod-action {
  min-width: 0 !important;
  width: 100% !important;
  min-height: 32px !important;
  height: 32px !important;
  padding: 0 !important;
  border-radius: 11px !important;
  gap: 0 !important;
}

.swp-event-core-moderation .swp-mod-action .bi,
.swp-event-core-moderation .swp-mod-action .spinner-border {
  margin: 0 !important;
  font-size: .92rem;
}

.swp-event-core-moderation .swp-mod-action span:not(.spinner-border) {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

.swp-event-core-moderation .swp-mod-post-actions .swp-mod-action:only-child {
  grid-column: auto !important;
}

@media (max-width: 760px) {
  .swp-event-core-moderation .swp-mod-post-actions {
    grid-template-columns: repeat(3, minmax(30px, 1fr)) !important;
  }
}

/* Wall v9.4: la card grande del mosaico resta stabile anche con foto/testi lunghi. */
body.swp-wall-premium[data-wall-aspect-mode="wide"] #wall-stage .layout-mosaic .swp-mosaic-card.is-mosaic-hero,
body.swp-wall-premium[data-wall-aspect-mode="wide"] #wall-stage .layout-mosaic .swp-mosaic-card.is-mosaic-hero.is-copy-medium,
body.swp-wall-premium[data-wall-aspect-mode="wide"] #wall-stage .layout-mosaic .swp-mosaic-card.is-mosaic-hero.is-copy-long,
body.swp-wall-premium[data-wall-aspect-mode="wide"] #wall-stage .layout-mosaic .swp-mosaic-card.is-mosaic-hero.is-copy-xlong {
  grid-column: 1 / span 6 !important;
  grid-row: 1 / span 6 !important;
}

body.swp-wall-premium #wall-stage .layout-mosaic .swp-mosaic-card.is-mosaic-hero {
  display: grid !important;
  min-width: 0 !important;
  min-height: 0 !important;
  gap: clamp(8px, .9cqw, 16px) !important;
  align-content: stretch !important;
  justify-content: stretch !important;
  padding: 0 !important;
  transform-origin: 50% 58%;
}

body.swp-wall-premium #wall-stage .layout-mosaic .swp-mosaic-card.is-mosaic-hero.has-image.has-message {
  grid-template-columns: minmax(0, 1fr) !important;
  grid-template-rows: minmax(0, 1fr) minmax(0, auto) !important;
}

body.swp-wall-premium #wall-stage .layout-mosaic .swp-mosaic-card.is-mosaic-hero.only-image,
body.swp-wall-premium #wall-stage .layout-mosaic .swp-mosaic-card.is-mosaic-hero.only-message {
  grid-template-columns: minmax(0, 1fr) !important;
  grid-template-rows: minmax(0, 1fr) !important;
}

body.swp-wall-premium #wall-stage .layout-mosaic .swp-mosaic-card.is-mosaic-hero.has-image .swp-screen-media {
  align-self: stretch !important;
  justify-self: stretch !important;
  min-width: 0 !important;
  min-height: clamp(220px, 26cqh, 520px) !important;
  max-height: none !important;
  display: grid !important;
  place-items: center !important;
  overflow: visible !important;
  border-radius: 0 !important;
}

body.swp-wall-premium #wall-stage .layout-mosaic .swp-mosaic-card.is-mosaic-hero.has-image .swp-screen-media img {
  object-fit: contain !important;
  object-position: center center !important;
  padding: clamp(4px, .45cqw, 10px) !important;
  filter: drop-shadow(0 22px 32px rgba(15,23,42,.18)) !important;
}

body.swp-wall-premium #wall-stage .layout-mosaic .swp-mosaic-card.is-mosaic-hero .swp-screen-copy,
body.swp-wall-premium #wall-stage .layout-mosaic .swp-mosaic-card.is-mosaic-hero.is-copy-medium .swp-screen-copy,
body.swp-wall-premium #wall-stage .layout-mosaic .swp-mosaic-card.is-mosaic-hero.is-copy-long .swp-screen-copy,
body.swp-wall-premium #wall-stage .layout-mosaic .swp-mosaic-card.is-mosaic-hero.is-copy-xlong .swp-screen-copy {
  align-self: end !important;
  justify-self: stretch !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: min(42cqh, 34%) !important;
  overflow: visible !important;
  padding: clamp(14px, 1.35cqw, 28px) clamp(16px, 1.6cqw, 34px) !important;
}

body.swp-wall-premium #wall-stage .layout-mosaic .swp-mosaic-card.is-mosaic-hero .swp-screen-copy p,
body.swp-wall-premium #wall-stage .layout-mosaic .swp-mosaic-card.is-mosaic-hero.is-copy-medium .swp-screen-copy p,
body.swp-wall-premium #wall-stage .layout-mosaic .swp-mosaic-card.is-mosaic-hero.is-copy-long .swp-screen-copy p,
body.swp-wall-premium #wall-stage .layout-mosaic .swp-mosaic-card.is-mosaic-hero.is-copy-xlong .swp-screen-copy p {
  font-size: clamp(.92rem, min(1.32cqw, 2.45cqh), 2rem) !important;
  line-height: 1.07 !important;
  max-width: min(42ch, 100%) !important;
  margin-inline: auto !important;
}

body.swp-wall-premium #wall-stage .layout-mosaic .swp-mosaic-card.is-mosaic-hero.only-message .swp-screen-copy,
body.swp-wall-premium #wall-stage .layout-mosaic .swp-mosaic-card.is-mosaic-hero.only-message.is-copy-medium .swp-screen-copy,
body.swp-wall-premium #wall-stage .layout-mosaic .swp-mosaic-card.is-mosaic-hero.only-message.is-copy-long .swp-screen-copy,
body.swp-wall-premium #wall-stage .layout-mosaic .swp-mosaic-card.is-mosaic-hero.only-message.is-copy-xlong .swp-screen-copy {
  align-self: stretch !important;
  display: grid !important;
  align-content: center !important;
  width: 100% !important;
  height: 100% !important;
  max-height: none !important;
}

body.swp-wall-premium #wall-stage .layout-mosaic .swp-mosaic-card.is-mosaic-hero.only-message .swp-screen-copy p {
  font-size: clamp(1.18rem, min(2.08cqw, 4.2cqh), 3.05rem) !important;
  max-width: min(34ch, 100%) !important;
}

body.swp-wall-premium[data-wall-aspect-mode="compact"] #wall-stage .layout-mosaic .swp-mosaic-card.is-mosaic-hero,
body.swp-wall-premium[data-wall-aspect-mode="portrait"] #wall-stage .layout-mosaic .swp-mosaic-card.is-mosaic-hero {
  gap: clamp(7px, 2cqw, 12px) !important;
}

body.swp-wall-premium[data-wall-aspect-mode="compact"] #wall-stage .layout-mosaic .swp-mosaic-card.is-mosaic-hero.has-image.has-message,
body.swp-wall-premium[data-wall-aspect-mode="portrait"] #wall-stage .layout-mosaic .swp-mosaic-card.is-mosaic-hero.has-image.has-message {
  grid-template-rows: minmax(0, 1fr) minmax(0, auto) !important;
}

body.swp-wall-premium[data-wall-aspect-mode="compact"] #wall-stage .layout-mosaic .swp-mosaic-card.is-mosaic-hero .swp-screen-copy,
body.swp-wall-premium[data-wall-aspect-mode="portrait"] #wall-stage .layout-mosaic .swp-mosaic-card.is-mosaic-hero .swp-screen-copy {
  max-height: 38cqh !important;
  padding: clamp(12px, 4cqw, 22px) !important;
}

/* Regia: bottone evidenza sempre arancione e tooltip coerenti sui bottoni compatti. */
.swp-event-core-moderation .swp-mod-action-feature {
  color: #fff !important;
  border-color: rgba(249,115,22,.24) !important;
  background: linear-gradient(135deg, #fb923c, #f97316) !important;
  box-shadow: 0 8px 16px rgba(249,115,22,.16) !important;
}

.swp-event-core-moderation .swp-mod-action-feature.is-active {
  color: #fff !important;
  border-color: rgba(234,88,12,.32) !important;
  background: linear-gradient(135deg, #f97316, #ea580c) !important;
  box-shadow: 0 10px 20px rgba(234,88,12,.22) !important;
}

.swp-event-core-moderation .swp-mod-action-feature:hover,
.swp-event-core-moderation .swp-mod-action-feature:focus-visible {
  color: #fff !important;
  filter: brightness(.98);
}

/* Wall v9.5: niente mini-card intorno al testo dei post. */
body.swp-wall-premium #wall-stage .swp-screen-post:not(.qr-post) .swp-screen-copy,
body.swp-wall-premium #wall-stage .swp-screen-post.has-image.has-message .swp-screen-copy,
body.swp-wall-premium #wall-stage .swp-screen-post.only-message .swp-screen-copy,
body.swp-wall-premium #wall-stage .swp-screen-post.is-copy-medium .swp-screen-copy,
body.swp-wall-premium #wall-stage .swp-screen-post.is-copy-long .swp-screen-copy,
body.swp-wall-premium #wall-stage .swp-screen-post.is-copy-xlong .swp-screen-copy,
body.swp-wall-premium #wall-stage .layout-mosaic .swp-mosaic-card.has-image.has-message .swp-screen-copy,
body.swp-wall-premium #wall-stage .layout-mosaic .swp-mosaic-card.only-message .swp-screen-copy,
body.swp-wall-premium #wall-stage .layout-mosaic .swp-mosaic-card.is-mosaic-hero .swp-screen-copy,
body.swp-wall-premium #wall-stage .layout-cards .swp-cards-card.only-message .swp-screen-copy,
body.swp-wall-premium #wall-stage .layout-celebration .swp-celebration-card.only-message .swp-screen-copy,
body.swp-wall-premium #wall-stage .layout-celebration .swp-celebration-card.has-image.has-message .swp-screen-copy {
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

body.swp-wall-premium #wall-stage .swp-screen-post:not(.qr-post) .swp-screen-copy::before,
body.swp-wall-premium #wall-stage .swp-screen-post:not(.qr-post) .swp-screen-copy::after {
  content: none !important;
  display: none !important;
}

body.swp-wall-premium #wall-stage .swp-screen-post.has-image.has-message .swp-screen-copy,
body.swp-wall-premium #wall-stage .layout-mosaic .swp-mosaic-card.is-mosaic-hero.has-image.has-message .swp-screen-copy {
  padding: clamp(6px, .9cqw, 16px) clamp(4px, .85cqw, 14px) 0 !important;
}

body.swp-wall-premium #wall-stage .swp-screen-post.only-message .swp-screen-copy,
body.swp-wall-premium #wall-stage .layout-mosaic .swp-mosaic-card.is-mosaic-hero.only-message .swp-screen-copy {
  padding: clamp(12px, 1.45cqw, 28px) !important;
}

body.swp-wall-premium #wall-stage .swp-screen-post:not(.qr-post) .swp-screen-copy p {
  color: #102033 !important;
  text-shadow:
    0 1px 0 rgba(255,255,255,.82),
    0 16px 34px rgba(15,23,42,.16) !important;
}

/* Wall v9.6: il testo non deve più essere tagliato sotto. */
body.swp-wall-premium #wall-stage .swp-screen-post:not(.qr-post) .swp-screen-copy,
body.swp-wall-premium #wall-stage .layout-mosaic .swp-mosaic-card.is-mosaic-hero .swp-screen-copy,
body.swp-wall-premium[data-wall-aspect-mode="compact"] #wall-stage .layout-mosaic .swp-mosaic-card.is-mosaic-hero .swp-screen-copy,
body.swp-wall-premium[data-wall-aspect-mode="portrait"] #wall-stage .layout-mosaic .swp-mosaic-card.is-mosaic-hero .swp-screen-copy {
  max-height: none !important;
  overflow: visible !important;
}

body.swp-wall-premium #wall-stage .swp-screen-post.has-image.has-message .swp-screen-copy,
body.swp-wall-premium #wall-stage .layout-mosaic .swp-mosaic-card.is-mosaic-hero.has-image.has-message .swp-screen-copy,
body.swp-wall-premium #wall-stage .layout-cards .swp-cards-card.has-image.has-message .swp-screen-copy,
body.swp-wall-premium #wall-stage .layout-celebration .swp-celebration-card.has-image.has-message .swp-screen-copy {
  height: auto !important;
  min-height: auto !important;
  padding-bottom: clamp(10px, 1.15cqw, 22px) !important;
}

body.swp-wall-premium #wall-stage .swp-screen-post.only-message .swp-screen-copy,
body.swp-wall-premium #wall-stage .layout-mosaic .swp-mosaic-card.is-mosaic-hero.only-message .swp-screen-copy {
  height: 100% !important;
  min-height: 0 !important;
  padding-bottom: clamp(16px, 1.65cqw, 32px) !important;
}

body.swp-wall-premium #wall-stage .swp-screen-post:not(.qr-post) .swp-screen-copy p,
body.swp-wall-premium #wall-stage .swp-screen-post.is-copy-medium .swp-screen-copy p,
body.swp-wall-premium #wall-stage .swp-screen-post.is-copy-long .swp-screen-copy p,
body.swp-wall-premium #wall-stage .swp-screen-post.is-copy-xlong .swp-screen-copy p,
body.swp-wall-premium #wall-stage .swp-screen-post.is-copy-long .swp-screen-copy.is-fit-overflowing p,
body.swp-wall-premium #wall-stage .swp-screen-post.is-copy-xlong .swp-screen-copy.is-fit-overflowing p {
  display: block !important;
  max-height: none !important;
  overflow: visible !important;
  padding-bottom: .12em !important;
  line-height: 1.14 !important;
  -webkit-line-clamp: unset !important;
  line-clamp: unset !important;
}

/* Wall v9.7: card più pulite e comparsa nuovo post più rapida. */
body.swp-wall-premium #wall-stage .swp-screen-post:not(.qr-post) {
  transform-style: preserve-3d;
  will-change: transform, opacity;
}

body.swp-wall-premium #wall-stage .swp-screen-post:not(.qr-post) .swp-screen-media img {
  filter: drop-shadow(0 18px 24px rgba(15,23,42,.14)) saturate(1.035) !important;
}

body.swp-wall-premium #wall-stage .swp-screen-post:not(.qr-post) .swp-screen-author,
body.swp-wall-premium #wall-stage .swp-screen-post:not(.qr-post) .swp-post-reaction,
body.swp-wall-premium #wall-stage .swp-screen-post:not(.qr-post) .swp-screen-hashtags span {
  box-shadow: 0 10px 22px rgba(15,23,42,.08) !important;
}

body.swp-wall-premium #wall-stage .layout-mosaic .swp-mosaic-card.is-new-arrival,
body.swp-wall-premium #wall-stage .layout-cards .swp-cards-card.is-new-arrival,
body.swp-wall-premium #wall-stage .layout-celebration .swp-celebration-card.is-new-arrival,
body.swp-wall-premium #wall-stage .swp-screen-post.is-new-arrival {
  z-index: 92 !important;
  animation: swpWallFastPostIn .46s cubic-bezier(.18, 1, .28, 1) both !important;
}

body.swp-wall-premium #wall-stage .swp-arrival-confetti {
  animation: swpWallFastConfettiBed 1.38s ease-out both !important;
}

body.swp-wall-premium #wall-stage .swp-arrival-confetti i {
  animation: swpWallFastConfettiPiece 1.22s cubic-bezier(.16, 1, .3, 1) both !important;
}

@keyframes swpWallFastPostIn {
  0% {
    opacity: 0;
    transform: translate3d(0, 12px, 0) scale(.985) rotate(var(--swp-live-tilt, 0deg));
    filter: saturate(.96);
  }
  58% {
    opacity: 1;
    transform: translate3d(0, -2px, 0) scale(1.012) rotate(var(--swp-live-tilt, 0deg));
    filter: saturate(1.06);
  }
  100% {
    opacity: 1;
    transform: translate3d(0, 0, 0) scale(1) rotate(var(--swp-live-tilt, 0deg));
    filter: saturate(1);
  }
}

@keyframes swpWallFastConfettiBed {
  0% { opacity: 0; transform: translate3d(0, 18px, 0) scale(.96); }
  12% { opacity: .95; }
  56% { opacity: .42; }
  100% { opacity: 0; transform: translate3d(0, -3px, 0) scale(1.01); }
}

@keyframes swpWallFastConfettiPiece {
  0% {
    opacity: 0;
    transform: translate3d(0, 20px, 0) scale(.62) rotate(0deg);
  }
  16% {
    opacity: .95;
  }
  62% {
    opacity: .52;
  }
  100% {
    opacity: 0;
    transform: translate3d(var(--swp-confetti-x, 0), calc(var(--swp-confetti-y, -80px) * .72), 0) scale(.82) rotate(var(--swp-confetti-r, 90deg));
  }
}

@media (prefers-reduced-motion: reduce) {
  body.swp-wall-premium #wall-stage .layout-mosaic .swp-mosaic-card.is-new-arrival,
  body.swp-wall-premium #wall-stage .layout-cards .swp-cards-card.is-new-arrival,
  body.swp-wall-premium #wall-stage .layout-celebration .swp-celebration-card.is-new-arrival,
  body.swp-wall-premium #wall-stage .swp-screen-post.is-new-arrival,
  body.swp-wall-premium #wall-stage .swp-arrival-confetti,
  body.swp-wall-premium #wall-stage .swp-arrival-confetti i {
    animation: none !important;
  }
}

/* Wall: le emoji animate delle reazioni partono dal centro del post. */
body.swp-wall-premium #wall-stage .swp-screen-post .swp-reaction-celebration {
  left: 50% !important;
  top: 50% !important;
  right: auto !important;
  bottom: auto !important;
  transform: translate(-50%, -50%) !important;
  transform-origin: center center !important;
}

body.swp-wall-premium #wall-stage .swp-screen-post.is-reaction-hit {
  transform-origin: 50% 50% !important;
}

/* Wall v9.8: separazione dal fondo senza tornare alla card pesante. */
body.swp-wall-premium #wall-stage .swp-screen-post:not(.qr-post) {
  position: relative !important;
  isolation: isolate !important;
  filter: drop-shadow(0 22px 34px rgba(15,23,42,.13)) !important;
}

body.swp-wall-premium #wall-stage .swp-screen-post:not(.qr-post)::before {
  content: "" !important;
  display: block !important;
  position: absolute !important;
  z-index: 0 !important;
  inset: clamp(-10px, -.72cqw, -5px) !important;
  border-radius: clamp(22px, 1.75cqw, 34px) !important;
  pointer-events: none !important;
  background:
    radial-gradient(circle at 18% 12%, rgba(255,255,255,.36), transparent 38%),
    radial-gradient(circle at 82% 88%, color-mix(in srgb, var(--swp-primary) 9%, transparent), transparent 42%),
    linear-gradient(145deg, rgba(255,255,255,.34), rgba(255,255,255,.12)) !important;
  box-shadow:
    0 24px 54px rgba(15,23,42,.16),
    inset 0 0 0 1px rgba(255,255,255,.42) !important;
  opacity: .96 !important;
}

body.swp-wall-premium #wall-stage .swp-screen-post:not(.qr-post) > * {
  position: relative;
  z-index: 2;
}

body.swp-wall-premium #wall-stage .swp-screen-post:not(.qr-post) .swp-screen-media img {
  filter:
    drop-shadow(0 24px 32px rgba(15,23,42,.2))
    saturate(1.07)
    contrast(1.035) !important;
}

body.swp-wall-premium #wall-stage .swp-screen-post:not(.qr-post) .swp-screen-copy p {
  text-shadow:
    0 1px 0 rgba(255,255,255,.94),
    0 2px 8px rgba(255,255,255,.48),
    0 18px 34px rgba(15,23,42,.22) !important;
}

body.swp-wall-premium #wall-stage .swp-screen-post.only-message::before {
  background:
    radial-gradient(circle at 14% 14%, color-mix(in srgb, var(--swp-primary) 13%, rgba(255,255,255,.4)), transparent 38%),
    linear-gradient(145deg, rgba(255,255,255,.5), rgba(255,255,255,.2)) !important;
}

/* Regia: Evidenza azzurro, Cancella resta azione distruttiva. */
.swp-event-core-moderation .swp-mod-action-feature {
  color: #fff !important;
  border-color: rgba(14,165,233,.28) !important;
  background: linear-gradient(135deg, #38bdf8, #0ea5e9) !important;
  box-shadow: 0 8px 16px rgba(14,165,233,.16) !important;
}

.swp-event-core-moderation .swp-mod-action-feature.is-active {
  color: #fff !important;
  border-color: rgba(2,132,199,.34) !important;
  background: linear-gradient(135deg, #0ea5e9, #0284c7) !important;
  box-shadow: 0 10px 20px rgba(2,132,199,.22) !important;
}

.swp-event-core-moderation .swp-mod-action-feature:hover,
.swp-event-core-moderation .swp-mod-action-feature:focus-visible {
  color: #fff !important;
  filter: brightness(.98);
}

.swp-event-core-moderation .swp-mod-action-delete {
  color: #b91c1c !important;
  border-color: rgba(248,113,113,.24) !important;
  background: rgba(254,242,242,.92) !important;
  box-shadow: none !important;
}

.swp-event-core-moderation .swp-mod-action-delete:hover,
.swp-event-core-moderation .swp-mod-action-delete:focus-visible {
  color: #991b1b !important;
  background: rgba(254,226,226,.95) !important;
  filter: none !important;
}

/* Wall v9.9: niente card/piedistallo visibile dietro ai post; reaction dal centro reale della card. */
body.swp-wall-premium #wall-stage .swp-screen-post:not(.qr-post),
body.swp-wall-premium #wall-stage .layout-mosaic .swp-mosaic-card:not(.qr-post),
body.swp-wall-premium #wall-stage .layout-cards .swp-cards-card:not(.qr-post),
body.swp-wall-premium #wall-stage .layout-celebration .swp-celebration-card:not(.qr-post) {
  position: relative !important;
  isolation: isolate !important;
  overflow: visible !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  filter: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

body.swp-wall-premium #wall-stage .swp-screen-post:not(.qr-post)::before,
body.swp-wall-premium #wall-stage .swp-screen-post:not(.qr-post)::after,
body.swp-wall-premium #wall-stage .layout-mosaic .swp-mosaic-card:not(.qr-post)::before,
body.swp-wall-premium #wall-stage .layout-mosaic .swp-mosaic-card:not(.qr-post)::after,
body.swp-wall-premium #wall-stage .layout-cards .swp-cards-card:not(.qr-post)::before,
body.swp-wall-premium #wall-stage .layout-cards .swp-cards-card:not(.qr-post)::after,
body.swp-wall-premium #wall-stage .layout-celebration .swp-celebration-card:not(.qr-post)::before,
body.swp-wall-premium #wall-stage .layout-celebration .swp-celebration-card:not(.qr-post)::after {
  content: none !important;
  display: none !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.swp-wall-premium #wall-stage .swp-screen-post:not(.qr-post) > * {
  position: relative;
  z-index: 2;
}

body.swp-wall-premium #wall-stage .swp-screen-post:not(.qr-post) .swp-screen-media img {
  filter:
    drop-shadow(0 18px 24px rgba(15,23,42,.15))
    saturate(1.04)
    contrast(1.02) !important;
}

body.swp-wall-premium #wall-stage .swp-screen-post:not(.qr-post) .swp-screen-copy,
body.swp-wall-premium #wall-stage .swp-screen-post:not(.qr-post) .swp-screen-copy p {
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

body.swp-wall-premium #wall-stage .swp-screen-post:not(.qr-post) .swp-screen-copy p {
  text-shadow:
    0 1px 0 rgba(255,255,255,.88),
    0 12px 26px rgba(15,23,42,.18) !important;
}

body.swp-wall-premium #wall-stage .swp-screen-post:not(.qr-post) .swp-screen-author {
  width: auto !important;
  min-width: 0 !important;
  max-width: min(220px, calc(100% - 24px)) !important;
  padding: 4px 7px !important;
  gap: 4px !important;
  border-color: rgba(255,255,255,.72) !important;
  color: #1e293b !important;
  background: rgba(255,255,255,.7) !important;
  box-shadow: 0 7px 16px rgba(15,23,42,.08) !important;
  backdrop-filter: blur(8px) !important;
  -webkit-backdrop-filter: blur(8px) !important;
  font-size: clamp(.52rem, .55cqw, .68rem) !important;
  line-height: 1 !important;
}

body.swp-wall-premium #wall-stage .swp-screen-post:not(.qr-post) .swp-screen-author::after {
  margin-left: 5px !important;
  padding: 2px 5px !important;
  font-size: .56em !important;
  box-shadow: none !important;
}

body.swp-wall-premium #wall-stage .swp-screen-post:not(.qr-post) .swp-screen-hashtags,
body.swp-wall-premium #wall-stage .swp-screen-post:not(.qr-post) .swp-post-reactions {
  width: auto !important;
  max-width: calc(100% - 20px) !important;
}

body.swp-wall-premium #wall-stage .swp-screen-post:not(.qr-post) .swp-post-reactions {
  right: auto !important;
  gap: 4px !important;
}

body.swp-wall-premium #wall-stage .swp-screen-post:not(.qr-post) .swp-screen-hashtags span,
body.swp-wall-premium #wall-stage .swp-screen-post:not(.qr-post) .swp-post-reaction {
  height: auto !important;
  min-height: 22px !important;
  padding: 3px 6px !important;
  border-color: rgba(255,255,255,.72) !important;
  color: #1e293b !important;
  background: rgba(255,255,255,.68) !important;
  box-shadow: 0 7px 16px rgba(15,23,42,.08) !important;
  backdrop-filter: blur(8px) !important;
  -webkit-backdrop-filter: blur(8px) !important;
  font-size: clamp(.52rem, .55cqw, .68rem) !important;
  line-height: 1 !important;
}

body.swp-wall-premium #wall-stage .swp-screen-post:not(.qr-post) .swp-post-reaction-emoji {
  font-size: 1.05em !important;
}

body.swp-wall-premium #wall-stage .swp-screen-post .swp-reaction-celebration {
  position: absolute !important;
  z-index: 120 !important;
  inset: 0 !important;
  left: 0 !important;
  top: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  width: 100% !important;
  height: 100% !important;
  overflow: visible !important;
  pointer-events: none !important;
  transform: none !important;
  transform-origin: 50% 50% !important;
}

body.swp-wall-premium #wall-stage .swp-screen-post .swp-reaction-celebration::before {
  left: 50% !important;
  top: 50% !important;
  transform: translate(-50%, -50%) scale(.4) rotate(-8deg) !important;
  font-size: clamp(3.1rem, 6.6cqw, 7.2rem) !important;
  filter:
    drop-shadow(0 16px 24px rgba(15,23,42,.2))
    drop-shadow(0 0 28px rgba(255,255,255,.72)) !important;
  animation: swpWallReactionCenterPop .95s cubic-bezier(.16, 1, .3, 1) both !important;
}

body.swp-wall-premium #wall-stage .swp-screen-post .swp-reaction-celebration i {
  left: 50% !important;
  top: 50% !important;
  font-size: clamp(1.35rem, 2.6cqw, 2.8rem) !important;
  animation: swpWallReactionCenterFly 1.08s var(--burst-delay) cubic-bezier(.16, .8, .25, 1) both !important;
}

body.swp-wall-premium #wall-stage .swp-screen-post.is-reaction-hit {
  transform-origin: 50% 50% !important;
  animation: swpWallReactionCardPulse .62s cubic-bezier(.16, 1, .3, 1) both !important;
}

@keyframes swpWallReactionCenterPop {
  0% { opacity: 0; transform: translate(-50%, -50%) scale(.28) rotate(-10deg); }
  22% { opacity: 1; transform: translate(-50%, -50%) scale(1.22) rotate(6deg); }
  58% { opacity: .96; transform: translate(-50%, -50%) scale(1) rotate(0deg); }
  100% { opacity: 0; transform: translate(-50%, -50%) scale(.72) rotate(0deg); }
}

@keyframes swpWallReactionCenterFly {
  0% { opacity: 0; transform: translate(-50%, -50%) scale(.3) rotate(0deg); }
  16% { opacity: 1; }
  62% { opacity: .92; }
  100% { opacity: 0; transform: translate(calc(-50% + var(--burst-x)), calc(-50% + var(--burst-y))) scale(1.04) rotate(var(--burst-rotate)); }
}

@keyframes swpWallReactionCardPulse {
  0% { transform: scale(1) rotate(var(--swp-live-tilt, 0deg)); filter: saturate(1); }
  34% { transform: scale(1.018) rotate(var(--swp-live-tilt, 0deg)); filter: saturate(1.08); }
  100% { transform: scale(1) rotate(var(--swp-live-tilt, 0deg)); filter: saturate(1); }
}

/* Immagini contenuto: sempre con angoli arrotondati. */
body.swp-wall-premium #wall-stage .swp-screen-post:not(.qr-post) .swp-screen-media,
body.swp-wall-premium #wall-stage .swp-screen-post:not(.qr-post) .swp-screen-media img,
body.swp-public-app .swp-public-feed-media,
body.swp-public-app .swp-public-feed-media img,
body.swp-public-app .swp-upload-preview figure,
body.swp-public-app .swp-upload-preview img,
.swp-event-core-moderation .swp-mod-post-media,
.swp-event-core-moderation .swp-mod-post-media img,
.swp-new-event-logo-preview-frame > img,
.swp-mini-preview-logo img,
.swp-preview-logo img,
.swp-agency-logo-preview img,
.swp-agency-card-logo img,
.agency-settings-preview-logo,
.swp-event-row-icon img {
  border-radius: clamp(14px, 1.15vw, 24px) !important;
}

body.swp-wall-premium #wall-stage .swp-screen-post:not(.qr-post) .swp-screen-media,
body.swp-public-app .swp-public-feed-media,
body.swp-public-app .swp-upload-preview figure,
.swp-event-core-moderation .swp-mod-post-media {
  overflow: hidden !important;
}

/* Wall live: il badge autore viene nascosto perché interferisce con composizione, testo e reaction. */
body.swp-wall-premium #wall-stage .swp-screen-post:not(.qr-post) .swp-screen-author {
  display: none !important;
}

/* Wall live: arrotondamento reale della foto, non solo del box che la contiene. */
body.swp-wall-premium #wall-stage .swp-screen-post:not(.qr-post) .swp-screen-media.is-contain-media,
body.swp-wall-premium #wall-stage .swp-screen-post:not(.qr-post) .swp-screen-media {
  display: grid !important;
  place-items: center !important;
  overflow: visible !important;
  background: transparent !important;
}

body.swp-wall-premium #wall-stage .swp-screen-post:not(.qr-post) .swp-screen-media.is-contain-media img,
body.swp-wall-premium #wall-stage .swp-screen-post:not(.qr-post) .swp-screen-media img {
  position: relative !important;
  inset: auto !important;
  display: block !important;
  width: auto !important;
  height: auto !important;
  max-width: 100% !important;
  max-height: 100% !important;
  object-fit: contain !important;
  object-position: center center !important;
  overflow: hidden !important;
  border-radius: clamp(16px, 1.45cqw, 30px) !important;
}

/* Wall live v10: card distinguibili ma premium, senza annidare altri box. */
body.swp-wall-premium #wall-stage .swp-screen-post:not(.qr-post),
body.swp-wall-premium #wall-stage .layout-mosaic .swp-mosaic-card:not(.qr-post),
body.swp-wall-premium #wall-stage .layout-cards .swp-cards-card:not(.qr-post),
body.swp-wall-premium #wall-stage .layout-celebration .swp-celebration-card:not(.qr-post) {
  border: 1px solid rgba(255,255,255,.82) !important;
  border-radius: clamp(24px, 2.1cqw, 42px) !important;
  background:
    radial-gradient(circle at 12% 10%, color-mix(in srgb, var(--swp-primary) 10%, rgba(255,255,255,.86)), transparent 34%),
    radial-gradient(circle at 88% 92%, color-mix(in srgb, var(--swp-secondary) 8%, transparent), transparent 38%),
    linear-gradient(145deg, rgba(255,255,255,.9), rgba(248,252,255,.74)) !important;
  box-shadow:
    0 28px 62px rgba(15,23,42,.16),
    0 8px 24px rgba(15,23,42,.08),
    inset 0 1px 0 rgba(255,255,255,.86) !important;
  backdrop-filter: blur(14px) saturate(1.05) !important;
  -webkit-backdrop-filter: blur(14px) saturate(1.05) !important;
}

body.swp-wall-premium #wall-stage .layout-mosaic .swp-mosaic-card.is-mosaic-hero:not(.qr-post),
body.swp-wall-premium #wall-stage .layout-celebration .swp-celebration-card:first-child:not(.qr-post),
body.swp-wall-premium #wall-stage .swp-screen-post.is-featured-wall-post:not(.qr-post) {
  border-color: color-mix(in srgb, var(--swp-primary) 24%, rgba(255,255,255,.82)) !important;
  background:
    radial-gradient(circle at 10% 12%, color-mix(in srgb, var(--swp-primary) 15%, rgba(255,255,255,.9)), transparent 36%),
    radial-gradient(circle at 92% 88%, color-mix(in srgb, var(--swp-secondary) 12%, transparent), transparent 40%),
    linear-gradient(145deg, rgba(255,255,255,.94), rgba(245,250,255,.78)) !important;
  box-shadow:
    0 34px 78px rgba(15,23,42,.18),
    0 0 0 1px color-mix(in srgb, var(--swp-primary) 12%, transparent),
    0 0 44px color-mix(in srgb, var(--swp-primary) 10%, transparent),
    inset 0 1px 0 rgba(255,255,255,.9) !important;
}

body.swp-wall-premium #wall-stage .swp-screen-post:not(.qr-post) .swp-screen-media {
  border-radius: clamp(18px, 1.65cqw, 34px) !important;
}

body.swp-wall-premium #wall-stage .swp-screen-post:not(.qr-post).only-message {
  background:
    radial-gradient(circle at 14% 10%, color-mix(in srgb, var(--swp-primary) 13%, rgba(255,255,255,.92)), transparent 38%),
    linear-gradient(145deg, rgba(255,255,255,.96), rgba(246,251,255,.82)) !important;
}

/* Wall live v11: gerarchia chiara tra contenuto, testo e metadati. */
body.swp-wall-premium #wall-stage .swp-screen-grid:not(.is-qr-mode) {
  min-width: 0;
  min-height: 0;
  align-items: stretch;
  gap: clamp(5px, min(1.05cqw, 1.55cqh), 18px) !important;
}

body.swp-wall-premium #wall-stage .swp-screen-post:not(.qr-post) {
  --swp-card-inner-gap: clamp(5px, min(.72cqw, 1.08cqh), 13px);
  --swp-card-inner-pad: clamp(8px, min(.86cqw, 1.32cqh), 17px);
  display: flex !important;
  flex-direction: column !important;
  align-content: normal !important;
  align-items: stretch !important;
  min-width: 0 !important;
  min-height: 0 !important;
  padding: var(--swp-card-inner-pad) !important;
  gap: var(--swp-card-inner-gap) !important;
}

body.swp-wall-premium #wall-stage .swp-screen-post:not(.qr-post) > .swp-screen-content {
  position: relative;
  z-index: 3;
  min-width: 0;
  min-height: 0;
  width: 100%;
  height: auto;
  flex: 1 1 0;
  display: grid;
  align-items: stretch;
  gap: var(--swp-card-inner-gap);
  overflow: hidden;
  border-radius: clamp(15px, 1.35cqw, 28px);
}

body.swp-wall-premium #wall-stage .swp-screen-post.has-image.has-message > .swp-screen-content {
  grid-template-columns: minmax(0, 1fr);
  grid-template-rows: minmax(0, 1.45fr) minmax(0, 1fr);
}

body.swp-wall-premium #wall-stage .swp-screen-post.only-image > .swp-screen-content,
body.swp-wall-premium #wall-stage .swp-screen-post.only-message > .swp-screen-content {
  grid-template: minmax(0, 1fr) / minmax(0, 1fr);
}

body.swp-wall-premium #wall-stage .layout-mosaic .swp-mosaic-card.is-mosaic-hero.has-image.has-message > .swp-screen-content,
body.swp-wall-premium #wall-stage .layout-celebration .swp-celebration-card:first-child.has-image.has-message > .swp-screen-content,
body.swp-wall-premium #wall-stage .swp-screen-post.is-featured-wall-post.has-image.has-message > .swp-screen-content {
  grid-template-rows: minmax(0, 1.72fr) minmax(0, 1fr);
}

body.swp-wall-premium #wall-stage .swp-screen-post:not(.qr-post) .swp-screen-media {
  position: relative !important;
  inset: auto !important;
  width: 100% !important;
  height: 100% !important;
  min-width: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  border-radius: clamp(14px, 1.22cqw, 25px) !important;
}

body.swp-wall-premium #wall-stage .swp-screen-post:not(.qr-post) .swp-screen-media img {
  width: auto !important;
  height: auto !important;
  max-width: 100% !important;
  max-height: 100% !important;
  padding: 0 !important;
  object-fit: contain !important;
  object-position: center !important;
  border-radius: clamp(13px, 1.12cqw, 23px) !important;
  filter: drop-shadow(0 12px 20px rgba(15,23,42,.13)) saturate(1.025) !important;
}

body.swp-wall-premium #wall-stage .swp-screen-post:not(.qr-post) .swp-screen-copy,
body.swp-wall-premium #wall-stage .swp-screen-post.has-image.has-message .swp-screen-copy,
body.swp-wall-premium #wall-stage .swp-screen-post.only-message .swp-screen-copy,
body.swp-wall-premium #wall-stage .swp-screen-post.is-copy-medium .swp-screen-copy,
body.swp-wall-premium #wall-stage .swp-screen-post.is-copy-long .swp-screen-copy,
body.swp-wall-premium #wall-stage .swp-screen-post.is-copy-xlong .swp-screen-copy {
  position: relative !important;
  inset: auto !important;
  width: 100% !important;
  height: 100% !important;
  min-width: 0 !important;
  min-height: 0 !important;
  max-height: none !important;
  display: grid !important;
  align-content: center !important;
  justify-items: start !important;
  overflow: hidden !important;
  padding: clamp(7px, min(.72cqw, 1.05cqh), 14px) clamp(5px, min(.6cqw, .9cqh), 12px) !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  text-align: left !important;
}

body.swp-wall-premium #wall-stage .swp-screen-post.only-message .swp-screen-copy {
  justify-items: center !important;
  padding: clamp(14px, min(2cqw, 2.8cqh), 38px) !important;
  text-align: center !important;
}

body.swp-wall-premium #wall-stage .swp-screen-post:not(.qr-post) .swp-screen-copy p,
body.swp-wall-premium #wall-stage .swp-screen-post.is-copy-medium .swp-screen-copy p,
body.swp-wall-premium #wall-stage .swp-screen-post.is-copy-long .swp-screen-copy p,
body.swp-wall-premium #wall-stage .swp-screen-post.is-copy-xlong .swp-screen-copy p {
  width: 100% !important;
  max-width: 42ch !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
  color: #142033 !important;
  font-size: clamp(.82rem, min(1.08cqw, 2.25cqh), 1.38rem) !important;
  font-weight: 560 !important;
  line-height: 1.18 !important;
  letter-spacing: -.018em !important;
  text-align: inherit !important;
  text-shadow: none !important;
  text-wrap: pretty;
  overflow-wrap: anywhere;
  word-break: normal;
}

body.swp-wall-premium #wall-stage .swp-screen-post.only-message .swp-screen-copy p {
  max-width: min(34ch, 100%) !important;
  font-size: clamp(1rem, min(1.65cqw, 3.25cqh), 2.15rem) !important;
  line-height: 1.14 !important;
  letter-spacing: -.025em !important;
}

body.swp-wall-premium #wall-stage .swp-screen-post.is-copy-medium .swp-screen-copy p {
  max-width: 48ch !important;
  font-size: clamp(.76rem, min(.96cqw, 2.02cqh), 1.2rem) !important;
  line-height: 1.17 !important;
}

body.swp-wall-premium #wall-stage .swp-screen-post.is-copy-long .swp-screen-copy p {
  max-width: 54ch !important;
  font-size: clamp(.69rem, min(.84cqw, 1.82cqh), 1.06rem) !important;
  line-height: 1.15 !important;
}

body.swp-wall-premium #wall-stage .swp-screen-post.is-copy-xlong .swp-screen-copy p {
  max-width: 60ch !important;
  font-size: clamp(.64rem, min(.76cqw, 1.66cqh), .96rem) !important;
  line-height: 1.14 !important;
}

body.swp-wall-premium #wall-stage .layout-mosaic .swp-mosaic-card.is-mosaic-hero .swp-screen-copy p,
body.swp-wall-premium #wall-stage .layout-celebration .swp-celebration-card:first-child .swp-screen-copy p,
body.swp-wall-premium #wall-stage .swp-screen-post.is-featured-wall-post .swp-screen-copy p {
  max-width: 38ch !important;
  font-size: clamp(1rem, min(1.38cqw, 2.75cqh), 1.82rem) !important;
  line-height: 1.15 !important;
}

body.swp-wall-premium #wall-stage .swp-screen-post:not(.qr-post) > .swp-screen-meta {
  position: relative !important;
  z-index: 5;
  inset: auto !important;
  min-width: 0;
  min-height: clamp(22px, min(2.15cqh, 1.9cqw), 32px);
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: clamp(5px, .55cqw, 10px);
  margin: 0;
  padding: 0 2px;
  overflow: hidden;
  align-self: end;
}

body.swp-wall-premium #wall-stage .swp-screen-post:not(.qr-post) .swp-screen-meta > .swp-screen-author {
  display: none !important;
}

body.swp-wall-premium #wall-stage .swp-screen-post:not(.qr-post) .swp-screen-meta > .swp-screen-hashtags,
body.swp-wall-premium #wall-stage .swp-screen-post:not(.qr-post) .swp-screen-meta > .swp-post-reactions {
  position: static !important;
  inset: auto !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: 100% !important;
  min-height: 0 !important;
  display: flex !important;
  align-items: center !important;
  flex-wrap: nowrap !important;
  gap: 4px !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
}

body.swp-wall-premium #wall-stage .swp-screen-post:not(.qr-post) .swp-screen-meta > .swp-screen-hashtags {
  flex: 1 1 auto;
  justify-content: flex-start !important;
}

body.swp-wall-premium #wall-stage .swp-screen-post:not(.qr-post) .swp-screen-meta > .swp-post-reactions {
  flex: 0 1 auto;
  justify-content: flex-end !important;
  margin-left: auto !important;
}

body.swp-wall-premium #wall-stage .swp-screen-post:not(.qr-post) .swp-screen-meta .swp-screen-hashtags span,
body.swp-wall-premium #wall-stage .swp-screen-post:not(.qr-post) .swp-screen-meta .swp-post-reaction {
  flex: 0 1 auto;
  min-width: 0 !important;
  min-height: clamp(20px, min(1.9cqh, 1.65cqw), 28px) !important;
  padding: 3px clamp(5px, .45cqw, 8px) !important;
  overflow: hidden;
  border-color: rgba(148,163,184,.18) !important;
  color: #334155 !important;
  background: rgba(255,255,255,.74) !important;
  box-shadow: none !important;
  font-size: clamp(.54rem, min(.56cqw, 1.15cqh), .7rem) !important;
  font-weight: 600 !important;
  line-height: 1 !important;
  text-overflow: ellipsis;
  white-space: nowrap;
}

body.swp-wall-premium #wall-stage .swp-screen-post:not(.qr-post) .swp-screen-meta .swp-screen-hashtags span:nth-child(n + 3) {
  display: none !important;
}

/* Wide: un eroe leggibile e card secondarie equilibrate. */
body.swp-wall-premium[data-wall-aspect-mode="wide"] #wall-stage .layout-cards {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  grid-template-rows: repeat(2, minmax(0, 1fr)) !important;
  grid-auto-rows: minmax(0, 1fr) !important;
}

body.swp-wall-premium[data-wall-aspect-mode="wide"] #wall-stage .layout-celebration {
  grid-template-columns: repeat(12, minmax(0, 1fr)) !important;
  grid-template-rows: repeat(6, minmax(0, 1fr)) !important;
}

body.swp-wall-premium[data-wall-aspect-mode="wide"] #wall-stage .layout-celebration .swp-celebration-card:nth-child(1) {
  grid-column: 1 / span 6 !important;
  grid-row: 1 / span 6 !important;
}

body.swp-wall-premium[data-wall-aspect-mode="wide"] #wall-stage .layout-celebration .swp-celebration-card:nth-child(2) {
  grid-column: 7 / span 3 !important;
  grid-row: 1 / span 3 !important;
}

body.swp-wall-premium[data-wall-aspect-mode="wide"] #wall-stage .layout-celebration .swp-celebration-card:nth-child(3) {
  grid-column: 10 / span 3 !important;
  grid-row: 1 / span 3 !important;
}

body.swp-wall-premium[data-wall-aspect-mode="wide"] #wall-stage .layout-celebration .swp-celebration-card:nth-child(4) {
  grid-column: 7 / span 3 !important;
  grid-row: 4 / span 3 !important;
}

body.swp-wall-premium[data-wall-aspect-mode="wide"] #wall-stage .layout-celebration .swp-celebration-card:nth-child(5) {
  grid-column: 10 / span 3 !important;
  grid-row: 4 / span 3 !important;
}

body.swp-wall-premium[data-wall-aspect-mode="wide"] #wall-stage .layout-celebration .swp-celebration-card:nth-child(n + 6),
body.swp-wall-premium[data-wall-aspect-mode="wide"] #wall-stage .layout-mosaic .swp-mosaic-card:nth-child(n + 5) {
  display: none !important;
}

/* Quadrato/compatto: due colonne, senza comprimere il footer. */
body.swp-wall-premium[data-wall-aspect-mode="compact"] #wall-stage .layout-mosaic,
body.swp-wall-premium[data-wall-aspect-mode="compact"] #wall-stage .layout-cards,
body.swp-wall-premium[data-wall-aspect-mode="compact"] #wall-stage .layout-celebration {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  grid-template-rows: repeat(2, minmax(0, 1fr)) !important;
  grid-auto-rows: minmax(0, 1fr) !important;
}

/* 9:16: card in verticale e più spazio al testo. */
body.swp-wall-premium[data-wall-aspect-mode="portrait"] #wall-stage .layout-mosaic,
body.swp-wall-premium[data-wall-aspect-mode="portrait"] #wall-stage .layout-cards,
body.swp-wall-premium[data-wall-aspect-mode="portrait"] #wall-stage .layout-celebration {
  grid-template-columns: minmax(0, 1fr) !important;
  grid-template-rows: none !important;
  grid-auto-rows: minmax(0, 1fr) !important;
  gap: clamp(7px, 1.35cqh, 14px) !important;
}

body.swp-wall-premium[data-wall-aspect-mode="portrait"] #wall-stage .swp-screen-post.has-image.has-message > .swp-screen-content {
  grid-template-rows: minmax(0, 1.08fr) minmax(0, 1fr);
}

body.swp-wall-premium[data-wall-aspect-mode="portrait"] #wall-stage .swp-screen-post:not(.qr-post) {
  --swp-card-inner-gap: clamp(5px, 1.65cqw, 10px);
  --swp-card-inner-pad: clamp(8px, 2.3cqw, 14px);
}

body.swp-wall-premium[data-wall-aspect-mode="portrait"] #wall-stage .swp-screen-post:not(.qr-post) .swp-screen-copy p {
  font-size: clamp(.75rem, 3.2cqw, 1.08rem) !important;
  line-height: 1.17 !important;
}

body.swp-wall-premium[data-wall-aspect-mode="portrait"] #wall-stage .swp-screen-post.only-message .swp-screen-copy p {
  font-size: clamp(.92rem, 4.2cqw, 1.45rem) !important;
}

@media (max-height: 520px) {
  body.swp-wall-premium #wall-stage .swp-screen-post:not(.qr-post) {
    --swp-card-inner-gap: 4px;
    --swp-card-inner-pad: 6px;
  }

  body.swp-wall-premium #wall-stage .swp-screen-post:not(.qr-post) > .swp-screen-meta {
    min-height: 18px;
  }
}

/* Wall v11.1: la griglia usa davvero lo spazio disponibile in base al numero di post. */
body.swp-wall-premium[data-wall-aspect-mode="wide"] #wall-stage .layout-celebration.swp-grid-count-1 .swp-celebration-card:nth-child(1) {
  grid-column: 1 / span 12 !important;
  grid-row: 1 / span 6 !important;
}

body.swp-wall-premium[data-wall-aspect-mode="wide"] #wall-stage .layout-celebration.swp-grid-count-2 .swp-celebration-card:nth-child(1) {
  grid-column: 1 / span 7 !important;
  grid-row: 1 / span 6 !important;
}

body.swp-wall-premium[data-wall-aspect-mode="wide"] #wall-stage .layout-celebration.swp-grid-count-2 .swp-celebration-card:nth-child(2) {
  grid-column: 8 / span 5 !important;
  grid-row: 1 / span 6 !important;
}

body.swp-wall-premium[data-wall-aspect-mode="wide"] #wall-stage .layout-celebration.swp-grid-count-3 .swp-celebration-card:nth-child(2) {
  grid-column: 7 / span 6 !important;
  grid-row: 1 / span 3 !important;
}

body.swp-wall-premium[data-wall-aspect-mode="wide"] #wall-stage .layout-celebration.swp-grid-count-3 .swp-celebration-card:nth-child(3) {
  grid-column: 7 / span 6 !important;
  grid-row: 4 / span 3 !important;
}

body.swp-wall-premium[data-wall-aspect-mode="wide"] #wall-stage .layout-mosaic.swp-grid-count-1 .swp-mosaic-card:nth-child(1) {
  grid-column: 1 / span 12 !important;
  grid-row: 1 / span 6 !important;
}

body.swp-wall-premium[data-wall-aspect-mode="wide"] #wall-stage .layout-mosaic.swp-grid-count-2 .swp-mosaic-card:nth-child(2) {
  grid-column: 7 / span 6 !important;
  grid-row: 1 / span 6 !important;
}

body.swp-wall-premium[data-wall-aspect-mode="wide"] #wall-stage .layout-mosaic.swp-grid-count-3 .swp-mosaic-card:nth-child(3) {
  grid-column: 7 / span 6 !important;
  grid-row: 4 / span 3 !important;
}

body.swp-wall-premium[data-wall-aspect-mode="wide"] #wall-stage .layout-cards.swp-grid-count-1 {
  grid-template-columns: minmax(0, 1fr) !important;
  grid-template-rows: minmax(0, 1fr) !important;
}

body.swp-wall-premium[data-wall-aspect-mode="wide"] #wall-stage .layout-cards.swp-grid-count-2 {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  grid-template-rows: minmax(0, 1fr) !important;
}

body.swp-wall-premium[data-wall-aspect-mode="wide"] #wall-stage .layout-cards.swp-grid-count-3 {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  grid-template-rows: minmax(0, 1fr) !important;
}

body.swp-wall-premium[data-wall-aspect-mode="wide"] #wall-stage .layout-cards.swp-grid-count-4 {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  grid-template-rows: repeat(2, minmax(0, 1fr)) !important;
}

/* Wall v11.2: tipografia proporzionale alla dimensione reale della singola card. */
body.swp-wall-premium #wall-stage .layout-mosaic .swp-screen-post:not(.qr-post),
body.swp-wall-premium #wall-stage .layout-cards .swp-screen-post:not(.qr-post),
body.swp-wall-premium #wall-stage .layout-celebration .swp-screen-post:not(.qr-post) {
  container-type: size;
  container-name: swp-wall-card;
}

body.swp-wall-premium #wall-stage .layout-mosaic .swp-screen-post:not(.qr-post) .swp-screen-copy p,
body.swp-wall-premium #wall-stage .layout-cards .swp-screen-post:not(.qr-post) .swp-screen-copy p,
body.swp-wall-premium #wall-stage .layout-celebration .swp-screen-post:not(.qr-post) .swp-screen-copy p {
  font-size: clamp(.78rem, 4.5cqmin, 1.55rem) !important;
  line-height: 1.18 !important;
}

body.swp-wall-premium #wall-stage .layout-mosaic .swp-screen-post.is-copy-medium .swp-screen-copy p,
body.swp-wall-premium #wall-stage .layout-cards .swp-screen-post.is-copy-medium .swp-screen-copy p,
body.swp-wall-premium #wall-stage .layout-celebration .swp-screen-post.is-copy-medium .swp-screen-copy p {
  font-size: clamp(.72rem, 3.9cqmin, 1.32rem) !important;
  line-height: 1.17 !important;
}

body.swp-wall-premium #wall-stage .layout-mosaic .swp-screen-post.is-copy-long .swp-screen-copy p,
body.swp-wall-premium #wall-stage .layout-cards .swp-screen-post.is-copy-long .swp-screen-copy p,
body.swp-wall-premium #wall-stage .layout-celebration .swp-screen-post.is-copy-long .swp-screen-copy p {
  font-size: clamp(.68rem, 3.4cqmin, 1.16rem) !important;
  line-height: 1.16 !important;
}

body.swp-wall-premium #wall-stage .layout-mosaic .swp-screen-post.is-copy-xlong .swp-screen-copy p,
body.swp-wall-premium #wall-stage .layout-cards .swp-screen-post.is-copy-xlong .swp-screen-copy p,
body.swp-wall-premium #wall-stage .layout-celebration .swp-screen-post.is-copy-xlong .swp-screen-copy p {
  font-size: clamp(.64rem, 3.1cqmin, 1.02rem) !important;
  line-height: 1.15 !important;
}

body.swp-wall-premium[data-wall-aspect-mode="wide"] #wall-stage .swp-screen-post.is-wall-hero.is-copy-short .swp-screen-copy p {
  max-width: 34ch !important;
  font-size: clamp(1.55rem, 6.2cqmin, 3.2rem) !important;
  line-height: 1.12 !important;
}

body.swp-wall-premium[data-wall-aspect-mode="wide"] #wall-stage .swp-screen-post.is-wall-hero.is-copy-medium .swp-screen-copy p {
  max-width: 40ch !important;
  font-size: clamp(1.42rem, 5.6cqmin, 2.7rem) !important;
  line-height: 1.13 !important;
}

body.swp-wall-premium[data-wall-aspect-mode="wide"] #wall-stage .swp-screen-post.is-wall-hero.is-copy-long .swp-screen-copy p {
  max-width: 46ch !important;
  font-size: clamp(1.28rem, 5cqmin, 2.3rem) !important;
  line-height: 1.14 !important;
}

body.swp-wall-premium[data-wall-aspect-mode="wide"] #wall-stage .swp-screen-post.is-wall-hero.is-copy-xlong .swp-screen-copy p {
  max-width: 52ch !important;
  font-size: clamp(1.18rem, 4.4cqmin, 2rem) !important;
  line-height: 1.14 !important;
}

/* Wall v11.3: le foto verticali con testo usano una composizione affiancata. */
body.swp-wall-premium #wall-stage .swp-screen-post.has-image.has-message.is-portrait-image > .swp-screen-content {
  grid-template-columns: minmax(0, .82fr) minmax(0, 1.18fr) !important;
  grid-template-rows: minmax(0, 1fr) !important;
  align-items: stretch !important;
}

body.swp-wall-premium #wall-stage .swp-screen-post.has-image.has-message.is-portrait-image > .swp-screen-content > .swp-screen-media {
  grid-column: 1 !important;
  grid-row: 1 !important;
}

body.swp-wall-premium #wall-stage .swp-screen-post.has-image.has-message.is-portrait-image > .swp-screen-content > .swp-screen-copy {
  grid-column: 2 !important;
  grid-row: 1 !important;
  align-content: center !important;
  padding-inline: clamp(9px, 1.15cqw, 22px) !important;
}

body.swp-wall-premium[data-wall-aspect-mode="compact"] #wall-stage .swp-screen-post.has-image.has-message.is-portrait-image > .swp-screen-content,
body.swp-wall-premium[data-wall-aspect-mode="portrait"] #wall-stage .swp-screen-post.has-image.has-message.is-portrait-image > .swp-screen-content {
  grid-template-columns: minmax(0, .72fr) minmax(0, 1.28fr) !important;
  grid-template-rows: minmax(0, 1fr) !important;
}

/* Wall v11.4: layout immagine stabile e festa sincronizzata con il caricamento. */
body.swp-wall-premium #wall-stage .swp-screen-post.is-image-orientation-pending,
body.swp-wall-premium #wall-stage .swp-screen-post.is-arrival-pending {
  visibility: hidden !important;
  opacity: 0 !important;
}

body.swp-wall-premium #wall-stage .swp-screen-post.is-arrival-pending .swp-arrival-confetti,
body.swp-wall-premium #wall-stage .swp-screen-post.is-arrival-pending .swp-arrival-confetti i {
  animation-play-state: paused !important;
}

body.swp-wall-premium #wall-stage .layout-mosaic .swp-mosaic-card.is-new-arrival,
body.swp-wall-premium #wall-stage .layout-cards .swp-cards-card.is-new-arrival,
body.swp-wall-premium #wall-stage .layout-celebration .swp-celebration-card.is-new-arrival,
body.swp-wall-premium #wall-stage .swp-screen-post.is-new-arrival {
  z-index: 110 !important;
  visibility: visible !important;
  animation: swpWallPartyCardIn .86s cubic-bezier(.16, 1, .3, 1) both !important;
  transform-origin: 50% 68% !important;
}

body.swp-wall-premium #wall-stage .swp-arrival-confetti {
  position: absolute !important;
  z-index: 40 !important;
  top: auto !important;
  left: -28% !important;
  right: -28% !important;
  bottom: -28% !important;
  height: 86% !important;
  pointer-events: none !important;
  filter: drop-shadow(0 14px 16px rgba(15,23,42,.16)) !important;
  animation: swpWallPartyConfettiBed 1.9s ease-out both !important;
}

body.swp-wall-premium #wall-stage .swp-arrival-confetti::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 3%;
  width: 62%;
  aspect-ratio: 1;
  border: 2px solid color-mix(in srgb, var(--swp-primary) 42%, rgba(255,255,255,.9));
  border-radius: 50%;
  box-shadow: 0 0 26px color-mix(in srgb, var(--swp-secondary) 28%, transparent);
  opacity: 0;
  transform: translate(-50%, 46%) scale(.38);
  animation: swpWallPartyRing 1.18s .04s cubic-bezier(.16, 1, .3, 1) both;
}

body.swp-wall-premium #wall-stage .swp-arrival-confetti i {
  animation-name: swpWallPartyConfettiPiece !important;
  animation-duration: 1.55s !important;
  animation-timing-function: cubic-bezier(.16, 1, .3, 1) !important;
  animation-fill-mode: both !important;
}

body.swp-wall-premium #wall-stage .swp-arrival-confetti i:nth-child(1)  { --swp-confetti-x: -18cqw; animation-delay: .02s !important; }
body.swp-wall-premium #wall-stage .swp-arrival-confetti i:nth-child(2)  { --swp-confetti-x: -13cqw; animation-delay: .07s !important; }
body.swp-wall-premium #wall-stage .swp-arrival-confetti i:nth-child(3)  { --swp-confetti-x: -9cqw;  animation-delay: .13s !important; }
body.swp-wall-premium #wall-stage .swp-arrival-confetti i:nth-child(4)  { --swp-confetti-x: -4cqw;  animation-delay: .19s !important; }
body.swp-wall-premium #wall-stage .swp-arrival-confetti i:nth-child(5)  { --swp-confetti-x: 4cqw;   animation-delay: .1s !important; }
body.swp-wall-premium #wall-stage .swp-arrival-confetti i:nth-child(6)  { --swp-confetti-x: 9cqw;   animation-delay: .22s !important; }
body.swp-wall-premium #wall-stage .swp-arrival-confetti i:nth-child(7)  { --swp-confetti-x: 14cqw;  animation-delay: .16s !important; }
body.swp-wall-premium #wall-stage .swp-arrival-confetti i:nth-child(8)  { --swp-confetti-x: 19cqw;  animation-delay: .05s !important; }
body.swp-wall-premium #wall-stage .swp-arrival-confetti i:nth-child(9)  { --swp-confetti-x: -16cqw; animation-delay: .31s !important; }
body.swp-wall-premium #wall-stage .swp-arrival-confetti i:nth-child(10) { --swp-confetti-x: -11cqw; animation-delay: .26s !important; }
body.swp-wall-premium #wall-stage .swp-arrival-confetti i:nth-child(11) { --swp-confetti-x: -5cqw;  animation-delay: .37s !important; }
body.swp-wall-premium #wall-stage .swp-arrival-confetti i:nth-child(12) { --swp-confetti-x: 5cqw;   animation-delay: .3s !important; }
body.swp-wall-premium #wall-stage .swp-arrival-confetti i:nth-child(13) { --swp-confetti-x: 11cqw;  animation-delay: .35s !important; }
body.swp-wall-premium #wall-stage .swp-arrival-confetti i:nth-child(14) { --swp-confetti-x: 17cqw;  animation-delay: .24s !important; }

@keyframes swpWallPartyCardIn {
  0% {
    opacity: 0;
    transform: translate3d(0, 28px, 0) scale(.97) rotate(var(--swp-live-tilt, 0deg));
    filter: saturate(.9) brightness(1.08);
  }
  48% {
    opacity: 1;
    transform: translate3d(0, -6px, 0) scale(1.018) rotate(var(--swp-live-tilt, 0deg));
    filter: saturate(1.14) brightness(1.03);
  }
  72% {
    transform: translate3d(0, 2px, 0) scale(.996) rotate(var(--swp-live-tilt, 0deg));
    filter: saturate(1.04) brightness(1);
  }
  100% {
    opacity: 1;
    transform: translate3d(0, 0, 0) scale(1) rotate(var(--swp-live-tilt, 0deg));
    filter: saturate(1) brightness(1);
  }
}

@keyframes swpWallPartyConfettiBed {
  0% { opacity: 0; transform: translate3d(0, 22px, 0) scale(.88); }
  12% { opacity: 1; }
  68% { opacity: .88; }
  100% { opacity: 0; transform: translate3d(0, -8px, 0) scale(1.08); }
}

@keyframes swpWallPartyConfettiPiece {
  0% { opacity: 0; transform: translate3d(0, 28px, 0) scale(.52) rotate(0deg); }
  13% { opacity: 1; }
  70% { opacity: .92; }
  100% {
    opacity: 0;
    transform: translate3d(var(--swp-confetti-x, 0), var(--swp-confetti-y, -86px), 0) scale(1) rotate(var(--swp-confetti-r, 100deg));
  }
}

@keyframes swpWallPartyRing {
  0% { opacity: 0; transform: translate(-50%, 46%) scale(.38); }
  22% { opacity: .9; }
  100% { opacity: 0; transform: translate(-50%, 46%) scale(1.18); }
}

@media (prefers-reduced-motion: reduce) {
  body.swp-wall-premium #wall-stage .swp-screen-post.is-new-arrival {
    animation: none !important;
    transform: none !important;
    filter: none !important;
  }

  body.swp-wall-premium #wall-stage .swp-arrival-confetti {
    display: none !important;
  }
}

/* Wall v11.5: arrotondamento marcato applicato alla foto reale. */
body.swp-wall-premium #wall-stage .swp-screen-post:not(.qr-post) {
  --swp-wall-photo-radius: clamp(24px, 2.4cqw, 40px);
}

body.swp-wall-premium #wall-stage .swp-screen-post:not(.qr-post).has-image > .swp-screen-content > .swp-screen-media.is-contain-media {
  overflow: hidden !important;
  border-radius: var(--swp-wall-photo-radius) !important;
}

body.swp-wall-premium #wall-stage .swp-screen-post:not(.qr-post).has-image > .swp-screen-content > .swp-screen-media.is-contain-media > img {
  overflow: hidden !important;
  border-radius: var(--swp-wall-photo-radius) !important;
  -webkit-clip-path: inset(0 round var(--swp-wall-photo-radius));
  clip-path: inset(0 round var(--swp-wall-photo-radius));
}

/* Wall v11.6: badge persistente per i post messi in evidenza. */
body.swp-wall-premium #wall-stage .swp-screen-post.is-featured-wall-post:not(.qr-post) > .swp-screen-featured-badge {
  position: absolute !important;
  top: calc(var(--swp-card-inner-pad, 12px) + clamp(4px, .4cqw, 8px));
  left: calc(var(--swp-card-inner-pad, 12px) + clamp(4px, .4cqw, 8px));
  z-index: 12;
  display: inline-flex !important;
  align-items: center;
  gap: clamp(4px, .35cqw, 6px);
  max-width: calc(100% - 32px);
  padding: clamp(5px, .48cqw, 8px) clamp(8px, .8cqw, 13px) !important;
  overflow: hidden;
  border: 1px solid rgba(245,158,11,.38) !important;
  color: #92400e !important;
  background: linear-gradient(135deg, rgba(255,251,235,.98), rgba(254,243,199,.94)) !important;
  box-shadow: 0 10px 24px rgba(146,64,14,.16), inset 0 1px 0 rgba(255,255,255,.82) !important;
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  font-size: clamp(.58rem, min(.68cqw, 1.3cqh), .84rem) !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  letter-spacing: .045em;
  text-transform: uppercase;
  text-overflow: ellipsis;
  white-space: nowrap;
  pointer-events: none;
}

body.swp-wall-premium #wall-stage .swp-screen-post.is-featured-wall-post:not(.qr-post) > .swp-screen-featured-badge .bi {
  flex: 0 0 auto;
  color: #f59e0b;
  font-size: 1em;
}

body.swp-wall-premium #wall-stage .swp-screen-post.is-featured-wall-post .swp-screen-author::after {
  content: none !important;
}

/* Wall v11.7: testo centrato e più leggibile nelle card con foto. */
body.swp-wall-premium #wall-stage .swp-screen-post.has-image.has-message:not(.qr-post) > .swp-screen-content > .swp-screen-copy {
  justify-items: center !important;
  padding-inline: clamp(10px, 1.2cqw, 22px) !important;
  text-align: center !important;
}

body.swp-wall-premium #wall-stage .swp-screen-post.has-image.has-message:not(.qr-post) > .swp-screen-content > .swp-screen-copy > p {
  max-width: min(34ch, 100%) !important;
  color: #0b172a !important;
  font-size: clamp(1.05rem, 5.6cqmin, 1.72rem) !important;
  font-weight: 650 !important;
  line-height: 1.14 !important;
  letter-spacing: -.022em !important;
  text-align: center !important;
  text-shadow: 0 1px 0 rgba(255,255,255,.92), 0 8px 20px rgba(15,23,42,.1) !important;
  text-wrap: balance;
}

body.swp-wall-premium #wall-stage .swp-screen-post.has-image.has-message.is-copy-medium:not(.qr-post) > .swp-screen-content > .swp-screen-copy > p {
  max-width: min(36ch, 100%) !important;
  font-size: clamp(1rem, 5.1cqmin, 1.56rem) !important;
}

body.swp-wall-premium #wall-stage .swp-screen-post.has-image.has-message.is-copy-long:not(.qr-post) > .swp-screen-content > .swp-screen-copy > p {
  max-width: min(40ch, 100%) !important;
  font-size: clamp(.94rem, 4.55cqmin, 1.34rem) !important;
  line-height: 1.13 !important;
}

body.swp-wall-premium #wall-stage .swp-screen-post.has-image.has-message.is-copy-xlong:not(.qr-post) > .swp-screen-content > .swp-screen-copy > p {
  max-width: min(46ch, 100%) !important;
  font-size: clamp(.86rem, 4cqmin, 1.16rem) !important;
  line-height: 1.12 !important;
}

body.swp-wall-premium #wall-stage .swp-screen-post.is-featured-wall-post.has-image.has-message:not(.qr-post) > .swp-screen-content > .swp-screen-copy > p {
  max-width: min(38ch, 100%) !important;
  font-size: clamp(1rem, 5.2cqmin, 1.62rem) !important;
  font-weight: 700 !important;
}

/* Wall v11.8: la foto è il contenuto, senza mini-card o cornici annidate. */
body.swp-wall-premium #wall-stage .swp-screen-post:not(.qr-post).has-image > .swp-screen-content {
  overflow: visible !important;
  border-radius: 0 !important;
  background: none !important;
  box-shadow: none !important;
}

body.swp-wall-premium #wall-stage .swp-screen-post:not(.qr-post).has-image > .swp-screen-content > .swp-screen-media.is-contain-media {
  position: relative !important;
  inset: auto !important;
  isolation: isolate;
  display: grid !important;
  place-items: center !important;
  width: 100% !important;
  height: 100% !important;
  min-width: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: none !important;
  box-shadow: none !important;
  filter: none !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}

body.swp-wall-premium #wall-stage .swp-screen-post:not(.qr-post).has-image > .swp-screen-content > .swp-screen-media.is-contain-media::before,
body.swp-wall-premium #wall-stage .swp-screen-post:not(.qr-post).has-image > .swp-screen-content > .swp-screen-media.is-contain-media::after {
  content: none !important;
  display: none !important;
  background: none !important;
  box-shadow: none !important;
  filter: none !important;
}

body.swp-wall-premium #wall-stage .swp-screen-post:not(.qr-post).has-image > .swp-screen-content > .swp-screen-media.is-contain-media > img {
  position: relative !important;
  inset: auto !important;
  display: block !important;
  width: auto !important;
  height: auto !important;
  max-width: 100% !important;
  max-height: 100% !important;
  margin: auto !important;
  padding: 0 !important;
  object-fit: contain !important;
  object-position: center !important;
  overflow: hidden !important;
  border: 0 !important;
  border-radius: var(--swp-wall-photo-radius) !important;
  background: none !important;
  box-shadow: none !important;
  filter: none !important;
  -webkit-clip-path: inset(0 round var(--swp-wall-photo-radius)) !important;
  clip-path: inset(0 round var(--swp-wall-photo-radius)) !important;
}

/* Wall v11.9: le card testuali hanno una gerarchia almeno pari alle fotografiche. */
body.swp-wall-premium #wall-stage .swp-screen-post.only-message:not(.is-wall-hero, .qr-post) > .swp-screen-content > .swp-screen-copy {
  justify-items: center !important;
  text-align: center !important;
}

body.swp-wall-premium #wall-stage .swp-screen-post.only-message:not(.is-wall-hero, .qr-post) > .swp-screen-content > .swp-screen-copy > p {
  max-width: min(30ch, 100%) !important;
  color: #091426 !important;
  font-size: clamp(1.2rem, 6.4cqmin, 2rem) !important;
  font-weight: 700 !important;
  line-height: 1.12 !important;
  letter-spacing: -.024em !important;
  text-align: center !important;
  text-shadow: 0 1px 0 rgba(255,255,255,.94), 0 8px 20px rgba(15,23,42,.1) !important;
  text-wrap: balance;
}

body.swp-wall-premium #wall-stage .swp-screen-post.only-message.is-copy-medium:not(.is-wall-hero, .qr-post) > .swp-screen-content > .swp-screen-copy > p {
  max-width: min(36ch, 100%) !important;
  font-size: clamp(1.12rem, 5.8cqmin, 1.78rem) !important;
  line-height: 1.13 !important;
}

body.swp-wall-premium #wall-stage .swp-screen-post.only-message.is-copy-long:not(.is-wall-hero, .qr-post) > .swp-screen-content > .swp-screen-copy > p {
  max-width: min(42ch, 100%) !important;
  font-size: clamp(1.02rem, 5cqmin, 1.52rem) !important;
  line-height: 1.14 !important;
}

body.swp-wall-premium #wall-stage .swp-screen-post.only-message.is-copy-xlong:not(.is-wall-hero, .qr-post) > .swp-screen-content > .swp-screen-copy > p {
  max-width: min(48ch, 100%) !important;
  font-size: clamp(.94rem, 4.4cqmin, 1.3rem) !important;
  line-height: 1.13 !important;
}

/* Dark mode consolidata: regia, moderazione e backoffice. */
html.swp-theme-dark body:not(.wall-display):not(.public-page):not(.swp-login-page) {
  --accent: #38bdf8;
  --accent-2: #38bdf8;
  --ink-soft: #d8eef4;
}

html.swp-theme-dark .swp-live-settings-panel {
  border-color: rgba(191, 245, 255, .13) !important;
  background:
    radial-gradient(circle at top right, rgba(0, 170, 236, .1), transparent 36%),
    linear-gradient(145deg, rgba(13, 31, 40, .98), rgba(8, 22, 30, .96)) !important;
}

html.swp-theme-dark .swp-live-settings-block,
html.swp-theme-dark .swp-regia-connected-mini,
html.swp-theme-dark .swp-regia-action-group {
  border-color: rgba(191, 245, 255, .14) !important;
  background:
    radial-gradient(circle at top right, rgba(0, 170, 236, .1), transparent 40%),
    linear-gradient(145deg, rgba(16, 38, 51, .96), rgba(8, 22, 30, .94)) !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, .055),
    0 14px 30px rgba(0, 0, 0, .13) !important;
}

html.swp-theme-dark .swp-regia-connected-mini span,
html.swp-theme-dark .swp-regia-action-label {
  color: #a9c7d1 !important;
}

html.swp-theme-dark .swp-regia-connected-mini strong,
html.swp-theme-dark .swp-live-settings-block .swp-wall-choice-head h3 {
  color: #f8fafc !important;
}

html.swp-theme-dark .swp-live-settings-block .swp-wall-choice-head p,
html.swp-theme-dark .swp-screen-aspect-manual label > span,
html.swp-theme-dark .swp-screen-aspect-separator {
  color: #9ec0ca !important;
}

html.swp-theme-dark .swp-live-settings-block .swp-wall-layout-option,
html.swp-theme-dark .swp-live-settings-block .swp-moderation-option,
html.swp-theme-dark .swp-live-settings-block .swp-screen-aspect-preset {
  border-color: rgba(191, 245, 255, .13) !important;
  background: rgba(255, 255, 255, .055) !important;
}

html.swp-theme-dark .swp-live-settings-block .swp-wall-layout-option:hover,
html.swp-theme-dark .swp-live-settings-block .swp-moderation-option:hover,
html.swp-theme-dark .swp-live-settings-block .swp-screen-aspect-preset:hover {
  border-color: rgba(125, 211, 252, .32) !important;
  background: rgba(56, 189, 248, .1) !important;
}

html.swp-theme-dark .swp-live-settings-block .swp-wall-layout-option:has(input:checked),
html.swp-theme-dark .swp-live-settings-block .swp-moderation-option:has(input:checked) {
  border-color: rgba(56, 189, 248, .5) !important;
  background:
    linear-gradient(135deg, rgba(14, 165, 233, .18), rgba(255, 255, 255, .055)) !important;
  box-shadow: 0 12px 26px rgba(0, 0, 0, .18) !important;
}

html.swp-theme-dark .swp-live-monitor-config {
  border-color: rgba(191, 245, 255, .13) !important;
  background:
    radial-gradient(circle at 0 0, rgba(0, 170, 236, .13), transparent 38%),
    rgba(5, 18, 26, .7) !important;
}

html.swp-theme-dark .swp-live-monitor-config .swp-monitor-preview-wrap {
  background:
    linear-gradient(rgba(125, 211, 252, .055) 1px, transparent 1px),
    linear-gradient(90deg, rgba(125, 211, 252, .055) 1px, transparent 1px),
    rgba(255, 255, 255, .035) !important;
  background-size: 22px 22px !important;
}

html.swp-theme-dark .swp-live-monitor-config .swp-screen-aspect-preset.is-active {
  color: #fff !important;
  border-color: rgba(125, 211, 252, .26) !important;
  background: linear-gradient(135deg, #0ea5e9, #0284c7) !important;
  box-shadow: 0 10px 22px rgba(2, 132, 199, .25) !important;
}

html.swp-theme-dark .swp-screen-aspect-reset {
  color: #7dd3fc !important;
}

html.swp-theme-dark .swp-screen-aspect-feedback {
  color: #6ee7b7 !important;
}

html.swp-theme-dark .swp-live-guest-qr-clone .swp-guest-qr-url,
html.swp-theme-dark .swp-live-public-qr-url,
html.swp-theme-dark .swp-live-public-qr-card {
  border-color: rgba(191, 245, 255, .14) !important;
  background:
    linear-gradient(135deg, rgba(0, 170, 236, .08), rgba(255, 255, 255, .035)),
    rgba(8, 22, 30, .94) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .05) !important;
}

html.swp-theme-dark .swp-live-guest-qr-clone .swp-guest-qr-url .form-control,
html.swp-theme-dark .swp-live-public-qr-url .form-control {
  color: #d8eef4 !important;
}

html.swp-theme-dark .swp-blacklist-word-chip {
  color: #edf9fc !important;
  border-color: rgba(191, 245, 255, .14) !important;
  background: rgba(255, 255, 255, .06) !important;
}

html.swp-theme-dark .swp-live-open-access-note {
  color: #bae6fd;
  border-color: rgba(56, 189, 248, .2);
  background: rgba(14, 165, 233, .09);
}

html.swp-theme-dark .swp-event-core-moderation.is-inline {
  border: 1px solid rgba(191, 245, 255, .11);
  background:
    radial-gradient(circle at 0 0, rgba(0, 170, 236, .11), transparent 34%),
    rgba(6, 18, 27, .88) !important;
}

html.swp-theme-dark .swp-moderation-empty,
html.swp-theme-dark .swp-event-core-moderation .swp-mod-post-card {
  color: #a9c7d1 !important;
  border-color: rgba(191, 245, 255, .14) !important;
  background:
    radial-gradient(circle at top left, rgba(0, 170, 236, .11), transparent 36%),
    rgba(8, 22, 30, .96) !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, .045),
    0 14px 34px rgba(0, 0, 0, .22) !important;
}

html.swp-theme-dark .swp-moderation-empty .bi {
  color: #7dd3fc;
  background: rgba(14, 165, 233, .13);
}

html.swp-theme-dark .swp-moderation-empty strong,
html.swp-theme-dark .swp-event-core-moderation .swp-mod-author strong {
  color: #f8fafc !important;
}

html.swp-theme-dark .swp-event-core-moderation .swp-mod-author small,
html.swp-theme-dark .swp-event-core-moderation .swp-mod-post-message.is-empty {
  color: #9ec0ca !important;
}

html.swp-theme-dark .swp-event-core-moderation .swp-mod-post-card::before {
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .045);
}

html.swp-theme-dark .swp-event-core-moderation .swp-mod-post-media {
  background: linear-gradient(145deg, #091722, #132936) !important;
}

html.swp-theme-dark .swp-event-core-moderation .swp-mod-post-message,
html.swp-theme-dark .swp-event-core-moderation .swp-mod-post-card.is-text-only .swp-mod-post-message {
  color: #d8eef4 !important;
  border-color: rgba(191, 245, 255, .11) !important;
  background: rgba(255, 255, 255, .055) !important;
}

html.swp-theme-dark .swp-event-core-moderation .swp-mod-post-hashtags span {
  color: #bae6fd !important;
  border: 1px solid rgba(56, 189, 248, .12);
  background: rgba(14, 165, 233, .12) !important;
}

html.swp-theme-dark .swp-event-core-moderation .swp-mod-status {
  color: #fde68a;
  background: rgba(245, 158, 11, .15);
}

html.swp-theme-dark .swp-event-core-moderation .is-status-approved .swp-mod-status {
  color: #a7f3d0;
  background: rgba(16, 185, 129, .14);
}

html.swp-theme-dark .swp-event-core-moderation .is-status-archived .swp-mod-status {
  color: #fecaca;
  background: rgba(248, 113, 113, .14);
}

html.swp-theme-dark .swp-event-core-moderation .swp-mod-action-delete {
  color: #fecaca !important;
  border-color: rgba(248, 113, 113, .26) !important;
  background: rgba(127, 29, 29, .24) !important;
}

html.swp-theme-dark .swp-event-core-moderation .swp-mod-action-delete:hover,
html.swp-theme-dark .swp-event-core-moderation .swp-mod-action-delete:focus-visible {
  color: #fee2e2 !important;
  background: rgba(153, 27, 27, .34) !important;
}

html.swp-theme-dark .swp-event-core-moderation .swp-mod-deleted-note {
  color: #fecaca;
  background: rgba(127, 29, 29, .24);
}

html.swp-theme-dark .swp-event-core-moderation .swp-mod-post-card.is-featured {
  border-color: rgba(245, 158, 11, .34) !important;
  background:
    radial-gradient(circle at top right, rgba(245, 158, 11, .15), transparent 34%),
    rgba(30, 26, 18, .96) !important;
}

html.swp-theme-dark .swp-event-core-moderation .swp-mod-post-card.is-featured::after {
  color: #fde68a;
  border-color: rgba(245, 158, 11, .3);
  background: rgba(120, 53, 15, .76);
}

html.swp-theme-dark .swp-screen-aspect-preset:focus-visible,
html.swp-theme-dark .swp-wall-layout-option:has(input:focus-visible),
html.swp-theme-dark .swp-moderation-option:has(input:focus-visible) {
  outline: 3px solid rgba(125, 211, 252, .4);
  outline-offset: 2px;
}

html.swp-theme-dark .swp-event-created-banner,
html.swp-theme-dark .swp-event-created-wall,
html.swp-theme-dark .swp-event-created-wall-preview,
html.swp-theme-dark .swp-config-visual-card,
html.swp-theme-dark .swp-preview-phone,
html.swp-theme-dark .swp-preview-field,
html.swp-theme-dark .swp-wall-card,
html.swp-theme-dark .swp-empty-state {
  color: #d8eef4;
  border-color: rgba(191, 245, 255, .13) !important;
  background:
    radial-gradient(circle at top right, rgba(0, 170, 236, .09), transparent 38%),
    rgba(10, 27, 36, .94) !important;
}

html.swp-theme-dark .swp-layout-pills span {
  color: #bae6fd;
  border-color: rgba(56, 189, 248, .15);
  background: rgba(14, 165, 233, .1);
}

html.swp-theme-dark .swp-empty-state > i {
  color: #7dd3fc;
  background: rgba(14, 165, 233, .13);
}

/* La preferenza tema ora copre anche la gestione agenzie. */
.swp-agencies-topbar-actions {
  flex: 0 0 auto;
}

body.swp-agencies-page .swp-agencies-topbar-actions .swp-theme-toggle {
  min-height: 44px;
}

html.swp-theme-dark body.swp-agencies-page {
  --text: #edf9fc;
  --muted: #9ec0ca;
  color: #edf9fc !important;
  background:
    radial-gradient(circle at top left, rgba(0, 170, 236, .18), transparent 30%),
    radial-gradient(circle at top right, rgba(235, 102, 0, .09), transparent 24%),
    linear-gradient(180deg, #06131a 0%, #07161d 58%, #0b1d26 100%) !important;
}

html.swp-theme-dark body.swp-agencies-page::before {
  background-image:
    linear-gradient(rgba(125, 211, 252, .045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(125, 211, 252, .045) 1px, transparent 1px);
  opacity: .72;
}

html.swp-theme-dark body.swp-agencies-page .swp-agencies-topbar,
html.swp-theme-dark body.swp-agencies-page .swp-agencies-create,
html.swp-theme-dark body.swp-agencies-page .swp-agency-card,
html.swp-theme-dark body.swp-agencies-page .swp-agency-modal .modal-content,
html.swp-theme-dark body.swp-agencies-page .agency-mail-modal .modal-content,
html.swp-theme-dark body.swp-agencies-page .agency-edit-form.agency-settings-modal,
html.swp-theme-dark body.swp-agencies-page .events-confirm-dialog .modal-content {
  color: #edf9fc !important;
  border-color: rgba(191, 245, 255, .13) !important;
  background:
    radial-gradient(circle at top right, rgba(0, 170, 236, .1), transparent 36%),
    linear-gradient(145deg, rgba(13, 31, 40, .97), rgba(8, 22, 30, .95)) !important;
  box-shadow: 0 24px 62px rgba(0, 0, 0, .28) !important;
}

html.swp-theme-dark body.swp-agencies-page .swp-agency-card.is-limit-reached {
  border-color: rgba(251, 146, 60, .28) !important;
  background:
    radial-gradient(circle at top right, rgba(251, 146, 60, .12), transparent 34%),
    linear-gradient(145deg, rgba(42, 29, 21, .96), rgba(15, 27, 34, .95)) !important;
}

html.swp-theme-dark body.swp-agencies-page :is(
  .swp-agency-input,
  .swp-agency-logo-upload,
  .swp-agency-link-field .form-control,
  .agency-mail-input-group,
  .agency-settings-section,
  .agency-settings-logo-upload,
  .agency-settings-preview-logo,
  .agency-mail-preview,
  .swp-agency-meta-chip
) {
  color: #d8eef4 !important;
  border-color: rgba(191, 245, 255, .14) !important;
  background: rgba(255, 255, 255, .055) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .04) !important;
}

html.swp-theme-dark body.swp-agencies-page .form-control,
html.swp-theme-dark body.swp-agencies-page .form-select {
  color: #edf9fc !important;
  border-color: rgba(191, 245, 255, .14) !important;
  background-color: rgba(255, 255, 255, .045) !important;
}

html.swp-theme-dark body.swp-agencies-page .form-control::placeholder {
  color: #7898a4 !important;
}

html.swp-theme-dark body.swp-agencies-page :is(
  .swp-agencies-title strong,
  .swp-agency-create-head strong,
  .swp-agency-card-header strong,
  .swp-agency-logo-copy strong,
  .swp-agency-quota-copy strong,
  .swp-agency-preview strong,
  .agency-mail-preview strong,
  .agency-settings-section-head strong,
  .agency-settings-preview-copy strong,
  .modal-title
) {
  color: #f8fafc !important;
}

html.swp-theme-dark body.swp-agencies-page :is(
  .swp-agencies-title small,
  .swp-agency-create-head p,
  .swp-agency-field,
  .swp-agency-logo-copy,
  .swp-agency-logo-copy small,
  .swp-agency-link-field,
  .swp-agency-quota-copy,
  .agency-mail-preview span,
  .agency-settings-section-head small,
  .agency-settings-field > span:first-child,
  .agency-settings-preview-copy p,
  .events-confirm-copy,
  .swp-agency-delete-note
) {
  color: #9ec0ca !important;
}

html.swp-theme-dark body.swp-agencies-page .agency-settings-preview-stage {
  color: #d8eef4 !important;
  border-color: rgba(191, 245, 255, .13) !important;
  background:
    linear-gradient(135deg, rgba(0, 170, 236, .12), rgba(255, 255, 255, .04)),
    rgba(8, 22, 30, .9) !important;
}

html.swp-theme-dark body.swp-agencies-page .swp-agency-limit-note,
html.swp-theme-dark body.swp-agencies-page .events-confirm-dialog .swp-agency-delete-note {
  color: #fdba74 !important;
  border-color: rgba(251, 146, 60, .22) !important;
  background: rgba(154, 52, 18, .2) !important;
}

html.swp-theme-dark body.swp-agencies-page .btn-close {
  filter: invert(1) grayscale(1) brightness(1.8);
}

html.swp-theme-dark body.swp-agencies-page .swp-agencies-title img,
html.swp-theme-dark body.swp-agencies-page .swp-agencies-title .brand-logo {
  padding: 7px 10px;
  border: 1px solid rgba(255, 255, 255, .82);
  border-radius: 12px;
  background: rgba(255, 255, 255, .96);
  box-shadow: 0 10px 24px rgba(0, 0, 0, .18);
}

@media (max-width: 680px) {
  body.swp-agencies-page .swp-agencies-topbar-actions {
    gap: 6px !important;
  }

  body.swp-agencies-page .swp-agencies-topbar-actions .swp-theme-toggle {
    width: 52px;
    min-width: 52px !important;
    padding: 0 !important;
    justify-content: center;
  }

  body.swp-agencies-page .swp-agencies-topbar-actions .swp-theme-toggle .swp-switch-copy {
    display: none;
  }

  body.swp-agencies-page .swp-agencies-topbar-actions .swp-theme-toggle .swp-switch-control {
    width: 34px;
    flex-basis: 34px;
  }

  body.swp-agencies-page .swp-agencies-topbar-actions .swp-theme-toggle .swp-switch-knob {
    width: 16px;
    height: 16px;
  }

  body.swp-agencies-page .swp-agencies-topbar-actions .swp-theme-toggle.is-dark .swp-switch-knob {
    transform: translateX(12px);
  }
}

/* Regia: sui post già in evidenza il relativo pulsante resta esplicito e visibile. */
.swp-event-core-moderation .swp-mod-post-card.is-featured .swp-mod-post-actions {
  grid-template-columns: minmax(104px, 1.7fr) repeat(2, minmax(32px, .65fr)) !important;
}

.swp-event-core-moderation .swp-mod-post-card.is-featured .swp-mod-post-actions:not(:has(.swp-mod-action-approve)) {
  grid-template-columns: minmax(104px, 1fr) minmax(42px, .42fr) !important;
}

.swp-event-core-moderation .swp-mod-action-feature.is-active {
  padding: 0 10px !important;
  gap: 5px !important;
}

.swp-event-core-moderation .swp-mod-action-feature.is-active span:not(.spinner-border) {
  position: static !important;
  width: auto !important;
  height: auto !important;
  min-width: 0;
  padding: 0 !important;
  margin: 0 !important;
  overflow: hidden !important;
  clip: auto !important;
  color: inherit;
  border: 0 !important;
  font-size: .64rem;
  line-height: 1;
  text-overflow: ellipsis;
  white-space: nowrap !important;
}

@media (max-width: 640px) {
  .swp-event-core-moderation .swp-mod-post-card.is-featured .swp-mod-post-actions {
    grid-template-columns: minmax(92px, 1.55fr) repeat(2, minmax(30px, .65fr)) !important;
  }

  .swp-event-core-moderation .swp-mod-post-card.is-featured .swp-mod-post-actions:not(:has(.swp-mod-action-approve)) {
    grid-template-columns: minmax(92px, 1fr) minmax(40px, .42fr) !important;
  }
}

/* Fix finale: il link webApp utente deve restare sempre visibile nel box Pubblico. */
.swp-live-settings-panel[data-active-live-tool="public"] .swp-live-public-qr-block {
  display: grid !important;
  grid-column: auto !important;
}

.swp-live-settings-panel[data-active-live-tool="public"] .swp-live-guest-qr-main {
  display: grid !important;
  min-width: 0 !important;
}

.swp-live-settings-panel[data-active-live-tool="public"] .swp-guest-qr-url-label,
.swp-live-settings-panel[data-active-live-tool="public"] .swp-guest-qr-url,
.swp-live-settings-panel[data-active-live-tool="public"] .swp-guest-qr-url .form-control,
.swp-live-settings-panel[data-active-live-tool="public"] .swp-guest-qr-open {
  visibility: visible !important;
  opacity: 1 !important;
}

.swp-live-settings-panel[data-active-live-tool="public"] .swp-guest-qr-url-label {
  display: block !important;
}

.swp-live-settings-panel[data-active-live-tool="public"] .swp-guest-qr-url {
  display: grid !important;
  width: 100% !important;
}

.swp-live-settings-panel[data-active-live-tool="public"] .swp-guest-qr-url .form-control {
  display: block !important;
  width: 100% !important;
  min-width: 0 !important;
  color: #0f172a !important;
  -webkit-text-fill-color: #0f172a !important;
  background: transparent !important;
  font-size: .72rem !important;
  font-weight: 700 !important;
}

.swp-live-settings-panel[data-active-live-tool="public"] .swp-guest-qr-open {
  display: inline-flex !important;
}

html.swp-theme-dark .swp-live-settings-panel[data-active-live-tool="public"] .swp-guest-qr-url .form-control {
  color: #d8eef4 !important;
  -webkit-text-fill-color: #d8eef4 !important;
}

/* Wall v11.7: nuova logica live, ingresso più scenografico per i post appena online. */
body.swp-wall-premium #wall-stage .layout-mosaic .swp-mosaic-card.is-new-arrival,
body.swp-wall-premium #wall-stage .layout-cards .swp-cards-card.is-new-arrival,
body.swp-wall-premium #wall-stage .layout-celebration .swp-celebration-card.is-new-arrival,
body.swp-wall-premium #wall-stage .swp-screen-post.is-new-arrival {
  z-index: 140 !important;
  animation: swpWallWowCardIn 1.28s cubic-bezier(.18, 1.35, .3, 1) both !important;
  box-shadow:
    0 0 0 clamp(4px, .5cqw, 9px) color-mix(in srgb, var(--swp-primary) 22%, transparent),
    0 clamp(18px, 3.6cqw, 54px) clamp(34px, 6cqw, 88px) rgba(15, 23, 42, .28),
    0 0 clamp(28px, 5cqw, 72px) color-mix(in srgb, var(--swp-secondary) 36%, transparent) !important;
}

body.swp-wall-premium #wall-stage .swp-screen-post.is-new-arrival > .swp-screen-content,
body.swp-wall-premium #wall-stage .swp-screen-post.is-new-arrival > .swp-screen-meta,
body.swp-wall-premium #wall-stage .swp-screen-post.is-new-arrival > .swp-screen-featured-badge {
  animation: swpWallWowInnerLift 1.08s .08s cubic-bezier(.16, 1, .3, 1) both !important;
}

body.swp-wall-premium #wall-stage .swp-arrival-confetti {
  left: -36% !important;
  right: -36% !important;
  bottom: -32% !important;
  height: 112% !important;
  filter:
    drop-shadow(0 16px 20px rgba(15, 23, 42, .2))
    drop-shadow(0 0 18px color-mix(in srgb, var(--swp-primary) 42%, transparent)) !important;
  animation: swpWallWowConfettiBed 2.85s cubic-bezier(.16, 1, .3, 1) both !important;
}

body.swp-wall-premium #wall-stage .swp-arrival-confetti::before {
  content: "WOW";
  position: absolute;
  left: 50%;
  top: 12%;
  z-index: 2;
  display: inline-grid;
  place-items: center;
  padding: clamp(6px, .72cqw, 12px) clamp(11px, 1.2cqw, 18px);
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, .55);
  color: #fff;
  background:
    radial-gradient(circle at 20% 20%, rgba(255,255,255,.42), transparent 34%),
    linear-gradient(135deg, color-mix(in srgb, var(--swp-primary) 78%, #ff4fd8), color-mix(in srgb, var(--swp-secondary) 78%, #f59e0b));
  box-shadow: 0 14px 30px rgba(15, 23, 42, .24), 0 0 28px color-mix(in srgb, var(--swp-primary) 42%, transparent);
  font-size: clamp(.68rem, 1.12cqw, 1.04rem);
  font-weight: 1000;
  letter-spacing: .13em;
  transform: translate(-50%, 24%) scale(.64) rotate(-7deg);
  opacity: 0;
  animation: swpWallWowBadge 1.7s .1s cubic-bezier(.18, 1.35, .3, 1) both;
}

body.swp-wall-premium #wall-stage .swp-arrival-confetti i {
  animation-name: swpWallWowConfettiPiece !important;
  animation-duration: 2.2s !important;
}

@keyframes swpWallWowCardIn {
  0% {
    opacity: 0;
    transform: translate3d(0, clamp(26px, 3.8cqw, 58px), 0) scale(.84) rotate(calc(var(--swp-live-tilt, 0deg) - 2deg));
    filter: saturate(1.32) brightness(1.16);
  }
  42% {
    opacity: 1;
    transform: translate3d(0, clamp(-12px, -1.2cqw, -5px), 0) scale(1.072) rotate(calc(var(--swp-live-tilt, 0deg) + 1deg));
    filter: saturate(1.24) brightness(1.08);
  }
  68% {
    transform: translate3d(0, 4px, 0) scale(.992) rotate(var(--swp-live-tilt, 0deg));
    filter: saturate(1.08) brightness(1.02);
  }
  100% {
    opacity: 1;
    transform: translate3d(0, 0, 0) scale(1) rotate(var(--swp-live-tilt, 0deg));
    filter: none;
  }
}

@keyframes swpWallWowInnerLift {
  0% { opacity: 0; transform: translate3d(0, 14px, 0) scale(.985); }
  42% { opacity: 1; transform: translate3d(0, -4px, 0) scale(1.012); }
  100% { opacity: 1; transform: translate3d(0, 0, 0) scale(1); }
}

@keyframes swpWallWowConfettiBed {
  0% { opacity: 0; transform: translate3d(0, 28px, 0) scale(.76); }
  12% { opacity: 1; }
  72% { opacity: .94; }
  100% { opacity: 0; transform: translate3d(0, -22px, 0) scale(1.18); }
}

@keyframes swpWallWowBadge {
  0% { opacity: 0; transform: translate(-50%, 28%) scale(.56) rotate(-10deg); }
  26% { opacity: 1; transform: translate(-50%, -18%) scale(1.12) rotate(5deg); }
  54% { opacity: 1; transform: translate(-50%, -12%) scale(.98) rotate(-2deg); }
  100% { opacity: 0; transform: translate(-50%, -46%) scale(.86) rotate(7deg); }
}

@keyframes swpWallWowConfettiPiece {
  0% { opacity: 0; transform: translate3d(0, 38px, 0) scale(.42) rotate(0deg); }
  10% { opacity: 1; }
  72% { opacity: .98; }
  100% {
    opacity: 0;
    transform: translate3d(calc(var(--swp-confetti-x, 0) * 1.28), calc(var(--swp-confetti-y, -86px) * 1.26), 0) scale(1.08) rotate(calc(var(--swp-confetti-r, 100deg) + 120deg));
  }
}

@media (prefers-reduced-motion: reduce) {
  body.swp-wall-premium #wall-stage .swp-screen-post.is-new-arrival > .swp-screen-content,
  body.swp-wall-premium #wall-stage .swp-screen-post.is-new-arrival > .swp-screen-meta,
  body.swp-wall-premium #wall-stage .swp-screen-post.is-new-arrival > .swp-screen-featured-badge {
    animation: none !important;
  }
}

/* Wall v11.8: reazioni emoji più grandi e visibili sul monitor. */
body.swp-wall-premium #wall-stage .swp-screen-post .swp-reaction-celebration {
  z-index: 180 !important;
}

body.swp-wall-premium #wall-stage .swp-screen-post .swp-reaction-celebration::before {
  font-size: clamp(5.4rem, 10.8cqw, 13.5rem) !important;
  filter:
    drop-shadow(0 24px 34px rgba(15, 23, 42, .28))
    drop-shadow(0 0 42px rgba(255, 255, 255, .85))
    drop-shadow(0 0 34px color-mix(in srgb, var(--swp-secondary) 40%, transparent)) !important;
  animation: swpWallReactionMegaPop 1.34s cubic-bezier(.16, 1, .3, 1) both !important;
}

body.swp-wall-premium #wall-stage .swp-screen-post .swp-reaction-celebration i {
  font-size: clamp(2.1rem, 4.35cqw, 5.25rem) !important;
  filter:
    drop-shadow(0 16px 24px rgba(15, 23, 42, .24))
    drop-shadow(0 0 22px rgba(255, 255, 255, .68)) !important;
  animation: swpWallReactionMegaFly 1.62s var(--burst-delay) cubic-bezier(.16, .8, .25, 1) both !important;
}

body.swp-wall-premium #wall-stage .swp-screen-post.is-reaction-hit {
  animation: swpWallReactionMegaCardPulse .92s cubic-bezier(.16, 1, .3, 1) both !important;
}

@keyframes swpWallReactionMegaPop {
  0% { opacity: 0; transform: translate(-50%, -50%) scale(.22) rotate(-14deg); }
  20% { opacity: 1; transform: translate(-50%, -50%) scale(1.34) rotate(8deg); }
  52% { opacity: .98; transform: translate(-50%, -50%) scale(1.02) rotate(-2deg); }
  78% { opacity: .9; transform: translate(-50%, -58%) scale(.92) rotate(0deg); }
  100% { opacity: 0; transform: translate(-50%, -78%) scale(.64) rotate(0deg); }
}

@keyframes swpWallReactionMegaFly {
  0% { opacity: 0; transform: translate(-50%, -50%) scale(.22) rotate(0deg); }
  12% { opacity: 1; }
  68% { opacity: .98; }
  100% {
    opacity: 0;
    transform: translate(calc(-50% + var(--burst-x)), calc(-50% + var(--burst-y))) scale(1.22) rotate(var(--burst-rotate));
  }
}

@keyframes swpWallReactionMegaCardPulse {
  0%, 100% { transform: scale(1); filter: none; }
  32% {
    transform: scale(1.048) translateY(-4px);
    filter: saturate(1.2) brightness(1.04);
  }
  62% {
    transform: scale(.992) translateY(1px);
    filter: saturate(1.08);
  }
}

/* Wall v11.9: emoji reaction formato maxi da schermo, non più proporzionate alla sola card. */
body.swp-wall-premium #wall-stage .swp-screen-post .swp-reaction-celebration {
  position: fixed !important;
  z-index: 999 !important;
  inset: 0 !important;
  width: 100vw !important;
  height: 100vh !important;
  pointer-events: none !important;
  overflow: visible !important;
  transform: none !important;
}

body.swp-wall-premium #wall-stage .swp-screen-post .swp-reaction-celebration::before {
  left: 50vw !important;
  top: 50vh !important;
  font-size: clamp(9rem, 22vmin, 30rem) !important;
  line-height: 1 !important;
  filter:
    drop-shadow(0 34px 48px rgba(15, 23, 42, .34))
    drop-shadow(0 0 58px rgba(255, 255, 255, .9))
    drop-shadow(0 0 52px color-mix(in srgb, var(--swp-primary) 46%, transparent)) !important;
  animation: swpWallReactionUltraPop 1.75s cubic-bezier(.16, 1, .3, 1) both !important;
}

body.swp-wall-premium #wall-stage .swp-screen-post .swp-reaction-celebration i {
  left: 50vw !important;
  top: 50vh !important;
  font-size: clamp(3.4rem, 8.4vmin, 12rem) !important;
  line-height: 1 !important;
  filter:
    drop-shadow(0 24px 34px rgba(15, 23, 42, .3))
    drop-shadow(0 0 36px rgba(255, 255, 255, .78)) !important;
  animation: swpWallReactionUltraFly 2.15s var(--burst-delay) cubic-bezier(.16, .8, .25, 1) both !important;
}

body.swp-wall-premium #wall-stage .swp-screen-post.is-reaction-hit {
  animation: swpWallReactionUltraCardPulse 1.06s cubic-bezier(.16, 1, .3, 1) both !important;
}

@keyframes swpWallReactionUltraPop {
  0% { opacity: 0; transform: translate(-50%, -50%) scale(.18) rotate(-16deg); }
  18% { opacity: 1; transform: translate(-50%, -50%) scale(1.42) rotate(9deg); }
  46% { opacity: 1; transform: translate(-50%, -50%) scale(1.08) rotate(-3deg); }
  74% { opacity: .92; transform: translate(-50%, -58%) scale(.96) rotate(0deg); }
  100% { opacity: 0; transform: translate(-50%, -88%) scale(.62) rotate(0deg); }
}

@keyframes swpWallReactionUltraFly {
  0% { opacity: 0; transform: translate(-50%, -50%) scale(.16) rotate(0deg); }
  10% { opacity: 1; }
  72% { opacity: .96; }
  100% {
    opacity: 0;
    transform: translate(calc(-50% + var(--burst-x)), calc(-50% + var(--burst-y))) scale(1.18) rotate(var(--burst-rotate));
  }
}

@keyframes swpWallReactionUltraCardPulse {
  0%, 100% { transform: scale(1); filter: none; }
  30% {
    transform: scale(1.058) translateY(-5px);
    filter: saturate(1.24) brightness(1.05);
  }
  66% {
    transform: scale(.99) translateY(1px);
    filter: saturate(1.08);
  }
}

/* Wall v12.0: burst reaction globale agganciato al body, sempre enorme su monitor. */
body.swp-wall-premium > .swp-wall-reaction-celebration {
  position: fixed !important;
  z-index: 2147483000 !important;
  inset: 0 !important;
  width: 100vw !important;
  height: 100vh !important;
  pointer-events: none !important;
  overflow: visible !important;
  transform: none !important;
}

body.swp-wall-premium > .swp-wall-reaction-celebration::before {
  left: 50vw !important;
  top: 50vh !important;
  font-size: clamp(11rem, 26vmin, 36rem) !important;
  line-height: 1 !important;
  filter:
    drop-shadow(0 40px 54px rgba(15, 23, 42, .38))
    drop-shadow(0 0 72px rgba(255, 255, 255, .94))
    drop-shadow(0 0 64px color-mix(in srgb, var(--swp-secondary) 48%, transparent)) !important;
  animation: swpWallReactionUltraPop 1.85s cubic-bezier(.16, 1, .3, 1) both !important;
}

body.swp-wall-premium > .swp-wall-reaction-celebration i {
  left: 50vw !important;
  top: 50vh !important;
  font-size: clamp(4.2rem, 9.8vmin, 14rem) !important;
  line-height: 1 !important;
  filter:
    drop-shadow(0 28px 38px rgba(15, 23, 42, .32))
    drop-shadow(0 0 42px rgba(255, 255, 255, .82)) !important;
  animation: swpWallReactionUltraFly 2.25s var(--burst-delay) cubic-bezier(.16, .8, .25, 1) both !important;
}

/* WebApp v12.1: composer stile social premium. */
body.swp-public-app .swp-public-composer {
  position: relative;
  display: grid;
  gap: 14px;
  margin-top: clamp(14px, 3vw, 24px);
}

body.swp-public-app .swp-social-composer-title {
  align-items: center;
  margin-bottom: 0 !important;
}

body.swp-public-app .swp-social-composer-title h2 {
  letter-spacing: -.04em;
}

body.swp-public-app .swp-social-composer-grid {
  display: block !important;
}

body.swp-public-app .swp-social-composer-card {
  position: relative;
  isolation: isolate;
  display: grid;
  gap: clamp(13px, 2vw, 18px);
  padding: clamp(15px, 3.8vw, 24px) !important;
  overflow: hidden;
  border: 1px solid color-mix(in srgb, var(--swp-primary) 16%, rgba(226, 232, 240, .92)) !important;
  border-radius: clamp(26px, 6vw, 38px) !important;
  color: #0f172a;
  background:
    radial-gradient(circle at 14% 0%, color-mix(in srgb, var(--swp-primary) 16%, transparent), transparent 34%),
    radial-gradient(circle at 95% 6%, color-mix(in srgb, var(--swp-secondary) 12%, transparent), transparent 30%),
    linear-gradient(180deg, rgba(255,255,255,.98), rgba(248,250,252,.96)) !important;
  box-shadow:
    0 28px 68px rgba(15, 23, 42, .13),
    inset 0 1px 0 rgba(255, 255, 255, .92) !important;
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
}

body.swp-public-app .swp-social-composer-card::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background:
    linear-gradient(120deg, transparent 0%, rgba(255,255,255,.7) 22%, transparent 44%),
    radial-gradient(circle at 50% 100%, rgba(255,255,255,.84), transparent 38%);
  opacity: .64;
}

body.swp-public-app .swp-social-composer-card.is-writing,
body.swp-public-app .swp-social-composer-card.is-ready,
body.swp-public-app .swp-social-composer-card:focus-within {
  border-color: color-mix(in srgb, var(--swp-primary) 42%, rgba(226,232,240,.96)) !important;
  box-shadow:
    0 30px 80px color-mix(in srgb, var(--swp-primary) 15%, rgba(15, 23, 42, .14)),
    0 0 0 5px color-mix(in srgb, var(--swp-primary) 10%, transparent),
    inset 0 1px 0 rgba(255, 255, 255, .94) !important;
}

body.swp-public-app .swp-social-composer-head {
  display: grid !important;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
}

body.swp-public-app .swp-social-avatar {
  width: clamp(48px, 12vw, 62px) !important;
  height: clamp(48px, 12vw, 62px) !important;
  display: inline-grid !important;
  place-items: center;
  border: 3px solid rgba(255,255,255,.92);
  border-radius: 50%;
  color: var(--swp-on-primary, #fff) !important;
  background:
    radial-gradient(circle at 30% 24%, rgba(255,255,255,.38), transparent 32%),
    linear-gradient(135deg, var(--swp-primary), color-mix(in srgb, var(--swp-secondary) 74%, var(--swp-primary))) !important;
  box-shadow: 0 14px 28px color-mix(in srgb, var(--swp-primary) 24%, rgba(15,23,42,.18));
  font-size: clamp(1rem, 4vw, 1.35rem);
  font-weight: 900;
}

body.swp-public-app .swp-social-composer-head strong {
  display: block;
  max-width: 100%;
  overflow: hidden;
  color: #0f172a !important;
  font-size: clamp(1rem, 4vw, 1.16rem) !important;
  font-weight: 900 !important;
  letter-spacing: -.035em;
  text-overflow: ellipsis;
  white-space: nowrap;
}

body.swp-public-app .swp-social-composer-head small {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  color: #64748b !important;
  font-size: .78rem !important;
  font-weight: 700;
}

body.swp-public-app .swp-social-audience-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  min-height: 34px;
  padding: 0 11px;
  border: 1px solid color-mix(in srgb, var(--swp-primary) 18%, rgba(226,232,240,.9));
  border-radius: 999px;
  color: color-mix(in srgb, var(--swp-primary) 78%, #0f172a);
  background: color-mix(in srgb, var(--swp-primary) 8%, rgba(255,255,255,.9));
  font-size: .74rem;
  font-weight: 900;
  white-space: nowrap;
}

body.swp-public-app .swp-social-input-surface {
  display: grid;
  gap: 10px;
  padding: clamp(12px, 3.4vw, 18px);
  border: 1px solid rgba(226,232,240,.92);
  border-radius: clamp(22px, 5vw, 30px);
  background: rgba(255,255,255,.88);
  box-shadow:
    0 16px 34px rgba(15, 23, 42, .06),
    inset 0 1px 0 rgba(255,255,255,.92);
  transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}

body.swp-public-app .swp-social-composer-card:focus-within .swp-social-input-surface {
  border-color: color-mix(in srgb, var(--swp-primary) 36%, rgba(226,232,240,.96));
  box-shadow:
    0 18px 42px color-mix(in srgb, var(--swp-primary) 10%, rgba(15, 23, 42, .08)),
    inset 0 1px 0 rgba(255,255,255,.96);
  transform: translateY(-1px);
}

body.swp-public-app .swp-public-composer textarea.form-control.swp-social-message-input {
  min-height: clamp(126px, 28vw, 174px) !important;
  padding: 0 !important;
  border: 0 !important;
  color: #0f172a !important;
  background: transparent !important;
  box-shadow: none !important;
  resize: none;
  font-size: clamp(1.12rem, 4.9vw, 1.44rem) !important;
  font-weight: 750;
  line-height: 1.2 !important;
  letter-spacing: -.035em;
}

body.swp-public-app .swp-public-composer textarea.form-control.swp-social-message-input::placeholder {
  color: rgba(100,116,139,.42) !important;
  font-weight: 750 !important;
}

body.swp-public-app .swp-message-count-row {
  display: flex !important;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin: 0 !important;
}

body.swp-public-app .swp-character-count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 58px;
  padding: 7px 10px;
  border-radius: 999px;
  color: #64748b;
  background: #f1f5f9;
  font-size: .76rem;
  font-weight: 900;
}

body.swp-public-app .swp-character-count.is-warning {
  color: #92400e;
  background: #fff7ed;
}

body.swp-public-app .swp-character-count.is-danger {
  color: #991b1b;
  background: #fee2e2;
}

body.swp-public-app .swp-author-hashtag-pill {
  max-width: min(64vw, 260px);
  min-height: 34px;
  padding: 7px 11px !important;
  border: 1px solid color-mix(in srgb, var(--swp-primary) 18%, rgba(226,232,240,.9)) !important;
  color: color-mix(in srgb, var(--swp-primary) 80%, #0f172a) !important;
  background: color-mix(in srgb, var(--swp-primary) 8%, #fff) !important;
  box-shadow: none !important;
  font-size: .76rem !important;
  font-weight: 900;
}

body.swp-public-app .swp-social-quick-row {
  display: flex;
  align-items: center;
  gap: 8px;
  overflow-x: auto;
  padding: 2px 1px 4px;
  scrollbar-width: none;
}

body.swp-public-app .swp-social-quick-row::-webkit-scrollbar {
  display: none;
}

body.swp-public-app .swp-social-quick-row > span {
  flex: 0 0 auto;
  color: #64748b;
  font-size: .72rem;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .08em;
}

body.swp-public-app .swp-social-quick-row .btn {
  flex: 0 0 auto;
  min-height: 34px !important;
  padding: 0 11px !important;
  border: 1px solid rgba(226,232,240,.92) !important;
  border-radius: 999px !important;
  color: #334155 !important;
  background: rgba(255,255,255,.82) !important;
  box-shadow: 0 8px 18px rgba(15,23,42,.05);
  font-size: .76rem !important;
  font-weight: 900 !important;
}

body.swp-public-app .swp-social-quick-row .btn:hover,
body.swp-public-app .swp-social-quick-row .btn:focus-visible,
body.swp-public-app .swp-social-quick-row .btn.is-selected {
  color: var(--swp-on-primary, #fff) !important;
  border-color: transparent !important;
  background: linear-gradient(135deg, var(--swp-primary), color-mix(in srgb, var(--swp-secondary) 82%, var(--swp-primary))) !important;
}

body.swp-public-app .swp-social-hashtags {
  display: grid;
  gap: 8px;
  padding: 12px;
  border: 1px dashed rgba(148,163,184,.42);
  border-radius: 20px;
  background: rgba(248,250,252,.72);
}

body.swp-public-app .swp-social-hashtag-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  color: #334155;
  font-size: .78rem;
  font-weight: 900;
}

body.swp-public-app .swp-social-hashtag-head small {
  color: #94a3b8;
  font-size: .7rem;
  font-weight: 800;
}

body.swp-public-app .swp-hashtag-input-group {
  overflow: hidden;
  border: 1px solid rgba(226,232,240,.9);
  border-radius: 16px;
  background: #fff;
}

body.swp-public-app .swp-hashtag-input-group .input-group-text,
body.swp-public-app .swp-hashtag-input-group .form-control {
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.swp-public-app .swp-hashtag-input-group .form-control {
  min-height: 42px;
  color: #0f172a !important;
  font-size: .9rem;
  font-weight: 800;
}

body.swp-public-app .swp-social-composer-tools {
  display: grid !important;
  gap: 10px;
  padding-top: 2px;
}

body.swp-public-app .swp-social-tool-actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}

body.swp-public-app .swp-social-tool-btn {
  min-height: 48px !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: 9px;
  padding: 0 13px !important;
  border: 1px solid color-mix(in srgb, var(--swp-primary) 18%, rgba(226,232,240,.92)) !important;
  border-radius: 18px !important;
  color: color-mix(in srgb, var(--swp-primary) 82%, #0f172a) !important;
  background: color-mix(in srgb, var(--swp-primary) 7%, #fff) !important;
  box-shadow: 0 12px 24px rgba(15,23,42,.06);
  font-size: .9rem !important;
  font-weight: 950 !important;
  cursor: pointer;
}

body.swp-public-app .swp-social-tool-btn.is-ghost {
  color: #334155 !important;
  border-color: rgba(226,232,240,.92) !important;
  background: rgba(255,255,255,.78) !important;
}

body.swp-public-app .swp-social-tool-btn.is-attached,
body.swp-public-app .swp-social-tool-btn:hover,
body.swp-public-app .swp-social-tool-btn:focus-visible {
  color: var(--swp-on-primary, #fff) !important;
  border-color: transparent !important;
  background: linear-gradient(135deg, var(--swp-primary), color-mix(in srgb, var(--swp-secondary) 76%, var(--swp-primary))) !important;
  outline: none;
}

body.swp-public-app .swp-social-helper {
  color: #64748b !important;
  font-size: .78rem !important;
  font-weight: 750 !important;
  line-height: 1.35;
}

body.swp-public-app .swp-upload-preview {
  min-height: 0;
}

body.swp-public-app .swp-upload-preview:empty {
  display: none;
}

body.swp-public-app .swp-upload-preview figure {
  overflow: hidden !important;
  margin: 0 !important;
  border: 1px solid rgba(226,232,240,.86) !important;
  border-radius: 24px !important;
  background:
    radial-gradient(circle at 20% 16%, color-mix(in srgb, var(--swp-primary) 12%, transparent), transparent 34%),
    #f8fafc !important;
  box-shadow: 0 18px 40px rgba(15,23,42,.1) !important;
}

body.swp-public-app .swp-upload-preview img {
  width: 100% !important;
  height: clamp(210px, 54vw, 340px) !important;
  object-fit: contain !important;
  background: #eef4f8;
}

body.swp-public-app .swp-upload-preview figcaption {
  display: flex !important;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 10px 11px !important;
  background: rgba(255,255,255,.88) !important;
  color: #334155 !important;
  font-size: .76rem !important;
  font-weight: 850 !important;
}

body.swp-public-app .swp-upload-preview .swp-remove-upload {
  width: 34px !important;
  height: 34px !important;
  min-width: 34px !important;
  min-height: 34px !important;
  padding: 0 !important;
  border-radius: 50% !important;
  color: #0f172a !important;
  background: #f1f5f9 !important;
}

body.swp-public-app .swp-social-submit-dock {
  display: grid !important;
  gap: 10px;
  margin: 0 !important;
  padding-top: 2px;
}

body.swp-public-app .swp-social-submit-dock .form-feedback:empty {
  display: none;
}

body.swp-public-app .swp-social-submit-dock .attendee-entry-submit {
  width: 100%;
  min-height: 56px !important;
  border: 0 !important;
  border-radius: 20px !important;
  color: var(--swp-on-primary, #fff) !important;
  background:
    radial-gradient(circle at 20% 20%, rgba(255,255,255,.26), transparent 32%),
    linear-gradient(135deg, var(--swp-primary), color-mix(in srgb, var(--swp-secondary) 84%, var(--swp-primary))) !important;
  box-shadow: 0 18px 34px color-mix(in srgb, var(--swp-primary) 27%, rgba(15,23,42,.2)) !important;
  font-size: 1rem !important;
  font-weight: 1000 !important;
}

body.swp-public-app .swp-social-composer-card.is-compressing {
  opacity: .88;
}

@media (max-width: 575.98px) {
  body.swp-public-app .swp-social-composer-card {
    margin-inline: -2px;
    border-radius: 28px !important;
  }

  body.swp-public-app .swp-social-composer-head {
    grid-template-columns: auto minmax(0, 1fr);
  }

  body.swp-public-app .swp-social-audience-pill {
    grid-column: 1 / -1;
    justify-self: start;
  }

body.swp-public-app .swp-social-tool-actions {
    grid-template-columns: 1fr;
  }
}

/* WebApp v12.2: infinite scroll del feed pubblico. */
body.swp-public-app .swp-public-feed-more,
body.swp-public-app .swp-public-feed-end {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  min-height: 54px;
  margin: 14px 0 4px;
  padding: 12px 14px;
  border: 1px solid rgba(226, 232, 240, .9);
  border-radius: 20px;
  color: #64748b;
  background:
    radial-gradient(circle at 18% 10%, color-mix(in srgb, var(--swp-primary) 8%, transparent), transparent 34%),
    rgba(255, 255, 255, .86);
  box-shadow: 0 14px 30px rgba(15, 23, 42, .06);
  font-size: .84rem;
  font-weight: 900;
}

body.swp-public-app .swp-public-feed-more .spinner-border {
  width: 1rem;
  height: 1rem;
  color: var(--swp-primary);
}

body.swp-public-app .swp-public-feed-more.is-loading {
  border-color: color-mix(in srgb, var(--swp-primary) 22%, rgba(226,232,240,.9));
  color: color-mix(in srgb, var(--swp-primary) 78%, #0f172a);
}

body.swp-public-app .swp-public-feed-end {
  color: #475569;
  background: rgba(248, 250, 252, .88);
}

body.swp-public-app .swp-public-feed-end .bi {
  color: #16a34a;
}

/* WebApp v12.3: Scrivi sempre raggiungibile anche con infinite scroll attivo. */
body.swp-public-app [data-public-webapp]:not([hidden]) #public-post-form {
  display: grid !important;
  visibility: visible !important;
  opacity: 1 !important;
}

body.swp-public-app [data-public-webapp]:not([hidden]) .swp-public-mobile-nav [data-public-mobile-tab="compose"] {
  display: inline-flex !important;
  visibility: visible !important;
  opacity: 1 !important;
}

body.swp-public-app [data-public-webapp]:not([hidden]) #public-feed-section {
  margin-top: clamp(18px, 4vw, 30px);
}

/* WebApp v12.4: composer più pulita, senza tag rapidi né pulsante Scrivi ridondante. */
body.swp-public-app .swp-social-quick-row,
body.swp-public-app [data-public-webapp]:not([hidden]) .swp-social-quick-row {
  display: none !important;
}

body.swp-public-app .swp-social-composer-head,
body.swp-public-app [data-public-webapp]:not([hidden]) .swp-social-composer-head {
  grid-template-columns: auto minmax(0, 1fr) !important;
}

body.swp-public-app .swp-social-input-surface {
  position: relative;
  padding-top: clamp(44px, 9vw, 56px) !important;
}

body.swp-public-app .swp-social-input-surface .swp-social-audience-pill {
  position: absolute;
  top: 12px;
  right: 12px;
  min-height: 30px;
  padding: 0 10px;
  color: #0f172a;
  border-color: color-mix(in srgb, var(--swp-primary) 18%, rgba(226,232,240,.95));
  background:
    radial-gradient(circle at 20% 18%, rgba(255,255,255,.9), transparent 34%),
    color-mix(in srgb, var(--swp-primary) 9%, #fff);
  box-shadow: 0 10px 22px rgba(15,23,42,.06);
  font-size: .72rem;
}

body.swp-public-app .swp-social-tool-actions,
body.swp-public-app [data-public-webapp]:not([hidden]) .swp-social-tool-actions {
  grid-template-columns: minmax(0, 1fr) !important;
}

body.swp-public-app .swp-social-tool-btn,
body.swp-public-app [data-public-webapp]:not([hidden]) .swp-social-tool-btn {
  min-height: 62px !important;
  justify-content: flex-start !important;
  padding: 9px 13px !important;
  border-radius: 22px !important;
  text-align: left;
}

body.swp-public-app .swp-social-tool-btn > span:not(.swp-social-tool-icon) {
  display: grid;
  gap: 2px;
  min-width: 0;
}

body.swp-public-app .swp-social-tool-btn strong {
  display: block;
  color: inherit;
  font-size: .96rem;
  font-weight: 1000;
  line-height: 1;
}

body.swp-public-app .swp-social-tool-btn small {
  display: block;
  color: color-mix(in srgb, currentColor 62%, #64748b);
  font-size: .72rem;
  font-weight: 800;
  line-height: 1.15;
}

body.swp-public-app .swp-social-tool-icon {
  width: 42px;
  height: 42px;
  min-width: 42px;
  display: inline-grid;
  place-items: center;
  border-radius: 16px;
  color: var(--swp-on-primary, #fff);
  background:
    radial-gradient(circle at 28% 22%, rgba(255,255,255,.34), transparent 34%),
    linear-gradient(135deg, var(--swp-primary), color-mix(in srgb, var(--swp-secondary) 76%, var(--swp-primary)));
  box-shadow: 0 12px 22px color-mix(in srgb, var(--swp-primary) 22%, rgba(15,23,42,.16));
  font-size: 1.15rem;
}

body.swp-public-app .swp-social-tool-btn.is-attached .swp-social-tool-icon,
body.swp-public-app .swp-social-tool-btn:hover .swp-social-tool-icon,
body.swp-public-app .swp-social-tool-btn:focus-visible .swp-social-tool-icon {
  color: #0f172a;
  background: rgba(255,255,255,.92);
}

/* WebApp v12.5: composer minimal premium, più compatta e meno form. */
body.swp-public-app [data-public-webapp]:not([hidden]) .swp-public-composer,
body.swp-public-app .swp-public-composer {
  gap: 10px !important;
}

body.swp-public-app [data-public-webapp]:not([hidden]) .swp-social-composer-card,
body.swp-public-app .swp-social-composer-card {
  gap: 10px !important;
  padding: clamp(12px, 3vw, 16px) !important;
  border-radius: clamp(22px, 5vw, 30px) !important;
  background:
    radial-gradient(circle at 18% 0%, color-mix(in srgb, var(--swp-primary) 10%, transparent), transparent 30%),
    linear-gradient(180deg, rgba(255,255,255,.98), rgba(248,250,252,.96)) !important;
  box-shadow:
    0 18px 48px rgba(15,23,42,.1),
    inset 0 1px 0 rgba(255,255,255,.95) !important;
}

body.swp-public-app [data-public-webapp]:not([hidden]) .swp-social-composer-head,
body.swp-public-app .swp-social-composer-head {
  min-height: 36px !important;
  gap: 9px !important;
}

body.swp-public-app [data-public-webapp]:not([hidden]) .swp-social-avatar,
body.swp-public-app .swp-social-avatar {
  width: 38px !important;
  height: 38px !important;
  min-width: 38px !important;
  font-size: .84rem !important;
  border-width: 2px !important;
}

body.swp-public-app [data-public-webapp]:not([hidden]) .swp-social-composer-head strong,
body.swp-public-app .swp-social-composer-head strong {
  font-size: .94rem !important;
  letter-spacing: -.025em;
}

body.swp-public-app .swp-social-input-surface,
body.swp-public-app [data-public-webapp]:not([hidden]) .swp-social-input-surface {
  gap: 7px !important;
  padding: 38px 12px 10px !important;
  border-radius: 22px !important;
  box-shadow:
    0 10px 24px rgba(15,23,42,.045),
    inset 0 1px 0 rgba(255,255,255,.94) !important;
}

body.swp-public-app .swp-social-input-surface .swp-social-audience-pill {
  top: 9px;
  right: 10px;
  min-height: 25px;
  padding: 0 9px;
  font-size: .66rem;
  letter-spacing: .01em;
}

body.swp-public-app .swp-public-composer textarea.form-control.swp-social-message-input,
body.swp-public-app [data-public-webapp]:not([hidden]) .swp-public-composer textarea.form-control.swp-social-message-input {
  min-height: clamp(74px, 19vw, 104px) !important;
  padding: 0 !important;
  font-size: clamp(1rem, 4.2vw, 1.18rem) !important;
  line-height: 1.24 !important;
}

body.swp-public-app .swp-message-count-row,
body.swp-public-app [data-public-webapp]:not([hidden]) .swp-message-count-row {
  margin-top: 0 !important;
}

body.swp-public-app .swp-author-hashtag-pill,
body.swp-public-app [data-public-webapp]:not([hidden]) .swp-author-hashtag-pill {
  min-height: 28px !important;
  max-width: min(54vw, 220px);
  padding: 5px 9px !important;
  font-size: .68rem !important;
}

body.swp-public-app .swp-character-count,
body.swp-public-app [data-public-webapp]:not([hidden]) .swp-character-count {
  min-width: 48px;
  min-height: 28px;
  padding: 5px 8px;
  font-size: .68rem !important;
}

body.swp-public-app .swp-social-composer-tools,
body.swp-public-app [data-public-webapp]:not([hidden]) .swp-social-composer-tools {
  gap: 8px !important;
  padding-top: 0 !important;
}

body.swp-public-app .swp-social-tool-actions,
body.swp-public-app [data-public-webapp]:not([hidden]) .swp-social-tool-actions {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 8px !important;
}

body.swp-public-app .swp-social-tool-btn,
body.swp-public-app [data-public-webapp]:not([hidden]) .swp-social-tool-btn {
  min-height: 48px !important;
  justify-content: flex-start !important;
  gap: 8px !important;
  padding: 7px 9px !important;
  border-radius: 16px !important;
  box-shadow: 0 8px 18px rgba(15,23,42,.045) !important;
}

body.swp-public-app .swp-social-tool-icon {
  width: 32px !important;
  height: 32px !important;
  min-width: 32px !important;
  border-radius: 12px !important;
  font-size: .94rem !important;
}

body.swp-public-app .swp-social-tool-icon.is-muted {
  color: #475569;
  background:
    radial-gradient(circle at 28% 22%, rgba(255,255,255,.72), transparent 34%),
    #eef2f7;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.9);
}

body.swp-public-app .swp-social-tool-btn strong {
  font-size: .82rem !important;
}

body.swp-public-app .swp-social-tool-btn small {
  font-size: .64rem !important;
}

body.swp-public-app .swp-social-hashtags-collapse {
  margin-top: -2px;
}

body.swp-public-app .swp-social-hashtags,
body.swp-public-app [data-public-webapp]:not([hidden]) .swp-social-hashtags {
  padding: 8px !important;
  border-radius: 16px !important;
  border-style: solid !important;
  background: rgba(255,255,255,.72) !important;
}

body.swp-public-app .swp-hashtag-input-group .form-control,
body.swp-public-app [data-public-webapp]:not([hidden]) .swp-hashtag-input-group .form-control {
  min-height: 38px !important;
  font-size: .82rem !important;
}

body.swp-public-app .swp-social-helper,
body.swp-public-app [data-public-webapp]:not([hidden]) .swp-social-helper {
  color: #94a3b8 !important;
  font-size: .68rem !important;
  line-height: 1.2 !important;
}

body.swp-public-app .swp-social-submit-dock,
body.swp-public-app [data-public-webapp]:not([hidden]) .swp-social-submit-dock {
  display: flex !important;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding-top: 0 !important;
}

body.swp-public-app .swp-social-submit-dock .form-feedback {
  min-width: 0;
  flex: 1 1 auto;
}

body.swp-public-app .swp-social-submit-dock .attendee-entry-submit,
body.swp-public-app [data-public-webapp]:not([hidden]) .swp-social-submit-dock .attendee-entry-submit {
  width: auto !important;
  min-width: 126px !important;
  min-height: 46px !important;
  padding-inline: 18px !important;
  border-radius: 999px !important;
  font-size: .92rem !important;
  box-shadow: 0 14px 28px color-mix(in srgb, var(--swp-primary) 22%, rgba(15,23,42,.16)) !important;
}

@media (max-width: 420px) {
  body.swp-public-app .swp-social-tool-btn small {
    display: none;
  }

  body.swp-public-app .swp-social-submit-dock .attendee-entry-submit {
    min-width: 112px !important;
    padding-inline: 14px !important;
  }
}

/* WebApp v12.6: hashtag inline stile chat, senza bottone/campo tag separato. */
body.swp-public-app #public-tags-collapse,
body.swp-public-app .swp-social-hashtags-collapse {
  display: none !important;
}

body.swp-public-app .swp-message-hashtag-preview,
body.swp-public-app [data-public-webapp]:not([hidden]) .swp-message-hashtag-preview {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 6px;
  min-height: 0;
  margin: -1px 0 1px;
}

body.swp-public-app .swp-message-hashtag-preview[hidden],
body.swp-public-app [data-public-webapp]:not([hidden]) .swp-message-hashtag-preview[hidden] {
  display: none !important;
}

body.swp-public-app .swp-message-hashtag-preview span,
body.swp-public-app [data-public-webapp]:not([hidden]) .swp-message-hashtag-preview span {
  display: inline-flex;
  align-items: center;
  gap: 2px;
  min-height: 25px;
  padding: 4px 9px 4px 7px;
  border: 1px solid color-mix(in srgb, var(--swp-primary) 22%, rgba(226,232,240,.96));
  border-radius: 999px;
  color: color-mix(in srgb, var(--swp-primary) 78%, #0f172a);
  background:
    radial-gradient(circle at 18% 18%, rgba(255,255,255,.92), transparent 36%),
    color-mix(in srgb, var(--swp-primary) 8%, #fff);
  box-shadow: 0 8px 18px rgba(15,23,42,.045);
  font-size: .7rem;
  font-weight: 950;
  line-height: 1;
  animation: swpInlineHashtagPop .18s ease-out both;
}

body.swp-public-app .swp-message-hashtag-preview .bi {
  font-size: .82rem;
}

body.swp-public-app .swp-social-composer-card.has-inline-tags .swp-social-input-surface,
body.swp-public-app [data-public-webapp]:not([hidden]) .swp-social-composer-card.has-inline-tags .swp-social-input-surface {
  border-color: color-mix(in srgb, var(--swp-primary) 20%, rgba(226,232,240,.96)) !important;
  box-shadow:
    0 12px 28px color-mix(in srgb, var(--swp-primary) 8%, rgba(15,23,42,.07)),
    inset 0 1px 0 rgba(255,255,255,.96) !important;
}

body.swp-public-app .swp-social-tool-actions,
body.swp-public-app [data-public-webapp]:not([hidden]) .swp-social-tool-actions {
  display: flex !important;
  align-items: center;
  justify-content: flex-start;
}

body.swp-public-app .swp-social-tool-btn,
body.swp-public-app [data-public-webapp]:not([hidden]) .swp-social-tool-btn {
  width: auto !important;
  min-width: 0 !important;
  min-height: 44px !important;
  padding: 6px 12px 6px 7px !important;
  border-radius: 999px !important;
  background: rgba(255,255,255,.82) !important;
}

body.swp-public-app .swp-social-tool-btn small,
body.swp-public-app [data-public-webapp]:not([hidden]) .swp-social-tool-btn small {
  display: none !important;
}

body.swp-public-app .swp-social-tool-icon,
body.swp-public-app [data-public-webapp]:not([hidden]) .swp-social-tool-icon {
  width: 31px !important;
  height: 31px !important;
  min-width: 31px !important;
  border-radius: 50% !important;
}

body.swp-public-app .swp-social-helper,
body.swp-public-app [data-public-webapp]:not([hidden]) .swp-social-helper {
  padding-left: 2px;
}

@keyframes swpInlineHashtagPop {
  from {
    opacity: 0;
    transform: translateY(4px) scale(.94);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

/* Wall v12.7: ingresso card più premium e reazioni agganciate alla card, non al centro monitor. */
body.swp-wall-premium #wall-stage .layout-mosaic .swp-mosaic-card.is-new-arrival,
body.swp-wall-premium #wall-stage .layout-cards .swp-cards-card.is-new-arrival,
body.swp-wall-premium #wall-stage .layout-celebration .swp-celebration-card.is-new-arrival,
body.swp-wall-premium #wall-stage .swp-screen-post.is-new-arrival {
  position: relative !important;
  z-index: 130 !important;
  overflow: visible !important;
  transform-origin: 50% 64% !important;
  animation: swpWallPremiumCardArrival 1.18s cubic-bezier(.16, 1, .3, 1) both !important;
  filter: saturate(1.04) !important;
}

body.swp-wall-premium #wall-stage .swp-screen-post.is-new-arrival::before {
  content: "" !important;
  position: absolute !important;
  z-index: 1 !important;
  inset: max(-12px, -1.1cqw) !important;
  border-radius: inherit !important;
  pointer-events: none !important;
  background:
    linear-gradient(135deg, color-mix(in srgb, var(--swp-primary) 58%, transparent), rgba(255,255,255,.9), color-mix(in srgb, var(--swp-secondary) 42%, transparent)),
    radial-gradient(circle at 26% 18%, rgba(255,255,255,.9), transparent 30%) !important;
  opacity: 0 !important;
  filter:
    blur(.2px)
    drop-shadow(0 0 26px color-mix(in srgb, var(--swp-primary) 28%, transparent))
    drop-shadow(0 0 22px rgba(255,255,255,.72)) !important;
  animation: swpWallPremiumArrivalHalo 1.42s cubic-bezier(.16, 1, .3, 1) both !important;
}

body.swp-wall-premium #wall-stage .swp-screen-post.is-new-arrival > .swp-screen-content,
body.swp-wall-premium #wall-stage .swp-screen-post.is-new-arrival > .swp-screen-meta,
body.swp-wall-premium #wall-stage .swp-screen-post.is-new-arrival > .swp-screen-featured-badge {
  position: relative !important;
  z-index: 4 !important;
  animation: swpWallPremiumArrivalContent .82s .08s cubic-bezier(.16, 1, .3, 1) both !important;
}

body.swp-wall-premium #wall-stage .swp-arrival-confetti {
  position: absolute !important;
  z-index: 3 !important;
  inset: 0 !important;
  width: auto !important;
  height: auto !important;
  left: 0 !important;
  right: 0 !important;
  top: 0 !important;
  bottom: 0 !important;
  opacity: 1 !important;
  overflow: visible !important;
  border-radius: inherit !important;
  filter: none !important;
  pointer-events: none !important;
  animation: none !important;
}

body.swp-wall-premium #wall-stage .swp-arrival-confetti::before {
  content: "" !important;
  position: absolute !important;
  inset: 9% 8% auto !important;
  height: 46% !important;
  border-radius: 999px !important;
  background:
    linear-gradient(100deg, transparent 0%, rgba(255,255,255,.82) 46%, transparent 72%),
    radial-gradient(ellipse at center, color-mix(in srgb, var(--swp-primary) 12%, transparent), transparent 70%) !important;
  opacity: 0 !important;
  filter: blur(8px) !important;
  transform: translateX(-36%) rotate(-7deg) !important;
  animation: swpWallPremiumArrivalSheen 1.08s .1s ease-out both !important;
}

body.swp-wall-premium #wall-stage .swp-arrival-confetti i {
  position: absolute !important;
  display: block !important;
  width: clamp(5px, .55cqw, 11px) !important;
  height: clamp(5px, .55cqw, 11px) !important;
  left: 50% !important;
  top: 50% !important;
  bottom: auto !important;
  border-radius: 999px !important;
  background:
    radial-gradient(circle at 30% 26%, rgba(255,255,255,.95), transparent 36%),
    color-mix(in srgb, var(--swp-primary) 68%, #fff) !important;
  opacity: 0 !important;
  box-shadow: 0 0 18px color-mix(in srgb, var(--swp-primary) 24%, transparent) !important;
  transform-origin: center !important;
  animation: swpWallPremiumArrivalSpark 1.16s var(--swp-spark-delay, .06s) cubic-bezier(.16, 1, .3, 1) both !important;
}

body.swp-wall-premium #wall-stage .swp-arrival-confetti i:nth-child(1)  { --swp-spark-x: -42%; --swp-spark-y: -38%; --swp-spark-delay: .03s; }
body.swp-wall-premium #wall-stage .swp-arrival-confetti i:nth-child(2)  { --swp-spark-x: -18%; --swp-spark-y: -48%; --swp-spark-delay: .09s; background: color-mix(in srgb, var(--swp-secondary) 62%, #fff) !important; }
body.swp-wall-premium #wall-stage .swp-arrival-confetti i:nth-child(3)  { --swp-spark-x: 22%; --swp-spark-y: -42%; --swp-spark-delay: .15s; }
body.swp-wall-premium #wall-stage .swp-arrival-confetti i:nth-child(4)  { --swp-spark-x: 44%; --swp-spark-y: -18%; --swp-spark-delay: .2s; background: rgba(255,255,255,.95) !important; }
body.swp-wall-premium #wall-stage .swp-arrival-confetti i:nth-child(5)  { --swp-spark-x: 36%; --swp-spark-y: 26%; --swp-spark-delay: .26s; background: color-mix(in srgb, var(--swp-secondary) 54%, #fff) !important; }
body.swp-wall-premium #wall-stage .swp-arrival-confetti i:nth-child(6)  { --swp-spark-x: 8%; --swp-spark-y: 42%; --swp-spark-delay: .31s; }
body.swp-wall-premium #wall-stage .swp-arrival-confetti i:nth-child(7)  { --swp-spark-x: -28%; --swp-spark-y: 34%; --swp-spark-delay: .22s; background: rgba(255,255,255,.95) !important; }
body.swp-wall-premium #wall-stage .swp-arrival-confetti i:nth-child(8)  { --swp-spark-x: -46%; --swp-spark-y: 4%; --swp-spark-delay: .14s; background: color-mix(in srgb, var(--swp-secondary) 50%, #fff) !important; }
body.swp-wall-premium #wall-stage .swp-arrival-confetti i:nth-child(n + 9) {
  display: none !important;
}

body.swp-wall-premium #wall-stage .swp-screen-post > .swp-wall-reaction-celebration,
body.swp-wall-premium #wall-stage .swp-screen-post .swp-reaction-celebration.swp-wall-reaction-celebration {
  position: absolute !important;
  z-index: 260 !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  left: auto !important;
  top: auto !important;
  bottom: auto !important;
  overflow: visible !important;
  pointer-events: none !important;
  transform: none !important;
}

body.swp-wall-premium #wall-stage .swp-screen-post > .swp-wall-reaction-celebration::before,
body.swp-wall-premium #wall-stage .swp-screen-post .swp-reaction-celebration.swp-wall-reaction-celebration::before {
  left: 50% !important;
  top: 50% !important;
  font-size: clamp(5.4rem, 12cqw, 14rem) !important;
  line-height: 1 !important;
  filter:
    drop-shadow(0 22px 30px rgba(15,23,42,.3))
    drop-shadow(0 0 46px rgba(255,255,255,.92))
    drop-shadow(0 0 34px color-mix(in srgb, var(--swp-primary) 35%, transparent)) !important;
  animation: swpWallCardReactionPop 1.42s cubic-bezier(.16, 1, .3, 1) both !important;
}

body.swp-wall-premium #wall-stage .swp-screen-post > .swp-wall-reaction-celebration i,
body.swp-wall-premium #wall-stage .swp-screen-post .swp-reaction-celebration.swp-wall-reaction-celebration i {
  left: 50% !important;
  top: 50% !important;
  font-size: clamp(2.1rem, 4.6cqw, 5.8rem) !important;
  line-height: 1 !important;
  filter:
    drop-shadow(0 14px 22px rgba(15,23,42,.24))
    drop-shadow(0 0 24px rgba(255,255,255,.74)) !important;
  animation: swpWallCardReactionFly 1.68s var(--burst-delay) cubic-bezier(.16, .8, .25, 1) both !important;
}

body.swp-wall-premium #wall-stage .swp-screen-post.is-reaction-hit {
  z-index: 125 !important;
  overflow: visible !important;
  animation: swpWallCardReactionPulse .86s cubic-bezier(.16, 1, .3, 1) both !important;
}

@keyframes swpWallPremiumCardArrival {
  0% {
    opacity: 0;
    transform: translate3d(0, 26px, 0) scale(.965) rotate(calc(var(--swp-live-tilt, 0deg) - .65deg));
    filter: blur(8px) saturate(.94) brightness(1.02);
  }
  48% {
    opacity: 1;
    transform: translate3d(0, -4px, 0) scale(1.018) rotate(var(--swp-live-tilt, 0deg));
    filter: blur(0) saturate(1.1) brightness(1.05);
  }
  100% {
    opacity: 1;
    transform: translate3d(0, 0, 0) scale(1) rotate(var(--swp-live-tilt, 0deg));
    filter: saturate(1.04);
  }
}

@keyframes swpWallPremiumArrivalHalo {
  0% {
    opacity: 0;
    transform: scale(.985);
  }
  18% {
    opacity: .86;
  }
  62% {
    opacity: .42;
  }
  100% {
    opacity: 0;
    transform: scale(1.032);
  }
}

@keyframes swpWallPremiumArrivalContent {
  0% {
    opacity: 0;
    transform: translate3d(0, 10px, 0) scale(.99);
  }
  100% {
    opacity: 1;
    transform: translate3d(0, 0, 0) scale(1);
  }
}

@keyframes swpWallPremiumArrivalSheen {
  0% {
    opacity: 0;
    transform: translateX(-46%) rotate(-7deg);
  }
  28% {
    opacity: .8;
  }
  100% {
    opacity: 0;
    transform: translateX(42%) rotate(-7deg);
  }
}

@keyframes swpWallPremiumArrivalSpark {
  0% {
    opacity: 0;
    transform: translate(-50%, -50%) scale(.34);
  }
  24% {
    opacity: .92;
  }
  100% {
    opacity: 0;
    transform: translate(calc(-50% + var(--swp-spark-x, 0)), calc(-50% + var(--swp-spark-y, 0))) scale(1.05);
  }
}

@keyframes swpWallCardReactionPop {
  0% {
    opacity: 0;
    transform: translate(-50%, -50%) scale(.22) rotate(-10deg);
  }
  22% {
    opacity: 1;
    transform: translate(-50%, -50%) scale(1.24) rotate(5deg);
  }
  58% {
    opacity: .98;
    transform: translate(-50%, -52%) scale(1) rotate(-1deg);
  }
  100% {
    opacity: 0;
    transform: translate(-50%, -70%) scale(.68) rotate(0deg);
  }
}

@keyframes swpWallCardReactionFly {
  0% {
    opacity: 0;
    transform: translate(-50%, -50%) scale(.2) rotate(0deg);
  }
  12% {
    opacity: .98;
  }
  70% {
    opacity: .9;
  }
  100% {
    opacity: 0;
    transform: translate(calc(-50% + var(--burst-x)), calc(-50% + var(--burst-y))) scale(1.12) rotate(var(--burst-rotate));
  }
}

@keyframes swpWallCardReactionPulse {
  0%, 100% {
    transform: scale(1);
    filter: none;
  }
  34% {
    transform: scale(1.026) translateY(-3px);
    filter: saturate(1.18) brightness(1.035);
  }
  68% {
    transform: scale(.996) translateY(1px);
    filter: saturate(1.08);
  }
}

@media (prefers-reduced-motion: reduce) {
  body.swp-wall-premium #wall-stage .swp-screen-post.is-new-arrival,
  body.swp-wall-premium #wall-stage .swp-screen-post.is-new-arrival::before,
  body.swp-wall-premium #wall-stage .swp-screen-post.is-new-arrival > .swp-screen-content,
  body.swp-wall-premium #wall-stage .swp-screen-post.is-new-arrival > .swp-screen-meta,
  body.swp-wall-premium #wall-stage .swp-screen-post.is-new-arrival > .swp-screen-featured-badge,
  body.swp-wall-premium #wall-stage .swp-arrival-confetti::before,
  body.swp-wall-premium #wall-stage .swp-arrival-confetti i,
  body.swp-wall-premium #wall-stage .swp-screen-post > .swp-wall-reaction-celebration::before,
  body.swp-wall-premium #wall-stage .swp-screen-post > .swp-wall-reaction-celebration i,
  body.swp-wall-premium #wall-stage .swp-screen-post.is-reaction-hit {
    animation: none !important;
  }

  body.swp-wall-premium #wall-stage .swp-arrival-confetti,
  body.swp-wall-premium #wall-stage .swp-screen-post > .swp-wall-reaction-celebration {
    display: none !important;
  }
}

/* WebApp v12.8: blocco scrittura stile WhatsApp, compatto e fisso in basso. */
body.swp-public-app [data-public-webapp]:not([hidden]) {
  padding-bottom: calc(132px + env(safe-area-inset-bottom, 0px)) !important;
}

body.swp-public-app [data-public-webapp]:not([hidden]) #public-post-form,
body.swp-public-app #public-post-form {
  position: fixed !important;
  left: 50% !important;
  right: auto !important;
  bottom: max(8px, env(safe-area-inset-bottom, 0px)) !important;
  z-index: 2140 !important;
  width: min(760px, calc(100vw - 18px)) !important;
  margin: 0 !important;
  padding: 0 !important;
  transform: translateX(-50%) !important;
  pointer-events: none;
}

body.swp-public-app [data-public-webapp][hidden] #public-post-form {
  display: none !important;
}

body.swp-public-app #public-post-form .swp-composer-heading,
body.swp-public-app #public-post-form .swp-social-composer-head,
body.swp-public-app #public-post-form .swp-social-audience-pill,
body.swp-public-app #public-post-form .swp-author-hashtag-pill {
  display: none !important;
}

body.swp-public-app #public-post-form .swp-social-composer-grid,
body.swp-public-app #public-post-form .swp-public-form-grid {
  display: block !important;
  margin: 0 !important;
}

body.swp-public-app #public-post-form .swp-social-composer-card,
body.swp-public-app [data-public-webapp]:not([hidden]) #public-post-form .swp-social-composer-card {
  display: grid !important;
  gap: 8px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  pointer-events: auto;
}

body.swp-public-app #public-post-form .swp-whatsapp-composer {
  display: grid !important;
  grid-template-columns: 46px minmax(0, 1fr) 48px;
  align-items: end;
  gap: 8px;
  padding: 8px;
  border: 1px solid rgba(226,232,240,.84);
  border-radius: 31px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.96), rgba(248,250,252,.94)),
    color-mix(in srgb, var(--swp-primary) 5%, #fff);
  box-shadow:
    0 22px 48px rgba(15,23,42,.16),
    inset 0 1px 0 rgba(255,255,255,.95);
  backdrop-filter: blur(18px);
}

body.swp-public-app #public-post-form .swp-whatsapp-attach,
body.swp-public-app #public-post-form .swp-whatsapp-send {
  width: 46px !important;
  height: 46px !important;
  min-width: 46px !important;
  min-height: 46px !important;
  display: inline-grid !important;
  place-items: center !important;
  align-self: end !important;
  margin: 0 !important;
  padding: 0 !important;
  border-radius: 50% !important;
  cursor: pointer;
}

body.swp-public-app #public-post-form .swp-whatsapp-attach {
  border: 1px solid rgba(226,232,240,.92) !important;
  color: #475569 !important;
  background: rgba(255,255,255,.9) !important;
  box-shadow: 0 10px 22px rgba(15,23,42,.07) !important;
}

body.swp-public-app #public-post-form .swp-whatsapp-attach .swp-social-tool-icon {
  width: 100% !important;
  height: 100% !important;
  min-width: 0 !important;
  border-radius: 50% !important;
  color: inherit !important;
  background: transparent !important;
  box-shadow: none !important;
  font-size: 1.2rem !important;
}

body.swp-public-app #public-post-form .swp-whatsapp-attach.is-attached {
  color: #fff !important;
  border-color: transparent !important;
  background:
    radial-gradient(circle at 28% 20%, rgba(255,255,255,.28), transparent 34%),
    linear-gradient(135deg, #22c55e, #16a34a) !important;
}

body.swp-public-app #public-post-form .swp-whatsapp-input,
body.swp-public-app [data-public-webapp]:not([hidden]) #public-post-form .swp-whatsapp-input {
  min-height: 46px !important;
  display: grid !important;
  align-content: center !important;
  gap: 4px !important;
  padding: 10px 14px !important;
  border: 1px solid rgba(226,232,240,.86) !important;
  border-radius: 24px !important;
  background: #fff !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.94),
    0 8px 18px rgba(15,23,42,.045) !important;
}

body.swp-public-app #public-post-form .swp-social-composer-card:focus-within .swp-whatsapp-input,
body.swp-public-app #public-post-form .swp-social-composer-card.has-inline-tags .swp-whatsapp-input {
  border-color: color-mix(in srgb, #25d366 42%, rgba(226,232,240,.86)) !important;
  box-shadow:
    0 0 0 3px rgba(37,211,102,.1),
    inset 0 1px 0 rgba(255,255,255,.96),
    0 10px 22px rgba(15,23,42,.06) !important;
}

body.swp-public-app #public-post-form textarea.form-control.swp-social-message-input,
body.swp-public-app [data-public-webapp]:not([hidden]) #public-post-form textarea.form-control.swp-social-message-input {
  min-height: 24px !important;
  max-height: 118px !important;
  height: 24px;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  resize: none !important;
  overflow-y: auto !important;
  color: #0f172a !important;
  background: transparent !important;
  box-shadow: none !important;
  font-size: 1rem !important;
  font-weight: 700 !important;
  line-height: 1.35 !important;
}

body.swp-public-app #public-post-form textarea.form-control.swp-social-message-input::placeholder {
  color: #94a3b8 !important;
  font-weight: 750;
}

body.swp-public-app #public-post-form .swp-message-count-row,
body.swp-public-app [data-public-webapp]:not([hidden]) #public-post-form .swp-message-count-row {
  display: flex !important;
  justify-content: flex-end !important;
  min-height: 0 !important;
  margin: -2px 0 0 !important;
  padding: 0 !important;
}

body.swp-public-app #public-post-form .swp-character-count {
  min-width: 0 !important;
  min-height: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  color: #cbd5e1 !important;
  background: transparent !important;
  box-shadow: none !important;
  font-size: .62rem !important;
  font-weight: 900 !important;
  opacity: 0;
  transform: translateY(-2px);
  transition: opacity .15s ease, color .15s ease;
}

body.swp-public-app #public-post-form .swp-social-composer-card.is-writing .swp-character-count,
body.swp-public-app #public-post-form .swp-character-count.is-warning,
body.swp-public-app #public-post-form .swp-character-count.is-danger {
  opacity: 1;
}

body.swp-public-app #public-post-form .swp-message-hashtag-preview,
body.swp-public-app [data-public-webapp]:not([hidden]) #public-post-form .swp-message-hashtag-preview {
  gap: 4px !important;
  margin: 2px 0 0 !important;
}

body.swp-public-app #public-post-form .swp-message-hashtag-preview span {
  min-height: 21px !important;
  padding: 3px 7px !important;
  font-size: .64rem !important;
  background: #e7f8ee !important;
  border-color: rgba(37,211,102,.22) !important;
  color: #15803d !important;
}

body.swp-public-app #public-post-form .swp-whatsapp-send {
  border: 0 !important;
  color: #fff !important;
  background:
    radial-gradient(circle at 30% 22%, rgba(255,255,255,.3), transparent 34%),
    linear-gradient(135deg, #25d366, #128c7e) !important;
  box-shadow: 0 14px 26px rgba(18,140,126,.25) !important;
  font-size: 1.05rem !important;
  transform-origin: center;
  transition: transform .15s ease, filter .15s ease, box-shadow .15s ease, opacity .15s ease;
}

body.swp-public-app #public-post-form .swp-whatsapp-send span {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

body.swp-public-app #public-post-form .swp-social-composer-card:not(.is-ready) .swp-whatsapp-send {
  opacity: .72;
  filter: saturate(.72);
  background: linear-gradient(135deg, #94a3b8, #64748b) !important;
  box-shadow: 0 10px 20px rgba(100,116,139,.18) !important;
}

body.swp-public-app #public-post-form .swp-whatsapp-send:hover,
body.swp-public-app #public-post-form .swp-whatsapp-send:focus-visible {
  transform: translateY(-1px) scale(1.035);
  filter: saturate(1.08) brightness(1.02);
}

body.swp-public-app #public-post-form .swp-whatsapp-send:disabled,
body.swp-public-app #public-post-form .swp-whatsapp-attach[aria-disabled="true"] {
  opacity: .6 !important;
  filter: grayscale(.2) !important;
  pointer-events: none;
}

body.swp-public-app #public-post-form .swp-social-composer-tools {
  display: grid !important;
  gap: 4px !important;
  padding: 0 12px !important;
}

body.swp-public-app #public-post-form .swp-social-helper {
  display: block !important;
  min-height: 15px;
  padding: 0 4px !important;
  color: rgba(71,85,105,.88) !important;
  text-align: center;
  font-size: .66rem !important;
  font-weight: 850 !important;
  line-height: 1.2 !important;
  text-shadow: 0 1px 0 rgba(255,255,255,.88);
}

body.swp-public-app #public-post-form .swp-whatsapp-feedback {
  display: block !important;
  margin: 0 !important;
  padding: 0 10px !important;
}

body.swp-public-app #public-post-form .swp-whatsapp-feedback .form-feedback:empty {
  display: none !important;
}

body.swp-public-app #public-post-form .swp-whatsapp-feedback .form-feedback:not(:empty) {
  margin-bottom: 4px;
  padding: 8px 10px;
  border-radius: 16px;
  background: rgba(255,255,255,.94);
  box-shadow: 0 10px 24px rgba(15,23,42,.08);
  font-size: .78rem;
  font-weight: 850;
}

body.swp-public-app #public-post-form .swp-upload-preview {
  display: block !important;
  width: min(360px, calc(100vw - 34px));
  justify-self: start;
  margin: 0 0 0 8px !important;
  pointer-events: auto;
}

body.swp-public-app #public-post-form .swp-upload-preview:empty {
  display: none !important;
}

body.swp-public-app #public-post-form .swp-upload-preview figure {
  overflow: hidden !important;
  margin: 0 !important;
  border: 1px solid rgba(226,232,240,.88) !important;
  border-radius: 22px !important;
  background: rgba(255,255,255,.96) !important;
  box-shadow: 0 18px 40px rgba(15,23,42,.14) !important;
}

body.swp-public-app #public-post-form .swp-upload-preview img {
  width: 100% !important;
  height: clamp(118px, 30vw, 180px) !important;
  object-fit: contain !important;
  background: #eef4f8 !important;
}

body.swp-public-app #public-post-form .swp-upload-preview figcaption {
  min-height: 38px !important;
  padding: 8px 9px !important;
  font-size: .68rem !important;
}

body.swp-public-app #public-post-form .swp-upload-preview .swp-remove-upload {
  width: 30px !important;
  height: 30px !important;
  min-width: 30px !important;
  min-height: 30px !important;
}

body.swp-public-app [data-public-webapp]:not([hidden]) #public-feed-section {
  margin-bottom: calc(132px + env(safe-area-inset-bottom, 0px)) !important;
}

@media (max-width: 575.98px) {
  body.swp-public-app [data-public-webapp]:not([hidden]) {
    padding-bottom: calc(124px + env(safe-area-inset-bottom, 0px)) !important;
  }

  body.swp-public-app [data-public-webapp]:not([hidden]) #public-post-form,
  body.swp-public-app #public-post-form {
    width: calc(100vw - 10px) !important;
    bottom: max(5px, env(safe-area-inset-bottom, 0px)) !important;
  }

  body.swp-public-app #public-post-form .swp-whatsapp-composer {
    grid-template-columns: 43px minmax(0, 1fr) 45px;
    gap: 6px;
    padding: 7px;
    border-radius: 28px;
  }

  body.swp-public-app #public-post-form .swp-whatsapp-attach,
  body.swp-public-app #public-post-form .swp-whatsapp-send {
    width: 43px !important;
    height: 43px !important;
    min-width: 43px !important;
    min-height: 43px !important;
  }

  body.swp-public-app #public-post-form .swp-whatsapp-input {
    min-height: 43px !important;
    padding: 9px 12px !important;
    border-radius: 22px !important;
  }

  body.swp-public-app #public-post-form .swp-social-helper {
    font-size: .62rem !important;
  }
}

/* WebApp v12.9: niente tab Post/Scrivi, barra chat sempre fissa e bottoni centrati. */
body.swp-public-app .swp-public-mobile-nav,
body.swp-public-app [data-public-webapp]:not([hidden]) .swp-public-mobile-nav {
  display: none !important;
}

body.swp-public-app #public-post-form .swp-whatsapp-composer,
body.swp-public-app [data-public-webapp]:not([hidden]) #public-post-form .swp-whatsapp-composer {
  grid-template-columns: 46px minmax(0, 1fr) 46px !important;
  align-items: center !important;
}

body.swp-public-app #public-post-form .swp-whatsapp-attach,
body.swp-public-app #public-post-form .swp-whatsapp-send,
body.swp-public-app [data-public-webapp]:not([hidden]) #public-post-form .swp-whatsapp-attach,
body.swp-public-app [data-public-webapp]:not([hidden]) #public-post-form .swp-whatsapp-send {
  align-self: center !important;
  justify-self: center !important;
  display: grid !important;
  place-items: center !important;
  line-height: 1 !important;
}

body.swp-public-app #public-post-form .swp-whatsapp-attach .bi,
body.swp-public-app #public-post-form .swp-whatsapp-send .bi {
  display: block !important;
  line-height: 1 !important;
}

body.swp-public-app #public-post-form .swp-whatsapp-send .bi {
  transform: translateX(1px);
}

body.swp-public-app #public-post-form .swp-whatsapp-input,
body.swp-public-app [data-public-webapp]:not([hidden]) #public-post-form .swp-whatsapp-input {
  align-self: center !important;
}

@media (max-width: 575.98px) {
  body.swp-public-app #public-post-form .swp-whatsapp-composer,
  body.swp-public-app [data-public-webapp]:not([hidden]) #public-post-form .swp-whatsapp-composer {
    grid-template-columns: 43px minmax(0, 1fr) 43px !important;
  }
}

/* Wall v12.10: reaction card-only definitiva, isolata dalle vecchie regole full-screen. */
body.swp-wall-premium > .swp-wall-reaction-celebration,
body.swp-wall-premium > .swp-reaction-celebration,
body.swp-wall-premium > .swp-card-reaction-burst {
  display: none !important;
}

body.swp-wall-premium #wall-stage .swp-screen-post {
  isolation: isolate;
}

body.swp-wall-premium #wall-stage .swp-screen-post > .swp-card-reaction-burst {
  position: absolute !important;
  z-index: 500 !important;
  inset: 0 !important;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  pointer-events: none !important;
  overflow: visible !important;
  transform: none !important;
  contain: layout style;
}

body.swp-wall-premium #wall-stage .swp-screen-post > .swp-card-reaction-burst::before {
  content: attr(data-emoji);
  position: absolute !important;
  left: 50% !important;
  top: 50% !important;
  display: block !important;
  width: auto !important;
  height: auto !important;
  font-size: clamp(4.8rem, 11cqw, 13rem) !important;
  line-height: 1 !important;
  opacity: 0;
  transform: translate(-50%, -50%) scale(.22) rotate(-10deg);
  filter:
    drop-shadow(0 22px 30px rgba(15,23,42,.3))
    drop-shadow(0 0 46px rgba(255,255,255,.92))
    drop-shadow(0 0 34px color-mix(in srgb, var(--swp-primary) 35%, transparent)) !important;
  animation: swpWallCardOnlyReactionPop 1.42s cubic-bezier(.16, 1, .3, 1) both !important;
}

body.swp-wall-premium #wall-stage .swp-screen-post > .swp-card-reaction-burst i {
  position: absolute !important;
  left: 50% !important;
  top: 50% !important;
  display: block !important;
  font-style: normal !important;
  font-size: clamp(1.9rem, 4.25cqw, 5.4rem) !important;
  line-height: 1 !important;
  opacity: 0;
  transform: translate(-50%, -50%) scale(.2) rotate(0deg);
  filter:
    drop-shadow(0 14px 22px rgba(15,23,42,.24))
    drop-shadow(0 0 24px rgba(255,255,255,.74)) !important;
  animation: swpWallCardOnlyReactionFly 1.68s var(--burst-delay) cubic-bezier(.16, .8, .25, 1) both !important;
}

body.swp-wall-premium #wall-stage .swp-screen-post.is-reaction-hit {
  z-index: 125 !important;
  overflow: visible !important;
  animation: swpWallCardOnlyReactionPulse .86s cubic-bezier(.16, 1, .3, 1) both !important;
}

@keyframes swpWallCardOnlyReactionPop {
  0% {
    opacity: 0;
    transform: translate(-50%, -50%) scale(.22) rotate(-10deg);
  }
  22% {
    opacity: 1;
    transform: translate(-50%, -50%) scale(1.24) rotate(5deg);
  }
  58% {
    opacity: .98;
    transform: translate(-50%, -52%) scale(1) rotate(-1deg);
  }
  100% {
    opacity: 0;
    transform: translate(-50%, -70%) scale(.68) rotate(0deg);
  }
}

@keyframes swpWallCardOnlyReactionFly {
  0% {
    opacity: 0;
    transform: translate(-50%, -50%) scale(.2) rotate(0deg);
  }
  12% {
    opacity: .98;
  }
  70% {
    opacity: .9;
  }
  100% {
    opacity: 0;
    transform: translate(calc(-50% + var(--burst-x)), calc(-50% + var(--burst-y))) scale(1.12) rotate(var(--burst-rotate));
  }
}

@keyframes swpWallCardOnlyReactionPulse {
  0%, 100% {
    transform: scale(1);
    filter: none;
  }
  34% {
    transform: scale(1.026) translateY(-3px);
    filter: saturate(1.18) brightness(1.035);
  }
  68% {
    transform: scale(.996) translateY(1px);
    filter: saturate(1.08);
  }
}

@media (prefers-reduced-motion: reduce) {
  body.swp-wall-premium #wall-stage .swp-screen-post > .swp-card-reaction-burst,
  body.swp-wall-premium #wall-stage .swp-screen-post > .swp-card-reaction-burst::before,
  body.swp-wall-premium #wall-stage .swp-screen-post > .swp-card-reaction-burst i,
  body.swp-wall-premium #wall-stage .swp-screen-post.is-reaction-hit {
    animation: none !important;
  }

  body.swp-wall-premium #wall-stage .swp-screen-post > .swp-card-reaction-burst {
    display: none !important;
  }
}

/* WebApp v12.11: composer come footer pagina, centratura bottoni e card pulita. */
body.swp-public-app [data-public-webapp]:not([hidden]) {
  padding-bottom: calc(118px + env(safe-area-inset-bottom, 0px)) !important;
}

body.swp-public-app [data-public-webapp]:not([hidden]) #public-post-form,
body.swp-public-app #public-post-form {
  position: fixed !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  z-index: 2140 !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 8px 10px calc(8px + env(safe-area-inset-bottom, 0px)) !important;
  transform: none !important;
  border-top: 1px solid rgba(226,232,240,.88) !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,.9), rgba(248,250,252,.98)),
    color-mix(in srgb, var(--swp-primary) 4%, #fff) !important;
  box-shadow: 0 -18px 42px rgba(15,23,42,.12) !important;
  backdrop-filter: blur(18px) !important;
  pointer-events: auto !important;
}

body.swp-public-app #public-post-form .swp-public-form-grid,
body.swp-public-app #public-post-form .swp-social-composer-grid {
  width: min(760px, 100%) !important;
  margin: 0 auto !important;
}

body.swp-public-app #public-post-form .swp-social-composer-card,
body.swp-public-app [data-public-webapp]:not([hidden]) #public-post-form .swp-social-composer-card {
  width: 100% !important;
  display: grid !important;
  justify-items: stretch !important;
  align-items: center !important;
  gap: 6px !important;
  margin: 0 auto !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.swp-public-app #public-post-form .swp-whatsapp-composer,
body.swp-public-app [data-public-webapp]:not([hidden]) #public-post-form .swp-whatsapp-composer {
  min-height: 58px !important;
  grid-template-columns: 44px minmax(0, 1fr) 44px !important;
  align-items: center !important;
  gap: 7px !important;
  padding: 7px !important;
  border: 1px solid rgba(226,232,240,.9) !important;
  border-radius: 30px !important;
  background: rgba(255,255,255,.92) !important;
  box-shadow:
    0 10px 26px rgba(15,23,42,.08),
    inset 0 1px 0 rgba(255,255,255,.98) !important;
}

body.swp-public-app #public-post-form .swp-whatsapp-attach,
body.swp-public-app #public-post-form .swp-whatsapp-send {
  width: 44px !important;
  height: 44px !important;
  min-width: 44px !important;
  min-height: 44px !important;
  max-width: 44px !important;
  max-height: 44px !important;
  display: grid !important;
  place-items: center !important;
  align-self: center !important;
  justify-self: center !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1 !important;
  border-radius: 50% !important;
}

body.swp-public-app #public-post-form .swp-whatsapp-attach {
  color: #334155 !important;
  background: #f8fafc !important;
}

body.swp-public-app #public-post-form .swp-whatsapp-attach .swp-social-tool-icon,
body.swp-public-app #public-post-form .swp-whatsapp-attach .swp-social-tool-icon.is-muted {
  width: 44px !important;
  height: 44px !important;
  min-width: 44px !important;
  min-height: 44px !important;
  display: grid !important;
  place-items: center !important;
  margin: 0 !important;
  padding: 0 !important;
  border-radius: 50% !important;
  color: inherit !important;
  background: transparent !important;
  box-shadow: none !important;
  line-height: 1 !important;
}

body.swp-public-app #public-post-form .swp-whatsapp-attach .swp-social-tool-icon .bi,
body.swp-public-app #public-post-form .swp-whatsapp-send .bi {
  position: static !important;
  display: block !important;
  width: 1em !important;
  height: 1em !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1 !important;
  text-align: center !important;
}

body.swp-public-app #public-post-form .swp-whatsapp-attach .swp-social-tool-icon .bi {
  transform: translateY(.5px) !important;
  font-size: 1.16rem !important;
}

body.swp-public-app #public-post-form .swp-whatsapp-send .bi {
  transform: translate(1px, .5px) !important;
  font-size: 1.04rem !important;
}

body.swp-public-app #public-post-form .swp-whatsapp-input,
body.swp-public-app [data-public-webapp]:not([hidden]) #public-post-form .swp-whatsapp-input {
  min-height: 44px !important;
  align-self: center !important;
  justify-self: stretch !important;
  align-content: center !important;
  padding: 9px 13px !important;
  border-radius: 24px !important;
  background: #fff !important;
}

body.swp-public-app #public-post-form textarea.form-control.swp-social-message-input,
body.swp-public-app [data-public-webapp]:not([hidden]) #public-post-form textarea.form-control.swp-social-message-input {
  min-height: 22px !important;
  height: 22px;
  line-height: 1.32 !important;
  font-size: 1rem !important;
}

body.swp-public-app #public-post-form .swp-message-count-row {
  align-items: center !important;
}

body.swp-public-app #public-post-form .swp-social-composer-tools {
  width: min(760px, 100%) !important;
  margin: 0 auto !important;
  padding: 0 12px !important;
}

body.swp-public-app #public-post-form .swp-social-helper {
  min-height: 12px !important;
  margin: 0 !important;
  text-align: center !important;
}

body.swp-public-app #public-post-form .swp-whatsapp-feedback {
  width: min(760px, 100%) !important;
  margin: 0 auto !important;
  padding: 0 8px !important;
}

body.swp-public-app #public-post-form .swp-upload-preview {
  width: min(360px, calc(100vw - 28px)) !important;
  justify-self: center !important;
  margin: 0 auto 2px !important;
}

body.swp-public-app [data-public-webapp]:not([hidden]) #public-feed-section {
  margin-bottom: calc(118px + env(safe-area-inset-bottom, 0px)) !important;
}

@media (max-width: 575.98px) {
  body.swp-public-app [data-public-webapp]:not([hidden]) {
    padding-bottom: calc(112px + env(safe-area-inset-bottom, 0px)) !important;
  }

  body.swp-public-app [data-public-webapp]:not([hidden]) #public-post-form,
  body.swp-public-app #public-post-form {
    padding: 7px 7px calc(7px + env(safe-area-inset-bottom, 0px)) !important;
  }

  body.swp-public-app #public-post-form .swp-whatsapp-composer,
  body.swp-public-app [data-public-webapp]:not([hidden]) #public-post-form .swp-whatsapp-composer {
    min-height: 54px !important;
    grid-template-columns: 41px minmax(0, 1fr) 41px !important;
    gap: 6px !important;
    padding: 6px !important;
    border-radius: 28px !important;
  }

  body.swp-public-app #public-post-form .swp-whatsapp-attach,
  body.swp-public-app #public-post-form .swp-whatsapp-send,
  body.swp-public-app #public-post-form .swp-whatsapp-attach .swp-social-tool-icon {
    width: 41px !important;
    height: 41px !important;
    min-width: 41px !important;
    min-height: 41px !important;
    max-width: 41px !important;
    max-height: 41px !important;
  }

  body.swp-public-app #public-post-form .swp-whatsapp-input {
    min-height: 41px !important;
    padding: 8px 12px !important;
  }
}

/* v12.12 — composer footer pulito: niente helper sotto al campo e feed non visibile sotto */
body.swp-public-app #public-post-form,
body.swp-public-app [data-public-webapp]:not([hidden]) #public-post-form {
  background:
    linear-gradient(180deg, rgba(248,250,252,0), #f8fafc 18%, #f8fafc 100%) !important;
  overflow: visible !important;
}

body.swp-public-app #public-post-form .swp-social-helper,
body.swp-public-app [data-public-webapp]:not([hidden]) #public-post-form .swp-social-helper,
body.swp-public-app #public-post-form [data-social-helper],
body.swp-public-app [data-public-webapp]:not([hidden]) #public-post-form [data-social-helper],
body.swp-public-app #public-post-form .swp-message-count-row,
body.swp-public-app [data-public-webapp]:not([hidden]) #public-post-form .swp-message-count-row {
  display: none !important;
  width: 0 !important;
  height: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
}

body.swp-public-app #public-post-form .swp-social-composer-tools,
body.swp-public-app [data-public-webapp]:not([hidden]) #public-post-form .swp-social-composer-tools {
  position: relative !important;
  width: min(760px, 100%) !important;
  height: 0 !important;
  min-height: 0 !important;
  margin: 0 auto !important;
  padding: 0 !important;
  overflow: visible !important;
  line-height: 0 !important;
}

body.swp-public-app #public-post-form .swp-whatsapp-feedback,
body.swp-public-app [data-public-webapp]:not([hidden]) #public-post-form .swp-whatsapp-feedback {
  width: min(760px, 100%) !important;
  min-height: 0 !important;
  margin: 0 auto !important;
  padding: 0 !important;
}

body.swp-public-app #public-post-form .swp-whatsapp-feedback .form-feedback:empty,
body.swp-public-app [data-public-webapp]:not([hidden]) #public-post-form .swp-whatsapp-feedback .form-feedback:empty {
  display: none !important;
}

body.swp-public-app #public-post-form .swp-social-composer-card,
body.swp-public-app [data-public-webapp]:not([hidden]) #public-post-form .swp-social-composer-card {
  gap: 5px !important;
}

body.swp-public-app [data-public-webapp]:not([hidden]) #public-feed-section {
  padding-bottom: calc(128px + env(safe-area-inset-bottom, 0px)) !important;
}

/* v12.13 — iOS keyboard shield: quando si scrive non si vede il feed sotto la tastiera */
:root {
  --swp-public-keyboard-inset: 0px;
  --swp-public-composer-height: 92px;
  --swp-public-visible-bottom: 100vh;
  --swp-public-composer-top: calc(100vh - var(--swp-public-composer-height, 92px));
  --swp-public-keyboard-shield-top: calc(100vh - var(--swp-public-composer-height, 92px) - 46px);
}

html.swp-public-keyboard-open,
body.swp-public-keyboard-open {
  overscroll-behavior: none !important;
}

body.swp-public-app.swp-public-keyboard-open {
  background: #f8fafc !important;
}

body.swp-public-app.swp-public-keyboard-open::after {
  content: "";
  position: fixed;
  z-index: 2138;
  left: 0;
  right: 0;
  top: var(--swp-public-keyboard-shield-top, 0px);
  bottom: auto;
  height: calc(var(--swp-public-composer-height, 92px) + 46px);
  pointer-events: none;
  background:
    linear-gradient(180deg, rgba(248,250,252,0), #f8fafc 17%, #f8fafc 100%) !important;
}

body.swp-public-app.swp-public-keyboard-open #public-post-form,
body.swp-public-app.swp-public-keyboard-open [data-public-webapp]:not([hidden]) #public-post-form {
  top: var(--swp-public-composer-top, 6px) !important;
  bottom: auto !important;
  z-index: 2150 !important;
  background: #f8fafc !important;
  box-shadow: 0 -20px 44px rgba(15,23,42,.14) !important;
}

body.swp-public-app.swp-public-keyboard-open #public-reaction-feed,
body.swp-public-app.swp-public-keyboard-open [data-public-webapp]:not([hidden]) #public-feed-section {
  pointer-events: none !important;
  overscroll-behavior: contain !important;
}

body.swp-public-app.swp-public-keyboard-open #public-post-form .swp-upload-preview:empty {
  display: none !important;
}

/* v12.14 — anteprima foto immediata in WebApp, visibile anche durante ottimizzazione */
body.swp-public-app #public-post-form .swp-upload-preview,
body.swp-public-app [data-public-webapp]:not([hidden]) #public-post-form .swp-upload-preview {
  position: relative !important;
  z-index: 4 !important;
}

body.swp-public-app #public-post-form .swp-upload-preview figure.is-optimizing,
body.swp-public-app [data-public-webapp]:not([hidden]) #public-post-form .swp-upload-preview figure.is-optimizing {
  position: relative !important;
  display: block !important;
  place-items: initial !important;
}

body.swp-public-app #public-post-form .swp-upload-preview figure.is-optimizing img,
body.swp-public-app [data-public-webapp]:not([hidden]) #public-post-form .swp-upload-preview figure.is-optimizing img {
  display: block !important;
  opacity: 1 !important;
}

body.swp-public-app #public-post-form .swp-upload-preview figure.is-optimizing .swp-upload-optimizing,
body.swp-public-app [data-public-webapp]:not([hidden]) #public-post-form .swp-upload-preview figure.is-optimizing .swp-upload-optimizing {
  position: absolute !important;
  z-index: 2 !important;
  top: 9px !important;
  right: 9px !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  padding: 7px 10px !important;
  border-radius: 999px !important;
  color: #0f172a !important;
  background: rgba(255,255,255,.92) !important;
  box-shadow: 0 12px 26px rgba(15,23,42,.16) !important;
  backdrop-filter: blur(12px) !important;
}

body.swp-public-app #public-post-form .swp-upload-preview figure.is-optimizing .swp-upload-optimizing strong,
body.swp-public-app [data-public-webapp]:not([hidden]) #public-post-form .swp-upload-preview figure.is-optimizing .swp-upload-optimizing strong {
  font-size: .72rem !important;
  font-weight: 900 !important;
  line-height: 1 !important;
}

body.swp-public-app #public-post-form .swp-upload-preview figure.is-optimizing .swp-upload-optimizing .spinner-border,
body.swp-public-app [data-public-webapp]:not([hidden]) #public-post-form .swp-upload-preview figure.is-optimizing .swp-upload-optimizing .spinner-border {
  width: .82rem !important;
  height: .82rem !important;
  border-width: .12em !important;
}

@supports (-webkit-touch-callout: none) {
  body.swp-public-app.swp-public-keyboard-open #public-post-form,
  body.swp-public-app.swp-public-keyboard-open [data-public-webapp]:not([hidden]) #public-post-form {
    transform: translateZ(0) !important;
    -webkit-transform: translateZ(0) !important;
  }
}

/* v12.15 — iOS keyboard stable composer: niente top calcolato, resta sopra tastiera */
:root {
  --swp-public-keyboard-bottom: 0px;
}

body.swp-public-app.swp-public-keyboard-open::after {
  top: auto !important;
  bottom: 0 !important;
  height: calc(var(--swp-public-keyboard-bottom, 0px) + var(--swp-public-composer-height, 92px) + 46px) !important;
}

body.swp-public-app.swp-public-keyboard-open #public-post-form,
body.swp-public-app.swp-public-keyboard-open [data-public-webapp]:not([hidden]) #public-post-form {
  position: fixed !important;
  top: auto !important;
  bottom: var(--swp-public-keyboard-bottom, 0px) !important;
  left: 0 !important;
  right: 0 !important;
  transform: translate3d(0, 0, 0) !important;
  -webkit-transform: translate3d(0, 0, 0) !important;
  will-change: bottom !important;
}

body.swp-public-app.swp-public-keyboard-open #public-post-form .swp-whatsapp-composer,
body.swp-public-app.swp-public-keyboard-open [data-public-webapp]:not([hidden]) #public-post-form .swp-whatsapp-composer {
  min-height: 54px !important;
}

/* Wall v12.16 — più card visibili sul wall senza uscire dal monitor */
body.swp-wall-premium[data-wall-aspect-mode="wide"] #wall-stage .layout-cards.swp-grid-count-7,
body.swp-wall-premium[data-wall-aspect-mode="wide"] #wall-stage .layout-cards.swp-grid-count-8,
body.swp-wall-premium[data-wall-aspect-mode="wide"] #wall-stage .layout-celebration.swp-grid-count-7,
body.swp-wall-premium[data-wall-aspect-mode="wide"] #wall-stage .layout-celebration.swp-grid-count-8 {
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  grid-template-rows: repeat(2, minmax(0, 1fr)) !important;
  grid-auto-rows: minmax(0, 1fr) !important;
}

body.swp-wall-premium[data-wall-aspect-mode="wide"] #wall-stage .layout-mosaic.swp-grid-count-5,
body.swp-wall-premium[data-wall-aspect-mode="wide"] #wall-stage .layout-mosaic.swp-grid-count-6 {
  grid-template-columns: repeat(12, minmax(0, 1fr)) !important;
  grid-template-rows: repeat(6, minmax(0, 1fr)) !important;
  grid-auto-rows: minmax(0, 1fr) !important;
}

body.swp-wall-premium[data-wall-aspect-mode="wide"] #wall-stage .layout-mosaic.swp-grid-count-5 .swp-mosaic-card:nth-child(1),
body.swp-wall-premium[data-wall-aspect-mode="wide"] #wall-stage .layout-mosaic.swp-grid-count-6 .swp-mosaic-card:nth-child(1) {
  grid-column: 1 / span 6 !important;
  grid-row: 1 / span 6 !important;
}

body.swp-wall-premium[data-wall-aspect-mode="wide"] #wall-stage .layout-mosaic.swp-grid-count-5 .swp-mosaic-card:nth-child(2),
body.swp-wall-premium[data-wall-aspect-mode="wide"] #wall-stage .layout-mosaic.swp-grid-count-6 .swp-mosaic-card:nth-child(2) {
  grid-column: 7 / span 3 !important;
  grid-row: 1 / span 3 !important;
}

body.swp-wall-premium[data-wall-aspect-mode="wide"] #wall-stage .layout-mosaic.swp-grid-count-5 .swp-mosaic-card:nth-child(3),
body.swp-wall-premium[data-wall-aspect-mode="wide"] #wall-stage .layout-mosaic.swp-grid-count-6 .swp-mosaic-card:nth-child(3) {
  grid-column: 10 / span 3 !important;
  grid-row: 1 / span 3 !important;
}

body.swp-wall-premium[data-wall-aspect-mode="wide"] #wall-stage .layout-mosaic.swp-grid-count-5 .swp-mosaic-card:nth-child(4) {
  grid-column: 7 / span 3 !important;
  grid-row: 4 / span 3 !important;
}

body.swp-wall-premium[data-wall-aspect-mode="wide"] #wall-stage .layout-mosaic.swp-grid-count-5 .swp-mosaic-card:nth-child(5) {
  grid-column: 10 / span 3 !important;
  grid-row: 4 / span 3 !important;
}

body.swp-wall-premium[data-wall-aspect-mode="wide"] #wall-stage .layout-mosaic.swp-grid-count-6 .swp-mosaic-card:nth-child(4) {
  grid-column: 7 / span 2 !important;
  grid-row: 4 / span 3 !important;
}

body.swp-wall-premium[data-wall-aspect-mode="wide"] #wall-stage .layout-mosaic.swp-grid-count-6 .swp-mosaic-card:nth-child(5) {
  grid-column: 9 / span 2 !important;
  grid-row: 4 / span 3 !important;
}

body.swp-wall-premium[data-wall-aspect-mode="wide"] #wall-stage .layout-mosaic.swp-grid-count-6 .swp-mosaic-card:nth-child(6) {
  grid-column: 11 / span 2 !important;
  grid-row: 4 / span 3 !important;
}

body.swp-wall-premium[data-wall-aspect-mode="compact"] #wall-stage .layout-cards.swp-grid-count-5,
body.swp-wall-premium[data-wall-aspect-mode="compact"] #wall-stage .layout-cards.swp-grid-count-6,
body.swp-wall-premium[data-wall-aspect-mode="compact"] #wall-stage .layout-celebration.swp-grid-count-5,
body.swp-wall-premium[data-wall-aspect-mode="compact"] #wall-stage .layout-celebration.swp-grid-count-6,
body.swp-wall-premium[data-wall-aspect-mode="compact"] #wall-stage .layout-mosaic.swp-grid-count-5,
body.swp-wall-premium[data-wall-aspect-mode="compact"] #wall-stage .layout-mosaic.swp-grid-count-6 {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  grid-template-rows: repeat(3, minmax(0, 1fr)) !important;
}

/* WebApp v12.17 — iPhone: composer sempre visibile durante scrittura */
body.swp-public-app.swp-public-keyboard-open #public-post-form,
body.swp-public-app.swp-public-keyboard-open [data-public-webapp]:not([hidden]) #public-post-form {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  position: fixed !important;
  top: auto !important;
  bottom: 0 !important;
  left: 0 !important;
  right: 0 !important;
  z-index: 99999 !important;
  transform: none !important;
  -webkit-transform: none !important;
  background: #f8fafc !important;
}

body.swp-public-app.swp-public-keyboard-open #public-post-form .swp-social-composer-card,
body.swp-public-app.swp-public-keyboard-open #public-post-form .swp-whatsapp-composer,
body.swp-public-app.swp-public-keyboard-open #public-post-form .swp-whatsapp-input {
  visibility: visible !important;
  opacity: 1 !important;
}

body.swp-public-app.swp-public-keyboard-open #public-feed-section,
body.swp-public-app.swp-public-keyboard-open #public-reaction-feed {
  visibility: hidden !important;
  pointer-events: none !important;
}

body.swp-public-app.swp-public-keyboard-open::after {
  z-index: 99990 !important;
  top: auto !important;
  bottom: 0 !important;
  height: calc(var(--swp-public-keyboard-bottom, 0px) + var(--swp-public-composer-height, 92px) + 80px) !important;
}

/* Wall v12.18 — mosaico denso bilanciato: niente card enorme con altre schiacciate */
body.swp-wall-premium[data-wall-aspect-mode="wide"] #wall-stage .layout-mosaic.swp-grid-count-5,
body.swp-wall-premium[data-wall-aspect-mode="wide"] #wall-stage .layout-mosaic.swp-grid-count-6 {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  grid-template-rows: repeat(2, minmax(0, 1fr)) !important;
  grid-auto-rows: minmax(0, 1fr) !important;
  grid-auto-flow: row !important;
  align-content: stretch !important;
}

body.swp-wall-premium[data-wall-aspect-mode="wide"] #wall-stage .layout-mosaic.swp-grid-count-5 .swp-mosaic-card,
body.swp-wall-premium[data-wall-aspect-mode="wide"] #wall-stage .layout-mosaic.swp-grid-count-6 .swp-mosaic-card,
body.swp-wall-premium[data-wall-aspect-mode="wide"] #wall-stage .layout-mosaic.swp-grid-count-5 .swp-mosaic-card:nth-child(n),
body.swp-wall-premium[data-wall-aspect-mode="wide"] #wall-stage .layout-mosaic.swp-grid-count-6 .swp-mosaic-card:nth-child(n),
body.swp-wall-premium[data-wall-aspect-mode="wide"] #wall-stage .layout-mosaic.swp-grid-count-5 .swp-mosaic-card.is-mosaic-hero,
body.swp-wall-premium[data-wall-aspect-mode="wide"] #wall-stage .layout-mosaic.swp-grid-count-6 .swp-mosaic-card.is-mosaic-hero {
  grid-column: auto !important;
  grid-row: auto !important;
  min-width: 0 !important;
  min-height: 0 !important;
  max-width: none !important;
  max-height: none !important;
}

body.swp-wall-premium[data-wall-aspect-mode="wide"] #wall-stage .layout-mosaic.swp-grid-count-5 .swp-mosaic-card .swp-screen-copy,
body.swp-wall-premium[data-wall-aspect-mode="wide"] #wall-stage .layout-mosaic.swp-grid-count-6 .swp-mosaic-card .swp-screen-copy {
  max-height: none !important;
  padding: clamp(14px, 1.35cqw, 26px) clamp(14px, 1.45cqw, 28px) !important;
}

body.swp-wall-premium[data-wall-aspect-mode="wide"] #wall-stage .layout-mosaic.swp-grid-count-5 .swp-mosaic-card .swp-screen-copy p,
body.swp-wall-premium[data-wall-aspect-mode="wide"] #wall-stage .layout-mosaic.swp-grid-count-6 .swp-mosaic-card .swp-screen-copy p {
  font-size: clamp(.95rem, min(1.45cqw, 3.4cqh), 1.9rem) !important;
  line-height: 1.08 !important;
}

/* WebApp v12.19 — rollback iOS keyboard: mai più nascondere o spostare il composer */
body.swp-public-app.swp-public-keyboard-open::after {
  display: none !important;
  content: none !important;
}

body.swp-public-app.swp-public-keyboard-open #public-post-form,
body.swp-public-app.swp-public-keyboard-open [data-public-webapp]:not([hidden]) #public-post-form,
body.swp-public-app #public-post-form,
body.swp-public-app [data-public-webapp]:not([hidden]) #public-post-form {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
}

body.swp-public-app.swp-public-keyboard-open #public-feed-section,
body.swp-public-app.swp-public-keyboard-open #public-reaction-feed {
  visibility: visible !important;
  pointer-events: auto !important;
}

/* Wall v12.20 — più card in mosaico, celebration e cards con griglie dense stabili */
body.swp-wall-premium[data-wall-aspect-mode="wide"] #wall-stage .layout-cards.swp-grid-count-7,
body.swp-wall-premium[data-wall-aspect-mode="wide"] #wall-stage .layout-cards.swp-grid-count-8,
body.swp-wall-premium[data-wall-aspect-mode="wide"] #wall-stage .layout-celebration.swp-grid-count-7,
body.swp-wall-premium[data-wall-aspect-mode="wide"] #wall-stage .layout-celebration.swp-grid-count-8 {
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  grid-template-rows: repeat(2, minmax(0, 1fr)) !important;
  grid-auto-rows: minmax(0, 1fr) !important;
  align-content: stretch !important;
}

body.swp-wall-premium[data-wall-aspect-mode="wide"] #wall-stage .layout-cards.swp-grid-count-7 .swp-cards-card,
body.swp-wall-premium[data-wall-aspect-mode="wide"] #wall-stage .layout-cards.swp-grid-count-8 .swp-cards-card,
body.swp-wall-premium[data-wall-aspect-mode="wide"] #wall-stage .layout-celebration.swp-grid-count-7 .swp-celebration-card,
body.swp-wall-premium[data-wall-aspect-mode="wide"] #wall-stage .layout-celebration.swp-grid-count-8 .swp-celebration-card {
  grid-column: auto !important;
  grid-row: auto !important;
  min-width: 0 !important;
  min-height: 0 !important;
}

body.swp-wall-premium[data-wall-aspect-mode="wide"] #wall-stage .layout-mosaic.swp-grid-count-5,
body.swp-wall-premium[data-wall-aspect-mode="wide"] #wall-stage .layout-mosaic.swp-grid-count-6 {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  grid-template-rows: repeat(2, minmax(0, 1fr)) !important;
}

/* WebApp v12.21 — fondo composer opaco: niente feed visibile nel "balzello" sotto */
body.swp-public-app {
  background: #f8fafc !important;
}

body.swp-public-app [data-public-webapp]:not([hidden])::after {
  content: "";
  position: fixed;
  z-index: 2135;
  left: 0;
  right: 0;
  bottom: 0;
  height: calc(var(--swp-public-composer-height, 96px) + env(safe-area-inset-bottom, 0px) + 54px);
  pointer-events: none;
  background: #f8fafc !important;
  box-shadow: 0 -22px 46px rgba(15,23,42,.08);
}

body.swp-public-app #public-post-form,
body.swp-public-app [data-public-webapp]:not([hidden]) #public-post-form {
  z-index: 2145 !important;
  background: #f8fafc !important;
  border-top-color: rgba(226,232,240,.96) !important;
  box-shadow: 0 -18px 42px rgba(15,23,42,.12) !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

body.swp-public-app #public-post-form .swp-whatsapp-composer,
body.swp-public-app [data-public-webapp]:not([hidden]) #public-post-form .swp-whatsapp-composer {
  background: #ffffff !important;
}

body.swp-public-app [data-public-webapp]:not([hidden]) #public-feed-section {
  margin-bottom: 0 !important;
  padding-bottom: calc(var(--swp-public-composer-height, 96px) + env(safe-area-inset-bottom, 0px) + 64px) !important;
}

/* WebApp v12.22 — un solo badge Live: resta quello nell'header */
body.swp-public-app .swp-public-feed-live,
body.swp-public-app [data-public-webapp]:not([hidden]) .swp-public-feed-live {
  display: none !important;
}

/* Wall v12.23 — QR a tutto schermo: elimina la banda grigia inferiore */
body.swp-wall-premium.wall-display.screen-live-shell:has(#wall-stage .is-qr-mode),
body.swp-wall-premium:has(#wall-stage .is-qr-mode),
body.swp-wall-premium.wall-display.screen-live-shell.swp-wall-showing-qr,
body.swp-wall-premium.swp-wall-showing-qr {
  width: 100vw !important;
  height: 100vh !important;
  height: 100dvh !important;
  min-height: 100vh !important;
  min-height: 100dvh !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  background: #071421 !important;
  background-image: none !important;
}

body.swp-wall-premium.wall-display.screen-live-shell:has(#wall-stage .is-qr-mode)::before,
body.swp-wall-premium.wall-display.screen-live-shell:has(#wall-stage .is-qr-mode)::after,
body.swp-wall-premium:has(#wall-stage .is-qr-mode)::before,
body.swp-wall-premium:has(#wall-stage .is-qr-mode)::after,
body.swp-wall-premium.wall-display.screen-live-shell.swp-wall-showing-qr::before,
body.swp-wall-premium.wall-display.screen-live-shell.swp-wall-showing-qr::after,
body.swp-wall-premium.swp-wall-showing-qr::before,
body.swp-wall-premium.swp-wall-showing-qr::after {
  content: none !important;
  display: none !important;
  opacity: 0 !important;
}

body.swp-wall-premium #wall-stage.swp-screen-stage:has(.is-qr-mode),
body.swp-wall-premium.swp-wall-showing-qr #wall-stage.swp-screen-stage {
  width: 100vw !important;
  height: 100vh !important;
  height: 100dvh !important;
  min-height: 100vh !important;
  min-height: 100dvh !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  overflow: hidden !important;
  background: #071421 !important;
  background-image: none !important;
  box-shadow: none !important;
}

body.swp-wall-premium #wall-stage .is-qr-mode {
  width: 100% !important;
  height: 100% !important;
  min-height: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  gap: 0 !important;
  overflow: hidden !important;
  background: #071421 !important;
}

body.swp-wall-premium #wall-stage .is-qr-mode .swp-screen-qr-card,
body.swp-wall-premium #wall-stage .is-qr-mode .qr-post {
  width: 100% !important;
  height: 100% !important;
  min-height: 100% !important;
  margin: 0 !important;
  border-radius: 0 !important;
  overflow: hidden !important;
}

/* Regia v12.24 — loader moderazione visibile quando carica i post da approvare */
.swp-moderation-empty.is-loading {
  min-height: 180px;
  color: #334155;
}

.swp-moderation-empty.is-loading .spinner-border {
  width: 2rem;
  height: 2rem;
  color: var(--swp-primary, #0ea5e9);
}

/* Wall v12.25 — griglie finali coerenti: niente card nascoste, niente buchi */
body.swp-wall-premium #wall-stage .swp-screen-grid:not(.is-qr-mode) {
  display: grid !important;
  width: 100% !important;
  height: 100% !important;
  min-width: 0 !important;
  min-height: 0 !important;
  align-items: stretch !important;
  justify-items: stretch !important;
  align-content: stretch !important;
  justify-content: stretch !important;
  grid-auto-flow: row dense !important;
  grid-auto-rows: minmax(0, 1fr) !important;
  gap: clamp(8px, min(1.05cqw, 1.35cqh), 18px) !important;
}

body.swp-wall-premium[data-wall-aspect-mode] #wall-stage .layout-mosaic > .swp-mosaic-card:nth-child(n),
body.swp-wall-premium[data-wall-aspect-mode] #wall-stage .layout-cards > .swp-cards-card:nth-child(n),
body.swp-wall-premium[data-wall-aspect-mode] #wall-stage .layout-celebration > .swp-celebration-card:nth-child(n),
body.swp-wall-premium[data-wall-aspect-mode] #wall-stage .layout-mosaic > .swp-screen-post:nth-child(n),
body.swp-wall-premium[data-wall-aspect-mode] #wall-stage .layout-cards > .swp-screen-post:nth-child(n),
body.swp-wall-premium[data-wall-aspect-mode] #wall-stage .layout-celebration > .swp-screen-post:nth-child(n),
body.swp-wall-premium #wall-stage .layout-mosaic > .swp-screen-post:nth-child(n),
body.swp-wall-premium #wall-stage .layout-cards > .swp-screen-post:nth-child(n),
body.swp-wall-premium #wall-stage .layout-celebration > .swp-screen-post:nth-child(n) {
  display: flex !important;
  grid-column: auto !important;
  grid-row: auto !important;
  width: 100% !important;
  height: 100% !important;
  min-width: 0 !important;
  min-height: 0 !important;
  max-width: none !important;
  max-height: none !important;
}

body.swp-wall-premium[data-wall-aspect-mode="wide"] #wall-stage .layout-mosaic.swp-grid-count-1,
body.swp-wall-premium[data-wall-aspect-mode="wide"] #wall-stage .layout-cards.swp-grid-count-1,
body.swp-wall-premium[data-wall-aspect-mode="wide"] #wall-stage .layout-celebration.swp-grid-count-1 {
  grid-template-columns: minmax(0, 1fr) !important;
  grid-template-rows: minmax(0, 1fr) !important;
}

body.swp-wall-premium[data-wall-aspect-mode="wide"] #wall-stage .layout-mosaic.swp-grid-count-2,
body.swp-wall-premium[data-wall-aspect-mode="wide"] #wall-stage .layout-cards.swp-grid-count-2,
body.swp-wall-premium[data-wall-aspect-mode="wide"] #wall-stage .layout-celebration.swp-grid-count-2 {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  grid-template-rows: minmax(0, 1fr) !important;
}

body.swp-wall-premium[data-wall-aspect-mode="wide"] #wall-stage .layout-mosaic.swp-grid-count-3,
body.swp-wall-premium[data-wall-aspect-mode="wide"] #wall-stage .layout-cards.swp-grid-count-3,
body.swp-wall-premium[data-wall-aspect-mode="wide"] #wall-stage .layout-celebration.swp-grid-count-3 {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  grid-template-rows: minmax(0, 1fr) !important;
}

body.swp-wall-premium[data-wall-aspect-mode="wide"] #wall-stage .layout-mosaic.swp-grid-count-4,
body.swp-wall-premium[data-wall-aspect-mode="wide"] #wall-stage .layout-cards.swp-grid-count-4,
body.swp-wall-premium[data-wall-aspect-mode="wide"] #wall-stage .layout-celebration.swp-grid-count-4 {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  grid-template-rows: repeat(2, minmax(0, 1fr)) !important;
}

body.swp-wall-premium[data-wall-aspect-mode="wide"] #wall-stage .layout-mosaic.swp-grid-count-5,
body.swp-wall-premium[data-wall-aspect-mode="wide"] #wall-stage .layout-cards.swp-grid-count-5,
body.swp-wall-premium[data-wall-aspect-mode="wide"] #wall-stage .layout-celebration.swp-grid-count-5,
body.swp-wall-premium[data-wall-aspect-mode="wide"] #wall-stage .layout-mosaic.swp-grid-count-7,
body.swp-wall-premium[data-wall-aspect-mode="wide"] #wall-stage .layout-cards.swp-grid-count-7,
body.swp-wall-premium[data-wall-aspect-mode="wide"] #wall-stage .layout-celebration.swp-grid-count-7,
body.swp-wall-premium[data-wall-aspect-mode="wide"] #wall-stage .layout-mosaic.swp-grid-count-8,
body.swp-wall-premium[data-wall-aspect-mode="wide"] #wall-stage .layout-cards.swp-grid-count-8,
body.swp-wall-premium[data-wall-aspect-mode="wide"] #wall-stage .layout-celebration.swp-grid-count-8 {
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  grid-template-rows: repeat(2, minmax(0, 1fr)) !important;
}

body.swp-wall-premium[data-wall-aspect-mode="wide"] #wall-stage .layout-mosaic.swp-grid-count-6,
body.swp-wall-premium[data-wall-aspect-mode="wide"] #wall-stage .layout-cards.swp-grid-count-6,
body.swp-wall-premium[data-wall-aspect-mode="wide"] #wall-stage .layout-celebration.swp-grid-count-6 {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  grid-template-rows: repeat(2, minmax(0, 1fr)) !important;
}

body.swp-wall-premium[data-wall-aspect-mode="wide"] #wall-stage .layout-mosaic.swp-grid-count-5 > .swp-screen-post:nth-child(1),
body.swp-wall-premium[data-wall-aspect-mode="wide"] #wall-stage .layout-cards.swp-grid-count-5 > .swp-screen-post:nth-child(1),
body.swp-wall-premium[data-wall-aspect-mode="wide"] #wall-stage .layout-celebration.swp-grid-count-5 > .swp-screen-post:nth-child(1) {
  grid-column: 1 / span 2 !important;
  grid-row: 1 / span 2 !important;
}

body.swp-wall-premium[data-wall-aspect-mode="wide"] #wall-stage .layout-mosaic.swp-grid-count-7 > .swp-screen-post:nth-child(1),
body.swp-wall-premium[data-wall-aspect-mode="wide"] #wall-stage .layout-cards.swp-grid-count-7 > .swp-screen-post:nth-child(1),
body.swp-wall-premium[data-wall-aspect-mode="wide"] #wall-stage .layout-celebration.swp-grid-count-7 > .swp-screen-post:nth-child(1) {
  grid-column: 1 / span 1 !important;
  grid-row: 1 / span 2 !important;
}

body.swp-wall-premium[data-wall-aspect-mode="compact"] #wall-stage .layout-mosaic,
body.swp-wall-premium[data-wall-aspect-mode="compact"] #wall-stage .layout-cards,
body.swp-wall-premium[data-wall-aspect-mode="compact"] #wall-stage .layout-celebration {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  grid-auto-rows: minmax(0, 1fr) !important;
}

body.swp-wall-premium[data-wall-aspect-mode="compact"] #wall-stage .layout-mosaic.swp-grid-count-1,
body.swp-wall-premium[data-wall-aspect-mode="compact"] #wall-stage .layout-cards.swp-grid-count-1,
body.swp-wall-premium[data-wall-aspect-mode="compact"] #wall-stage .layout-celebration.swp-grid-count-1 {
  grid-template-columns: minmax(0, 1fr) !important;
  grid-template-rows: minmax(0, 1fr) !important;
}

body.swp-wall-premium[data-wall-aspect-mode="compact"] #wall-stage .layout-mosaic.swp-grid-count-2,
body.swp-wall-premium[data-wall-aspect-mode="compact"] #wall-stage .layout-cards.swp-grid-count-2,
body.swp-wall-premium[data-wall-aspect-mode="compact"] #wall-stage .layout-celebration.swp-grid-count-2 {
  grid-template-rows: minmax(0, 1fr) !important;
}

body.swp-wall-premium[data-wall-aspect-mode="compact"] #wall-stage .layout-mosaic.swp-grid-count-3,
body.swp-wall-premium[data-wall-aspect-mode="compact"] #wall-stage .layout-cards.swp-grid-count-3,
body.swp-wall-premium[data-wall-aspect-mode="compact"] #wall-stage .layout-celebration.swp-grid-count-3,
body.swp-wall-premium[data-wall-aspect-mode="compact"] #wall-stage .layout-mosaic.swp-grid-count-4,
body.swp-wall-premium[data-wall-aspect-mode="compact"] #wall-stage .layout-cards.swp-grid-count-4,
body.swp-wall-premium[data-wall-aspect-mode="compact"] #wall-stage .layout-celebration.swp-grid-count-4 {
  grid-template-rows: repeat(2, minmax(0, 1fr)) !important;
}

body.swp-wall-premium[data-wall-aspect-mode="compact"] #wall-stage .layout-mosaic.swp-grid-count-5,
body.swp-wall-premium[data-wall-aspect-mode="compact"] #wall-stage .layout-cards.swp-grid-count-5,
body.swp-wall-premium[data-wall-aspect-mode="compact"] #wall-stage .layout-celebration.swp-grid-count-5,
body.swp-wall-premium[data-wall-aspect-mode="compact"] #wall-stage .layout-mosaic.swp-grid-count-6,
body.swp-wall-premium[data-wall-aspect-mode="compact"] #wall-stage .layout-cards.swp-grid-count-6,
body.swp-wall-premium[data-wall-aspect-mode="compact"] #wall-stage .layout-celebration.swp-grid-count-6 {
  grid-template-rows: repeat(3, minmax(0, 1fr)) !important;
}

body.swp-wall-premium[data-wall-aspect-mode="compact"] #wall-stage .layout-mosaic.swp-grid-count-7,
body.swp-wall-premium[data-wall-aspect-mode="compact"] #wall-stage .layout-cards.swp-grid-count-7,
body.swp-wall-premium[data-wall-aspect-mode="compact"] #wall-stage .layout-celebration.swp-grid-count-7,
body.swp-wall-premium[data-wall-aspect-mode="compact"] #wall-stage .layout-mosaic.swp-grid-count-8,
body.swp-wall-premium[data-wall-aspect-mode="compact"] #wall-stage .layout-cards.swp-grid-count-8,
body.swp-wall-premium[data-wall-aspect-mode="compact"] #wall-stage .layout-celebration.swp-grid-count-8 {
  grid-template-rows: repeat(4, minmax(0, 1fr)) !important;
}

body.swp-wall-premium[data-wall-aspect-mode="compact"] #wall-stage .layout-mosaic.swp-grid-count-5 > .swp-screen-post:nth-child(1),
body.swp-wall-premium[data-wall-aspect-mode="compact"] #wall-stage .layout-cards.swp-grid-count-5 > .swp-screen-post:nth-child(1),
body.swp-wall-premium[data-wall-aspect-mode="compact"] #wall-stage .layout-celebration.swp-grid-count-5 > .swp-screen-post:nth-child(1),
body.swp-wall-premium[data-wall-aspect-mode="compact"] #wall-stage .layout-mosaic.swp-grid-count-7 > .swp-screen-post:nth-child(1),
body.swp-wall-premium[data-wall-aspect-mode="compact"] #wall-stage .layout-cards.swp-grid-count-7 > .swp-screen-post:nth-child(1),
body.swp-wall-premium[data-wall-aspect-mode="compact"] #wall-stage .layout-celebration.swp-grid-count-7 > .swp-screen-post:nth-child(1) {
  grid-column: 1 / span 2 !important;
}

body.swp-wall-premium[data-wall-aspect-mode="portrait"] #wall-stage .layout-mosaic,
body.swp-wall-premium[data-wall-aspect-mode="portrait"] #wall-stage .layout-cards,
body.swp-wall-premium[data-wall-aspect-mode="portrait"] #wall-stage .layout-celebration {
  grid-template-columns: minmax(0, 1fr) !important;
  grid-auto-rows: minmax(0, 1fr) !important;
}

body.swp-wall-premium[data-wall-aspect-mode="portrait"] #wall-stage .layout-mosaic.swp-grid-count-1,
body.swp-wall-premium[data-wall-aspect-mode="portrait"] #wall-stage .layout-cards.swp-grid-count-1,
body.swp-wall-premium[data-wall-aspect-mode="portrait"] #wall-stage .layout-celebration.swp-grid-count-1 { grid-template-rows: minmax(0, 1fr) !important; }

body.swp-wall-premium[data-wall-aspect-mode="portrait"] #wall-stage .layout-mosaic.swp-grid-count-2,
body.swp-wall-premium[data-wall-aspect-mode="portrait"] #wall-stage .layout-cards.swp-grid-count-2,
body.swp-wall-premium[data-wall-aspect-mode="portrait"] #wall-stage .layout-celebration.swp-grid-count-2 { grid-template-rows: repeat(2, minmax(0, 1fr)) !important; }

body.swp-wall-premium[data-wall-aspect-mode="portrait"] #wall-stage .layout-mosaic.swp-grid-count-3,
body.swp-wall-premium[data-wall-aspect-mode="portrait"] #wall-stage .layout-cards.swp-grid-count-3,
body.swp-wall-premium[data-wall-aspect-mode="portrait"] #wall-stage .layout-celebration.swp-grid-count-3 { grid-template-rows: repeat(3, minmax(0, 1fr)) !important; }

body.swp-wall-premium[data-wall-aspect-mode="portrait"] #wall-stage .layout-mosaic.swp-grid-count-4,
body.swp-wall-premium[data-wall-aspect-mode="portrait"] #wall-stage .layout-cards.swp-grid-count-4,
body.swp-wall-premium[data-wall-aspect-mode="portrait"] #wall-stage .layout-celebration.swp-grid-count-4 { grid-template-rows: repeat(4, minmax(0, 1fr)) !important; }

body.swp-wall-premium[data-wall-aspect-mode="portrait"] #wall-stage .layout-mosaic.swp-grid-count-5,
body.swp-wall-premium[data-wall-aspect-mode="portrait"] #wall-stage .layout-cards.swp-grid-count-5,
body.swp-wall-premium[data-wall-aspect-mode="portrait"] #wall-stage .layout-celebration.swp-grid-count-5 { grid-template-rows: repeat(5, minmax(0, 1fr)) !important; }

body.swp-wall-premium[data-wall-aspect-mode="portrait"] #wall-stage .layout-mosaic.swp-grid-count-6,
body.swp-wall-premium[data-wall-aspect-mode="portrait"] #wall-stage .layout-cards.swp-grid-count-6,
body.swp-wall-premium[data-wall-aspect-mode="portrait"] #wall-stage .layout-celebration.swp-grid-count-6 { grid-template-rows: repeat(6, minmax(0, 1fr)) !important; }

body.swp-wall-premium[data-wall-aspect-mode="portrait"] #wall-stage .layout-mosaic.swp-grid-count-7,
body.swp-wall-premium[data-wall-aspect-mode="portrait"] #wall-stage .layout-cards.swp-grid-count-7,
body.swp-wall-premium[data-wall-aspect-mode="portrait"] #wall-stage .layout-celebration.swp-grid-count-7 { grid-template-rows: repeat(7, minmax(0, 1fr)) !important; }

body.swp-wall-premium[data-wall-aspect-mode="portrait"] #wall-stage .layout-mosaic.swp-grid-count-8,
body.swp-wall-premium[data-wall-aspect-mode="portrait"] #wall-stage .layout-cards.swp-grid-count-8,
body.swp-wall-premium[data-wall-aspect-mode="portrait"] #wall-stage .layout-celebration.swp-grid-count-8 { grid-template-rows: repeat(8, minmax(0, 1fr)) !important; }

/* Regia v12.26 — AJAX moderazione fluido: niente flash di ricaricamento */
.swp-mod-post-card {
  transition: opacity .18s ease, transform .18s ease, box-shadow .22s ease, border-color .22s ease;
}

.swp-mod-post-card.is-moderation-busy {
  pointer-events: none;
  opacity: .72;
  transform: scale(.992);
}

.swp-mod-post-card.is-moderation-updated {
  border-color: rgba(16,185,129,.34);
  box-shadow: 0 14px 34px rgba(16,185,129,.13), 0 8px 20px rgba(15,23,42,.055);
}

.swp-mod-post-card.is-moderation-removing {
  pointer-events: none;
  animation: swpModerationCardRemove .18s ease forwards;
}

.swp-mod-post-card.is-soft-added {
  animation: swpModerationCardEnter .22s ease both;
}

@keyframes swpModerationCardRemove {
  to {
    opacity: 0;
    transform: translateY(8px) scale(.975);
  }
}

@keyframes swpModerationCardEnter {
  from {
    opacity: 0;
    transform: translateY(8px) scale(.985);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

/* Wall v12.27 — tre layout davvero distinti: cards ordinato, mosaico bento, celebration scenografico */
body.swp-wall-premium #wall-stage .layout-cards:not(.is-qr-mode),
body.swp-wall-premium #wall-stage .layout-mosaic:not(.is-qr-mode),
body.swp-wall-premium #wall-stage .layout-celebration:not(.is-qr-mode) {
  isolation: isolate !important;
}

body.swp-wall-premium #wall-stage .layout-cards:not(.is-qr-mode) {
  gap: clamp(10px, min(1.15cqw, 1.5cqh), 20px) !important;
}

body.swp-wall-premium #wall-stage .layout-cards > .swp-cards-card:nth-child(n) {
  grid-column: auto !important;
  grid-row: auto !important;
  border-radius: clamp(24px, min(2.2cqw, 3cqh), 38px) !important;
  border-color: rgba(226, 232, 240, .94) !important;
  background:
    radial-gradient(circle at 90% 10%, rgba(14, 165, 233, .105), transparent 34%),
    linear-gradient(155deg, rgba(255,255,255,.99), #f8fafc 70%) !important;
  box-shadow:
    0 18px 44px rgba(15,23,42,.105),
    inset 0 1px 0 rgba(255,255,255,.9) !important;
}

body.swp-wall-premium #wall-stage .layout-cards > .swp-cards-card:not(.is-new-arrival):not(.is-reaction-hit) {
  animation: none !important;
  transform: none !important;
}

body.swp-wall-premium #wall-stage .layout-cards .swp-screen-copy,
body.swp-wall-premium #wall-stage .layout-cards .swp-screen-copy p {
  text-align: center !important;
}

body.swp-wall-premium #wall-stage .layout-cards .swp-screen-copy {
  align-items: center !important;
  justify-content: center !important;
}

body.swp-wall-premium #wall-stage .layout-cards .swp-screen-media {
  border-radius: inherit !important;
  margin: 0 !important;
  overflow: hidden !important;
}

body.swp-wall-premium[data-wall-aspect-mode="wide"] #wall-stage .layout-cards.swp-grid-count-5,
body.swp-wall-premium[data-wall-aspect-mode="wide"] #wall-stage .layout-cards.swp-grid-count-7,
body.swp-wall-premium[data-wall-aspect-mode="wide"] #wall-stage .layout-cards.swp-grid-count-8 {
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  grid-template-rows: repeat(2, minmax(0, 1fr)) !important;
}

body.swp-wall-premium[data-wall-aspect-mode="wide"] #wall-stage .layout-cards.swp-grid-count-6 {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  grid-template-rows: repeat(2, minmax(0, 1fr)) !important;
}

body.swp-wall-premium[data-wall-aspect-mode="wide"] #wall-stage .layout-cards.swp-grid-count-5 > .swp-screen-post:nth-child(1),
body.swp-wall-premium[data-wall-aspect-mode="wide"] #wall-stage .layout-cards.swp-grid-count-7 > .swp-screen-post:nth-child(1) {
  grid-column: auto !important;
  grid-row: auto !important;
}

body.swp-wall-premium #wall-stage .layout-mosaic:not(.is-qr-mode) {
  gap: clamp(8px, min(.9cqw, 1.2cqh), 16px) !important;
}

body.swp-wall-premium #wall-stage .layout-mosaic > .swp-mosaic-card:nth-child(n) {
  border-radius: clamp(18px, min(1.55cqw, 2.25cqh), 30px) !important;
  border-color: color-mix(in srgb, var(--swp-mosaic-accent, var(--swp-primary)) 30%, rgba(226,232,240,.92)) !important;
  background:
    linear-gradient(135deg, color-mix(in srgb, var(--swp-mosaic-accent, var(--swp-primary)) 10%, #ffffff), #ffffff 58%),
    #ffffff !important;
  box-shadow:
    0 20px 54px rgba(15,23,42,.12),
    inset 0 1px 0 rgba(255,255,255,.84) !important;
}

body.swp-wall-premium #wall-stage .layout-mosaic > .swp-mosaic-card:nth-child(3n + 1) {
  --swp-mosaic-accent: var(--swp-primary);
}

body.swp-wall-premium #wall-stage .layout-mosaic > .swp-mosaic-card:nth-child(3n + 2) {
  --swp-mosaic-accent: #8b5cf6;
}

body.swp-wall-premium #wall-stage .layout-mosaic > .swp-mosaic-card:nth-child(3n) {
  --swp-mosaic-accent: #14b8a6;
}

body.swp-wall-premium #wall-stage .layout-mosaic .swp-screen-copy {
  align-items: flex-start !important;
  justify-content: flex-end !important;
  text-align: left !important;
}

body.swp-wall-premium #wall-stage .layout-mosaic .swp-screen-copy p {
  text-align: left !important;
  letter-spacing: -.028em !important;
}

body.swp-wall-premium #wall-stage .layout-mosaic .swp-screen-media {
  border-radius: inherit !important;
  margin: 0 !important;
  overflow: hidden !important;
}

body.swp-wall-premium[data-wall-aspect-mode="wide"] #wall-stage .layout-mosaic.swp-grid-count-2 {
  grid-template-columns: 2fr 1fr !important;
  grid-template-rows: minmax(0, 1fr) !important;
}

body.swp-wall-premium[data-wall-aspect-mode="wide"] #wall-stage .layout-mosaic.swp-grid-count-3 {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  grid-template-rows: repeat(2, minmax(0, 1fr)) !important;
}

body.swp-wall-premium[data-wall-aspect-mode="wide"] #wall-stage .layout-mosaic.swp-grid-count-4 {
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  grid-template-rows: repeat(2, minmax(0, 1fr)) !important;
}

body.swp-wall-premium[data-wall-aspect-mode="wide"] #wall-stage .layout-mosaic.swp-grid-count-5,
body.swp-wall-premium[data-wall-aspect-mode="wide"] #wall-stage .layout-mosaic.swp-grid-count-6 {
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  grid-template-rows: repeat(4, minmax(0, 1fr)) !important;
}

body.swp-wall-premium[data-wall-aspect-mode="wide"] #wall-stage .layout-mosaic.swp-grid-count-7,
body.swp-wall-premium[data-wall-aspect-mode="wide"] #wall-stage .layout-mosaic.swp-grid-count-8 {
  grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
  grid-template-rows: repeat(4, minmax(0, 1fr)) !important;
}

body.swp-wall-premium[data-wall-aspect-mode="wide"] #wall-stage .layout-mosaic.swp-grid-count-3 > .swp-screen-post:nth-child(1) {
  grid-column: 1 / span 2 !important;
  grid-row: 1 / span 2 !important;
}

body.swp-wall-premium[data-wall-aspect-mode="wide"] #wall-stage .layout-mosaic.swp-grid-count-3 > .swp-screen-post:nth-child(2) {
  grid-column: 3 !important;
  grid-row: 1 !important;
}

body.swp-wall-premium[data-wall-aspect-mode="wide"] #wall-stage .layout-mosaic.swp-grid-count-3 > .swp-screen-post:nth-child(3) {
  grid-column: 3 !important;
  grid-row: 2 !important;
}

body.swp-wall-premium[data-wall-aspect-mode="wide"] #wall-stage .layout-mosaic.swp-grid-count-4 > .swp-screen-post:nth-child(1) {
  grid-column: 1 / span 2 !important;
  grid-row: 1 / span 2 !important;
}

body.swp-wall-premium[data-wall-aspect-mode="wide"] #wall-stage .layout-mosaic.swp-grid-count-4 > .swp-screen-post:nth-child(2) {
  grid-column: 3 / span 2 !important;
  grid-row: 1 !important;
}

body.swp-wall-premium[data-wall-aspect-mode="wide"] #wall-stage .layout-mosaic.swp-grid-count-4 > .swp-screen-post:nth-child(3) {
  grid-column: 3 !important;
  grid-row: 2 !important;
}

body.swp-wall-premium[data-wall-aspect-mode="wide"] #wall-stage .layout-mosaic.swp-grid-count-4 > .swp-screen-post:nth-child(4) {
  grid-column: 4 !important;
  grid-row: 2 !important;
}

body.swp-wall-premium[data-wall-aspect-mode="wide"] #wall-stage .layout-mosaic.swp-grid-count-5 > .swp-screen-post:nth-child(1),
body.swp-wall-premium[data-wall-aspect-mode="wide"] #wall-stage .layout-mosaic.swp-grid-count-6 > .swp-screen-post:nth-child(1) {
  grid-column: 1 / span 2 !important;
  grid-row: 1 / span 2 !important;
}

body.swp-wall-premium[data-wall-aspect-mode="wide"] #wall-stage .layout-mosaic.swp-grid-count-5 > .swp-screen-post:nth-child(2),
body.swp-wall-premium[data-wall-aspect-mode="wide"] #wall-stage .layout-mosaic.swp-grid-count-6 > .swp-screen-post:nth-child(2) {
  grid-column: 3 / span 3 !important;
  grid-row: 1 !important;
}

body.swp-wall-premium[data-wall-aspect-mode="wide"] #wall-stage .layout-mosaic.swp-grid-count-5 > .swp-screen-post:nth-child(3),
body.swp-wall-premium[data-wall-aspect-mode="wide"] #wall-stage .layout-mosaic.swp-grid-count-6 > .swp-screen-post:nth-child(3) {
  grid-column: 3 / span 3 !important;
  grid-row: 2 !important;
}

body.swp-wall-premium[data-wall-aspect-mode="wide"] #wall-stage .layout-mosaic.swp-grid-count-5 > .swp-screen-post:nth-child(4),
body.swp-wall-premium[data-wall-aspect-mode="wide"] #wall-stage .layout-mosaic.swp-grid-count-6 > .swp-screen-post:nth-child(4) {
  grid-column: 1 / span 2 !important;
  grid-row: 3 / span 2 !important;
}

body.swp-wall-premium[data-wall-aspect-mode="wide"] #wall-stage .layout-mosaic.swp-grid-count-5 > .swp-screen-post:nth-child(5) {
  grid-column: 3 / span 3 !important;
  grid-row: 3 / span 2 !important;
}

body.swp-wall-premium[data-wall-aspect-mode="wide"] #wall-stage .layout-mosaic.swp-grid-count-6 > .swp-screen-post:nth-child(5) {
  grid-column: 2 / span 2 !important;
  grid-row: 3 / span 2 !important;
}

body.swp-wall-premium[data-wall-aspect-mode="wide"] #wall-stage .layout-mosaic.swp-grid-count-6 > .swp-screen-post:nth-child(6) {
  grid-column: 4 / span 2 !important;
  grid-row: 3 / span 2 !important;
}

body.swp-wall-premium[data-wall-aspect-mode="wide"] #wall-stage .layout-mosaic.swp-grid-count-6 > .swp-screen-post:nth-child(4) {
  grid-column: 1 !important;
  grid-row: 3 / span 2 !important;
}

body.swp-wall-premium[data-wall-aspect-mode="wide"] #wall-stage .layout-mosaic.swp-grid-count-7 > .swp-screen-post:nth-child(1),
body.swp-wall-premium[data-wall-aspect-mode="wide"] #wall-stage .layout-mosaic.swp-grid-count-8 > .swp-screen-post:nth-child(1) {
  grid-column: 1 / span 2 !important;
  grid-row: 1 / span 2 !important;
}

body.swp-wall-premium[data-wall-aspect-mode="wide"] #wall-stage .layout-mosaic.swp-grid-count-7 > .swp-screen-post:nth-child(2) {
  grid-column: 3 / span 2 !important;
  grid-row: 1 / span 2 !important;
}

body.swp-wall-premium[data-wall-aspect-mode="wide"] #wall-stage .layout-mosaic.swp-grid-count-7 > .swp-screen-post:nth-child(3),
body.swp-wall-premium[data-wall-aspect-mode="wide"] #wall-stage .layout-mosaic.swp-grid-count-8 > .swp-screen-post:nth-child(3) {
  grid-column: 5 / span 2 !important;
  grid-row: 1 / span 2 !important;
}

body.swp-wall-premium[data-wall-aspect-mode="wide"] #wall-stage .layout-mosaic.swp-grid-count-7 > .swp-screen-post:nth-child(4),
body.swp-wall-premium[data-wall-aspect-mode="wide"] #wall-stage .layout-mosaic.swp-grid-count-8 > .swp-screen-post:nth-child(5) {
  grid-column: 1 / span 2 !important;
  grid-row: 3 / span 2 !important;
}

body.swp-wall-premium[data-wall-aspect-mode="wide"] #wall-stage .layout-mosaic.swp-grid-count-7 > .swp-screen-post:nth-child(5) {
  grid-column: 3 / span 2 !important;
  grid-row: 3 !important;
}

body.swp-wall-premium[data-wall-aspect-mode="wide"] #wall-stage .layout-mosaic.swp-grid-count-7 > .swp-screen-post:nth-child(6) {
  grid-column: 5 / span 2 !important;
  grid-row: 3 !important;
}

body.swp-wall-premium[data-wall-aspect-mode="wide"] #wall-stage .layout-mosaic.swp-grid-count-7 > .swp-screen-post:nth-child(7) {
  grid-column: 3 / span 4 !important;
  grid-row: 4 !important;
}

body.swp-wall-premium[data-wall-aspect-mode="wide"] #wall-stage .layout-mosaic.swp-grid-count-8 > .swp-screen-post:nth-child(2) {
  grid-column: 3 / span 2 !important;
  grid-row: 1 !important;
}

body.swp-wall-premium[data-wall-aspect-mode="wide"] #wall-stage .layout-mosaic.swp-grid-count-8 > .swp-screen-post:nth-child(4) {
  grid-column: 3 / span 2 !important;
  grid-row: 2 !important;
}

body.swp-wall-premium[data-wall-aspect-mode="wide"] #wall-stage .layout-mosaic.swp-grid-count-8 > .swp-screen-post:nth-child(6) {
  grid-column: 3 / span 2 !important;
  grid-row: 3 / span 2 !important;
}

body.swp-wall-premium[data-wall-aspect-mode="wide"] #wall-stage .layout-mosaic.swp-grid-count-8 > .swp-screen-post:nth-child(7) {
  grid-column: 5 / span 2 !important;
  grid-row: 3 !important;
}

body.swp-wall-premium[data-wall-aspect-mode="wide"] #wall-stage .layout-mosaic.swp-grid-count-8 > .swp-screen-post:nth-child(8) {
  grid-column: 5 / span 2 !important;
  grid-row: 4 !important;
}

body.swp-wall-premium #wall-stage .layout-celebration:not(.is-qr-mode) {
  gap: clamp(10px, min(1.2cqw, 1.65cqh), 22px) !important;
}

body.swp-wall-premium #wall-stage .layout-celebration > .swp-celebration-card:nth-child(n) {
  border-radius: clamp(26px, min(2.45cqw, 3.4cqh), 44px) !important;
  border-color: color-mix(in srgb, var(--swp-celebration-accent, var(--swp-secondary)) 42%, rgba(255,255,255,.92)) !important;
  background:
    radial-gradient(circle at 12% 10%, color-mix(in srgb, var(--swp-celebration-accent, var(--swp-secondary)) 26%, transparent), transparent 34%),
    radial-gradient(circle at 94% 18%, rgba(255,255,255,.94), transparent 28%),
    linear-gradient(145deg, color-mix(in srgb, var(--swp-celebration-accent, var(--swp-secondary)) 10%, #ffffff), #ffffff 64%) !important;
  box-shadow:
    0 28px 72px rgba(15,23,42,.14),
    0 0 0 1px rgba(255,255,255,.72) inset,
    0 0 44px color-mix(in srgb, var(--swp-celebration-accent, var(--swp-secondary)) 12%, transparent) !important;
  overflow: hidden !important;
}

body.swp-wall-premium #wall-stage .layout-celebration > .swp-celebration-card::before {
  content: "";
  position: absolute;
  inset: -2px;
  z-index: 0;
  pointer-events: none;
  background:
    radial-gradient(circle at 18% 22%, color-mix(in srgb, var(--swp-celebration-accent, var(--swp-secondary)) 68%, #fff) 0 4px, transparent 5px),
    radial-gradient(circle at 82% 20%, rgba(255,255,255,.95) 0 3px, transparent 4px),
    radial-gradient(circle at 72% 78%, color-mix(in srgb, var(--swp-celebration-accent, var(--swp-secondary)) 48%, #fff) 0 3px, transparent 5px),
    linear-gradient(120deg, transparent 0 42%, rgba(255,255,255,.45) 49%, transparent 58%);
  opacity: .56;
}

body.swp-wall-premium #wall-stage .layout-celebration > .swp-celebration-card > * {
  position: relative;
  z-index: 2;
}

body.swp-wall-premium #wall-stage .layout-celebration .swp-screen-copy,
body.swp-wall-premium #wall-stage .layout-celebration .swp-screen-copy p {
  text-align: center !important;
}

body.swp-wall-premium #wall-stage .layout-celebration .swp-screen-copy {
  align-items: center !important;
  justify-content: center !important;
}

body.swp-wall-premium #wall-stage .layout-celebration .swp-screen-copy p {
  font-weight: 850 !important;
  letter-spacing: -.034em !important;
}

body.swp-wall-premium #wall-stage .layout-celebration .swp-screen-media {
  border-radius: inherit !important;
  margin: 0 !important;
  overflow: hidden !important;
}

body.swp-wall-premium[data-wall-aspect-mode="wide"] #wall-stage .layout-celebration.swp-grid-count-2 {
  grid-template-columns: 1.35fr 1fr !important;
  grid-template-rows: minmax(0, 1fr) !important;
}

body.swp-wall-premium[data-wall-aspect-mode="wide"] #wall-stage .layout-celebration.swp-grid-count-3 {
  grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
  grid-template-rows: repeat(2, minmax(0, 1fr)) !important;
}

body.swp-wall-premium[data-wall-aspect-mode="wide"] #wall-stage .layout-celebration.swp-grid-count-4 {
  grid-template-columns: repeat(8, minmax(0, 1fr)) !important;
  grid-template-rows: repeat(3, minmax(0, 1fr)) !important;
}

body.swp-wall-premium[data-wall-aspect-mode="wide"] #wall-stage .layout-celebration.swp-grid-count-5,
body.swp-wall-premium[data-wall-aspect-mode="wide"] #wall-stage .layout-celebration.swp-grid-count-6,
body.swp-wall-premium[data-wall-aspect-mode="wide"] #wall-stage .layout-celebration.swp-grid-count-7,
body.swp-wall-premium[data-wall-aspect-mode="wide"] #wall-stage .layout-celebration.swp-grid-count-8 {
  grid-template-columns: repeat(12, minmax(0, 1fr)) !important;
  grid-template-rows: repeat(4, minmax(0, 1fr)) !important;
}

body.swp-wall-premium[data-wall-aspect-mode="wide"] #wall-stage .layout-celebration.swp-grid-count-3 > .swp-screen-post:nth-child(1) {
  grid-column: 1 / span 3 !important;
  grid-row: 1 / span 2 !important;
}

body.swp-wall-premium[data-wall-aspect-mode="wide"] #wall-stage .layout-celebration.swp-grid-count-3 > .swp-screen-post:nth-child(2) {
  grid-column: 4 / span 3 !important;
  grid-row: 1 !important;
}

body.swp-wall-premium[data-wall-aspect-mode="wide"] #wall-stage .layout-celebration.swp-grid-count-3 > .swp-screen-post:nth-child(3) {
  grid-column: 4 / span 3 !important;
  grid-row: 2 !important;
}

body.swp-wall-premium[data-wall-aspect-mode="wide"] #wall-stage .layout-celebration.swp-grid-count-4 > .swp-screen-post:nth-child(1) {
  grid-column: 1 / span 4 !important;
  grid-row: 1 / span 3 !important;
}

body.swp-wall-premium[data-wall-aspect-mode="wide"] #wall-stage .layout-celebration.swp-grid-count-4 > .swp-screen-post:nth-child(2) {
  grid-column: 5 / span 4 !important;
  grid-row: 1 !important;
}

body.swp-wall-premium[data-wall-aspect-mode="wide"] #wall-stage .layout-celebration.swp-grid-count-4 > .swp-screen-post:nth-child(3) {
  grid-column: 5 / span 2 !important;
  grid-row: 2 / span 2 !important;
}

body.swp-wall-premium[data-wall-aspect-mode="wide"] #wall-stage .layout-celebration.swp-grid-count-4 > .swp-screen-post:nth-child(4) {
  grid-column: 7 / span 2 !important;
  grid-row: 2 / span 2 !important;
}

body.swp-wall-premium[data-wall-aspect-mode="wide"] #wall-stage .layout-celebration.swp-grid-count-5 > .swp-screen-post:nth-child(1) {
  grid-column: 1 / span 5 !important;
  grid-row: 1 / span 4 !important;
}

body.swp-wall-premium[data-wall-aspect-mode="wide"] #wall-stage .layout-celebration.swp-grid-count-5 > .swp-screen-post:nth-child(2) {
  grid-column: 6 / span 4 !important;
  grid-row: 1 / span 2 !important;
}

body.swp-wall-premium[data-wall-aspect-mode="wide"] #wall-stage .layout-celebration.swp-grid-count-5 > .swp-screen-post:nth-child(3) {
  grid-column: 10 / span 3 !important;
  grid-row: 1 / span 2 !important;
}

body.swp-wall-premium[data-wall-aspect-mode="wide"] #wall-stage .layout-celebration.swp-grid-count-5 > .swp-screen-post:nth-child(4) {
  grid-column: 6 / span 3 !important;
  grid-row: 3 / span 2 !important;
}

body.swp-wall-premium[data-wall-aspect-mode="wide"] #wall-stage .layout-celebration.swp-grid-count-5 > .swp-screen-post:nth-child(5) {
  grid-column: 9 / span 4 !important;
  grid-row: 3 / span 2 !important;
}

body.swp-wall-premium[data-wall-aspect-mode="wide"] #wall-stage .layout-celebration.swp-grid-count-6 > .swp-screen-post:nth-child(1),
body.swp-wall-premium[data-wall-aspect-mode="wide"] #wall-stage .layout-celebration.swp-grid-count-7 > .swp-screen-post:nth-child(1),
body.swp-wall-premium[data-wall-aspect-mode="wide"] #wall-stage .layout-celebration.swp-grid-count-8 > .swp-screen-post:nth-child(1) {
  grid-column: 1 / span 3 !important;
  grid-row: 1 / span 4 !important;
}

body.swp-wall-premium[data-wall-aspect-mode="wide"] #wall-stage .layout-celebration.swp-grid-count-6 > .swp-screen-post:nth-child(2),
body.swp-wall-premium[data-wall-aspect-mode="wide"] #wall-stage .layout-celebration.swp-grid-count-7 > .swp-screen-post:nth-child(2),
body.swp-wall-premium[data-wall-aspect-mode="wide"] #wall-stage .layout-celebration.swp-grid-count-8 > .swp-screen-post:nth-child(2) {
  grid-column: 4 / span 3 !important;
  grid-row: 1 / span 2 !important;
}

body.swp-wall-premium[data-wall-aspect-mode="wide"] #wall-stage .layout-celebration.swp-grid-count-6 > .swp-screen-post:nth-child(3),
body.swp-wall-premium[data-wall-aspect-mode="wide"] #wall-stage .layout-celebration.swp-grid-count-7 > .swp-screen-post:nth-child(3),
body.swp-wall-premium[data-wall-aspect-mode="wide"] #wall-stage .layout-celebration.swp-grid-count-8 > .swp-screen-post:nth-child(3) {
  grid-column: 7 / span 3 !important;
  grid-row: 1 / span 2 !important;
}

body.swp-wall-premium[data-wall-aspect-mode="wide"] #wall-stage .layout-celebration.swp-grid-count-6 > .swp-screen-post:nth-child(4),
body.swp-wall-premium[data-wall-aspect-mode="wide"] #wall-stage .layout-celebration.swp-grid-count-7 > .swp-screen-post:nth-child(4),
body.swp-wall-premium[data-wall-aspect-mode="wide"] #wall-stage .layout-celebration.swp-grid-count-8 > .swp-screen-post:nth-child(4) {
  grid-column: 10 / span 3 !important;
  grid-row: 1 / span 2 !important;
}

body.swp-wall-premium[data-wall-aspect-mode="wide"] #wall-stage .layout-celebration.swp-grid-count-6 > .swp-screen-post:nth-child(5) {
  grid-column: 4 / span 5 !important;
  grid-row: 3 / span 2 !important;
}

body.swp-wall-premium[data-wall-aspect-mode="wide"] #wall-stage .layout-celebration.swp-grid-count-6 > .swp-screen-post:nth-child(6) {
  grid-column: 9 / span 4 !important;
  grid-row: 3 / span 2 !important;
}

body.swp-wall-premium[data-wall-aspect-mode="wide"] #wall-stage .layout-celebration.swp-grid-count-7 > .swp-screen-post:nth-child(5) {
  grid-column: 4 / span 3 !important;
  grid-row: 3 / span 2 !important;
}

body.swp-wall-premium[data-wall-aspect-mode="wide"] #wall-stage .layout-celebration.swp-grid-count-7 > .swp-screen-post:nth-child(6) {
  grid-column: 7 / span 3 !important;
  grid-row: 3 / span 2 !important;
}

body.swp-wall-premium[data-wall-aspect-mode="wide"] #wall-stage .layout-celebration.swp-grid-count-7 > .swp-screen-post:nth-child(7) {
  grid-column: 10 / span 3 !important;
  grid-row: 3 / span 2 !important;
}

body.swp-wall-premium[data-wall-aspect-mode="wide"] #wall-stage .layout-celebration.swp-grid-count-8 > .swp-screen-post:nth-child(5) {
  grid-column: 4 / span 3 !important;
  grid-row: 3 / span 2 !important;
}

body.swp-wall-premium[data-wall-aspect-mode="wide"] #wall-stage .layout-celebration.swp-grid-count-8 > .swp-screen-post:nth-child(6) {
  grid-column: 7 / span 2 !important;
  grid-row: 3 / span 2 !important;
}

body.swp-wall-premium[data-wall-aspect-mode="wide"] #wall-stage .layout-celebration.swp-grid-count-8 > .swp-screen-post:nth-child(7) {
  grid-column: 9 / span 2 !important;
  grid-row: 3 / span 2 !important;
}

body.swp-wall-premium[data-wall-aspect-mode="wide"] #wall-stage .layout-celebration.swp-grid-count-8 > .swp-screen-post:nth-child(8) {
  grid-column: 11 / span 2 !important;
  grid-row: 3 / span 2 !important;
}

body.swp-wall-premium[data-wall-aspect-mode="compact"] #wall-stage .layout-cards > .swp-screen-post:nth-child(n),
body.swp-wall-premium[data-wall-aspect-mode="portrait"] #wall-stage .layout-cards > .swp-screen-post:nth-child(n) {
  grid-column: auto !important;
  grid-row: auto !important;
}

body.swp-wall-premium[data-wall-aspect-mode="compact"] #wall-stage .layout-mosaic.swp-grid-count-5 > .swp-screen-post:nth-child(1),
body.swp-wall-premium[data-wall-aspect-mode="compact"] #wall-stage .layout-mosaic.swp-grid-count-7 > .swp-screen-post:nth-child(1),
body.swp-wall-premium[data-wall-aspect-mode="compact"] #wall-stage .layout-celebration.swp-grid-count-5 > .swp-screen-post:nth-child(1),
body.swp-wall-premium[data-wall-aspect-mode="compact"] #wall-stage .layout-celebration.swp-grid-count-7 > .swp-screen-post:nth-child(1) {
  grid-column: 1 / span 2 !important;
}

body.swp-wall-premium[data-wall-aspect-mode="portrait"] #wall-stage .layout-mosaic .swp-screen-copy,
body.swp-wall-premium[data-wall-aspect-mode="portrait"] #wall-stage .layout-celebration .swp-screen-copy {
  text-align: center !important;
  align-items: center !important;
}

/* Regia v12.28 — infinite scroll post moderazione */
.swp-moderation-more {
  grid-column: 1 / -1;
  min-height: 74px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  padding: 18px;
  color: #64748b;
}

.swp-moderation-more-btn {
  min-height: 46px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  padding-inline: 18px;
  border: 1px solid rgba(148, 163, 184, .28) !important;
  border-radius: 999px !important;
  color: #0f172a !important;
  background:
    linear-gradient(135deg, rgba(255,255,255,.98), rgba(248,250,252,.96)) !important;
  box-shadow:
    0 12px 28px rgba(15, 23, 42, .075),
    inset 0 1px 0 rgba(255,255,255,.95) !important;
  font-weight: 750 !important;
}

.swp-moderation-more-btn:hover {
  transform: translateY(-1px);
  border-color: color-mix(in srgb, var(--swp-primary, #0ea5e9) 30%, rgba(148,163,184,.32)) !important;
  box-shadow:
    0 16px 34px rgba(15, 23, 42, .105),
    0 0 0 4px color-mix(in srgb, var(--swp-primary, #0ea5e9) 8%, transparent),
    inset 0 1px 0 rgba(255,255,255,.95) !important;
}

.swp-moderation-more small {
  color: #94a3b8;
  font-size: .78rem;
  font-weight: 700;
}

.swp-moderation-more.is-loading .swp-moderation-more-btn {
  pointer-events: none;
  color: #475569 !important;
}

.swp-moderation-more.is-complete {
  min-height: 58px;
  color: #64748b;
  font-weight: 750;
}

.swp-moderation-more.is-complete .bi {
  color: #22c55e;
}

@media (max-width: 575.98px) {
  .swp-moderation-more {
    flex-direction: column;
    gap: 8px;
    padding-inline: 10px;
  }

  .swp-moderation-more-btn {
    width: 100%;
  }
}

/* WebApp v12.29 — composer mobile premium stabile su iOS/Android */
:root {
  --swp-public-keyboard-bottom: 0px;
  --swp-public-keyboard-inset: 0px;
  --swp-public-composer-height: 92px;
  --swp-public-visual-height: 100dvh;
}

body.swp-public-app {
  background: #f8fafc !important;
  overflow-x: hidden !important;
  -webkit-text-size-adjust: 100%;
}

body.swp-public-app [data-public-webapp]:not([hidden]) {
  min-height: 100vh !important;
  min-height: 100dvh !important;
  padding-bottom: calc(var(--swp-public-composer-height, 92px) + env(safe-area-inset-bottom, 0px) + 22px) !important;
}

body.swp-public-app [data-public-webapp]:not([hidden])::after {
  content: "" !important;
  position: fixed !important;
  z-index: 2138 !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  height: calc(var(--swp-public-keyboard-bottom, 0px) + var(--swp-public-composer-height, 92px) + env(safe-area-inset-bottom, 0px) + 22px) !important;
  pointer-events: none !important;
  background:
    linear-gradient(180deg, rgba(248,250,252,0), #f8fafc 16%, #f8fafc 100%) !important;
  box-shadow: 0 -18px 46px rgba(15, 23, 42, .08) !important;
}

body.swp-public-app.swp-public-keyboard-open [data-public-webapp]:not([hidden])::after {
  height: calc(var(--swp-public-keyboard-bottom, 0px) + var(--swp-public-composer-height, 92px) + 28px) !important;
  background: #f8fafc !important;
}

body.swp-public-app #public-post-form,
body.swp-public-app [data-public-webapp]:not([hidden]) #public-post-form {
  position: fixed !important;
  z-index: 2148 !important;
  left: 0 !important;
  right: 0 !important;
  top: auto !important;
  bottom: var(--swp-public-keyboard-bottom, 0px) !important;
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  max-height: min(52dvh, calc(var(--swp-public-visual-height, 100dvh) * .54)) !important;
  margin: 0 !important;
  padding: 8px 10px calc(8px + env(safe-area-inset-bottom, 0px)) !important;
  overflow: visible !important;
  visibility: visible !important;
  opacity: 1 !important;
  border: 0 !important;
  border-top: 1px solid rgba(226, 232, 240, .94) !important;
  background: #f8fafc !important;
  box-shadow: 0 -18px 44px rgba(15, 23, 42, .13) !important;
  transform: translate3d(0, 0, 0) !important;
  -webkit-transform: translate3d(0, 0, 0) !important;
  will-change: bottom;
  contain: layout style;
}

body.swp-public-app.swp-public-keyboard-open #public-post-form,
body.swp-public-app.swp-public-keyboard-open [data-public-webapp]:not([hidden]) #public-post-form {
  bottom: var(--swp-public-keyboard-bottom, 0px) !important;
  padding-bottom: 8px !important;
  box-shadow: 0 -14px 34px rgba(15, 23, 42, .12) !important;
}

body.swp-public-app #public-post-form .swp-composer-heading,
body.swp-public-app #public-post-form .swp-social-composer-head,
body.swp-public-app [data-public-webapp]:not([hidden]) #public-post-form .swp-composer-heading,
body.swp-public-app [data-public-webapp]:not([hidden]) #public-post-form .swp-social-composer-head {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

body.swp-public-app #public-post-form .swp-public-form-grid,
body.swp-public-app #public-post-form .swp-social-composer-grid,
body.swp-public-app [data-public-webapp]:not([hidden]) #public-post-form .swp-public-form-grid,
body.swp-public-app [data-public-webapp]:not([hidden]) #public-post-form .swp-social-composer-grid {
  width: min(760px, 100%) !important;
  margin: 0 auto !important;
}

body.swp-public-app #public-post-form .swp-social-composer-card,
body.swp-public-app [data-public-webapp]:not([hidden]) #public-post-form .swp-social-composer-card {
  width: 100% !important;
  display: grid !important;
  gap: 8px !important;
  padding: 0 !important;
  margin: 0 auto !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  overflow: visible !important;
}

body.swp-public-app #public-post-form .swp-whatsapp-composer,
body.swp-public-app [data-public-webapp]:not([hidden]) #public-post-form .swp-whatsapp-composer {
  position: relative !important;
  z-index: 3 !important;
  min-height: 58px !important;
  display: grid !important;
  grid-template-columns: 46px minmax(0, 1fr) 46px !important;
  align-items: center !important;
  gap: 7px !important;
  padding: 7px !important;
  border: 1px solid rgba(226, 232, 240, .92) !important;
  border-radius: 30px !important;
  background:
    radial-gradient(circle at 10% 0%, color-mix(in srgb, var(--swp-primary, #0ea5e9) 8%, transparent), transparent 42%),
    #ffffff !important;
  box-shadow:
    0 14px 34px rgba(15, 23, 42, .105),
    inset 0 1px 0 rgba(255, 255, 255, .98) !important;
}

body.swp-public-app #public-post-form .swp-whatsapp-attach,
body.swp-public-app #public-post-form .swp-whatsapp-send,
body.swp-public-app [data-public-webapp]:not([hidden]) #public-post-form .swp-whatsapp-attach,
body.swp-public-app [data-public-webapp]:not([hidden]) #public-post-form .swp-whatsapp-send {
  width: 46px !important;
  height: 46px !important;
  min-width: 46px !important;
  min-height: 46px !important;
  max-width: 46px !important;
  max-height: 46px !important;
  display: grid !important;
  place-items: center !important;
  align-self: center !important;
  justify-self: center !important;
  margin: 0 !important;
  padding: 0 !important;
  border-radius: 999px !important;
  line-height: 1 !important;
  touch-action: manipulation;
}

body.swp-public-app #public-post-form .swp-whatsapp-attach,
body.swp-public-app [data-public-webapp]:not([hidden]) #public-post-form .swp-whatsapp-attach {
  border: 1px solid rgba(226, 232, 240, .95) !important;
  color: #334155 !important;
  background:
    linear-gradient(145deg, #ffffff, #f1f5f9) !important;
  box-shadow:
    0 9px 18px rgba(15, 23, 42, .075),
    inset 0 1px 0 rgba(255,255,255,.96) !important;
}

body.swp-public-app #public-post-form .swp-whatsapp-attach .swp-social-tool-icon,
body.swp-public-app #public-post-form .swp-whatsapp-attach .swp-social-tool-icon.is-muted,
body.swp-public-app [data-public-webapp]:not([hidden]) #public-post-form .swp-whatsapp-attach .swp-social-tool-icon,
body.swp-public-app [data-public-webapp]:not([hidden]) #public-post-form .swp-whatsapp-attach .swp-social-tool-icon.is-muted {
  width: 100% !important;
  height: 100% !important;
  display: grid !important;
  place-items: center !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: inherit !important;
  color: inherit !important;
  background: transparent !important;
  box-shadow: none !important;
  font-size: 1.12rem !important;
  line-height: 1 !important;
}

body.swp-public-app #public-post-form .swp-whatsapp-attach.is-attached,
body.swp-public-app [data-public-webapp]:not([hidden]) #public-post-form .swp-whatsapp-attach.is-attached {
  color: #ffffff !important;
  border-color: transparent !important;
  background:
    radial-gradient(circle at 30% 22%, rgba(255,255,255,.26), transparent 36%),
    linear-gradient(135deg, #22c55e, #16a34a) !important;
  box-shadow: 0 12px 24px rgba(22, 163, 74, .24) !important;
}

body.swp-public-app #public-post-form .swp-whatsapp-send,
body.swp-public-app [data-public-webapp]:not([hidden]) #public-post-form .swp-whatsapp-send {
  border: 0 !important;
  color: #ffffff !important;
  background:
    radial-gradient(circle at 30% 22%, rgba(255,255,255,.34), transparent 36%),
    linear-gradient(135deg, #25d366, #128c7e) !important;
  box-shadow:
    0 14px 28px rgba(18, 140, 126, .28),
    inset 0 1px 0 rgba(255,255,255,.28) !important;
  font-size: 1.04rem !important;
  transform-origin: center;
  transition: transform .16s ease, filter .16s ease, opacity .16s ease, box-shadow .16s ease;
}

body.swp-public-app #public-post-form .swp-social-composer-card:not(.is-ready) .swp-whatsapp-send,
body.swp-public-app [data-public-webapp]:not([hidden]) #public-post-form .swp-social-composer-card:not(.is-ready) .swp-whatsapp-send {
  opacity: .72 !important;
  filter: saturate(.78) !important;
  background: linear-gradient(135deg, #94a3b8, #64748b) !important;
  box-shadow: 0 10px 20px rgba(100, 116, 139, .18) !important;
}

body.swp-public-app #public-post-form .swp-whatsapp-send:active,
body.swp-public-app [data-public-webapp]:not([hidden]) #public-post-form .swp-whatsapp-send:active {
  transform: scale(.94) !important;
}

body.swp-public-app #public-post-form .swp-whatsapp-send span,
body.swp-public-app [data-public-webapp]:not([hidden]) #public-post-form .swp-whatsapp-send span {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

body.swp-public-app #public-post-form .swp-whatsapp-attach .bi,
body.swp-public-app #public-post-form .swp-whatsapp-send .bi,
body.swp-public-app [data-public-webapp]:not([hidden]) #public-post-form .swp-whatsapp-attach .bi,
body.swp-public-app [data-public-webapp]:not([hidden]) #public-post-form .swp-whatsapp-send .bi {
  position: static !important;
  display: block !important;
  width: 1em !important;
  height: 1em !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1 !important;
  text-align: center !important;
}

body.swp-public-app #public-post-form .swp-whatsapp-send .bi,
body.swp-public-app [data-public-webapp]:not([hidden]) #public-post-form .swp-whatsapp-send .bi {
  transform: translateX(1px);
}

body.swp-public-app #public-post-form .swp-whatsapp-input,
body.swp-public-app [data-public-webapp]:not([hidden]) #public-post-form .swp-whatsapp-input {
  min-height: 46px !important;
  max-height: 138px !important;
  display: grid !important;
  align-content: center !important;
  gap: 4px !important;
  padding: 11px 14px !important;
  border: 1px solid rgba(226, 232, 240, .9) !important;
  border-radius: 24px !important;
  background: #f8fafc !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.96),
    0 7px 16px rgba(15, 23, 42, .045) !important;
  overflow: hidden !important;
}

body.swp-public-app #public-post-form .swp-social-composer-card:focus-within .swp-whatsapp-input,
body.swp-public-app #public-post-form .swp-social-composer-card.has-inline-tags .swp-whatsapp-input,
body.swp-public-app [data-public-webapp]:not([hidden]) #public-post-form .swp-social-composer-card:focus-within .swp-whatsapp-input,
body.swp-public-app [data-public-webapp]:not([hidden]) #public-post-form .swp-social-composer-card.has-inline-tags .swp-whatsapp-input {
  border-color: color-mix(in srgb, #25d366 42%, rgba(226,232,240,.9)) !important;
  background: #ffffff !important;
  box-shadow:
    0 0 0 3px rgba(37, 211, 102, .10),
    inset 0 1px 0 rgba(255,255,255,.98),
    0 9px 20px rgba(15, 23, 42, .06) !important;
}

body.swp-public-app #public-post-form textarea.form-control.swp-social-message-input,
body.swp-public-app [data-public-webapp]:not([hidden]) #public-post-form textarea.form-control.swp-social-message-input {
  min-height: 24px !important;
  height: 24px;
  max-height: 112px !important;
  width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  resize: none !important;
  overflow-y: auto !important;
  color: #0f172a !important;
  background: transparent !important;
  box-shadow: none !important;
  font-size: 16px !important;
  font-weight: 720 !important;
  line-height: 1.42 !important;
  -webkit-appearance: none !important;
  appearance: none !important;
}

body.swp-public-app #public-post-form textarea.form-control.swp-social-message-input::placeholder,
body.swp-public-app [data-public-webapp]:not([hidden]) #public-post-form textarea.form-control.swp-social-message-input::placeholder {
  color: #94a3b8 !important;
  font-weight: 720 !important;
}

body.swp-public-app #public-post-form .swp-message-hashtag-preview,
body.swp-public-app [data-public-webapp]:not([hidden]) #public-post-form .swp-message-hashtag-preview {
  max-height: 30px !important;
  display: flex !important;
  gap: 5px !important;
  margin: 2px 0 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  white-space: nowrap !important;
}

body.swp-public-app #public-post-form .swp-message-hashtag-preview[hidden],
body.swp-public-app [data-public-webapp]:not([hidden]) #public-post-form .swp-message-hashtag-preview[hidden] {
  display: none !important;
}

body.swp-public-app #public-post-form .swp-message-hashtag-preview span,
body.swp-public-app [data-public-webapp]:not([hidden]) #public-post-form .swp-message-hashtag-preview span {
  min-height: 22px !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 2px !important;
  padding: 3px 7px !important;
  border: 1px solid rgba(37, 211, 102, .20) !important;
  border-radius: 999px !important;
  color: #15803d !important;
  background: #e7f8ee !important;
  font-size: .68rem !important;
  font-weight: 850 !important;
  line-height: 1 !important;
}

body.swp-public-app #public-post-form .swp-social-composer-tools,
body.swp-public-app #public-post-form .swp-whatsapp-feedback,
body.swp-public-app #public-post-form .swp-social-helper,
body.swp-public-app #public-post-form [data-social-helper],
body.swp-public-app #public-post-form .swp-message-count-row,
body.swp-public-app [data-public-webapp]:not([hidden]) #public-post-form .swp-social-composer-tools,
body.swp-public-app [data-public-webapp]:not([hidden]) #public-post-form .swp-whatsapp-feedback,
body.swp-public-app [data-public-webapp]:not([hidden]) #public-post-form .swp-social-helper,
body.swp-public-app [data-public-webapp]:not([hidden]) #public-post-form [data-social-helper],
body.swp-public-app [data-public-webapp]:not([hidden]) #public-post-form .swp-message-count-row {
  display: block !important;
  min-height: 0 !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
}

body.swp-public-app #public-post-form .swp-social-helper,
body.swp-public-app #public-post-form [data-social-helper],
body.swp-public-app #public-post-form .swp-message-count-row,
body.swp-public-app [data-public-webapp]:not([hidden]) #public-post-form .swp-social-helper,
body.swp-public-app [data-public-webapp]:not([hidden]) #public-post-form [data-social-helper],
body.swp-public-app [data-public-webapp]:not([hidden]) #public-post-form .swp-message-count-row {
  display: none !important;
}

body.swp-public-app #public-post-form .swp-whatsapp-feedback .form-feedback:empty,
body.swp-public-app [data-public-webapp]:not([hidden]) #public-post-form .swp-whatsapp-feedback .form-feedback:empty {
  display: none !important;
}

body.swp-public-app #public-post-form .swp-upload-preview,
body.swp-public-app [data-public-webapp]:not([hidden]) #public-post-form .swp-upload-preview {
  position: relative !important;
  z-index: 4 !important;
  width: min(420px, calc(100vw - 22px)) !important;
  margin: 0 auto !important;
  pointer-events: auto !important;
}

body.swp-public-app #public-post-form .swp-upload-preview:empty,
body.swp-public-app [data-public-webapp]:not([hidden]) #public-post-form .swp-upload-preview:empty {
  display: none !important;
}

body.swp-public-app #public-post-form .swp-upload-preview figure,
body.swp-public-app [data-public-webapp]:not([hidden]) #public-post-form .swp-upload-preview figure {
  min-height: 76px !important;
  display: grid !important;
  grid-template-columns: 76px minmax(0, 1fr) !important;
  align-items: center !important;
  overflow: hidden !important;
  margin: 0 !important;
  border: 1px solid rgba(226, 232, 240, .94) !important;
  border-radius: 22px !important;
  background:
    linear-gradient(145deg, #ffffff, #f8fafc) !important;
  box-shadow:
    0 14px 30px rgba(15, 23, 42, .12),
    inset 0 1px 0 rgba(255,255,255,.98) !important;
}

body.swp-public-app #public-post-form .swp-upload-preview img,
body.swp-public-app [data-public-webapp]:not([hidden]) #public-post-form .swp-upload-preview img {
  grid-column: 1 !important;
  width: 76px !important;
  height: 76px !important;
  display: block !important;
  object-fit: cover !important;
  background: #e2e8f0 !important;
}

body.swp-public-app #public-post-form .swp-upload-preview figcaption,
body.swp-public-app [data-public-webapp]:not([hidden]) #public-post-form .swp-upload-preview figcaption {
  grid-column: 2 !important;
  min-width: 0 !important;
  min-height: 76px !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 34px !important;
  align-items: center !important;
  gap: 8px !important;
  padding: 9px 10px 9px 12px !important;
  color: #334155 !important;
  background: transparent !important;
  font-size: .74rem !important;
  font-weight: 850 !important;
  line-height: 1.15 !important;
}

body.swp-public-app #public-post-form .swp-upload-preview figcaption span,
body.swp-public-app [data-public-webapp]:not([hidden]) #public-post-form .swp-upload-preview figcaption span {
  min-width: 0 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

body.swp-public-app #public-post-form .swp-upload-preview .swp-remove-upload,
body.swp-public-app [data-public-webapp]:not([hidden]) #public-post-form .swp-upload-preview .swp-remove-upload {
  width: 34px !important;
  height: 34px !important;
  min-width: 34px !important;
  min-height: 34px !important;
  display: grid !important;
  place-items: center !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 999px !important;
  color: #0f172a !important;
  background: #e2e8f0 !important;
}

body.swp-public-app #public-post-form .swp-upload-preview figure.is-optimizing .swp-upload-optimizing,
body.swp-public-app [data-public-webapp]:not([hidden]) #public-post-form .swp-upload-preview figure.is-optimizing .swp-upload-optimizing {
  position: absolute !important;
  top: 8px !important;
  left: 8px !important;
  right: auto !important;
  z-index: 3 !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 5px !important;
  padding: 6px 8px !important;
  border-radius: 999px !important;
  color: #0f172a !important;
  background: rgba(255,255,255,.92) !important;
  box-shadow: 0 10px 22px rgba(15,23,42,.14) !important;
  backdrop-filter: blur(12px) !important;
  -webkit-backdrop-filter: blur(12px) !important;
}

body.swp-public-app #public-post-form .swp-upload-preview figure.is-optimizing .swp-upload-optimizing strong,
body.swp-public-app [data-public-webapp]:not([hidden]) #public-post-form .swp-upload-preview figure.is-optimizing .swp-upload-optimizing strong {
  font-size: .66rem !important;
  font-weight: 900 !important;
  line-height: 1 !important;
}

body.swp-public-app [data-public-webapp]:not([hidden]) #public-feed-section {
  margin-bottom: 0 !important;
  padding-bottom: calc(var(--swp-public-composer-height, 92px) + env(safe-area-inset-bottom, 0px) + 36px) !important;
}

body.swp-public-app.swp-public-keyboard-open [data-public-webapp]:not([hidden]) #public-feed-section,
body.swp-public-app.swp-public-keyboard-open #public-reaction-feed {
  overscroll-behavior: contain !important;
}

body.swp-public-app.swp-public-keyboard-open [data-public-webapp]:not([hidden]) #public-feed-section {
  padding-bottom: calc(var(--swp-public-composer-height, 92px) + var(--swp-public-keyboard-bottom, 0px) + 36px) !important;
}

@media (max-width: 575.98px) {
  body.swp-public-app #public-post-form,
  body.swp-public-app [data-public-webapp]:not([hidden]) #public-post-form {
    padding-inline: 8px !important;
  }

  body.swp-public-app #public-post-form .swp-whatsapp-composer,
  body.swp-public-app [data-public-webapp]:not([hidden]) #public-post-form .swp-whatsapp-composer {
    grid-template-columns: 43px minmax(0, 1fr) 43px !important;
    min-height: 55px !important;
    gap: 6px !important;
    padding: 6px !important;
    border-radius: 28px !important;
  }

  body.swp-public-app #public-post-form .swp-whatsapp-attach,
  body.swp-public-app #public-post-form .swp-whatsapp-send,
  body.swp-public-app [data-public-webapp]:not([hidden]) #public-post-form .swp-whatsapp-attach,
  body.swp-public-app [data-public-webapp]:not([hidden]) #public-post-form .swp-whatsapp-send {
    width: 43px !important;
    height: 43px !important;
    min-width: 43px !important;
    min-height: 43px !important;
    max-width: 43px !important;
    max-height: 43px !important;
  }

  body.swp-public-app #public-post-form .swp-whatsapp-input,
  body.swp-public-app [data-public-webapp]:not([hidden]) #public-post-form .swp-whatsapp-input {
    min-height: 43px !important;
    padding: 9px 12px !important;
    border-radius: 22px !important;
  }

  body.swp-public-app #public-post-form .swp-upload-preview,
  body.swp-public-app [data-public-webapp]:not([hidden]) #public-post-form .swp-upload-preview {
    width: calc(100vw - 16px) !important;
  }
}

@media (max-height: 620px) {
  body.swp-public-app #public-post-form .swp-upload-preview figure,
  body.swp-public-app [data-public-webapp]:not([hidden]) #public-post-form .swp-upload-preview figure {
    min-height: 64px !important;
    grid-template-columns: 64px minmax(0, 1fr) !important;
  }

  body.swp-public-app #public-post-form .swp-upload-preview img,
  body.swp-public-app [data-public-webapp]:not([hidden]) #public-post-form .swp-upload-preview img {
    width: 64px !important;
    height: 64px !important;
  }

  body.swp-public-app #public-post-form .swp-upload-preview figcaption,
  body.swp-public-app [data-public-webapp]:not([hidden]) #public-post-form .swp-upload-preview figcaption {
    min-height: 64px !important;
    padding-block: 7px !important;
  }
}

/* WebApp v12.30 — mobile keyboard shield: niente post visibili sotto la scrittura */
@media (max-width: 767.98px), (pointer: coarse) {
  body.swp-public-app.swp-public-keyboard-open {
    background: #f8fafc !important;
    overscroll-behavior: none !important;
  }

  body.swp-public-app.swp-public-keyboard-open::before {
    content: "" !important;
    position: fixed !important;
    z-index: 2142 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    height: 52vh !important;
    height: max(48vh, calc(var(--swp-public-keyboard-bottom, 0px) + var(--swp-public-composer-height, 92px) + 150px)) !important;
    pointer-events: none !important;
    background: #f8fafc !important;
    box-shadow: 0 -26px 54px rgba(15, 23, 42, .10) !important;
  }

  body.swp-public-app.swp-public-keyboard-open [data-public-webapp]:not([hidden])::after {
    z-index: 2141 !important;
    height: 54vh !important;
    height: max(52vh, calc(var(--swp-public-keyboard-bottom, 0px) + var(--swp-public-composer-height, 92px) + 170px)) !important;
    background: #f8fafc !important;
    box-shadow: none !important;
  }

  body.swp-public-app.swp-public-keyboard-open #public-post-form,
  body.swp-public-app.swp-public-keyboard-open [data-public-webapp]:not([hidden]) #public-post-form {
    z-index: 2148 !important;
    background: #f8fafc !important;
  }

  body.swp-public-app.swp-public-keyboard-open #public-feed-section,
  body.swp-public-app.swp-public-keyboard-open #public-reaction-feed {
    pointer-events: none !important;
    overscroll-behavior: contain !important;
  }
}

/* WebApp v12.31 — durante la tastiera mobile il feed sparisce tutto */
@media (max-width: 767.98px), (pointer: coarse) {
  body.swp-public-app.swp-public-keyboard-open #public-feed-section,
  body.swp-public-app.swp-public-keyboard-open #public-reaction-feed,
  body.swp-public-app.swp-public-keyboard-open #public-reaction-feed > *,
  body.swp-public-app.swp-public-keyboard-open .swp-public-feed-card,
  body.swp-public-app.swp-public-keyboard-open .swp-public-feed-empty,
  body.swp-public-app.swp-public-keyboard-open .swp-public-feed-more,
  body.swp-public-app.swp-public-keyboard-open .swp-public-feed-end {
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
  }

  body.swp-public-app.swp-public-keyboard-open [data-public-webapp]:not([hidden]) {
    background: #f8fafc !important;
  }

  body.swp-public-app.swp-public-keyboard-open [data-public-webapp]:not([hidden])::before {
    content: "" !important;
    position: fixed !important;
    z-index: 2140 !important;
    left: 0 !important;
    right: 0 !important;
    top: 0 !important;
    bottom: 0 !important;
    pointer-events: none !important;
    background: #f8fafc !important;
  }

  body.swp-public-app.swp-public-keyboard-open [data-public-event-header],
  body.swp-public-app.swp-public-keyboard-open #public-post-form {
    z-index: 2149 !important;
    visibility: visible !important;
    opacity: 1 !important;
  }

  body.swp-public-app.swp-public-keyboard-open [data-public-event-header] {
    position: sticky !important;
    top: 0 !important;
  }

  body.swp-public-app.swp-public-keyboard-open #public-post-form {
    position: fixed !important;
  }
}

/* WebApp v12.32 — nuovo approccio mobile: tab Post/Scrivi e form premium non footer */
@media (max-width: 767.98px), (pointer: coarse) {
  body.swp-public-app [data-public-webapp]:not([hidden]) {
    padding-bottom: max(18px, env(safe-area-inset-bottom, 0px)) !important;
    background: #f8fafc !important;
  }

  body.swp-public-app [data-public-webapp]:not([hidden])::before,
  body.swp-public-app [data-public-webapp]:not([hidden])::after,
  body.swp-public-app.swp-public-keyboard-open::before {
    display: none !important;
    content: none !important;
  }

  body.swp-public-app [data-public-webapp]:not([hidden]) .swp-public-mobile-nav,
  body.swp-public-app .swp-public-mobile-nav.swp-public-top-tabs {
    position: sticky !important;
    top: var(--swp-public-sticky-header-height, 66px) !important;
    z-index: 2149 !important;
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
    width: min(520px, calc(100vw - 24px)) !important;
    margin: 10px auto 12px !important;
    padding: 6px !important;
    border: 1px solid rgba(226, 232, 240, .92) !important;
    border-radius: 999px !important;
    background: rgba(255, 255, 255, .94) !important;
    box-shadow:
      0 14px 30px rgba(15, 23, 42, .08),
      inset 0 1px 0 rgba(255, 255, 255, .96) !important;
    backdrop-filter: blur(18px) saturate(150%);
    -webkit-backdrop-filter: blur(18px) saturate(150%);
  }

  body.swp-public-app [data-public-webapp]:not([hidden]) .swp-public-mobile-nav a,
  body.swp-public-app .swp-public-mobile-nav.swp-public-top-tabs a {
    min-height: 44px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    padding: 9px 12px !important;
    border: 0 !important;
    border-radius: 999px !important;
    color: #64748b !important;
    background: transparent !important;
    box-shadow: none !important;
    text-decoration: none !important;
    font-size: .92rem !important;
    font-weight: 850 !important;
    line-height: 1 !important;
    transition: color .16s ease, background .16s ease, box-shadow .16s ease, transform .16s ease;
  }

  body.swp-public-app [data-public-webapp]:not([hidden]) .swp-public-mobile-nav a.is-active,
  body.swp-public-app .swp-public-mobile-nav.swp-public-top-tabs a.is-active {
    color: #0f172a !important;
    background:
      radial-gradient(circle at 18% 10%, color-mix(in srgb, var(--swp-primary, #0ea5e9) 15%, transparent), transparent 42%),
      linear-gradient(135deg, #ffffff, #f8fafc) !important;
    box-shadow:
      0 10px 22px rgba(15, 23, 42, .10),
      inset 0 1px 0 rgba(255, 255, 255, .98) !important;
  }

  body.swp-public-app [data-public-webapp]:not([hidden]) .swp-public-mobile-nav a.is-active .bi {
    color: color-mix(in srgb, var(--swp-primary, #0ea5e9) 74%, #128c7e) !important;
  }

  body.swp-public-app [data-public-webapp]:not([hidden]):not(.is-public-tab-compose) #public-post-form,
  body.swp-public-app [data-public-webapp]:not([hidden]).is-public-tab-feed #public-post-form {
    display: none !important;
  }

  body.swp-public-app [data-public-webapp]:not([hidden]).is-public-tab-compose #public-feed-section {
    display: none !important;
  }

  body.swp-public-app [data-public-webapp]:not([hidden]).is-public-tab-feed #public-feed-section {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    padding-bottom: max(22px, env(safe-area-inset-bottom, 0px)) !important;
  }

  body.swp-public-app [data-public-webapp]:not([hidden]).is-public-tab-compose #public-post-form,
  body.swp-public-app [data-public-webapp]:not([hidden]).is-public-tab-compose.swp-public-webapp #public-post-form,
  body.swp-public-app [data-public-webapp]:not([hidden]).is-public-tab-compose .swp-public-composer {
    position: relative !important;
    inset: auto !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;
    z-index: 2 !important;
    display: block !important;
    width: min(720px, calc(100vw - 24px)) !important;
    max-width: none !important;
    max-height: none !important;
    margin: 12px auto max(20px, env(safe-area-inset-bottom, 0px)) !important;
    padding: 0 !important;
    overflow: visible !important;
    visibility: visible !important;
    opacity: 1 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    transform: none !important;
    -webkit-transform: none !important;
    contain: none !important;
  }

  body.swp-public-app [data-public-webapp]:not([hidden]).is-public-tab-compose #public-post-form .swp-composer-heading,
  body.swp-public-app [data-public-webapp]:not([hidden]).is-public-tab-compose #public-post-form .swp-social-composer-head {
    position: static !important;
    width: auto !important;
    height: auto !important;
    padding: 0 !important;
    margin: 0 !important;
    overflow: visible !important;
    clip: auto !important;
    white-space: normal !important;
    border: 0 !important;
  }

  body.swp-public-app [data-public-webapp]:not([hidden]).is-public-tab-compose #public-post-form .swp-composer-heading {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
    margin-bottom: 12px !important;
    padding: 16px 16px 0 !important;
    color: #0f172a !important;
  }

  body.swp-public-app [data-public-webapp]:not([hidden]).is-public-tab-compose #public-post-form .swp-composer-heading h2 {
    margin: 2px 0 0 !important;
    font-size: clamp(1.35rem, 6vw, 1.9rem) !important;
    letter-spacing: -.045em !important;
    font-weight: 900 !important;
  }

  body.swp-public-app [data-public-webapp]:not([hidden]).is-public-tab-compose #public-post-form .swp-composer-kicker {
    color: color-mix(in srgb, var(--swp-primary, #0ea5e9) 72%, #128c7e) !important;
    font-size: .72rem !important;
    font-weight: 900 !important;
    letter-spacing: .08em !important;
    text-transform: uppercase !important;
  }

  body.swp-public-app [data-public-webapp]:not([hidden]).is-public-tab-compose #public-post-form .swp-public-form-grid,
  body.swp-public-app [data-public-webapp]:not([hidden]).is-public-tab-compose #public-post-form .swp-social-composer-grid {
    width: 100% !important;
    margin: 0 !important;
  }

  body.swp-public-app [data-public-webapp]:not([hidden]).is-public-tab-compose #public-post-form .swp-social-composer-card {
    width: 100% !important;
    display: grid !important;
    gap: 14px !important;
    padding: 16px !important;
    border: 1px solid rgba(226, 232, 240, .92) !important;
    border-radius: 30px !important;
    background:
      radial-gradient(circle at 12% 0%, color-mix(in srgb, var(--swp-primary, #0ea5e9) 10%, transparent), transparent 34%),
      radial-gradient(circle at 92% 10%, rgba(255,255,255,.95), transparent 30%),
      linear-gradient(145deg, #ffffff, #f8fafc) !important;
    box-shadow:
      0 22px 54px rgba(15, 23, 42, .12),
      inset 0 1px 0 rgba(255, 255, 255, .98) !important;
    overflow: hidden !important;
  }

  body.swp-public-app [data-public-webapp]:not([hidden]).is-public-tab-compose #public-post-form .swp-social-composer-head {
    display: flex !important;
    align-items: center !important;
    gap: 11px !important;
  }

  body.swp-public-app [data-public-webapp]:not([hidden]).is-public-tab-compose #public-post-form .swp-social-avatar {
    width: 46px !important;
    height: 46px !important;
    min-width: 46px !important;
    display: grid !important;
    place-items: center !important;
    border-radius: 999px !important;
    color: #ffffff !important;
    background:
      radial-gradient(circle at 28% 18%, rgba(255,255,255,.34), transparent 34%),
      linear-gradient(135deg, var(--swp-primary, #0ea5e9), var(--swp-secondary, #8b5cf6)) !important;
    box-shadow: 0 14px 28px color-mix(in srgb, var(--swp-primary, #0ea5e9) 18%, transparent) !important;
    font-weight: 900 !important;
  }

  body.swp-public-app [data-public-webapp]:not([hidden]).is-public-tab-compose #public-post-form .swp-social-composer-head strong {
    display: block !important;
    color: #0f172a !important;
    font-size: 1rem !important;
    font-weight: 900 !important;
    line-height: 1.1 !important;
  }

  body.swp-public-app [data-public-webapp]:not([hidden]).is-public-tab-compose #public-post-form .swp-social-composer-head small {
    display: block !important;
    margin-top: 3px !important;
    color: #64748b !important;
    font-size: .78rem !important;
    font-weight: 750 !important;
  }

  body.swp-public-app [data-public-webapp]:not([hidden]).is-public-tab-compose #public-post-form .swp-whatsapp-composer {
    min-height: 62px !important;
    grid-template-columns: 48px minmax(0, 1fr) 48px !important;
    gap: 8px !important;
    padding: 8px !important;
    border-radius: 32px !important;
    border-color: rgba(226, 232, 240, .94) !important;
    background: #ffffff !important;
    box-shadow:
      0 12px 28px rgba(15, 23, 42, .075),
      inset 0 1px 0 rgba(255, 255, 255, .98) !important;
  }

  body.swp-public-app [data-public-webapp]:not([hidden]).is-public-tab-compose #public-post-form .swp-whatsapp-attach,
  body.swp-public-app [data-public-webapp]:not([hidden]).is-public-tab-compose #public-post-form .swp-whatsapp-send {
    width: 48px !important;
    height: 48px !important;
    min-width: 48px !important;
    min-height: 48px !important;
    max-width: 48px !important;
    max-height: 48px !important;
  }

  body.swp-public-app [data-public-webapp]:not([hidden]).is-public-tab-compose #public-post-form .swp-whatsapp-input {
    min-height: 48px !important;
    max-height: none !important;
    align-content: center !important;
    padding: 12px 14px !important;
    border-radius: 24px !important;
    background: #f8fafc !important;
  }

  body.swp-public-app [data-public-webapp]:not([hidden]).is-public-tab-compose #public-post-form textarea.form-control.swp-social-message-input {
    min-height: 24px !important;
    max-height: 36vh !important;
    font-size: 16px !important;
    line-height: 1.42 !important;
  }

  body.swp-public-app [data-public-webapp]:not([hidden]).is-public-tab-compose #public-post-form .swp-upload-preview {
    width: 100% !important;
    margin: 0 !important;
  }

  body.swp-public-app.swp-public-keyboard-open [data-public-webapp]:not([hidden]).is-public-tab-compose #public-feed-section,
  body.swp-public-app.swp-public-keyboard-open [data-public-webapp]:not([hidden]).is-public-tab-compose #public-reaction-feed {
    display: none !important;
  }

  body.swp-public-app.swp-public-keyboard-open [data-public-webapp]:not([hidden]).is-public-tab-compose #public-post-form,
  body.swp-public-app.swp-public-keyboard-open [data-public-webapp]:not([hidden]).is-public-tab-compose .swp-public-mobile-nav,
  body.swp-public-app.swp-public-keyboard-open [data-public-webapp]:not([hidden]).is-public-tab-compose [data-public-event-header] {
    visibility: visible !important;
    opacity: 1 !important;
  }
}

@media (min-width: 768px) {
  body.swp-public-app .swp-public-mobile-nav.swp-public-top-tabs {
    display: none !important;
  }
}

/* WebApp v12.33 — anteprima foto sempre visibile nel form Scrivi a tab */
body.swp-public-app #public-post-form.has-upload-preview .swp-upload-preview,
body.swp-public-app #public-post-form .swp-upload-preview:not(:empty),
body.swp-public-app [data-public-webapp]:not([hidden]) #public-post-form.has-upload-preview .swp-upload-preview,
body.swp-public-app [data-public-webapp]:not([hidden]) #public-post-form .swp-upload-preview:not(:empty) {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  margin: 0 !important;
  overflow: visible !important;
  pointer-events: auto !important;
}

body.swp-public-app #public-post-form.has-upload-preview .swp-upload-preview figure,
body.swp-public-app #public-post-form .swp-upload-preview:not(:empty) figure,
body.swp-public-app [data-public-webapp]:not([hidden]) #public-post-form.has-upload-preview .swp-upload-preview figure,
body.swp-public-app [data-public-webapp]:not([hidden]) #public-post-form .swp-upload-preview:not(:empty) figure {
  display: grid !important;
  visibility: visible !important;
  opacity: 1 !important;
}

/* WebApp v12.34 — sicurezza feed: lo scroll mobile non deve mai nascondere le card nella tab Post */
body.swp-public-app.swp-public-keyboard-open [data-public-webapp]:not([hidden]).is-public-tab-feed #public-feed-section,
body.swp-public-app.swp-public-keyboard-open [data-public-webapp]:not([hidden]).is-public-tab-feed #public-reaction-feed,
body.swp-public-app.swp-public-keyboard-open [data-public-webapp]:not([hidden]).is-public-tab-feed #public-reaction-feed > *,
body.swp-public-app.swp-public-keyboard-open [data-public-webapp]:not([hidden]).is-public-tab-feed .swp-public-feed-card,
body.swp-public-app [data-public-webapp]:not([hidden]).is-public-tab-feed #public-feed-section,
body.swp-public-app [data-public-webapp]:not([hidden]).is-public-tab-feed #public-reaction-feed,
body.swp-public-app [data-public-webapp]:not([hidden]).is-public-tab-feed .swp-public-feed-card {
  visibility: visible !important;
  opacity: 1 !important;
  pointer-events: auto !important;
}

body.swp-public-app.swp-public-keyboard-open [data-public-webapp]:not([hidden]).is-public-tab-feed #public-feed-section,
body.swp-public-app [data-public-webapp]:not([hidden]).is-public-tab-feed #public-feed-section,
body.swp-public-app.swp-public-keyboard-open [data-public-webapp]:not([hidden]).is-public-tab-feed .swp-public-feed-card,
body.swp-public-app [data-public-webapp]:not([hidden]).is-public-tab-feed .swp-public-feed-card {
  display: block !important;
}

body.swp-public-app.swp-public-keyboard-open [data-public-webapp]:not([hidden]).is-public-tab-feed #public-reaction-feed,
body.swp-public-app [data-public-webapp]:not([hidden]).is-public-tab-feed #public-reaction-feed {
  display: grid !important;
}

/* WebApp v12.35: tipografia pubblica più leggera, dopo gli override mobile recenti. */
body.swp-public-app {
  font-weight: 400;
}

body.swp-public-app .swp-public-title h1,
body.swp-public-app .swp-access-premium-head h2,
body.swp-public-app .swp-public-feed-head h2,
body.swp-public-app .swp-public-feed-heading h2,
body.swp-public-app [data-public-webapp]:not([hidden]).is-public-tab-compose #public-post-form .swp-composer-heading h2 {
  font-weight: 500 !important;
  letter-spacing: -.025em !important;
}

body.swp-public-app .swp-public-brand-copy strong,
body.swp-public-app .swp-public-brand-live,
body.swp-public-app .swp-public-event-eyebrow,
body.swp-public-app .swp-public-event-eyebrow span,
body.swp-public-app .swp-public-event-eyebrow em,
body.swp-public-app .swp-composer-kicker,
body.swp-public-app .swp-access-premium-head .swp-composer-kicker,
body.swp-public-app .swp-access-event-copy strong,
body.swp-public-app .swp-public-access-copy strong,
body.swp-public-app .swp-access-field .form-label,
body.swp-public-app .swp-access-field .form-label span,
body.swp-public-app .swp-access-actions .attendee-entry-submit,
body.swp-public-app .swp-access-premium .attendee-entry-submit,
body.swp-public-app .swp-public-event-header-copy strong,
body.swp-public-app .swp-public-event-header-live,
body.swp-public-app .swp-public-feed-live,
body.swp-public-app .swp-public-feed-more,
body.swp-public-app .swp-public-feed-end,
body.swp-public-app .swp-public-post-author strong,
body.swp-public-app .swp-public-post-hashtags button,
body.swp-public-app .swp-public-post-hashtags span,
body.swp-public-app .swp-post-reaction,
body.swp-public-app .swp-public-feed-reactions .swp-post-reaction,
body.swp-public-app .swp-social-avatar,
body.swp-public-app .swp-social-composer-head strong,
body.swp-public-app .swp-social-audience-pill,
body.swp-public-app .swp-social-tool-btn,
body.swp-public-app .swp-social-tool-btn strong,
body.swp-public-app .swp-public-mobile-nav a,
body.swp-public-app .swp-author-hashtag-pill,
body.swp-public-app .swp-character-count,
body.swp-public-app .swp-upload-preview strong,
body.swp-public-app .swp-upload-preview figure.is-optimizing .swp-upload-optimizing strong,
body.swp-public-app .swp-message-hashtag-preview span,
body.swp-public-app #public-post-form .swp-whatsapp-feedback .form-feedback:not(:empty),
body.swp-public-app #public-post-form .swp-social-helper,
body.swp-public-app [data-public-webapp]:not([hidden]).is-public-tab-compose #public-post-form .swp-composer-kicker,
body.swp-public-app [data-public-webapp]:not([hidden]).is-public-tab-compose #public-post-form .swp-social-avatar,
body.swp-public-app [data-public-webapp]:not([hidden]).is-public-tab-compose #public-post-form .swp-social-composer-head strong {
  font-weight: 600 !important;
}

body.swp-public-app .swp-public-brand-live,
body.swp-public-app .swp-public-event-eyebrow,
body.swp-public-app .swp-public-event-eyebrow span,
body.swp-public-app .swp-public-event-eyebrow em,
body.swp-public-app .swp-composer-kicker,
body.swp-public-app .swp-access-premium-head .swp-composer-kicker,
body.swp-public-app .swp-access-field .form-label,
body.swp-public-app .swp-access-field .form-label span,
body.swp-public-app .swp-public-event-header-live,
body.swp-public-app .swp-public-feed-live,
body.swp-public-app .swp-public-feed-more,
body.swp-public-app .swp-public-feed-end,
body.swp-public-app .swp-post-reaction,
body.swp-public-app .swp-public-feed-reactions .swp-post-reaction,
body.swp-public-app .swp-social-audience-pill,
body.swp-public-app .swp-social-tool-btn,
body.swp-public-app .swp-social-tool-btn strong,
body.swp-public-app .swp-public-mobile-nav a,
body.swp-public-app .swp-author-hashtag-pill,
body.swp-public-app .swp-character-count,
body.swp-public-app .swp-message-hashtag-preview span,
body.swp-public-app #public-post-form .swp-social-helper,
body.swp-public-app [data-public-webapp]:not([hidden]).is-public-tab-compose #public-post-form .swp-composer-kicker {
  font-weight: 500 !important;
}

body.swp-public-app .swp-public-brand-copy small,
body.swp-public-app .swp-public-title p,
body.swp-public-app .swp-public-intro-note,
body.swp-public-app .swp-access-lead,
body.swp-public-app .swp-access-event-copy small,
body.swp-public-app .swp-public-access-copy p,
body.swp-public-app .swp-access-field .form-label small,
body.swp-public-app .swp-access-input-shell .form-control,
body.swp-public-app .swp-access-secure-note,
body.swp-public-app .swp-public-event-header-copy small,
body.swp-public-app .swp-public-post-author small,
body.swp-public-app .swp-public-post-message,
body.swp-public-app .swp-public-post-message.is-empty,
body.swp-public-app .swp-social-composer-head small,
body.swp-public-app .swp-social-tool-btn small,
body.swp-public-app .swp-social-helper,
body.swp-public-app .swp-social-hashtag-head small,
body.swp-public-app .swp-hashtag-input-group .form-control,
body.swp-public-app .swp-upload-preview small,
body.swp-public-app .swp-upload-preview figcaption,
body.swp-public-app .swp-public-composer textarea.form-control.swp-social-message-input,
body.swp-public-app #public-post-form textarea.form-control.swp-social-message-input,
body.swp-public-app [data-public-webapp]:not([hidden]) #public-post-form textarea.form-control.swp-social-message-input,
body.swp-public-app [data-public-webapp]:not([hidden]).is-public-tab-compose #public-post-form textarea.form-control.swp-social-message-input,
body.swp-public-app [data-public-webapp]:not([hidden]).is-public-tab-compose #public-post-form .swp-social-composer-head small {
  font-weight: 400 !important;
}

body.swp-public-app .swp-public-composer textarea.form-control.swp-social-message-input::placeholder,
body.swp-public-app #public-post-form textarea.form-control.swp-social-message-input::placeholder {
  font-weight: 400 !important;
}

/* WebApp v12.36: normalizza tutti i bold della web app partecipante. */
body.swp-public-app.swp-public-app,
body.swp-public-app.swp-public-app :is(h1, h2, h3, h4, h5, h6, p, span, strong, small, em, label, a, button, input, textarea, figcaption),
body.swp-public-app.swp-public-app [data-public-webapp]:not([hidden]) :is(h1, h2, h3, h4, h5, h6, p, span, strong, small, em, label, a, button, input, textarea, figcaption),
body.swp-public-app.swp-public-app #public-post-form :is(h1, h2, h3, h4, h5, h6, p, span, strong, small, em, label, a, button, input, textarea, figcaption),
body.swp-public-app.swp-public-app .swp-public-mobile-nav.swp-public-top-tabs a,
body.swp-public-app.swp-public-app .swp-public-mobile-nav.swp-public-top-tabs a span,
body.swp-public-app.swp-public-app [data-public-webapp]:not([hidden]) .swp-public-mobile-nav a,
body.swp-public-app.swp-public-app [data-public-webapp]:not([hidden]) .swp-public-mobile-nav a span,
body.swp-public-app.swp-public-app #public-post-form textarea.form-control.swp-social-message-input,
body.swp-public-app.swp-public-app [data-public-webapp]:not([hidden]) #public-post-form textarea.form-control.swp-social-message-input,
body.swp-public-app.swp-public-app [data-public-webapp]:not([hidden]).is-public-tab-compose #public-post-form textarea.form-control.swp-social-message-input {
  font-weight: 400 !important;
}

body.swp-public-app.swp-public-app ::placeholder,
body.swp-public-app.swp-public-app textarea::placeholder,
body.swp-public-app.swp-public-app .form-control::placeholder,
body.swp-public-app.swp-public-app .swp-public-composer textarea.form-control.swp-social-message-input::placeholder,
body.swp-public-app.swp-public-app #public-post-form textarea.form-control.swp-social-message-input::placeholder,
body.swp-public-app.swp-public-app [data-public-webapp]:not([hidden]) #public-post-form textarea.form-control.swp-social-message-input::placeholder,
body.swp-public-app.swp-public-app [data-public-webapp]:not([hidden]).is-public-tab-compose #public-post-form textarea.form-control.swp-social-message-input::placeholder {
  font-weight: 400 !important;
}
