.fi-cm-campaign {
  color: var(--fi-cm-text);
  font-size: 15px;
  z-index: 2147483000;
  box-sizing: border-box;
}
.fi-cm-campaign * { box-sizing: border-box; }
.fi-cm-campaign[hidden] { display: none !important; }
.fi-cm-bg-solid { background: var(--fi-cm-bg); }
.fi-cm-bg-gradient { background: linear-gradient(90deg, var(--fi-cm-g1), var(--fi-cm-g2)); }
.fi-cm-bg-animated_gradient {
  background: linear-gradient(120deg, var(--fi-cm-g1), var(--fi-cm-g2), var(--fi-cm-g1));
  background-size: 220% 220%;
  animation: fi-cm-gradient 8s ease infinite;
}
@keyframes fi-cm-gradient { 0% { background-position: 0% 50%; } 50% { background-position: 100% 50%; } 100% { background-position: 0% 50%; } }
.fi-cm-dot {
  display: inline-block;
  width: 8px;
  height: 8px;
  background: var(--fi-cm-accent);
  border-radius: 50%;
  animation: fi-cm-blink 1.5s infinite;
}
@keyframes fi-cm-blink { 0%,100% { opacity: 1; transform: scale(1); } 50% { opacity: .35; transform: scale(1.2); } }
.fi-cm-close {
  background: transparent;
  border: 0;
  color: inherit;
  cursor: pointer;
  font-size: 24px;
  line-height: 1;
  padding: 2px 8px;
  transition: color 250ms ease-in-out;
}
.fi-cm-close:hover {
  color: var(--light-blue);
}
.fi-cm-button {
  display: inline-block;
  background: var(--fi-cm-button);
  color: #fff !important;
  text-decoration: none;
  border-radius: 4px;
  padding: 6px 12px;
  font-weight: 700;
  text-align: center;
  transition: background 250ms ease-in-out;
}
.fi-cm-button:hover {
  background: var(--dark-blue);
}
.fi-cm-event-type {
  color: var(--fi-cm-accent);
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .02em;
}
.fi-cm-event-name { font-weight: 800; text-transform: uppercase; }
.fi-cm-event-date { font-size: 13px; }
.fi-cm-top-banner {
  width: 100%;
  border-bottom: 1px solid rgba(0,0,0,.08);
}
.fi-cm-top-banner__inner {
  max-width: 1280px;
  margin: 0 auto;
  padding: 16px 0;
  width: 80%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
}
.fi-cm-top-banner__text {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px 16px;
}
.fi-cm-popup {
  position: fixed;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background: transparent !important;
}
.fi-cm-overlay {
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,.65);
}
.fi-cm-popup__dialog {
  position: relative;
  max-width: min(760px, 92vw);
  max-height: 88vh;
  overflow: auto;
  border-radius: 16px;
  color: var(--fi-cm-text);
  box-shadow: 0 24px 80px rgba(0,0,0,.35);
}
.fi-cm-popup__image { display: block; width: 100%; height: auto; }
.fi-cm-popup__content { 
  padding: 28px;
  background: var(--fi-cm-bg);
}
.fi-cm-popup__content h2 { margin: 0 0 10px; color: inherit; }
.fi-cm-close--popup {
  position: absolute;
  right: 10px;
  top: 10px;
  z-index: 2;
  background: rgba(255,255,255,.85);
  border-radius: 999px;
  transition: background 250ms ease-in-out, color 250ms ease-in-out;
}
.fi-cm-close--popup:hover {
  background: var(--light-blue);
  color: white;
}
.fi-cm-slide-in,
.fi-cm-floating {
  position: fixed;
  right: 24px;
  bottom: 24px;
  width: min(360px, calc(100vw - 48px));
  border-radius: 16px;
  box-shadow: 0 18px 60px rgba(0,0,0,.25);
  padding: 25px 45px 25px 25px;
}
.fi-cm-slide-in .fi-cm-close,
.fi-cm-floating .fi-cm-close {
  position: absolute;
  right: 8px;
  top: 8px;
}
.fi-cm-floating {
  display: flex;
  align-items: center;
  gap: 10px;
  width: auto;
  max-width: min(420px, calc(100vw - 48px));
}
.fi-cm-floating a { color: var(--fi-cm-accent); font-weight: 700; text-decoration: none; }
@media (max-width: 767px) {
  .fi-cm-top-banner__inner { width: 90%; flex-direction: column; text-align: center; }
  .fi-cm-top-banner__text { justify-content: center; flex-direction: column; }
  .fi-cm-slide-in,
  .fi-cm-floating { right: 12px; bottom: 12px; width: calc(100vw - 24px); }
}

