/* ============================================================
   INFINITUM WANDERERS POLL MANAGER — PUBLIC/FUNNEL SURFACES
   legacy layout baseline
============================================================ */
@font-face{font-family:InfLibrary3AM;src:url("/wp-content/uploads/2025/08/LIBRARY3AM.woff2") format("woff2"),url("/wp-content/uploads/2025/08/LIBRARY3AM.woff") format("woff");font-display:swap;}
.ig-funnel-poll,.ig-funnel-live-title,.ig-public-polls-grid,.ig-recent-polls,.ig-public-poll-modal{
  --cyan:#0FF5F1;--gold:#FFDB58;--red:#E74C3C;--rich:#000D0D;
  font-family:BlenderBook,Arial,sans-serif;color:#fff;box-sizing:border-box
}
.ig-funnel-poll *,.ig-funnel-live-title *,.ig-public-polls-grid *,.ig-recent-polls *,.ig-public-poll-modal *{box-sizing:border-box}

/* ------------------------------------------------------------
   FUNNEL TITLE — replaces manually typed Elementor poll title
------------------------------------------------------------ */
.ig-funnel-live-title{width:min(1120px,100%);margin:0 auto;padding:8px 0 18px;text-align:center}
.ig-funnel-live-row{display:flex;align-items:center;justify-content:center;gap:14px}
.ig-funnel-live-row>i{flex:1;height:1px;background:rgba(15,245,241,.45);box-shadow:0 0 10px rgba(15,245,241,.28)}
.ig-funnel-live-row>b{width:9px;height:9px;background:var(--cyan);transform:rotate(45deg);box-shadow:0 0 12px rgba(15,245,241,.65)}
.ig-funnel-live-row h2{margin:0;color:var(--cyan);font:400 30px/1 BlenderHeavy,Arial,sans-serif;text-transform:uppercase;text-shadow:0 0 14px rgba(15,245,241,.45);white-space:nowrap}
.ig-funnel-live-title p{margin:9px 0 0;color:rgba(255,255,255,.76);font:700 18px/1.3 BlenderBook,Arial,sans-serif}
.ig-funnel-live-title-closed .ig-funnel-live-row h2,.ig-funnel-live-title-incoming .ig-funnel-live-row h2{color:var(--gold);text-shadow:0 0 14px rgba(255,219,88,.40)}

