:root{ --pop-default-theme-1: #4f46e5; --pop-default-theme-3: #ffffff; }

/* Poll option base styles (centralized) */
.publiconion-poll .poll-options{ display:flex; gap:12px; flex-wrap:wrap; justify-content:center; }
.publiconion-poll .poll-option{
  padding:10px 20px;
  border:none;
  border-radius:5px;
  background: #ffffff;
  cursor: pointer;
  color: #111;
  transition: background-color .18s ease, color .18s ease, transform .12s ease;
}
.publiconion-poll .poll-option:focus{ outline:2px solid rgba(0,0,0,0.12); outline-offset:2px; }

/* Disabled state remains non-clickable and visually similar */
.publiconion-poll .poll-option[disabled], .publiconion-poll .poll-option.disabled{
  opacity:1; cursor:not-allowed; box-shadow:none; background:#ffffff; color:#111; border:1px solid rgba(0,0,0,0.06);
}

/* Hover/active uses theme color variable (falls back to defaults) */
.publiconion-poll .poll-option:not([disabled]):not(.disabled):hover{
  background-color: var(--theme-palette-color-1, var(--pop-default-theme-1)) !important;
  color: var(--theme-palette-color-3, var(--pop-default-theme-3)) !important;
  transform: translateY(-2px);
  box-shadow: 0 6px 14px rgba(0,0,0,0.18);
  border-color: transparent !important;
}

/* Small responsive tweak */
@media (max-width:420px){
  .publiconion-poll .poll-option{ padding:8px 12px; font-size:0.95rem; }
}

/* Core poll layout (moved from template inline styles) */
.publiconion-poll{
  position:relative;
  width:100%;
  max-width:640px;
  border-radius:10px;
  background:#000;
  overflow:hidden;
}
.publiconion-poll .poll-media{ position:relative; width:100%; overflow:hidden; border-radius:10px 10px 0 0; }
.publiconion-poll .poll-media-aspect{ width:100%; height:100%; }
.publiconion-poll .poll-media img{ width:100%; height:100%; display:block; object-fit:cover; object-position:center center; }
.poll-thumb-placeholder{ width:100%; height:100%; display:flex; align-items:center; justify-content:center; background:linear-gradient(135deg,#111,#222); }
.poll-overlay{ position:absolute; inset:0; display:flex; flex-direction:column; justify-content:center; align-items:center; gap:18px; background:linear-gradient(180deg,rgba(0,0,0,0.55),rgba(0,0,0,0.05) 55%,rgba(0,0,0,0.6)), rgba(0,0,0,0.10); padding:16px 10px; border-radius:0; }
.poll-title{ color:#fff; text-align:center; margin:0; font-size:1.32rem; line-height:1.2; max-width:90%; background:rgba(0,0,0,0.8); padding:10px; border-radius:10px; }
.poll-message{ display:none; margin-top:10px; color:#fff; text-align:center; font-weight:700; background:rgba(0,0,0,0.6); padding:10px; border-radius:5px; }
.poll-message .login-trigger.button{ text-shadow:none !important; }

/* Demographics area moved from inline styles */
.pop-demographics{ padding:16px; padding-bottom:0; border-top:1px solid rgba(0,0,0,0.04); display:flex; gap:16px; flex-wrap:wrap; }
.pop-demographics .pop-map{ flex:1 1 320px; }
.pop-demographics .pop-age{ flex:1 1 320px; }
.pop-demographics .pop-gender{ flex:1 1 200px; }
.pop-demographics h4{ margin:0 0 8px 0; font-size:0.95rem; color:#fff; }
.pop-age-chart, .pop-gender-chart{ width:100%; height:160px; max-height:180px; }
.pop-map-svg{ height:auto; aspect-ratio:18/9; display:flex; align-items:center; justify-content:center; margin-left:-20px; margin-right:-20px; }

/* Voted badge small styling */
.poll-voted-badge{ position:absolute; top:6px; left:6px; font-size:0.65rem; font-weight:600; padding:4px 7px; border-radius:4px; display:flex; align-items:center; gap:4px; box-shadow:0 2px 4px rgba(0,0,0,0.4); z-index:5; }

/* Message shown when user must log in or similar notices */
.poll-message{
    display:none;
    margin-top:10px;
    color:var(--pop-text-on-dark, #fff);
    text-align:center;
    font-weight:600;
    background:rgba(0,0,0,0.6);
    padding:10px;
    border-radius:6px;
}

/* Demographics area */
.pop-demographics{
    padding:16px;
    padding-bottom:0;
    border-top:1px solid rgba(0,0,0,0.06);
    display:flex;
    gap:16px;
    flex-wrap:wrap;
}

.pop-map{ flex:1 1 320px; }
.pop-age{ flex:1 1 320px; }
.pop-gender{ flex:1 1 200px; }

.pop-map h4,
.pop-age h4,
.pop-gender h4{
    margin:0 0 8px 0;
    font-size:0.95rem;
    color:var(--pop-text-on-dark, #fff);
}

.pop-map-svg{
    height:auto;
    aspect-ratio:18/9;
    display:flex;
    align-items:center;
    justify-content:center;
    margin-left:-20px;
    margin-right:-20px;
}

.pop-age-chart, .pop-gender-chart{
    width:100%;
    height:160px;
    max-height:180px;
}

@media (max-width:860px){
    .pop-demographics{ flex-direction:column; }
    .pop-map-svg{ margin-left:0; margin-right:0; }
}

/* Small helpers */
.login-trigger.button{ text-shadow:none !important; }

.poll-voted-badge{ display:inline-flex; align-items:center; gap:6px; padding:6px 10px; background:rgba(255,255,255,0.06); color:var(--theme-palette-color-1, #4f46e5); border-radius:999px; }

/* Admin helper classes to replace inline width:100% usages in meta boxes */
.pop-admin-input-full{ width:100%; box-sizing:border-box; }
.pop-admin-note{ margin:4px 0 0; font-size:11px; color:#666; }
.pop-admin-small-note{ margin-top:4px; font-size:10px; color:#555; }
@media (max-width:600px){
  .pop-demographics{ flex-direction:column; }
  .pop-map, .pop-age, .pop-gender{ flex:1 1 100%; }
}

/* Ensure results area margin kept consistent */
.publiconion-poll .poll-results{ margin-top:8px; }

/* Admin table and meta-box helpers */
.pop-admin-table-wrap{ max-height:380px; overflow:auto; border:1px solid #ddd; background:#fff; padding:6px; }
.pop-admin-table{ margin:0; }
.pop-admin-nowrap{ white-space:nowrap; }
.pop-admin-actions{ display:flex; gap:6px; flex-wrap:wrap; }
.pop-admin-actions-cell{ width:72px; text-align:center; }
.pop-admin-status{ margin-left:8px; color:#2271b1; }
.pop-admin-add-btn{ width:100%; background:#2271b1; color:#fff; }
.pop-admin-manual-box{ display:flex; flex-direction:column; gap:6px; }
.pop-map-fallback{ color:rgba(255,255,255,0.55); font-size:0.9rem; }
.pop-admin-note{ font-size:12px; line-height:1.5; }

/* Styles migrated from templates/poll-display.php <style> block */
.publiconion-poll .poll-media{ position:relative; width:100%; height:var(--poll-media-height,330px); overflow:hidden; border-radius:10px 10px 0 0; }
.publiconion-poll.voted-state .poll-media{ height:150px !important; }
.publiconion-poll.voted-state .poll-options{ display:none !important; }
@media (max-width:640px){
  .publiconion-poll .poll-media{ height:var(--poll-media-height-mobile,280px); }
}
.poll-results{ width:100%; display:none; align-items:center; justify-content:center; padding:12px; margin-top:12px; }

.poa-poll-row{ display:flex; gap:16px; align-items:stretch; margin-bottom:18px; }
.poa-poll-row .publiconion-poll{ flex:1 1 calc(50% - 8px); max-width:calc(50% - 8px); }

.pop-results-card{ width:100%; max-width:720px; background:rgba(255,255,255,0.06); border-radius:10px; box-shadow:0 6px 18px rgba(0,0,0,0.4); overflow:hidden; color:#fff; }
.pop-results-header{ display:flex; justify-content:space-between; align-items:center; padding:12px 16px; border-bottom:1px solid rgba(255,255,255,0.04); }
.pop-results-title{ font-weight:700; font-size:1rem; color:#fff; }
.pop-results-total{ font-size:0.9rem; color:rgba(255,255,255,0.75); }

.pop-results-body{ display:flex; gap:12px; padding:16px; flex-wrap:wrap; align-items:center; color:#fff; }
.pop-chart-wrapper{ flex:1 1 240px; display:flex; align-items:center; justify-content:center; }
.pop-chart{ width:100% !important; height:auto !important; max-width:180px; aspect-ratio:1/1; margin:0 auto; }
.pop-chart-wrapper{ justify-content:center; }
@media (max-width:500px){ .pop-chart{ max-width:150px; } }

.pop-legend{ flex:1 1 200px; display:flex; flex-direction:column; gap:8px; }
.pop-legend .legend-item{ display:flex; align-items:center; gap:10px; padding:8px; border-radius:6px; background:rgba(255,255,255,0.06); }
.pop-legend .legend-swatch{ width:18px; height:18px; border-radius:4px; flex:0 0 18px; }
.pop-legend .legend-label{ flex:1; font-size:0.95rem; }
.pop-legend .legend-value{ font-weight:700; color:#fff; }

@media (max-width:600px){
  .pop-results-body{ flex-direction:column; }
  .pop-chart-wrapper{ order:0; }
  .pop-legend{ order:1; width:100%; }
  .poa-poll-row{ display:block; }
  .poa-poll-row .publiconion-poll{ width:100% !important; max-width:100% !important; flex-basis:auto !important; }
}

.publiconion-poll{ width:100%; max-width:720px; position:relative; transition:box-shadow .18s ease, transform .18s ease; }
.publiconion-poll .poll-media img{ width:100%; height:100%; display:block; transition:transform .45s cubic-bezier(.4,.15,.2,1); object-fit:cover; object-position:center center; }
.publiconion-poll:hover{ box-shadow:0 6px 22px -4px rgba(0,0,0,.22),0 3px 8px rgba(0,0,0,.15); }
.publiconion-poll:hover .poll-media img{ transform:scale(1.035); }
.publiconion-poll.voted-state .poll-media img{ object-position:center center !important; }
@media (prefers-reduced-motion:reduce){
  .publiconion-poll, .publiconion-poll .poll-media img{ transition:none !important; }
  .publiconion-poll:hover .poll-media img{ transform:none; }
}
.publiconion-poll.no-thumb{ background:#111; }
.publiconion-poll.no-thumb .poll-thumb-placeholder{ font-size:1.4rem; }
.publiconion-poll .poll-results{ margin-top:8px; }