.fi-cm-debug-hook-label {
  background: #111;
  color: #fff;
  font: 12px/1.4 monospace;
  padding: 6px 10px;
  position: relative;
  z-index: 999999;
}

.fi-cm-debug-shortcode {
  background: #fff;
  border: 1px solid #ccd0d4;
  color: #1d2327;
  padding: 12px;
  position: relative;
  z-index: 999999;
}


/* V1.1.3: keep modal and floating campaign types above Divi/WP builder content. */
.fi-cm-portal {
  position: relative;
  z-index: 2147483000;
}
.fi-cm-popup,
.fi-cm-slide-in,
.fi-cm-floating {
  z-index: 2147483000 !important;
}
.fi-cm-popup {
  position: fixed !important;
  inset: 0 !important;
}
.fi-cm-overlay {
  z-index: 2147483000;
}
.fi-cm-popup__dialog {
  z-index: 2147483001;
}
.fi-cm-slide-in,
.fi-cm-floating {
  position: fixed !important;
}
.fi-cm-group--selector > .fi-cm-campaign:not(.fi-cm-is-visible) {
  display: none !important;
}

/* V1.1.4: portal campaign types are separated so popup, slide-in, and floating do not block each other. */
.fi-cm-portal .fi-cm-group--portal {
  position: static;
  z-index: 2147483000;
}
.fi-cm-group--selector > .fi-cm-campaign[hidden],
.fi-cm-group--portal > .fi-cm-campaign[hidden] {
  display: none !important;
}

/* DSG Campaign Manager v1.2.0: body-level overlay hardening and reliable rotation visibility. */
#fi-cm-portal,
.fi-cm-portal {
  position: fixed !important;
  inset: 0 !important;
  width: 0 !important;
  height: 0 !important;
  overflow: visible !important;
  pointer-events: none !important;
  z-index: 2147483640 !important;
}
.fi-cm-portal .fi-cm-campaign {
  pointer-events: auto !important;
}
.fi-cm-popup {
  position: fixed !important;
  inset: 0 !important;
  width: 100vw !important;
  height: 100vh !important;
  z-index: 2147483647 !important;
  display: flex;
  align-items: center;
  justify-content: center;
  isolation: isolate !important;
}
.fi-cm-popup[hidden] {
  display: none !important;
}
.fi-cm-overlay {
  position: fixed !important;
  inset: 0 !important;
  z-index: 2147483645 !important;
  background: rgba(0,0,0,.68) !important;
}
.fi-cm-popup__dialog {
  position: relative !important;
  z-index: 2147483647 !important;
}
.fi-cm-slide-in,
.fi-cm-floating {
  position: fixed !important;
  z-index: 2147483646 !important;
}
.fi-cm-group > .fi-cm-campaign[hidden],
.fi-cm-campaign[hidden] {
  display: none !important;
}
.fi-cm-group--selector > .fi-cm-campaign:not(.fi-cm-is-visible),
.fi-cm-group--portal > .fi-cm-campaign:not(.fi-cm-is-visible) {
  display: none !important;
}


/* DSG Campaign Manager v1.2.1: harden popup visibility and trigger display state. */
.fi-cm-popup.fi-cm-is-visible {
  display: flex !important;
  visibility: visible !important;
  opacity: 1 !important;
  pointer-events: auto !important;
}
.fi-cm-popup.fi-cm-is-visible .fi-cm-overlay,
.fi-cm-popup.fi-cm-is-visible .fi-cm-popup__dialog {
  visibility: visible !important;
  opacity: 1 !important;
  pointer-events: auto !important;
}
.fi-cm-slide-in.fi-cm-is-visible,
.fi-cm-floating.fi-cm-is-visible {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  pointer-events: auto !important;
}
.fi-cm-floating.fi-cm-is-visible {
  display: flex !important;
}
#fi-cm-portal .fi-cm-group--portal {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  pointer-events: none !important;
}
#fi-cm-portal .fi-cm-group--portal > .fi-cm-campaign.fi-cm-is-visible {
  pointer-events: auto !important;
}


