/* استفتاء برو - Independent Design System
   Fully isolated plugin styling with no theme dependencies.
   All styles scoped to .estftaa-poll wrapper with CSS reset.
   Design tokens injected via CSS custom properties. */

/* Main plugin wrapper with scoped isolation */
.estftaa-poll{
  /* Design tokens — fallbacks, overridden by context-scoped inline styles */
  --estftaa-primary:#0b3d91;
  --estftaa-primary-voted:#137333;
  --estftaa-bg:#ffffff;
  --estftaa-option-bg:#ffffff;
  --estftaa-text:#1a1a1a;
  --estftaa-muted:#6b7280;
  --estftaa-radius:10px;
  --estftaa-font-size:15px;
  --estftaa-q-size:18px;
  --estftaa-pct-size:14px;
  --estftaa-bar-h:8px;
  --estftaa-gap:14px;
  --estftaa-opt-border:1px solid #e5e7eb;
  /* Header */
  --estftaa-head-bg:#f6f7f9;
  --estftaa-head-color:#0b3d91;
  --estftaa-head-pad:10px;
  --estftaa-head-radius:8px;
  --estftaa-head-align:right;
  --estftaa-head-text-size:13px;
  --estftaa-head-text-weight:600;
  --estftaa-head-line-height:1.4;
  --estftaa-head-letter-spacing:0px;
  --estftaa-head-icon-size:16px;
  --estftaa-head-icon-color:#0b3d91;
  --estftaa-head-icon-gap:8px;
  --estftaa-head-margin-btm:12px;
  --estftaa-head-underline-thickness:3px;
  --estftaa-head-underline-width:40px;
  --estftaa-head-underline-color:#0b3d91;
  /* Vote button */
  --estftaa-btn-align:flex-start;
  --estftaa-btn-text-align:center;
  --estftaa-btn-width:auto;
  --estftaa-btn-min-width:100px;
  --estftaa-btn-max-width:none;
  --estftaa-btn-height:auto;
  --estftaa-btn-min-height:42px;
  --estftaa-btn-pad-top:11px;
  --estftaa-btn-pad-right:26px;
  --estftaa-btn-pad-btm:11px;
  --estftaa-btn-pad-left:26px;
  --estftaa-btn-margin-top:0px;
  --estftaa-btn-margin-right:0px;
  --estftaa-btn-margin-btm:0px;
  --estftaa-btn-margin-left:0px;
  --estftaa-btn-font-size:15px;
  --estftaa-btn-font-weight:600;
  --estftaa-btn-radius:8px;
  --estftaa-btn-border-width:0px;
  --estftaa-btn-border-color:#0b3d91;
  --estftaa-btn-text-color:#ffffff;
  --estftaa-btn-bg-color:#0b3d91;
  --estftaa-btn-hover-text:#ffffff;
  --estftaa-btn-hover-bg:#083066;
  --estftaa-btn-hover-border:#083066;
  --estftaa-btn-transition:200ms;
  --estftaa-btn-icon-position:left;
  /* Voted button icon system */
  --estftaa-voted-icon-enable:1;
  --estftaa-voted-icon-type:check;
  --estftaa-voted-icon-size:18px;
  --estftaa-voted-icon-color:currentColor;
  /* Other polls button */
  --estftaa-other-width:auto;
  --estftaa-other-min-width:100px;
  --estftaa-other-height:auto;
  --estftaa-other-min-height:38px;
  --estftaa-other-pad-top:9px;
  --estftaa-other-pad-right:20px;
  --estftaa-other-pad-btm:9px;
  --estftaa-other-pad-left:20px;
  --estftaa-other-margin-top:0px;
  --estftaa-other-margin-right:0px;
  --estftaa-other-margin-btm:0px;
  --estftaa-other-margin-left:0px;
  --estftaa-other-font-size:14px;
  --estftaa-other-font-weight:500;
  --estftaa-other-radius:6px;
  --estftaa-other-border-width:1px;
  --estftaa-other-border-color:#d1d5db;
  --estftaa-other-text-color:#4b5563;
  --estftaa-other-bg-color:#ffffff;
  --estftaa-other-hover-text:#1f2937;
  --estftaa-other-hover-bg:#f9fafb;
  --estftaa-other-hover-border:#9ca3af;
  --estftaa-other-transition:200ms;
  /* Options spacing */
  --estftaa-opt-pad-top:9px;
  --estftaa-opt-pad-btm:9px;
  --estftaa-opt-pad-inline:11px;
  --estftaa-opt-gap:8px;
  --estftaa-opt-label-gap:6px;
  /* Question spacing */
  --estftaa-q-margin-top:0px;
  --estftaa-q-margin-btm:11px;
  /* Progress bar spacing */
  --estftaa-bar-margin-top:0px;
  --estftaa-bar-margin-btm:0px;
  --estftaa-other-text-align:center;
  --estftaa-other-max-width:none;
  --estftaa-buttons-gap:12px;
  --estftaa-btn-content-align:center;
  --estftaa-other-btn-content-align:center;

  /* Scoped isolation - prevents external stacking/z-index conflicts */
  isolation:isolate;
  position:relative;

  /* Component styles */
  box-sizing:border-box;
  margin:calc(var(--estftaa-gap) * 1.2) 0;
  padding:0;
  direction:rtl;
  text-align:right;
  font-family:inherit !important;
  font-size:var(--estftaa-font-size);
  line-height:1.7;
  color:var(--estftaa-text);
  background:var(--estftaa-bg);
  border-radius:var(--estftaa-radius);
}