/* ------------------------------------------------------------
   /PLAY + /JOIN FUNNEL — compact legacy-style cards
------------------------------------------------------------ */
.ig-funnel-poll{width:min(1120px,100%);margin:0 auto;padding:0;border:0!important;background:transparent!important;box-shadow:none!important}
.ig-funnel-options{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;width:100%}
.ig-funnel-options[data-count="3"]{grid-template-columns:repeat(3,minmax(0,260px));justify-content:center}
.ig-funnel-options[data-count="2"]{grid-template-columns:repeat(2,minmax(0,270px));justify-content:center}
.ig-funnel-options[data-count="1"]{grid-template-columns:minmax(0,270px);justify-content:center}
.ig-funnel-option{
  --c:#0FF5F1;position:relative;display:flex;min-width:0;padding:11px;flex-direction:column;
  border:1px solid color-mix(in srgb,var(--c) 45%,transparent)!important;border-radius:10px!important;
  background:radial-gradient(circle at 50% 0,color-mix(in srgb,var(--c) 8%,transparent),transparent 42%),rgba(2,8,9,.90)!important;
  color:#fff!important;text-align:left!important;cursor:pointer;overflow:hidden;
  box-shadow:inset 0 0 18px rgba(15,245,241,.018),0 0 16px rgba(0,0,0,.28)!important;
  transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease,background .18s ease,opacity .18s ease!important
}
.ig-funnel-option:not(:disabled):hover,.ig-funnel-option.is-selected{
  border-color:color-mix(in srgb,var(--c) 88%,transparent)!important;
  background:radial-gradient(circle at 50% 0,color-mix(in srgb,var(--c) 14%,transparent),transparent 46%),color-mix(in srgb,var(--c) 5%,rgba(2,8,9,.94))!important;
  box-shadow:0 0 16px color-mix(in srgb,var(--c) 28%,transparent),inset 0 0 18px rgba(15,245,241,.018)!important;
  transform:translateY(-1px)
}
.ig-funnel-option.is-my-vote,.ig-funnel-option.is-winner{
  border-color:var(--c)!important;
  background:radial-gradient(circle at 50% 0,color-mix(in srgb,var(--c) 15%,transparent),transparent 46%),color-mix(in srgb,var(--c) 6%,rgba(2,8,9,.95))!important;
  box-shadow:0 0 18px color-mix(in srgb,var(--c) 34%,transparent),inset 0 0 18px rgba(15,245,241,.02)!important
}
.ig-funnel-poll.is-closed .ig-funnel-option:not(.is-winner){opacity:.74;filter:saturate(.82) brightness(.88)}
.ig-funnel-poll.is-closed .ig-funnel-option.is-winner{opacity:1}
.ig-funnel-image{display:flex;width:100%;aspect-ratio:1.34/1;margin-bottom:10px;align-items:center;justify-content:center;overflow:hidden;border:1px solid color-mix(in srgb,var(--c) 48%,transparent);border-radius:7px;background:#020506}
.ig-funnel-image img{display:block;width:100%!important;height:100%!important;max-width:100%!important;max-height:100%!important;margin:auto!important;padding:4px!important;object-fit:contain!important;object-position:center!important;filter:brightness(.96) contrast(1.05) saturate(1.02)}
.ig-funnel-image.is-cover img{padding:0!important;object-fit:cover!important}
.ig-funnel-image.is-contain img{object-fit:contain!important}
.ig-funnel-option-title{display:flex;min-height:34px;margin:0 0 8px;align-items:center;justify-content:center;color:var(--c)!important;font:400 16px/1.06 BlenderHeavy,Arial,sans-serif!important;text-align:center;text-transform:uppercase;text-shadow:0 0 9px color-mix(in srgb,var(--c) 40%,transparent);overflow-wrap:anywhere}
.ig-funnel-result-boxes{display:grid;grid-template-columns:1fr 1fr;gap:7px;width:100%}
.ig-funnel-result-boxes>span{padding:7px 5px;border:1px solid color-mix(in srgb,var(--c) 28%,transparent);border-radius:6px;background:rgba(2,5,6,.48);text-align:center}
.ig-funnel-result-boxes b,.ig-funnel-result-boxes small{display:block}
.ig-funnel-result-boxes b{color:var(--c);font:400 16px/1 BlenderHeavy,Arial,sans-serif}
.ig-funnel-result-boxes small{margin-top:4px;color:rgba(255,255,255,.58);font:400 8px/1 BlenderHeavy,Arial,sans-serif;text-transform:uppercase}
.ig-funnel-bar{display:block;width:100%;height:6px;margin:9px 0;border-radius:999px;overflow:hidden;background:color-mix(in srgb,var(--c) 12%,#020506)}
.ig-funnel-bar i{display:block;height:100%;border-radius:999px;background:var(--c);box-shadow:0 0 10px color-mix(in srgb,var(--c) 60%,transparent);transition:width .7s ease}
.ig-funnel-chip{display:flex;width:100%;min-height:34px;margin-top:auto;padding:7px 8px;align-items:center;justify-content:center;border:1px solid var(--c)!important;border-radius:6px!important;background:rgba(2,8,9,.90)!important;color:var(--c)!important;font:400 10.5px/1 BlenderHeavy,Arial,sans-serif!important;text-align:center;text-transform:uppercase;transition:.18s ease}
.ig-funnel-option:not(:disabled):hover .ig-funnel-chip,.ig-funnel-option.is-selected .ig-funnel-chip,.ig-funnel-option.is-my-vote .ig-funnel-chip,.ig-funnel-option.is-winner .ig-funnel-chip{background:var(--c)!important;color:#020607!important;box-shadow:0 0 12px color-mix(in srgb,var(--c) 36%,transparent)!important}
.ig-funnel-winner-chip{font-size:12px!important;color:#020607!important}
.ig-funnel-loser-chip{background:rgba(0,8,8,.70)!important;color:color-mix(in srgb,var(--c) 76%,white 6%)!important;opacity:.78;box-shadow:none!important}
.ig-funnel-poll.is-closed .ig-funnel-option:hover .ig-funnel-loser-chip{background:rgba(0,8,8,.70)!important;color:color-mix(in srgb,var(--c) 76%,white 6%)!important;box-shadow:none!important}
.ig-funnel-option:disabled{cursor:default}

.ig-funnel-conversion{--choice:#FFDB58;width:100%;min-height:150px;margin:24px auto 0;padding:21px 28px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;border:1px solid color-mix(in srgb,var(--choice) 52%,transparent);border-radius:8px;background:radial-gradient(circle at 50% 0,color-mix(in srgb,var(--choice) 7%,transparent),transparent 42%),rgba(2,7,8,.90);box-shadow:inset 0 0 20px rgba(255,255,255,.015),0 0 18px rgba(0,0,0,.25);text-align:center}
.ig-funnel-conversion-icon{width:58px;height:58px;display:flex;align-items:center;justify-content:center;border:1px solid var(--choice);border-radius:50%;color:var(--choice);font:400 30px/1 BlenderHeavy,Arial,sans-serif;box-shadow:0 0 13px color-mix(in srgb,var(--choice) 28%,transparent);text-shadow:0 0 10px color-mix(in srgb,var(--choice) 42%,transparent)}
.ig-funnel-conversion-copy{width:100%}
.ig-funnel-conversion h3{margin:0;color:var(--choice);font:400 23px/1 BlenderHeavy,Arial,sans-serif;text-transform:uppercase;text-shadow:0 0 10px color-mix(in srgb,var(--choice) 38%,transparent)}
.ig-funnel-conversion p{margin:9px 0 0;color:rgba(255,255,255,.74);font:700 14px/1.25 BlenderBook,Arial,sans-serif}
.ig-funnel-conversion a{display:inline-flex;width:min(360px,100%);min-height:42px;margin-top:13px;padding:9px 12px;align-items:center;justify-content:center;border:1px solid rgba(255,210,31,.78)!important;border-radius:7px!important;background:rgba(2,8,9,.78)!important;color:#ffd21f!important;font:400 13px/1 BlenderHeavy,Arial,sans-serif!important;text-decoration:none!important;text-transform:uppercase;transition:.18s ease}
.ig-funnel-conversion a:hover{background:#ffd21f!important;color:#020607!important;box-shadow:0 0 12px rgba(255,210,31,.28)!important}
.ig-funnel-empty{min-height:300px;padding:30px!important;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:12px;border:1px solid rgba(15,245,241,.50)!important;border-radius:9px!important;background:rgba(0,13,13,.74)!important;backdrop-filter:blur(7px) brightness(.78);-webkit-backdrop-filter:blur(7px) brightness(.78)}
.ig-funnel-empty>span{color:var(--cyan);font:400 14px/1 BlenderHeavy,Arial,sans-serif}.ig-funnel-empty h2{margin:0;color:var(--gold);font:400 25px/1.1 BlenderHeavy,Arial,sans-serif}.ig-funnel-empty a{margin-top:8px;padding:12px 24px;border:1px solid var(--cyan)!important;border-radius:6px!important;background:rgba(0,8,8,.72)!important;color:var(--cyan)!important;text-decoration:none!important;font:400 12px/1 BlenderHeavy,Arial,sans-serif}

/* ------------------------------------------------------------
   PUBLIC /POLLS GRID — compact archive cards
------------------------------------------------------------ */
.ig-public-polls-grid{
  --platinum:#D7DEDE;
  display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;
  width:min(1650px,100%);margin:0 auto;padding:0 clamp(18px,2.5vw,42px);
  align-items:start;box-sizing:border-box
}
.ig-public-poll-card{
  --type-c:#0FF5F1;--winner-c:#FFDB58;
  position:relative;display:flex;min-width:0;margin-top:20px;padding:50px 14px 14px;flex-direction:column;
  border:1px solid rgba(15,245,241,.50)!important;border-radius:10px!important;
  background:rgba(0,13,13,.72)!important;backdrop-filter:blur(7px) brightness(.78);-webkit-backdrop-filter:blur(7px) brightness(.78);
  color:#fff!important;cursor:pointer;overflow:visible;box-shadow:none!important;
  transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease
}
.ig-public-poll-card:hover{border-color:rgba(15,245,241,.86)!important;box-shadow:0 0 16px rgba(15,245,241,.16)!important;transform:translateY(-1px)}
.ig-public-card-number{
  position:absolute;top:7px;left:50%;transform:translateX(-50%);z-index:2;
  min-width:70px;padding:0 10px;background:rgba(0,13,13,.90);color:var(--gold)!important;
  font:400 43px/.88 InfLibrary3AM,BlenderHeavy,Arial,sans-serif!important;letter-spacing:1px;text-align:center;
  text-shadow:0 0 10px rgba(255,219,88,.32);white-space:nowrap;pointer-events:none
}
.ig-public-card-head{
  display:grid;grid-template-columns:minmax(0,1fr) auto;
  grid-template-areas:"title date" "type status";
  gap:8px 12px;align-items:center;min-width:0
}
.ig-public-card-title{
  grid-area:title;display:-webkit-box;min-width:0;margin:0;color:var(--gold)!important;
  font:400 16.5px/1.1 BlenderHeavy,Arial,sans-serif!important;text-transform:uppercase;
  -webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;overflow-wrap:anywhere;
  text-shadow:0 0 8px rgba(255,219,88,.24)
}
.ig-public-poll-card time{
  grid-area:date;align-self:center;margin:0;color:var(--platinum)!important;
  font:400 12px/1 BlenderHeavy,Arial,sans-serif!important;text-transform:uppercase;white-space:nowrap
}
.ig-public-type-badge{
  grid-area:type;display:flex;width:max-content;max-width:100%;min-height:29px;padding:6px 10px;
  align-items:center;border:1px solid var(--type-c)!important;border-radius:6px;background:rgba(0,10,10,.42)!important;
  color:var(--type-c)!important;font:400 10.5px/1 BlenderHeavy,Arial,sans-serif!important;text-transform:uppercase;white-space:normal
}
.ig-public-status{
  grid-area:status;display:flex;min-width:62px;min-height:29px;padding:6px 8px;align-items:center;justify-content:center;
  border:1px solid rgba(255,255,255,.26)!important;border-radius:6px;background:rgba(0,7,7,.58)!important;
  color:rgba(215,222,222,.88)!important;font:400 10px/1 BlenderHeavy,Arial,sans-serif!important;text-transform:uppercase;white-space:nowrap
}
.ig-public-poll-card.is-active .ig-public-status{border-color:var(--cyan)!important;color:var(--cyan)!important;box-shadow:0 0 8px rgba(15,245,241,.18)!important}
.ig-public-card-image{
  display:flex;width:100%;height:auto;aspect-ratio:16/9;margin:13px 0 0;align-items:center;justify-content:center;overflow:hidden;
  border:1px solid color-mix(in srgb,var(--winner-c) 72%,transparent)!important;border-radius:8px;background:#020707!important;
  box-shadow:0 0 10px color-mix(in srgb,var(--winner-c) 10%,transparent)!important
}
.ig-public-card-image img{display:block;width:100%!important;height:100%!important;max-width:100%!important;max-height:100%!important;padding:4px!important;object-fit:contain!important;object-position:center!important}
.ig-public-card-image.is-cover img{padding:0!important;object-fit:cover!important}
.ig-public-card-image.is-contain img{object-fit:contain!important}
.ig-public-winner{
  display:block;margin:9px 0 0;padding:0 2px;color:var(--winner-c)!important;
  font:400 12px/1.2 BlenderHeavy,Arial,sans-serif!important;text-transform:uppercase;overflow-wrap:anywhere;
  text-shadow:0 0 8px color-mix(in srgb,var(--winner-c) 30%,transparent)
}
.ig-public-winner.is-pending{color:var(--gold)!important;text-shadow:0 0 8px rgba(255,219,88,.20)}
.ig-public-poll-card>button{
  appearance:none!important;-webkit-appearance:none!important;width:100%!important;min-height:38px!important;margin-top:10px!important;padding:8px 10px!important;
  border:1px solid rgba(15,245,241,.76)!important;border-radius:6px!important;background:rgba(0,8,8,.82)!important;
  color:var(--cyan)!important;font:400 10.5px/1.08 BlenderHeavy,Arial,sans-serif!important;text-transform:uppercase!important;cursor:pointer!important;
  box-shadow:none!important;text-shadow:none!important;white-space:normal!important
}
.ig-public-poll-card>button:hover{background:rgba(15,245,241,.10)!important;color:var(--cyan)!important;box-shadow:0 0 10px rgba(15,245,241,.12)!important}

/* ------------------------------------------------------------
   RECENT POLLS — Wanderers Hub bottom list
------------------------------------------------------------ */
.ig-recent-polls{display:flex;flex-direction:column;gap:0;width:100%}.ig-recent-poll-row{display:grid;grid-template-columns:118px minmax(0,1fr);gap:16px;width:100%;padding:14px 0;border:0!important;border-bottom:1px solid rgba(15,245,241,.20)!important;background:transparent!important;color:#fff!important;text-align:left!important;cursor:pointer}.ig-recent-poll-row:last-child{border-bottom:0!important}.ig-recent-thumb{height:78px;overflow:hidden;border:1px solid rgba(255,219,88,.70);border-radius:6px}.ig-recent-thumb img{width:100%;height:100%;object-fit:cover}.ig-recent-copy{display:flex;min-width:0;flex-direction:column;justify-content:center}.ig-recent-copy strong{color:var(--gold);font:400 14px/1.1 BlenderHeavy,Arial,sans-serif;text-transform:uppercase;text-shadow:0 0 8px rgba(255,219,88,.28)}.ig-recent-copy time{margin-top:7px;color:var(--gold);font:400 9px/1 BlenderHeavy,Arial,sans-serif}.ig-recent-copy em{width:max-content;max-width:100%;margin-top:8px;padding:5px 8px;border:1px solid var(--type-c);border-radius:4px;color:var(--type-c);font:400 9px/1 BlenderHeavy,Arial,sans-serif;font-style:normal;text-transform:uppercase}.ig-recent-poll-row:hover .ig-recent-copy strong{color:var(--cyan)}

/* ------------------------------------------------------------
   SHARED PUBLIC POLL MODAL
------------------------------------------------------------ */
html.ig-public-modal-open{overflow:hidden}
.ig-public-poll-modal{
  --ig-modal-top-gap:clamp(112px,12vh,132px);
  position:fixed;inset:0;z-index:999990;display:flex;align-items:flex-start;justify-content:center;
  padding:var(--ig-modal-top-gap) 24px 24px
}
.ig-public-poll-modal[hidden]{display:none}
.ig-public-poll-backdrop{position:absolute;inset:0;background:rgba(0,5,5,.62);backdrop-filter:blur(7px) brightness(.68);-webkit-backdrop-filter:blur(7px) brightness(.68)}
.ig-public-poll-panel{
  position:relative;width:min(1120px,calc(100vw - 48px));max-height:min(680px,calc(100dvh - var(--ig-modal-top-gap) - 24px));
  overflow:visible;padding:0;border:0!important;border-radius:10px;background:transparent!important;box-shadow:none!important;
  transition:width .16s ease
}
.ig-public-poll-panel.has-side-comments{width:min(1420px,calc(100vw - 48px))}
.ig-public-poll-loading{
  width:min(1180px,100%);margin:0 auto;padding:80px 20px;border:1px solid rgba(15,245,241,.72);border-radius:10px;
  background:#001011;color:var(--cyan);font:400 17px/1 BlenderHeavy,Arial,sans-serif;text-align:center;box-shadow:0 20px 70px rgba(0,0,0,.55)
}
.ig-public-poll-content{min-width:0;max-height:inherit}
.ig-public-poll-close{
  position:absolute;right:12px;top:12px;z-index:20;display:grid!important;place-items:center!important;
  width:34px!important;height:34px!important;min-width:34px!important;min-height:34px!important;padding:0!important;
  border:1px solid rgba(255,219,88,.70)!important;border-radius:6px!important;background:#020707!important;color:var(--gold)!important;
  font:800 17px/1 Arial,sans-serif!important;text-align:center!important;text-indent:0!important;cursor:pointer!important;box-shadow:none!important
}
.ig-public-poll-close:hover{background:rgba(255,219,88,.10)!important;box-shadow:0 0 9px rgba(255,219,88,.16)!important}

.ig-public-detail-shell{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;max-height:inherit;min-width:0;align-items:start}
.ig-public-detail-shell.has-comments{grid-template-columns:minmax(0,1fr) minmax(320px,370px)}
.ig-public-detail-shell.no-comments{width:min(1180px,100%);margin:0 auto}
.ig-public-detail{
  --type-c:#0FF5F1;min-width:0;max-height:min(680px,calc(100dvh - var(--ig-modal-top-gap) - 24px));overflow:auto;padding:22px;
  border:1px solid rgba(15,245,241,.72);border-radius:10px;background:rgba(0,16,17,.92);
  backdrop-filter:blur(7px) brightness(.72);-webkit-backdrop-filter:blur(7px) brightness(.72);
  box-shadow:0 20px 70px rgba(0,0,0,.55);scrollbar-width:thin;scrollbar-color:rgba(15,245,241,.58) transparent
}
.ig-public-detail::-webkit-scrollbar,.ig-public-comments-scroll::-webkit-scrollbar{width:5px;height:5px}
.ig-public-detail::-webkit-scrollbar-track,.ig-public-comments-scroll::-webkit-scrollbar-track{background:rgba(0,13,13,.42);border-radius:999px}
.ig-public-detail::-webkit-scrollbar-thumb,.ig-public-comments-scroll::-webkit-scrollbar-thumb{background:rgba(15,245,241,.62);border-radius:999px;box-shadow:0 0 7px rgba(15,245,241,.18)}
.ig-public-detail>header{position:relative;display:block;min-height:68px;padding:0 176px 14px 0;border-bottom:1px solid rgba(15,245,241,.22)}
.ig-public-detail>header>div{min-width:0}
.ig-public-detail>header span{display:block;color:var(--type-c);font:400 12.5px/1 BlenderHeavy,Arial,sans-serif;text-transform:uppercase}
.ig-public-detail>header h2{margin:8px 0 0;color:var(--gold);font:400 28px/1.05 BlenderHeavy,Arial,sans-serif;text-transform:uppercase;overflow-wrap:anywhere}
.ig-public-detail>header>strong{
  position:absolute;right:46px;top:0;display:flex;min-width:112px;min-height:34px;padding:0 11px;align-items:center;justify-content:center;
  border:1px solid rgba(255,219,88,.55);border-radius:6px;color:var(--gold);font:400 12px/1 BlenderHeavy,Arial,sans-serif;text-transform:uppercase;white-space:nowrap
}
.ig-public-detail>header>strong.is-live{border-color:var(--cyan);color:var(--cyan);box-shadow:0 0 9px rgba(15,245,241,.13)}
.ig-public-detail-description{margin:15px 0;color:rgba(240,248,248,.86);font:700 15px/1.42 BlenderBook,Arial,sans-serif}
.ig-public-detail-options{display:flex;flex-direction:column;gap:10px}
.ig-public-detail-option{
  --c:#0FF5F1;position:relative;display:grid;grid-template-columns:155px minmax(0,1fr);gap:16px;min-width:0;padding:11px;
  border:1px solid color-mix(in srgb,var(--c) 55%,transparent);border-radius:8px;background:color-mix(in srgb,var(--c) 3%,rgba(0,7,7,.91));
  transition:opacity .16s ease,filter .16s ease,box-shadow .16s ease,background .16s ease
}
.ig-public-detail.is-closed .ig-public-detail-option:not(.is-winner){opacity:.84;filter:saturate(.88) brightness(.92)}
.ig-public-detail-option.is-winner{opacity:1!important;filter:none!important;border-color:var(--c);background:color-mix(in srgb,var(--c) 8%,rgba(0,8,8,.96));box-shadow:0 0 18px color-mix(in srgb,var(--c) 26%,transparent),inset 0 0 20px color-mix(in srgb,var(--c) 3%,transparent)}
.ig-public-detail-option.is-my:not(.is-winner){border-color:var(--c);box-shadow:0 0 12px color-mix(in srgb,var(--c) 17%,transparent)}
.ig-public-detail-image{display:flex;height:100px;align-items:center;justify-content:center;overflow:hidden;border:1px solid color-mix(in srgb,var(--c) 62%,transparent);border-radius:6px;background:#020707}
.ig-public-detail-image img{display:block;width:100%!important;height:100%!important;max-width:100%!important;max-height:100%!important;padding:3px!important;object-fit:contain!important;object-position:center!important}
.ig-public-detail-image.is-cover img{padding:0!important;object-fit:cover!important}
.ig-public-detail-image.is-contain img{object-fit:contain!important}
.ig-public-detail-option section{
  position:relative;display:grid;min-width:0;padding:2px 0 0!important;
  grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"title state" "desc state" "stats stats" "bar bar";
  column-gap:12px;align-items:start
}
.ig-public-detail-option h3{grid-area:title;min-width:0;margin:0 0 5px!important;padding:0!important;color:var(--c);font:400 19px/1.05 BlenderHeavy,Arial,sans-serif;text-transform:uppercase;word-break:break-word;overflow-wrap:anywhere}
.ig-public-detail-option h3 small{font:inherit!important;color:var(--c)!important;opacity:.82!important}
.ig-public-detail-option p{grid-area:desc;min-width:0;margin:0 0 9px!important;padding:0 4px 0 0!important;color:rgba(255,255,255,.78);font:700 14px/1.3 BlenderBook,Arial,sans-serif;word-break:break-word;overflow-wrap:anywhere}
.ig-public-detail-option section>span{grid-area:stats;display:flex;width:100%;justify-content:space-between;color:var(--c);font:400 14px/1.15 BlenderHeavy,Arial,sans-serif}
.ig-public-detail-option section>span b,.ig-public-detail-option section>span em{font:inherit!important;line-height:inherit!important}.ig-public-detail-option section>span em{color:rgba(255,255,255,.72);font-style:normal!important}
.ig-public-detail-option section>i{grid-area:bar;display:block;width:100%;height:5px;margin-top:7px!important;overflow:hidden;border-radius:4px;background:color-mix(in srgb,var(--c) 9%,#020707)}
.ig-public-detail-option section>i>b{display:block;height:100%;background:var(--c);box-shadow:0 0 8px color-mix(in srgb,var(--c) 45%,transparent)}
.ig-public-option-state{
  grid-area:state;position:static!important;justify-self:end;align-self:start;transform:translateY(-2px);
  display:flex!important;min-width:96px;min-height:34px;margin:0!important;padding:7px 11px!important;align-items:center;justify-content:center;
  border:1px solid var(--c)!important;border-radius:6px!important;background:rgba(0,8,8,.78)!important;color:var(--c)!important;
  font:400 12px/1 BlenderHeavy,Arial,sans-serif!important;text-transform:uppercase!important
}
.ig-public-option-state.is-winner{background:var(--c)!important;color:#020607!important;box-shadow:0 0 14px color-mix(in srgb,var(--c) 38%,transparent)!important}
.ig-public-option-state.is-losing{background:rgba(0,8,8,.62)!important;color:color-mix(in srgb,var(--c) 72%,white 8%)!important;opacity:.78;box-shadow:none!important}

.ig-public-progress{margin:20px 0 0;padding:17px;border:1px solid rgba(15,245,241,.28);border-radius:8px;background:rgba(0,13,13,.52);box-shadow:inset 0 0 18px rgba(15,245,241,.015)}
.ig-public-progress>h3,.ig-public-comments>h3{margin:0 0 12px;padding-bottom:11px;border-bottom:1px solid rgba(15,245,241,.22);color:var(--gold);font:400 20px/1 BlenderHeavy,Arial,sans-serif;text-transform:uppercase}
.ig-public-progress-summary{display:flex;flex-direction:column;gap:9px;margin:0 0 15px}
.ig-public-progress-summary>strong{color:var(--platinum,#D7DEDE);font:400 15px/1.18 BlenderHeavy,Arial,sans-serif;text-transform:uppercase;letter-spacing:.15px}
.ig-public-progress-summary>i{display:block;width:100%;height:6px;overflow:hidden;border-radius:999px;background:rgba(15,245,241,.10)}
.ig-public-progress-summary>i>b{display:block;height:100%;border-radius:inherit;background:var(--cyan);box-shadow:0 0 8px rgba(15,245,241,.38)}
.ig-public-timeline{display:flex;flex-direction:column;gap:10px}
.ig-public-timeline article{padding:13px;border:1px solid rgba(15,245,241,.25);border-radius:7px;background:rgba(0,13,13,.54)}
.ig-public-update-meta{display:flex!important;height:auto!important;margin:0!important;align-items:center;gap:10px;background:none!important}
.ig-public-update-meta time,.ig-public-update-meta span{margin:0;color:rgba(255,255,255,.58);font:400 12px/1 BlenderHeavy,Arial,sans-serif;text-transform:uppercase}
.ig-public-update-meta span{color:var(--cyan)}
.ig-public-timeline h4{margin:8px 0;color:#fff;font:400 17px/1.12 BlenderHeavy,Arial,sans-serif}
.ig-public-timeline p{margin:7px 0;color:rgba(255,255,255,.78);font:700 14.5px/1.4 BlenderBook,Arial,sans-serif}
.ig-public-timeline a{display:inline-flex;min-height:36px;margin-top:10px;padding:9px 12px;align-items:center;justify-content:center;border:1px solid rgba(255,219,88,.78)!important;border-radius:6px;background:rgba(0,8,8,.76)!important;color:var(--gold)!important;font:400 12px/1 BlenderHeavy,Arial,sans-serif;text-decoration:none!important;text-transform:uppercase;box-shadow:none!important;transition:background .16s ease,color .16s ease,box-shadow .16s ease}
.ig-public-timeline a:hover{background:var(--gold)!important;color:#020607!important;box-shadow:0 0 10px rgba(255,219,88,.20)!important}
.ig-public-update-images{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:10px 0!important;height:auto!important;background:none!important}
.ig-public-update-images img{display:block;width:100%;height:120px;object-fit:cover;border:1px solid rgba(15,245,241,.24);border-radius:6px}

.ig-public-comments-side{
  min-width:0;max-height:min(560px,calc(100dvh - var(--ig-modal-top-gap) - 28px));padding:18px;border:1px solid rgba(15,245,241,.72);border-radius:10px;
  background:rgba(0,16,17,.72);backdrop-filter:blur(7px) brightness(.72);-webkit-backdrop-filter:blur(7px) brightness(.72);
  box-shadow:0 20px 70px rgba(0,0,0,.42);overflow:hidden;display:flex;flex-direction:column
}
.ig-public-comments-side>h3{padding-right:40px}
.ig-public-comments-scroll{display:flex;min-height:0;flex:1;flex-direction:column;gap:9px;overflow:auto;padding-right:3px}
.ig-public-comments article{min-width:0;padding:11px;border:1px solid rgba(15,245,241,.22);border-radius:7px;background:rgba(0,13,13,.45)}
.ig-public-comments article>header{display:flex;align-items:center;justify-content:space-between;gap:10px}.ig-public-comments strong{color:var(--gold);font-family:BlenderHeavy}.ig-public-comments time{color:rgba(255,255,255,.48);font-size:10.5px}.ig-public-comments p{margin:6px 0 0;color:rgba(255,255,255,.80);font-weight:700;overflow-wrap:anywhere}
.ig-public-comment-reactions{display:flex;gap:10px;margin-top:9px;color:var(--cyan);font:400 10.5px/1 BlenderHeavy,Arial,sans-serif}
.ig-public-replies{display:flex;flex-direction:column;gap:6px;margin:9px 0 0 14px;padding-left:10px;border-left:1px solid rgba(15,245,241,.22)}
.ig-public-replies blockquote{margin:0;padding:8px 9px;border:0;border-radius:5px;background:rgba(0,8,8,.40)}.ig-public-replies blockquote strong{font-size:12px}.ig-public-replies blockquote p{margin-top:4px;font-size:12px}

.ig-public-detail>footer{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:22px;padding-top:16px;border-top:1px solid rgba(15,245,241,.20);text-align:center}
.ig-public-detail>footer>strong{color:var(--choice-c,var(--gold));font:400 13px/1.2 BlenderHeavy,Arial,sans-serif;text-transform:uppercase}
.ig-public-detail>footer>a,.ig-public-detail>footer>button{min-height:42px;padding:11px 18px;border:1px solid var(--cyan)!important;border-radius:6px!important;background:rgba(0,8,8,.72)!important;color:var(--cyan)!important;font:400 11px/1 BlenderHeavy,Arial,sans-serif!important;text-decoration:none!important;cursor:pointer!important}
.ig-public-my-vote{color:var(--choice-c)!important}
.ig-public-final-winner{display:flex!important;width:100%;min-height:42px;padding:11px 16px!important;align-items:center;justify-content:center;border:1px solid var(--choice-c,var(--gold));border-radius:6px;color:var(--choice-c,var(--gold))!important;background:color-mix(in srgb,var(--choice-c,var(--gold)) 5%,rgba(0,8,8,.78));box-shadow:0 0 12px color-mix(in srgb,var(--choice-c,var(--gold)) 13%,transparent)}

/* Elementor/theme button styles must never repaint public poll controls. */
.ig-public-polls-grid button,.ig-funnel-poll button,.ig-public-poll-modal button{background-image:none!important;text-shadow:none!important}

/* ------------------------------------------------------------
   RESPONSIVE
------------------------------------------------------------ */
@media(max-width:1350px){.ig-public-polls-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:1100px){
  .ig-public-polls-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .ig-public-poll-panel.has-side-comments{width:min(1180px,calc(100vw - 48px));overflow-y:auto;overflow-x:hidden}
  .ig-public-detail-shell.has-comments{grid-template-columns:1fr;max-height:none}
  .ig-public-detail{max-height:min(640px,calc(100dvh - var(--ig-modal-top-gap) - 20px));overflow:auto}
  .ig-public-comments-side{max-height:480px;overflow:hidden}
  .ig-public-comments-scroll{overflow:auto;max-height:410px}
}
@media(max-width:1050px){
  .ig-funnel-options{grid-template-columns:repeat(2,minmax(0,1fr))}.ig-funnel-options[data-count="3"]{grid-template-columns:repeat(2,minmax(0,1fr));justify-content:stretch}.ig-funnel-options[data-count="3"] .ig-funnel-option:last-child{grid-column:1/-1;width:calc((100% - 14px)/2);justify-self:center}.ig-funnel-options[data-count="2"]{grid-template-columns:repeat(2,minmax(0,1fr));justify-content:stretch}
}
@media(max-width:760px){
  .ig-funnel-live-row{gap:9px}.ig-funnel-live-row h2{font-size:22px}.ig-funnel-live-title p{font-size:14px}.ig-funnel-live-row>i{min-width:24px}.ig-funnel-conversion{min-height:120px;margin-top:18px;padding:16px 14px;gap:9px}.ig-funnel-conversion-icon{width:48px;height:48px;font-size:24px}.ig-funnel-conversion h3{font-size:17px}.ig-funnel-conversion p{font-size:11px}.ig-funnel-conversion a{min-height:37px;font-size:10px}
  .ig-public-polls-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding-inline:14px}
  .ig-public-poll-card{margin-top:18px;padding:45px 11px 11px}.ig-public-card-number{top:7px;font-size:38px}.ig-public-card-title{font-size:14.5px}.ig-public-poll-card time{font-size:10.5px}.ig-public-type-badge{font-size:9.5px;min-height:26px;padding:5px 7px}.ig-public-status{font-size:9px;min-height:26px;padding:5px 7px}
  .ig-public-poll-modal{--ig-modal-top-gap:88px;padding-left:8px;padding-right:8px;padding-bottom:10px}
  .ig-public-poll-panel,.ig-public-poll-panel.has-side-comments{width:100%;max-height:calc(100dvh - var(--ig-modal-top-gap) - 10px);overflow-y:auto;overflow-x:hidden}
  .ig-public-poll-close{right:10px;top:10px;width:32px!important;height:32px!important;min-width:32px!important;min-height:32px!important}
  .ig-public-detail{padding:18px 12px}.ig-public-comments-side{padding:14px 12px}
  .ig-public-detail>header{min-height:96px;padding:0 0 14px}.ig-public-detail>header h2{padding-right:42px;font-size:22px}.ig-public-detail>header>strong{position:static;width:max-content;min-width:0;min-height:30px;margin-top:10px;padding:0 9px}
  .ig-public-detail-description{font-size:13.5px}.ig-public-detail-option{grid-template-columns:105px minmax(0,1fr);gap:10px}.ig-public-detail-image{height:86px}
  .ig-public-detail-option section{grid-template-columns:minmax(0,1fr) auto;column-gap:8px}.ig-public-detail-option h3{font-size:15px}.ig-public-detail-option p{font-size:12.5px}.ig-public-detail-option section>span{font-size:12.5px}.ig-public-option-state{min-width:82px;min-height:30px;padding:6px 8px!important;font-size:10px!important;transform:none}
  .ig-public-progress{padding:13px}.ig-public-progress-summary>strong{font-size:13.5px}.ig-public-update-meta time,.ig-public-update-meta span,.ig-public-timeline a{font-size:10.5px}
  .ig-public-update-images{grid-template-columns:repeat(2,minmax(0,1fr))}.ig-public-update-images img{height:100px}
  .ig-public-detail>footer{flex-direction:column;align-items:stretch}.ig-public-detail>footer>a,.ig-public-detail>footer>button{width:100%}
}
@media(max-width:430px){
  .ig-funnel-options,.ig-funnel-options[data-count="3"],.ig-funnel-options[data-count="2"],.ig-funnel-options[data-count="1"]{grid-template-columns:1fr}.ig-funnel-options[data-count="3"] .ig-funnel-option:last-child{grid-column:auto;width:100%}.ig-funnel-image{aspect-ratio:1.48/1}.ig-funnel-option-title{min-height:0;font-size:14px}.ig-funnel-result-boxes b{font-size:14px}.ig-funnel-chip{min-height:32px;font-size:9.5px}
  .ig-funnel-live-row h2{font-size:19px;white-space:normal}.ig-funnel-live-title p{font-size:12px}
  .ig-public-polls-grid{grid-template-columns:1fr;padding-inline:12px}.ig-public-card-title{font-size:14px}.ig-public-card-number{font-size:35px}.ig-public-card-head{column-gap:8px}.ig-public-poll-card time{font-size:9.5px}.ig-public-type-badge{font-size:9px}.ig-public-status{font-size:8.5px;min-width:54px}
  .ig-public-detail-option{grid-template-columns:82px minmax(0,1fr);padding:8px}.ig-public-detail-image{height:72px}.ig-public-detail-option section{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"title state" "desc desc" "stats stats" "bar bar"}.ig-public-detail-option h3{font-size:13.5px}.ig-public-detail-option p{font-size:12px}.ig-public-detail-option section>span{font-size:12px}.ig-public-option-state{width:auto;min-width:70px;justify-self:end}
  .ig-public-update-images{grid-template-columns:1fr}.ig-public-update-images img{height:150px}.ig-recent-poll-row{grid-template-columns:90px minmax(0,1fr)}.ig-recent-thumb{height:65px}
}

/* ============================================================
   legacy layout baseline — LOCKED PUBLIC/FUNNEL LAYOUT
   Restores the previously-good archive-card layout and only adds
   the poll number as a top-border accent.
============================================================ */

/* ---------- /PLAY + /JOIN title containment ---------- */
.ig-funnel-option,
.ig-funnel-option > *{
  min-width:0!important;
  max-width:100%!important;
}
.ig-funnel-option-title{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  min-height:34px!important;
  max-height:2.18em!important;
  margin:0 0 8px!important;
  overflow:hidden!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
  word-break:break-word!important;
  line-height:1.09!important;
  text-align:center!important;
}

/* ---------- /POLLS archive card: OLD GOOD LAYOUT + number only ---------- */
.ig-public-poll-card{
  position:relative!important;
  display:flex!important;
  min-width:0!important;
  margin-top:34px!important;           /* space OUTSIDE the card for the number */
  padding:14px!important;              /* old internal padding restored */
  flex-direction:column!important;
  overflow:visible!important;
  border:1px solid rgba(15,245,241,.44)!important;
  border-radius:9px!important;
  background:rgba(0,13,13,.72)!important;
  backdrop-filter:blur(7px) brightness(.78)!important;
  -webkit-backdrop-filter:blur(7px) brightness(.78)!important;
}

/* Number sits on the top border. No box, no strip, no pseudo-element.
   Only text glow + dark text-shadow so the glyph stays readable. */
.ig-public-card-number{
  position:absolute!important;
  top:0!important;
  left:50%!important;
  transform:translate(-50%,-68%)!important;
  z-index:8!important;
  width:auto!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
  background:transparent!important;
  box-shadow:none!important;
  color:var(--gold)!important;
  font:400 43px/.88 InfLibrary3AM,BlenderHeavy,Arial,sans-serif!important;
  letter-spacing:1px!important;
  text-align:center!important;
  white-space:nowrap!important;
  pointer-events:none!important;
  text-shadow:
    0 2px 2px rgba(0,0,0,.98),
    0 4px 9px rgba(0,0,0,.82),
    0 0 5px rgba(255,219,88,.82),
    0 0 11px rgba(255,219,88,.62),
    0 0 19px rgba(255,219,88,.42),
    0 0 30px rgba(255,219,88,.22)!important;
}
.ig-public-card-number::before,
.ig-public-card-number::after{
  content:none!important;
  display:none!important;
}

/* Old header geometry restored exactly:
   TITLE + DATE on row 1, TYPE + STATUS on row 2. */
.ig-public-card-head{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  grid-template-areas:"title date" "type status"!important;
  gap:8px 12px!important;
  align-items:center!important;
  min-width:0!important;
}
.ig-public-card-title{
  grid-area:title!important;
  display:-webkit-box!important;
  min-width:0!important;
  min-height:36px!important; /* keeps every card header aligned even with 1-line titles */
  margin:0!important;
  align-content:center!important;
  color:var(--gold)!important;
  font:400 16.5px/1.1 BlenderHeavy,Arial,sans-serif!important;
  text-transform:uppercase!important;
  -webkit-box-orient:vertical!important;
  -webkit-line-clamp:2!important;
  overflow:hidden!important;
  overflow-wrap:anywhere!important;
  text-shadow:0 0 8px rgba(255,219,88,.24)!important;
}
.ig-public-poll-card time{
  grid-area:date!important;
  align-self:center!important;
  justify-self:end!important;
  margin:0!important;
  padding:0!important;
  color:var(--platinum,#D7DEDE)!important;
  font:400 11.5px/1.1 BlenderHeavy,Arial,sans-serif!important;
  text-transform:none!important;
  white-space:nowrap!important;
}
.ig-public-type-badge{
  grid-area:type!important;
  display:flex!important;
  width:max-content!important;
  max-width:100%!important;
  min-height:28px!important;
  padding:6px 9px!important;
  align-items:center!important;
  border:1px solid var(--type-c)!important;
  border-radius:5px!important;
  background:rgba(0,10,10,.42)!important;
  color:var(--type-c)!important;
  font:400 10.5px/1 BlenderHeavy,Arial,sans-serif!important;
  text-transform:uppercase!important;
  white-space:normal!important;
}
.ig-public-status{
  grid-area:status!important;
  display:flex!important;
  min-width:62px!important;
  min-height:28px!important;
  padding:6px 8px!important;
  align-items:center!important;
  justify-content:center!important;
  justify-self:end!important;
  border:1px solid rgba(255,255,255,.22)!important;
  border-radius:4px!important;
  background:rgba(0,7,7,.58)!important;
  color:rgba(215,222,222,.82)!important;
  font:400 10px/1 BlenderHeavy,Arial,sans-serif!important;
  text-transform:uppercase!important;
  white-space:nowrap!important;
}

/* Restore old media spacing so the number does NOT create a giant blank header. */
.ig-public-card-image{
  margin-top:12px!important;
}

/* ---------- PUBLIC POLL POPUP ----------
   Enough room below the site header, but not pushed halfway down the page.
   The overlay itself scrolls, so small screens can never become trapped. */
.ig-public-poll-modal[hidden]{display:none!important}
.ig-public-poll-modal{
  --ig-modal-top-gap:108px!important;
  --ig-modal-side-gap:56px!important;
  --ig-modal-bottom-gap:10px!important;
  position:fixed!important;
  inset:0!important;
  display:flex!important;
  align-items:flex-start!important;
  justify-content:center!important;
  padding:
    var(--ig-modal-top-gap)
    var(--ig-modal-side-gap)
    var(--ig-modal-bottom-gap)!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  scrollbar-width:thin!important;
  scrollbar-color:rgba(15,245,241,.62) rgba(0,13,13,.30)!important;
}
body.admin-bar .ig-public-poll-modal{
  --ig-modal-top-gap:140px!important;
}
.ig-public-poll-modal::-webkit-scrollbar{width:5px!important;height:5px!important}
.ig-public-poll-modal::-webkit-scrollbar-track{background:rgba(0,13,13,.42)!important}
.ig-public-poll-modal::-webkit-scrollbar-thumb{
  background:rgba(15,245,241,.62)!important;
  border-radius:999px!important;
  box-shadow:0 0 7px rgba(15,245,241,.18)!important;
}

.ig-public-poll-panel,
.ig-public-poll-panel.has-side-comments{
  width:min(1400px,100%)!important;
  max-width:100%!important;
  height:calc(100dvh - var(--ig-modal-top-gap) - var(--ig-modal-bottom-gap))!important;
  max-height:calc(100dvh - var(--ig-modal-top-gap) - var(--ig-modal-bottom-gap))!important;
  margin:0 auto!important;
}

/* Status and X are ALWAYS the top-right pair, including mobile. */
.ig-public-detail>header{
  position:relative!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  gap:16px!important;
  align-items:start!important;
  min-height:68px!important;
  padding:0 0 14px!important;
  border-bottom:1px solid rgba(15,245,241,.22)!important;
}
.ig-public-detail>header>div:first-child{
  min-width:0!important;
}
.ig-public-header-actions{
  display:flex!important;
  align-items:flex-start!important;
  justify-content:flex-end!important;
  gap:10px!important;
  flex:0 0 auto!important;
}
.ig-public-header-actions>strong{
  position:static!important;
  display:flex!important;
  min-width:112px!important;
  min-height:34px!important;
  margin:0!important;
  padding:0 11px!important;
  align-items:center!important;
  justify-content:center!important;
  border:1px solid rgba(255,219,88,.78)!important;
  border-radius:6px!important;
  background:rgba(255,219,88,.045)!important;
  color:var(--gold)!important;
  font:400 12px/1 BlenderHeavy,Arial,sans-serif!important;
  text-transform:uppercase!important;
  white-space:nowrap!important;
  box-shadow:0 0 9px rgba(255,219,88,.12)!important;
}
.ig-public-header-actions>strong.is-live{
  border-color:var(--cyan)!important;
  background:rgba(15,245,241,.035)!important;
  color:var(--cyan)!important;
  box-shadow:0 0 9px rgba(15,245,241,.13)!important;
}
.ig-public-poll-panel>.ig-public-poll-close{
  display:none!important;
}
.ig-public-header-actions .ig-public-poll-close{
  position:static!important;
  flex:0 0 34px!important;
  width:34px!important;
  height:34px!important;
  min-width:34px!important;
  min-height:34px!important;
  margin:0!important;
}

/* Wide screens: poll + comments side-by-side, same height.
   Switch earlier than before to avoid squeezed/glitched intermediate widths. */
.ig-public-detail-shell.has-comments{
  grid-template-columns:minmax(0,1fr) minmax(320px,370px)!important;
  align-items:stretch!important;
  height:100%!important;
}
.ig-public-comments-side{
  align-self:stretch!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  overflow:hidden!important;
  display:flex!important;
  flex-direction:column!important;
}
.ig-public-comments-scroll{
  flex:1 1 0!important;
  min-height:0!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
}

/* Development update gallery:
   3 images remain centered instead of leaving the final image stranded left. */
.ig-public-update-images{
  display:flex!important;
  flex-wrap:wrap!important;
  justify-content:center!important;
  gap:8px!important;
  margin:10px 0!important;
  height:auto!important;
  background:none!important;
}
.ig-public-update-images img{
  flex:0 1 calc(33.333% - 6px)!important;
  width:calc(33.333% - 6px)!important;
  max-width:calc(33.333% - 6px)!important;
  height:auto!important;
  aspect-ratio:16/9!important;
  object-fit:cover!important;
  object-position:center!important;
}

/* Earlier responsive stack: avoids the half-desktop/half-mobile broken state. */
@media(max-width:1500px){
  .ig-public-poll-modal{
    --ig-modal-top-gap:104px!important;
    --ig-modal-side-gap:48px!important;
    --ig-modal-bottom-gap:10px!important;
  }
  body.admin-bar .ig-public-poll-modal{
    --ig-modal-top-gap:136px!important;
  }
  .ig-public-poll-panel.has-side-comments{
    width:min(1120px,100%)!important;
    height:auto!important;
  }
  .ig-public-detail-shell.has-comments{
    grid-template-columns:1fr!important;
    align-items:start!important;
  }
  .ig-public-comments-side{
    min-height:260px!important;
    max-height:360px!important;
  }
  .ig-public-comments-scroll{
    max-height:300px!important;
  }
}

@media(max-width:1100px){
  .ig-public-poll-modal{
    --ig-modal-top-gap:96px!important;
    --ig-modal-side-gap:28px!important;
    --ig-modal-bottom-gap:10px!important;
  }
  body.admin-bar .ig-public-poll-modal{
    --ig-modal-top-gap:128px!important;
  }
  .ig-public-poll-panel,
  .ig-public-poll-panel.has-side-comments{
    max-height:none!important; /* overlay itself scrolls safely */
  }
  .ig-public-detail{
    max-height:none!important;
    overflow:visible!important;
  }
  .ig-public-update-images img{
    flex-basis:calc(50% - 4px)!important;
    width:calc(50% - 4px)!important;
    max-width:calc(50% - 4px)!important;
  }
}

@media(max-width:700px){
  .ig-public-poll-modal{
    --ig-modal-top-gap:84px!important;
    --ig-modal-side-gap:14px!important;
    --ig-modal-bottom-gap:10px!important;
  }
  body.admin-bar .ig-public-poll-modal{
    --ig-modal-top-gap:118px!important;
  }
  .ig-public-detail,
  .ig-public-comments-side{
    padding:15px 12px!important;
  }
  .ig-public-detail>header{
    grid-template-columns:minmax(0,1fr) auto!important;
    gap:8px!important;
    min-height:60px!important;
  }
  .ig-public-detail>header h2{
    margin-top:7px!important;
    padding-right:0!important;
    font-size:20px!important;
  }
  .ig-public-header-actions{
    gap:6px!important;
  }
  .ig-public-header-actions>strong{
    min-width:80px!important;
    min-height:32px!important;
    padding:0 7px!important;
    font-size:9.5px!important;
  }
  .ig-public-header-actions .ig-public-poll-close{
    flex-basis:32px!important;
    width:32px!important;
    height:32px!important;
    min-width:32px!important;
    min-height:32px!important;
  }
  .ig-public-update-images img{
    flex-basis:100%!important;
    width:100%!important;
    max-width:100%!important;
  }

  /* Archive card stays the OLD layout, number just sits a bit higher. */
  .ig-public-poll-card{
    margin-top:30px!important;
    padding:12px!important;
  }
  .ig-public-card-number{
    transform:translate(-50%,-72%)!important;
    font-size:36px!important;
  }
  .ig-public-card-title{
    min-height:32px!important;
    font-size:14px!important;
  }
  .ig-public-poll-card time{
    font-size:9.5px!important;
  }
  .ig-public-type-badge{
    font-size:9px!important;
  }
  .ig-public-status{
    min-width:54px!important;
    font-size:8.5px!important;
  }
}



/* ============================================================
   legacy layout baseline — PUBLIC POLL LOAD RELIABILITY + COPY POLISH
   ============================================================ */

/* The loading state occupies the same visual footprint as a loaded poll instead
   of collapsing to a short strip at the top of the modal. */
.ig-public-poll-loading{
  box-sizing:border-box!important;
  display:flex;
  width:100%!important;
  height:100%!important;
  min-height:min(680px,calc(100dvh - var(--ig-modal-top-gap) - var(--ig-modal-bottom-gap)))!important;
  margin:0 auto!important;
  padding:34px 24px!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:16px!important;
}
.ig-public-poll-loading>span{
  color:var(--cyan)!important;
  font:400 17px/1.15 BlenderHeavy,Arial,sans-serif!important;
  text-align:center!important;
  text-transform:uppercase!important;
  text-shadow:0 0 10px rgba(15,245,241,.30)!important;
}
.ig-public-poll-loading .ig-public-poll-retry{
  min-width:150px!important;
  min-height:40px!important;
  padding:10px 16px!important;
  border:1px solid var(--cyan)!important;
  border-radius:6px!important;
  background:rgba(0,8,8,.78)!important;
  color:var(--cyan)!important;
  font:400 11px/1 BlenderHeavy,Arial,sans-serif!important;
  text-transform:uppercase!important;
  cursor:pointer!important;
}
.ig-public-poll-loading .ig-public-poll-retry:hover{
  background:rgba(15,245,241,.10)!important;
  box-shadow:0 0 10px rgba(15,245,241,.18)!important;
}

/* A paid Wanderer who can vote only needs the action—not a redundant reminder
   that they have access. */
.ig-public-detail>footer>.ig-public-primary-action{
  min-width:min(340px,100%)!important;
}

@media(max-width:1500px){
  .ig-public-poll-loading{
    height:auto!important;
    min-height:min(620px,calc(100dvh - var(--ig-modal-top-gap) - var(--ig-modal-bottom-gap)))!important;
  }
}
@media(max-width:700px){
  .ig-public-poll-loading{
    min-height:max(420px,calc(100dvh - var(--ig-modal-top-gap) - var(--ig-modal-bottom-gap)))!important;
    padding:28px 16px!important;
  }
}


/* ============================================================
   legacy layout baseline — MATCHED PUBLIC POPUP HEIGHT + STABLE PAGE GUTTER
   ============================================================ */

/* Keep the browser scrollbar gutter reserved while a public poll popup is open.
   This prevents the underlying page/header from snapping sideways when scroll is locked. */
html{scrollbar-gutter:stable!important}
html.ig-public-modal-open{scrollbar-gutter:stable!important}

/* Desktop public-poll popup: loading and loaded states share one deliberately
   medium-height stage. IMPORTANT: the already-approved TOP offset is untouched. */
@media(min-width:1501px){
  .ig-public-poll-panel,
  .ig-public-poll-panel.has-side-comments{
    --ig-modal-stage-height:min(660px,calc(100dvh - var(--ig-modal-top-gap) - var(--ig-modal-bottom-gap)))!important;
    height:var(--ig-modal-stage-height)!important;
    min-height:var(--ig-modal-stage-height)!important;
    max-height:var(--ig-modal-stage-height)!important;
  }

  .ig-public-poll-loading{
    height:100%!important;
    min-height:100%!important;
    max-height:100%!important;
  }

  .ig-public-poll-content{
    height:100%!important;
    min-height:0!important;
    max-height:100%!important;
  }

  .ig-public-detail-shell,
  .ig-public-detail-shell.has-comments,
  .ig-public-detail-shell.no-comments{
    height:100%!important;
    min-height:0!important;
    max-height:100%!important;
  }

  .ig-public-detail{
    height:100%!important;
    min-height:0!important;
    max-height:100%!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
  }

  .ig-public-comments-side{
    height:100%!important;
    min-height:0!important;
    max-height:100%!important;
  }
}


/* ============================================================
   v0.7.6 — LOADING SCROLL LOCK
   Keep the public modal completely inert while its poll is loading.
   Loaded/mobile poll layouts retain their existing internal scrolling.
   ============================================================ */
html.ig-public-modal-open,
html.ig-public-modal-open body{
  overflow:hidden!important;
  overscroll-behavior:none!important;
}
.ig-public-poll-modal.is-loading{
  overflow:hidden!important;
  overscroll-behavior:none!important;
  touch-action:none!important;
}
.ig-public-poll-modal.is-loading .ig-public-poll-panel{
  overflow:hidden!important;
}

/* ============================================================
   v0.7.7 — MOBILE / TABLET SAFE SIDE GUTTERS
   Public/funnel surfaces get the same small edge breathing room as the Hub.
   Recent-poll rows are intentionally excluded because they normally live
   inside an already-padded dashboard/card container.
============================================================ */
@media(max-width:900px){
  .ig-funnel-poll,
  .ig-funnel-live-title{
    width:calc(100% - 36px)!important;
    max-width:calc(100% - 36px)!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
  .ig-public-polls-grid{
    padding-left:18px!important;
    padding-right:18px!important;
  }
}

@media(max-width:430px){
  .ig-funnel-poll,
  .ig-funnel-live-title{
    width:calc(100% - 20px)!important;
    max-width:calc(100% - 20px)!important;
  }
  .ig-public-polls-grid{
    padding-left:10px!important;
    padding-right:10px!important;
  }
}


/* ============================================================
   v0.7.10 — FINAL PUBLIC / FUNNEL TITLE OVERFLOW SAFETY
============================================================ */
.ig-funnel-live-row h2,
.ig-recent-copy strong,
.ig-public-detail>header h2{
  display:-webkit-box!important;
  min-width:0!important;
  max-width:100%!important;
  white-space:normal!important;
  overflow:hidden!important;
  overflow-wrap:anywhere!important;
  word-break:break-word!important;
  text-overflow:ellipsis!important;
  -webkit-box-orient:vertical!important;
  -webkit-line-clamp:2!important;
}
.ig-public-detail>header span,
.ig-public-type-badge{
  max-width:100%!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
  word-break:break-word!important;
}


/* ============================================================
   v0.7.11 — FINAL PUBLIC/FUNNEL LABEL CONTAINMENT
============================================================ */
.ig-public-type-badge,
.ig-recent-copy em{
  min-width:0!important;
  max-width:100%!important;
  white-space:normal!important;
  overflow:hidden!important;
  overflow-wrap:anywhere!important;
  word-break:break-word!important;
  text-overflow:ellipsis!important;
}
.ig-recent-copy strong,
.ig-funnel-live-row h2{min-width:0!important}
@media(max-width:430px){
  .ig-funnel-live-row h2,
  .ig-recent-copy strong,
  .ig-public-detail>header h2{-webkit-line-clamp:2!important}
}

/* Keep status chips from adding their horizontal padding beyond a 100% max-width. */
.ig-recent-copy em{box-sizing:border-box!important}


/* ============================================================
   v0.7.12 — PUBLIC/ARCHIVE POPUP POSITION IS INDEPENDENT
   Hub option-details popups remain viewport-centered by polls.css. The public
   /polls/ result popup (also used when opening the previous-winner card) is
   centered only inside the safe area below the site header. Mobile/tablet keep
   their existing top-anchored, scrollable layout.
============================================================ */
@media(min-width:901px){
  .ig-public-poll-modal{
    align-items:center!important;
  }
}


/* ============================================================
   v0.7.15 — SCHEDULED FUNNEL + MOBILE POPUP/COMMENTS SAFETY
============================================================ */
.ig-funnel-result-boxes{grid-template-columns:repeat(2,minmax(0,1fr))!important}
.ig-funnel-poll.is-scheduled .ig-funnel-option{opacity:1!important;cursor:default!important}
.ig-funnel-poll.is-scheduled .ig-funnel-chip{border-color:var(--c)!important;color:var(--c)!important}

@media(max-width:900px){
  .ig-public-detail-shell.has-comments{height:auto!important;min-height:0!important;max-height:none!important;}
  .ig-public-comments-side{height:auto!important;min-height:0!important;max-height:none!important;overflow:visible!important;}
  .ig-public-comments-scroll{flex:none!important;height:auto!important;min-height:0!important;max-height:none!important;overflow:visible!important;}
}

@media(max-width:700px){
  /* Public/results/previous-winner popup: extra mobile-only clearance below the
     site header + iPhone safe area. Desktop positioning remains unchanged. */
  .ig-public-poll-modal{
    --ig-modal-top-gap:calc(116px + env(safe-area-inset-top,0px))!important;
  }
  body.admin-bar .ig-public-poll-modal{
    --ig-modal-top-gap:calc(148px + env(safe-area-inset-top,0px))!important;
  }
  .ig-public-poll-panel,.ig-public-poll-panel.has-side-comments{height:auto!important;max-height:none!important;}
}

@media(max-width:430px){
  .ig-funnel-result-boxes{gap:5px!important}
  .ig-funnel-result-boxes>span{padding:7px 3px!important}
  .ig-funnel-result-boxes small{font-size:7px!important}
}


/* ============================================================
   v0.7.16 — PUBLIC VOTE PRESENTATION
   Public-facing totals intentionally present weighted Voting Power as the
   marketing-facing VOTE count, matching the legacy polls. Unique human voter
   counts remain preserved internally/admin-side and are not exposed here.
============================================================ */