/* DSG v1.2.2 portal truly above everything */
#fi-cm-portal,
.fi-cm-portal{
  position:fixed !important;
  inset:0 !important;
  width:100vw !important;
  height:100vh !important;
  pointer-events:none !important;
  z-index:2147483647 !important;
}
#fi-cm-portal .fi-cm-campaign{
  pointer-events:auto;
}
#fi-cm-portal .fi-cm-popup{
  position:fixed !important;
  inset:0 !important;
  z-index:2147483647 !important;
  display:flex;
}
#fi-cm-portal .fi-cm-overlay{
  position:fixed !important;
  inset:0 !important;
  z-index:2147483646 !important;
}
#fi-cm-portal .fi-cm-popup__dialog{
  position:relative !important;
  z-index:2147483647 !important;
}
#fi-cm-portal .fi-cm-slide-in,
#fi-cm-portal .fi-cm-floating{
  z-index:2147483647 !important;
}

/* DSG Campaign Manager v1.2.3: true body-level portal and explicit popup display hardening. */
#fi-cm-portal.fi-cm-portal,
#fi-cm-portal {
  position: fixed !important;
  inset: 0 !important;
  width: 100vw !important;
  height: 100vh !important;
  min-width: 100vw !important;
  min-height: 100vh !important;
  overflow: visible !important;
  pointer-events: none !important;
  z-index: 2147483647 !important;
  isolation: isolate !important;
  transform: none !important;
  contain: none !important;
}
#fi-cm-portal .fi-cm-group--portal {
  position: static !important;
  z-index: 2147483647 !important;
  pointer-events: none !important;
  transform: none !important;
  contain: none !important;
}
#fi-cm-portal .fi-cm-campaign {
  pointer-events: auto !important;
}
#fi-cm-portal .fi-cm-popup.fi-cm-is-visible,
.fi-cm-popup.fi-cm-is-visible {
  display: flex !important;
  position: fixed !important;
  inset: 0 !important;
  width: 100vw !important;
  height: 100vh !important;
  align-items: center !important;
  justify-content: center !important;
  visibility: visible !important;
  opacity: 1 !important;
  pointer-events: auto !important;
  z-index: 2147483647 !important;
  background: transparent !important;
  transform: none !important;
}
#fi-cm-portal .fi-cm-popup.fi-cm-is-visible .fi-cm-overlay,
.fi-cm-popup.fi-cm-is-visible .fi-cm-overlay {
  display: block !important;
  position: fixed !important;
  inset: 0 !important;
  visibility: visible !important;
  opacity: 1 !important;
  pointer-events: auto !important;
  z-index: 2147483646 !important;
  background: rgba(0,0,0,.72) !important;
}
#fi-cm-portal .fi-cm-popup.fi-cm-is-visible .fi-cm-popup__dialog,
.fi-cm-popup.fi-cm-is-visible .fi-cm-popup__dialog {
  display: block !important;
  position: relative !important;
  visibility: visible !important;
  opacity: 1 !important;
  pointer-events: auto !important;
  z-index: 2147483647 !important;
}
#fi-cm-portal .fi-cm-slide-in.fi-cm-is-visible,
#fi-cm-portal .fi-cm-floating.fi-cm-is-visible {
  position: fixed !important;
  visibility: visible !important;
  opacity: 1 !important;
  pointer-events: auto !important;
  z-index: 2147483647 !important;
}
#fi-cm-portal .fi-cm-campaign[hidden],
#fi-cm-portal .fi-cm-campaign:not(.fi-cm-is-visible) {
  display: none !important;
}

/* Sellercloud changes */
.fi-cm-campaign {
	position: relative;
	top: 141px;
	z-index: 11 !important;
}
@media (max-width: 1269px) {
  .fi-cm-campaign {
    top: 137px;
  }
}
@media (max-width: 959px) {
  .fi-cm-campaign {
    top: 68px;
  }
}