/* Minimal overrides for children - preserve browser defaults */
.estftaa-poll *,
.estftaa-poll *::before,
.estftaa-poll *::after{
  box-sizing:border-box;
}

/* Reset list styles - defensive reset to prevent theme interference */
.estftaa-poll ul,
.estftaa-poll ol,
.estftaa-poll li{
  list-style:none;
  margin:0;
  padding:0;
}

/* Reset form elements */
.estftaa-poll input,
.estftaa-poll button{
  font-family:inherit;
}

/* Dark mode override */
html[data-estftaa-dark="1"] .estftaa-poll{
  --estftaa-bg:#0f1115;
  --estftaa-option-bg:#161a21;
  --estftaa-text:#e8eaed;
  --estftaa-muted:#9aa3af;
  --estftaa-head-bg:#161a21;
}

/* ---------- Header row (fully dynamic with v3.1 variables) ---------- */
.estftaa-poll__head{
  display:flex;
  align-items:center;
  gap:var(--estftaa-head-icon-gap, 8px);
  background:var(--estftaa-head-bg, #f6f7f9);
  color:var(--estftaa-head-color, #0b3d91);
  padding:var(--estftaa-head-pad, 10px) calc(var(--estftaa-head-pad, 10px) * 1.4);
  border-radius:var(--estftaa-head-radius, 8px);
  margin:0 0 var(--estftaa-head-margin-btm, 12px);
  font-family:inherit;
  font-size:var(--estftaa-head-text-size, 13px);
  font-weight:var(--estftaa-head-text-weight, 600);
  line-height:var(--estftaa-head-line-height, 1.4);
  letter-spacing:var(--estftaa-head-letter-spacing, 0);
  position:relative;
}

.estftaa-poll__head[data-align="center"]{justify-content:center;text-align:center}
.estftaa-poll__head[data-align="left"]{justify-content:flex-start;flex-direction:row-reverse}
.estftaa-poll__head[data-align="right"]{justify-content:flex-start}

/* Header style: underline */
.estftaa-poll__head[data-style="underline"]::after{
  content:'';
  position:absolute;
  bottom:0;
  right:0;
  width:var(--estftaa-head-underline-width, 40px);
  height:var(--estftaa-head-underline-thickness, 3px);
  background:var(--estftaa-head-underline-color, currentColor);
  border-radius:2px;
}

.estftaa-poll__head[data-style="underline"][data-align="center"]::after{
  right:50%;
  transform:translateX(50%);
}

.estftaa-poll__head[data-style="underline"][data-align="left"]::after{
  right:auto;
  left:0;
}

/* Independent underline toggle (header_underline_enable) — works on any header_style */
.estftaa-poll__head[data-underline="1"]::after{
  content:'';
  position:absolute;
  bottom:0;
  right:0;
  width:var(--estftaa-head-underline-width, 40px);
  height:var(--estftaa-head-underline-thickness, 3px);
  background:var(--estftaa-head-underline-color, currentColor);
  border-radius:2px;
}
.estftaa-poll__head[data-underline="1"][data-align="center"]::after{
  right:50%;
  transform:translateX(50%);
}
.estftaa-poll__head[data-underline="1"][data-align="left"]::after{
  right:auto;
  left:0;
}

/* Header style: badge */
.estftaa-poll__head[data-style="badge"]{
  display:inline-flex;
  padding:6px 14px;
  border-radius:20px;
  font-size:12px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:0.5px;
}

/* Header style: border */
.estftaa-poll__head[data-style="border"]{
  border:2px solid currentColor;
  background:transparent;
}

/* Header style: glow */
.estftaa-poll__head[data-style="glow"]{
  box-shadow:0 0 20px rgba(11, 61, 145, 0.3);
}

/* Header style: divider */
.estftaa-poll__head[data-style="divider"]{
  background:transparent;
  padding:0 0 8px;
  border-bottom:2px solid var(--estftaa-head-underline-color, currentColor);
}

/* Header style: newsroom */
.estftaa-poll__head[data-style="newsroom"]{
  background:var(--estftaa-head-color, #0b3d91);
  color:#fff;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:1px;
  padding:8px 16px;
}

/* Header style: minimal */
.estftaa-poll__head[data-style="minimal"]{
  background:transparent;
  padding:0;
  font-weight:400;
  color:var(--estftaa-muted, #6b7280);
}

/* Header style: pill */
.estftaa-poll__head[data-style="pill"]{
  display:inline-flex;
  padding:4px 12px;
  border-radius:999px;
  font-size:11px;
  font-weight:600;
}
.estftaa-poll[data-content-align="center"] .estftaa-poll__head{text-align:center}
.estftaa-poll[data-content-align="left"] .estftaa-poll__head{text-align:left}
.estftaa-poll[data-content-align="right"] .estftaa-poll__head{text-align:right}

.estftaa-poll__eyebrow{
  font-size:var(--estftaa-head-text-size);
  font-weight:800;
  letter-spacing:.02em;
  color:inherit;
  font-family:inherit;
}

.estftaa-poll__head .estftaa-icon{
  width:var(--estftaa-head-icon-size);
  height:var(--estftaa-head-icon-size);
  color:var(--estftaa-head-icon-color);
  fill:var(--estftaa-head-icon-color);
}
.estftaa-icon{
  width:16px;height:16px;
  display:inline-flex;align-items:center;justify-content:center;
  fill:currentColor;color:inherit;flex-shrink:0;
}
.estftaa-icon--dot{
  width:.55em;height:.55em;min-width:6px;min-height:6px;
  border-radius:50%;background:currentColor;
}
.estftaa-poll__head .estftaa-icon--dot{
  width:calc(var(--estftaa-head-icon-size) * .55);
  height:calc(var(--estftaa-head-icon-size) * .55);
  background:var(--estftaa-head-icon-color);
}

/* ---------- Question ---------- */
.estftaa-poll__question{
  font-size:var(--estftaa-q-size);
  font-weight:800;
  line-height:1.55;
  margin:var(--estftaa-q-margin-top) 0 var(--estftaa-q-margin-btm);
  color:var(--estftaa-text);
  font-family:inherit;
}
.estftaa-poll[data-content-align="center"] .estftaa-poll__question{text-align:center}
.estftaa-poll[data-content-align="left"] .estftaa-poll__question{text-align:left}
.estftaa-poll[data-content-align="right"] .estftaa-poll__question{text-align:right}

.estftaa-poll__form{margin:0}

/* ---------- Options ---------- */
.estftaa-poll__options{
  margin:0 0 calc(var(--estftaa-gap) * 1.4);
  padding:0;
  display:flex;
  flex-direction:column;
  gap:var(--estftaa-opt-gap);
}

.estftaa-option{
  position:relative;
  background:var(--estftaa-option-bg);
  border:var(--estftaa-opt-border);
  border-radius:var(--estftaa-radius);
  padding:var(--estftaa-opt-pad-top) var(--estftaa-opt-pad-inline) var(--estftaa-opt-pad-btm);
  transition:border-color .2s ease, background .2s ease, transform .15s ease;
  cursor:pointer;
  display:flex;
  flex-direction:column;
  gap:var(--estftaa-opt-label-gap);
  margin:0;
}
.estftaa-poll:not(.has-border) .estftaa-option{border:0}
.estftaa-option:hover{border-color:var(--estftaa-primary)}
.estftaa-option.is-selected{border-color:var(--estftaa-primary)}

/* Option top row: radio + label + percent */
.estftaa-option__label{
  display:flex;align-items:center;gap:12px;
  cursor:pointer;margin:0;
  width:100%;
  font-family:inherit;
}
.estftaa-poll[data-content-align="center"] .estftaa-option__label{justify-content:center}
.estftaa-poll[data-content-align="left"] .estftaa-option__label{justify-content:flex-start}
.estftaa-poll[data-content-align="right"] .estftaa-option__label{justify-content:flex-start}
.estftaa-option__label input[type=radio]{
  position:absolute;opacity:0;pointer-events:none;
}
.estftaa-option__radio{
  width:20px;height:20px;border-radius:50%;
  border:2px solid #d1d5db;
  flex-shrink:0;position:relative;
  transition:border-color .2s ease;
  font-family:inherit;
}
.estftaa-option.is-selected .estftaa-option__radio{border-color:var(--estftaa-primary)}
.estftaa-option.is-selected .estftaa-option__radio::after{
  content:"";position:absolute;inset:4px;
  background:var(--estftaa-primary);border-radius:50%;
}
.estftaa-option__text{
  flex:1;
  font-weight:600;
  line-height:1.5;
  font-family:inherit;
}
.estftaa-option__percent{
  font-size:var(--estftaa-pct-size);
  font-weight:800;
  color:var(--estftaa-primary);
  opacity:0;
  transform:translateX(-4px);
  transition:opacity .35s ease, transform .35s ease;
  font-variant-numeric:tabular-nums;
  margin-inline-start:auto;
  flex-shrink:0;
}
.estftaa-poll.is-results .estftaa-option__percent{opacity:1;transform:none}

/* Progress bar - separate row below label */
.estftaa-option__bar{
  height:var(--estftaa-bar-h);
  background:rgba(0,0,0,.06);
  border-radius:999px;
  overflow:hidden;
  opacity:0;max-height:0;
  margin:var(--estftaa-bar-margin-top) 0 var(--estftaa-bar-margin-btm);
  transition:opacity .3s ease, max-height .35s ease;
}
.estftaa-poll.is-results .estftaa-option__bar{opacity:1;max-height:var(--estftaa-bar-h)}
html[data-estftaa-dark="1"] .estftaa-option__bar{background:rgba(255,255,255,.08)}
.estftaa-option__bar-fill{
  display:block;height:100%;width:0;
  background:linear-gradient(90deg,var(--estftaa-primary),color-mix(in srgb,var(--estftaa-primary) 75%,#fff));
  border-radius:999px;
  transition:width 1s cubic-bezier(.2,.7,.2,1);
}

/* ---------- Footer ---------- */
.estftaa-poll__footer{
  display:flex;
  flex-direction:column;
  gap:8px;
  margin-top:calc(var(--estftaa-gap) * 1.2);
  padding-top:4px;
}

/* Buttons wrapper — inline (row) or stacked (column) */
.estftaa-buttons-wrapper{
  display:flex;
  width:100%;
  flex-direction:row;
  gap:var(--estftaa-buttons-gap, 12px);
  align-items:center;
  flex-wrap:nowrap;
}
.estftaa-buttons-wrapper[data-layout="stacked"]{
  flex-direction:column;
  align-items:stretch;
}

/* Vote button wrapper — alignment via data-align */
.estftaa-poll__vote-wrapper{
  display:flex;
  align-items:center;
  flex:1;
  justify-content:flex-start;
}
.estftaa-poll__vote-wrapper[data-align="right"]{justify-content:flex-start}
.estftaa-poll__vote-wrapper[data-align="center"]{justify-content:center}
.estftaa-poll__vote-wrapper[data-align="left"]{justify-content:flex-end}
.estftaa-poll__vote-wrapper[data-align="stretch"]{flex:1}
.estftaa-poll__vote-wrapper[data-align="stretch"] .estftaa-btn--vote{width:100%}
.estftaa-buttons-wrapper[data-layout="stacked"] .estftaa-poll__vote-wrapper{width:100%}

/* Other button wrapper — alignment via data-align */
.estftaa-poll__other{
  display:flex;
  align-items:center;
  flex:1;
}
.estftaa-poll__other[data-align="right"]{justify-content:flex-start}
.estftaa-poll__other[data-align="center"]{justify-content:center}
.estftaa-poll__other[data-align="left"]{justify-content:flex-end}
.estftaa-poll__other[data-align="stretch"]{flex:1}
.estftaa-poll__other[data-align="stretch"] .estftaa-btn--other{width:100%}
.estftaa-buttons-wrapper[data-layout="stacked"] .estftaa-poll__other{width:100%}

/* Hide classes */
.estftaa-poll.hide-voted .estftaa-btn__check,
.estftaa-poll.hide-voted .estftaa-poll.is-voted .estftaa-btn__check{display:none}
.estftaa-poll.hide-voted .estftaa-poll.is-voted .estftaa-btn--vote{padding-inline-end:var(--estftaa-btn-pad-inline)}
.estftaa-poll.hide-other .estftaa-poll__other{display:none}
.estftaa-poll.hide-header .estftaa-poll__head{display:none}

.estftaa-poll__total{
  color:var(--estftaa-muted);
  font-size:13px;
  font-family:inherit;
}
.estftaa-poll__total.is-hidden{display:none}
.estftaa-poll__total-num{color:var(--estftaa-text);margin-inline-start:4px}

/* ---------- Shared button base (UNIFIED SYSTEM) ---------- */
.estftaa-btn{
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  border:none;
  cursor:pointer;
  font-family:inherit !important;
  box-sizing:border-box;
  text-decoration:none;
  line-height:1;
  min-height:44px;
  padding:12px 24px;
  font-size:15px;
  font-weight:600;
  border-radius:8px;
  transition:
    background .25s ease,
    color .25s ease,
    border-color .25s ease,
    box-shadow .25s ease,
    transform .2s ease;
}
.estftaa-btn:hover{
  transform:translateY(-2px);
}
.estftaa-btn:active{
  transform:translateY(0);
}
.estftaa-btn:disabled{
  cursor:not-allowed;
  transform:none;
  opacity:0.6;
}
.estftaa-btn__label{
  display:inline-flex;
  align-items:center;
  gap:6px;
}

/* ---------- Vote button ---------- */
.estftaa-btn--vote{
  overflow:hidden;
  justify-content:var(--estftaa-btn-content-align, center);
  width:var(--estftaa-btn-width, auto);
  min-width:var(--estftaa-btn-min-width, 100px);
  max-width:var(--estftaa-btn-max-width, none);
  height:var(--estftaa-btn-height, auto);
  min-height:var(--estftaa-btn-min-height, 44px);
  padding:var(--estftaa-btn-pad-top, 12px) var(--estftaa-btn-pad-right, 24px) var(--estftaa-btn-pad-btm, 12px) var(--estftaa-btn-pad-left, 24px);
  margin:var(--estftaa-btn-margin-top, 0) var(--estftaa-btn-margin-right, 0) var(--estftaa-btn-margin-btm, 0) var(--estftaa-btn-margin-left, 0);
  font-size:var(--estftaa-btn-font-size, 15px);
  font-weight:var(--estftaa-btn-font-weight, 600);
  color:var(--estftaa-btn-text-color, #fff);
  background:var(--estftaa-btn-bg-color, var(--estftaa-primary));
  border:var(--estftaa-btn-border-width, 0px) solid var(--estftaa-btn-border-color, transparent);
  border-radius:var(--estftaa-btn-radius, 8px);
  box-shadow:var(--estftaa-btn-shadow, none);
  transition:all var(--estftaa-btn-transition, 250ms) ease;
}
.estftaa-btn--vote:hover{
  color:var(--estftaa-btn-hover-text, #fff);
  background:var(--estftaa-btn-hover-bg, var(--estftaa-btn-bg-color));
  border-color:var(--estftaa-btn-hover-border, transparent);
  box-shadow:var(--estftaa-btn-hover-shadow, 0 4px 12px rgba(0,0,0,.15));
  transform:translateY(-2px);
}
.estftaa-btn--vote:disabled{
  cursor:not-allowed;
  transform:none;
  opacity:0.6;
  box-shadow:none;
}

.estftaa-btn__check{
  width:16px;
  height:16px;
  fill:currentColor;
  opacity:0;
  transform:scale(.6);
  transition:opacity .3s ease .05s, transform .3s ease .05s;
}

/* Icon position handling */
[data-icon-position="none"] .estftaa-btn__check{display:none}
[data-icon-position="left"] .estftaa-btn__check{order:-1}
[data-icon-position="right"] .estftaa-btn__check{order:1}

/* Voted state icon visibility based on position setting */
.estftaa-poll.is-voted .estftaa-btn--vote[data-icon-position="left"] .estftaa-btn__check,
.estftaa-poll.is-voted .estftaa-btn--vote[data-icon-position="right"] .estftaa-btn__check,
.estftaa-poll.is-voted .estftaa-btn--voted[data-icon-position="left"] .estftaa-btn__check,
.estftaa-poll.is-voted .estftaa-btn--voted[data-icon-position="right"] .estftaa-btn__check{
  opacity:1;
  transform:scale(1);
}
.estftaa-poll.is-voted .estftaa-btn--vote[data-icon-position="none"] .estftaa-btn__check,
.estftaa-poll.is-voted .estftaa-btn--voted[data-icon-position="none"] .estftaa-btn__check{
  display:none;
}

/* Voted state - admin bypass friendly */
.estftaa-poll.is-voted .estftaa-btn--vote{
  background:var(--estftaa-primary-voted, #137333);
  cursor:default;
}

/* Icon padding based on position */
.estftaa-poll.is-voted .estftaa-btn--vote[data-icon-position="right"]{
  padding-inline-end:22px;
}
.estftaa-poll.is-voted .estftaa-btn--vote[data-icon-position="left"]{
  padding-inline-start:22px;
}

/* ---------- Hydration loading state ---------- */
/* While JS confirms vote status with backend, the button is hidden and a
   pulsing placeholder occupies its space to prevent layout shift. */
.estftaa-poll__vote-loading{
  pointer-events:none;
  cursor:default;
  opacity:.55;
  min-height:var(--estftaa-btn-min-height, 44px);
  display:inline-flex;
  align-items:center;
  justify-content:center;
}
.estftaa-vote-spinner{
  display:inline-block;
  width:18px;height:18px;
  border:2.5px solid currentColor;
  border-right-color:transparent;
  border-radius:50%;
  animation:estftaa-spin .6s linear infinite;
}
@keyframes estftaa-spin{to{transform:rotate(360deg)}}

/* Prevent interaction with options during hydration */
.estftaa-poll.is-hydrating .estftaa-poll__options{
  pointer-events:none;
  opacity:.7;
  transition:opacity .2s;
}
/* Hide radio buttons during hydration so user can't select before state is known */
.estftaa-poll.is-hydrating input[type=radio]{
  pointer-events:none;
}
/* Hide vote button during hydration - loading placeholder is shown instead */
.estftaa-poll.is-hydrating .estftaa-btn--vote{
  display:none;
}

/* "Other polls" reveals after voting */
.estftaa-poll__after{margin-top:calc(var(--estftaa-gap) * .9)}

/* ---------- Other Polls button (SAME SYSTEM AS VOTE) ---------- */
.estftaa-btn--other{
  justify-content:var(--estftaa-other-btn-content-align, center);
  width:var(--estftaa-other-width, auto);
  min-width:var(--estftaa-other-min-width, 100px);
  max-width:var(--estftaa-other-max-width, none);
  height:var(--estftaa-other-height, auto);
  min-height:var(--estftaa-other-min-height, 44px);
  padding:var(--estftaa-other-pad-top, 12px) var(--estftaa-other-pad-right, 24px) var(--estftaa-other-pad-btm, 12px) var(--estftaa-other-pad-left, 24px);
  margin:var(--estftaa-other-margin-top, 0) var(--estftaa-other-margin-right, 0) var(--estftaa-other-margin-btm, 0) var(--estftaa-other-margin-left, 0);
  font-size:var(--estftaa-other-font-size, 15px);
  font-weight:var(--estftaa-other-font-weight, 600);
  color:var(--estftaa-other-text-color, #fff);
  background:var(--estftaa-other-bg-color, var(--estftaa-primary));
  border:var(--estftaa-other-border-width, 0px) solid var(--estftaa-other-border-color, transparent);
  border-radius:var(--estftaa-other-radius, 8px);
  box-shadow:var(--estftaa-other-shadow, none);
  transition:all var(--estftaa-other-transition, 250ms) ease;
}
.estftaa-btn--other:hover{
  color:var(--estftaa-other-hover-text, #fff);
  background:var(--estftaa-other-hover-bg, var(--estftaa-other-bg-color));
  border-color:var(--estftaa-other-hover-border, transparent);
  box-shadow:var(--estftaa-other-hover-shadow, 0 4px 12px rgba(0,0,0,.15));
  transform:translateY(-2px);
  text-decoration:none;
}

/* ========== BUTTON PRESETS ========== */

/* 1. Solid (default) */
.estftaa-btn--preset-solid{
  background:var(--estftaa-btn-bg-color, var(--estftaa-primary));
  color:#fff;
  border:none;
}

/* 2. Outline */
.estftaa-btn--preset-outline{
  background:transparent;
  color:var(--estftaa-btn-bg-color, var(--estftaa-primary));
  border:2px solid currentColor;
}
.estftaa-btn--preset-outline:hover{
  background:var(--estftaa-btn-bg-color, var(--estftaa-primary));
  color:#fff;
}

/* 3. Soft */
.estftaa-btn--preset-soft{
  background:color-mix(in srgb, var(--estftaa-btn-bg-color, var(--estftaa-primary)) 15%, transparent);
  color:var(--estftaa-btn-bg-color, var(--estftaa-primary));
  border:none;
}
.estftaa-btn--preset-soft:hover{
  background:color-mix(in srgb, var(--estftaa-btn-bg-color, var(--estftaa-primary)) 25%, transparent);
}

/* 4. Glass */
.estftaa-btn--preset-glass{
  background:rgba(255,255,255,.15);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  color:var(--estftaa-btn-bg-color, var(--estftaa-primary));
  border:1px solid rgba(255,255,255,.3);
  box-shadow:0 4px 16px rgba(0,0,0,.1);
}
.estftaa-btn--preset-glass:hover{
  background:rgba(255,255,255,.25);
  box-shadow:0 6px 20px rgba(0,0,0,.15);
}

/* 5. Gradient */
.estftaa-btn--preset-gradient{
  background:linear-gradient(135deg, var(--estftaa-btn-bg-color, var(--estftaa-primary)), color-mix(in srgb, var(--estftaa-btn-bg-color, var(--estftaa-primary)) 70%, #000));
  color:#fff;
  border:none;
}
.estftaa-btn--preset-gradient:hover{
  background:linear-gradient(135deg, color-mix(in srgb, var(--estftaa-btn-bg-color, var(--estftaa-primary)) 90%, #fff), var(--estftaa-btn-bg-color, var(--estftaa-primary)));
}

/* 6. Neon */
.estftaa-btn--preset-neon{
  background:transparent;
  color:var(--estftaa-btn-bg-color, var(--estftaa-primary));
  border:2px solid var(--estftaa-btn-bg-color, var(--estftaa-primary));
  box-shadow:0 0 10px var(--estftaa-btn-bg-color, var(--estftaa-primary)), inset 0 0 10px rgba(255,255,255,.1);
}
.estftaa-btn--preset-neon:hover{
  background:var(--estftaa-btn-bg-color, var(--estftaa-primary));
  color:#fff;
  box-shadow:0 0 20px var(--estftaa-btn-bg-color, var(--estftaa-primary)), 0 0 40px var(--estftaa-btn-bg-color, var(--estftaa-primary));
}

/* 7. News Modern */
.estftaa-btn--preset-news{
  background:#dc2626;
  color:#fff;
  border:none;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:0.5px;
  border-radius:4px;
}
.estftaa-btn--preset-news:hover{
  background:#b91c1c;
}

/* 8. Minimal */
.estftaa-btn--preset-minimal{
  background:transparent;
  color:var(--estftaa-text, #1a1a1a);
  border:none;
  padding:8px 16px;
  min-height:36px;
}
.estftaa-btn--preset-minimal:hover{
  background:rgba(0,0,0,.05);
}

/* 9. Pill */
.estftaa-btn--preset-pill{
  border-radius:999px;
  padding:12px 28px;
}

/* 10. Shadow Lift */
.estftaa-btn--preset-shadow{
  background:var(--estftaa-btn-bg-color, var(--estftaa-primary));
  color:#fff;
  border:none;
  box-shadow:0 4px 14px rgba(0,0,0,.2);
}
.estftaa-btn--preset-shadow:hover{
  box-shadow:0 8px 25px rgba(0,0,0,.3);
  transform:translateY(-4px);
}

/* ---------- Display style variants ---------- */
/* Default (standard): card with padding and borders */
.estftaa-style-default{
  background:var(--estftaa-bg);
  padding:calc(var(--estftaa-gap) * 1.2);
  border-radius:var(--estftaa-radius);
}
.estftaa-style-default .estftaa-poll__head{margin-bottom:calc(var(--estftaa-gap) * .9)}

/* Modern: clean with subtle shadows and rounded corners */
.estftaa-style-modern{
  background:var(--estftaa-bg);
  padding:calc(var(--estftaa-gap) * 1.5);
  border-radius:calc(var(--estftaa-radius) * 1.2);
  box-shadow:0 4px 12px rgba(0,0,0,.08);
}
.estftaa-style-modern .estftaa-poll__head{
  background:linear-gradient(135deg,var(--estftaa-head-bg),color-mix(in srgb,var(--estftaa-head-bg) 80%,#fff));
  margin-bottom:calc(var(--estftaa-gap) * 1.2);
  padding:calc(var(--estftaa-head-pad) * 1.2) calc(var(--estftaa-head-pad) * 1.6);
}
.estftaa-style-modern .estftaa-option{
  border-radius:calc(var(--estftaa-radius) * .9);
  padding:calc(var(--estftaa-opt-pad-top) * 1.2) calc(var(--estftaa-opt-pad-inline) * 1.2) calc(var(--estftaa-opt-pad-btm) * 1.2);
  transition:transform .2s ease, box-shadow .2s ease;
}
.estftaa-style-modern .estftaa-option:hover{
  transform:translateY(-2px);
  box-shadow:0 4px 12px rgba(0,0,0,.06);
}

/* Compact: tight spacing for small spaces */
.estftaa-style-compact{
  background:var(--estftaa-bg);
  padding:calc(var(--estftaa-gap) * .8);
  border-radius:var(--estftaa-radius);
}
.estftaa-style-compact .estftaa-poll__head{
  margin-bottom:calc(var(--estftaa-gap) * .6);
  padding:calc(var(--estftaa-head-pad) * .8) calc(var(--estftaa-head-pad) * 1.2);
}
.estftaa-style-compact .estftaa-poll__question{
  font-size:calc(var(--estftaa-q-size) - 2px);
  margin:calc(var(--estftaa-q-margin-top) * .8) 0 calc(var(--estftaa-q-margin-btm) * .8);
}
.estftaa-style-compact .estftaa-option{
  padding:calc(var(--estftaa-opt-pad-top) * .8) calc(var(--estftaa-opt-pad-inline) * .8) calc(var(--estftaa-opt-pad-btm) * .8);
  gap:calc(var(--estftaa-opt-label-gap) * .8);
}
.estftaa-style-compact .estftaa-option__label{
  gap:8px;
}
.estftaa-style-compact .estftaa-btn{
  padding:calc(var(--estftaa-btn-pad-top) * .8) calc(var(--estftaa-btn-pad-inline) * .8) calc(var(--estftaa-btn-pad-btm) * .8);
  font-size:13px;
}
.estftaa-style-compact .estftaa-poll__footer{
  gap:calc(var(--estftaa-gap) * .8);
  margin-top:calc(var(--estftaa-gap) * .8);
}

/* Simple (default): transparent background, no outer card feel */
.estftaa-style-simple{background:transparent;padding:0}
.estftaa-style-simple .estftaa-poll__head{margin-bottom:calc(var(--estftaa-gap) * .9)}

/* Classic: with subtle padding */
.estftaa-style-classic{padding:calc(var(--estftaa-gap) * 1.2)}

/* Minimal: no header bg, dividers between options */
.estftaa-style-minimal{background:transparent;padding:0}
.estftaa-style-minimal .estftaa-poll__head{background:transparent;padding:0;margin-bottom:6px}
.estftaa-style-minimal .estftaa-option{
  background:transparent;border:0;border-bottom:1px solid rgba(0,0,0,.08);
  border-radius:0;padding:12px 0;
}
.estftaa-style-minimal .estftaa-option:last-child{border-bottom:0}

/* ---------- Widget helpers ---------- */
.estftaa-widget-wrap{display:block}
.estftaa-widget-wrap .estftaa-poll{margin:0}

/* ---------- Controls Placeholder (Instant Verification) ---------- */
.estftaa-poll__controls-placeholder{
  transition:opacity 0.15s ease-out;
}

/* ---------- Responsive ---------- */
@media (max-width:480px){
  .estftaa-poll__question{font-size:calc(var(--estftaa-q-size) - 1px)}
  .estftaa-poll__footer{gap:10px}
  .estftaa-poll__footer .estftaa-poll__total{order:2}
}
