.labvotos-colinha{--lv-primary:#123b66;--lv-accent:#f4a900;--lv-ink:#17191d;--lv-muted:#6b6d73;--lv-line:#dfe4ea;--lv-navy:#111a25;--lv-blue:#315fdf;--lv-soft:#f7f8fa;position:relative;left:50%;transform:translateX(-50%);box-sizing:border-box;width:min(1120px,calc(100vw - 16px));max-width:none;margin:28px 0;padding:0;color:var(--lv-ink);font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;container-type:inline-size}.labvotos-colinha *{box-sizing:border-box}.labvotos-colinha [hidden]{display:none!important}.labvotos-plugin-host>.article-header{display:none}.labvotos-colinha button,.labvotos-colinha input,.labvotos-colinha select{font:inherit;letter-spacing:0}.labvotos-colinha>header{border:0;border-radius:7px;padding:32px 36px;background:var(--lv-navy);color:#fff}.labvotos-colinha>header>span,.labvotos-colinha-eyebrow,.labvotos-colinha-output>span{display:block;color:var(--lv-blue);font-size:10px;font-weight:800;letter-spacing:.13em}.labvotos-colinha>header>span{color:#aab6c5}.labvotos-colinha>header h1{margin:8px 0 10px;font-size:40px;line-height:1.05;letter-spacing:0;color:#fff}.labvotos-colinha>header p{max-width:680px;margin:0;color:#d2dae4;font-size:15px;line-height:1.55}.labvotos-colinha-state{padding:26px 0;border-bottom:1px solid var(--lv-line)}.labvotos-colinha.is-started .labvotos-colinha-state{display:none}.labvotos-colinha-state label,.labvotos-colinha-search>label{display:block;font-size:14px;font-weight:750}.labvotos-colinha-state p{margin:8px 0 0;color:var(--lv-muted);font-size:12px}.labvotos-colinha select,.labvotos-colinha input{display:block;width:100%;min-height:48px;margin-top:9px;border:1px solid #cfd1d6;border-radius:8px;padding:12px 14px;background:#fff;color:var(--lv-ink)}.labvotos-colinha select:focus,.labvotos-colinha input:focus{outline:3px solid color-mix(in srgb,var(--lv-blue) 16%,transparent);border-color:var(--lv-blue)}.labvotos-colinha-state select{max-width:440px}.labvotos-colinha-steps{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:24px 32px;align-items:start;padding-top:24px}.labvotos-colinha-steps>nav{grid-column:1/-1;border:1px solid var(--lv-line);border-radius:8px;padding:16px 18px;background:#fff}.labvotos-colinha-progress-meta{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:14px;color:var(--lv-muted);font-size:12px}.labvotos-colinha-progress-meta b{color:var(--lv-ink)}.labvotos-colinha-progress-meta button{border:0;background:transparent;padding:0;color:#505158;text-decoration:underline;cursor:pointer;font-size:12px}.labvotos-colinha-progress{display:grid;grid-template-columns:repeat(6,1fr);gap:5px}.labvotos-colinha-progress button{height:7px;min-width:0;border:0;border-radius:5px;padding:0;background:#ececee;cursor:pointer}.labvotos-colinha-progress button span{display:block;width:100%;height:100%;border-radius:inherit;background:transparent}.labvotos-colinha-progress button.is-done span{background:var(--lv-blue)}.labvotos-colinha-progress button.is-active{background:color-mix(in srgb,var(--lv-blue) 22%,#ececee)}.labvotos-colinha-progress button.is-active span{background:var(--lv-blue)}.labvotos-colinha-search{min-width:0;padding:10px 0 0;background:#fff}.labvotos-colinha-stage{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:22px}.labvotos-colinha-stage>div>span{display:block;color:var(--lv-muted);font-size:10px;font-weight:800;letter-spacing:.13em}.labvotos-colinha-stage strong{display:block;margin-top:6px;font-size:28px;line-height:1.08;text-transform:uppercase}.labvotos-colinha-stage>button{flex:0 0 auto;border:0;background:transparent;padding:3px 0;color:#606168;font-size:13px;font-weight:700;cursor:pointer}.labvotos-colinha-stage>button:hover{text-decoration:underline}.labvotos-colinha-hint{margin:10px 0 16px;color:var(--lv-muted);font-size:12px;line-height:1.45}.labvotos-colinha-results{max-height:570px;overflow:auto;border:1px solid var(--lv-line);border-radius:8px;background:#fff}.labvotos-colinha-count{padding:10px 12px;border-bottom:1px solid #ededee;color:var(--lv-muted);font-size:10px;font-weight:750;text-transform:uppercase;letter-spacing:.08em}.labvotos-colinha-candidate{display:grid;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:12px;width:100%;min-height:66px;border:0;border-bottom:1px solid #e8e8ea;border-radius:0;padding:7px 14px 7px 11px;background:#fff;color:var(--lv-ink);text-align:left;cursor:pointer;transition:background-color .15s}.labvotos-colinha-candidate:last-child{border-bottom:0}.labvotos-colinha-candidate:hover,.labvotos-colinha-candidate:focus-visible{background:#f6f7f8;outline:none}.labvotos-colinha-candidate:disabled{opacity:.45;cursor:not-allowed}.labvotos-colinha-photo{position:relative;display:grid;place-items:center;flex:0 0 auto;width:var(--photo-size);height:calc(var(--photo-size)*1.05);overflow:hidden;border-radius:5px;background:#e8eaed;color:var(--lv-blue);font-size:12px;font-weight:800}.labvotos-colinha-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center top}.labvotos-colinha-photo.is-empty{border:1px dashed #c8cbd0;background:#f7f7f8;color:#8b8e94}.labvotos-colinha-candidate-copy{min-width:0}.labvotos-colinha-candidate-copy>*{display:block}.labvotos-colinha-candidate-copy small{color:var(--lv-muted);font-size:10px;font-weight:650;text-transform:uppercase}.labvotos-colinha-candidate-copy strong{margin-top:2px;overflow:hidden;color:var(--lv-ink);font-size:15px;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.labvotos-colinha-candidate-copy em{margin-top:3px;overflow:hidden;color:var(--lv-muted);font-size:10px;font-style:normal;text-overflow:ellipsis;white-space:nowrap}.labvotos-colinha-candidate-number{padding-left:12px;text-align:right}.labvotos-colinha-candidate-number small{display:none}.labvotos-colinha-candidate-number b{display:block;color:var(--lv-ink);font-size:22px;line-height:1;font-variant-numeric:tabular-nums}.labvotos-colinha-summary{position:sticky;top:20px;border:1px solid var(--lv-line);border-radius:8px;padding:22px 20px;background:#fff}.labvotos-colinha-summary h2{margin:5px 0 14px;font-size:25px;line-height:1.05;text-transform:uppercase}.labvotos-colinha-choice{position:relative;border-top:1px solid #ededee}.labvotos-colinha-choice:first-child{border-top:0}.labvotos-colinha-choice.is-current{margin:0 -8px;border-radius:7px;background:#f5f5f6;padding:0 8px}.labvotos-colinha-choice>button:first-child{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;width:100%;min-height:43px;border:0;background:transparent;padding:8px 6px;color:var(--lv-ink);text-align:left;cursor:pointer}.labvotos-colinha-choice small,.labvotos-colinha-choice strong,.labvotos-colinha-choice em{display:block}.labvotos-colinha-choice small{overflow:hidden;color:#62646a;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.labvotos-colinha-choice strong{margin-top:2px;overflow:hidden;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.labvotos-colinha-choice em{margin-top:1px;overflow:hidden;color:var(--lv-muted);font-size:9px;font-style:normal;text-overflow:ellipsis;white-space:nowrap}.labvotos-colinha-choice strong.is-empty,.labvotos-colinha-choice b.is-empty{color:#888b91;font-weight:500}.labvotos-colinha-choice b{padding-right:8px;color:var(--lv-blue);font-size:16px;font-variant-numeric:tabular-nums}.labvotos-colinha-remove{position:absolute;right:-8px;top:8px;width:22px;height:22px;border:0;border-radius:50%;padding:0;background:#fff;color:#74777d;box-shadow:0 1px 7px rgba(0,0,0,.14);font-size:16px;line-height:1;cursor:pointer}.labvotos-colinha-generate,.labvotos-colinha-output button{width:100%;margin-top:18px;border:0;border-radius:8px;padding:14px 16px;background:var(--lv-blue);color:#fff;font-weight:800;cursor:pointer}.labvotos-colinha-generate{display:flex;justify-content:center;gap:9px}.labvotos-colinha-generate:disabled{opacity:.38;cursor:not-allowed}.labvotos-colinha-summary>p{margin:14px 0 0;color:var(--lv-muted);font-size:10px;line-height:1.45}.labvotos-colinha-loading,.labvotos-colinha-error{margin:0;padding:32px 12px;color:var(--lv-muted);font-size:12px;text-align:center}.labvotos-colinha-error{color:#9d3333}.labvotos-colinha-skeleton{display:grid}.labvotos-colinha-skeleton i{display:block;height:66px;border-bottom:1px solid #e8e8ea;background:linear-gradient(90deg,#f1f2f3,#fafafa,#f1f2f3);background-size:200% 100%;animation:labvotos-colinha-pulse 1.2s infinite}.labvotos-colinha-output{max-width:580px;margin:42px auto;text-align:center}.labvotos-colinha-output h2{margin:6px 0 18px;font-size:30px}.labvotos-colinha-output img{display:block;width:100%;height:auto;border:1px solid var(--lv-line);box-shadow:0 12px 34px rgba(20,35,61,.13)}.labvotos-colinha-output>div{display:grid;grid-template-columns:1fr 1fr;gap:10px}.labvotos-colinha-output button:last-child{border:1px solid var(--lv-blue);background:#fff;color:var(--lv-blue)}.labvotos-service-source{margin:34px 0;color:var(--lv-muted);font-size:10px;text-align:center}.labvotos-color-row{display:flex;gap:28px;margin:20px 0}.labvotos-color-row label{display:grid;gap:8px}.labvotos-color-row input{width:86px;height:45px}.labvotos-logo-picker{display:flex;align-items:center;gap:12px;margin:18px 0}.labvotos-logo-picker>div{display:grid;place-items:center;width:160px;height:90px;border:1px dashed #cfd9e7;background:#f7f9fc}.labvotos-logo-picker img{max-width:140px;max-height:70px}.labvotos-admin-toggle{display:flex;align-items:center;gap:8px;font-weight:700}@keyframes labvotos-colinha-pulse{to{background-position:-200% 0}}@container (max-width:760px){.labvotos-colinha-steps{grid-template-columns:1fr;gap:20px}.labvotos-colinha-steps>nav{grid-column:auto}.labvotos-colinha-summary{position:static}.labvotos-colinha-results{max-height:520px}}@container (max-width:520px){.labvotos-colinha{padding:0 12px}.labvotos-colinha>header{padding:24px 20px}.labvotos-colinha>header h1{font-size:32px}.labvotos-colinha-steps>nav{padding:14px}.labvotos-colinha-progress-meta{align-items:flex-start}.labvotos-colinha-stage strong{font-size:24px}.labvotos-colinha-stage>button{font-size:11px}.labvotos-colinha-candidate{grid-template-columns:44px minmax(0,1fr) auto;padding-right:10px}.labvotos-colinha-candidate .labvotos-colinha-photo{--photo-size:44px!important}.labvotos-colinha-candidate-copy strong{font-size:14px}.labvotos-colinha-candidate-number{padding-left:6px}.labvotos-colinha-candidate-number b{font-size:19px}.labvotos-colinha-output>div{grid-template-columns:1fr}}

/* Responsive alignment with the client theme container. */
@media (max-width: 760px) {
  .labvotos-colinha { width: calc(100vw - 16px); margin: 18px 0; }
  .labvotos-colinha > header { padding: 24px 20px; }
  .labvotos-colinha-state { padding: 20px 0; }
  .labvotos-colinha-steps { padding-top: 18px; }
  .labvotos-colinha-steps > nav { padding: 13px; }
  .labvotos-colinha-summary { padding: 18px 16px; }
}
@media (max-width: 520px) {
  .labvotos-colinha { width: calc(100vw - 12px); margin: 12px 0; }
  .labvotos-colinha > header h1 { font-size: clamp(27px, 8vw, 32px); }
  .labvotos-colinha > header p { font-size: 14px; }
  .labvotos-colinha-state select { max-width: none; }
  .labvotos-colinha-progress-meta { gap: 8px; }
  .labvotos-colinha-progress-meta button { white-space: nowrap; }
  .labvotos-colinha-stage { gap: 10px; }
  .labvotos-colinha-stage strong { font-size: 21px; }
  .labvotos-colinha-stage > button { max-width: 105px; text-align: right; }
  .labvotos-colinha-candidate { gap: 9px; padding-left: 8px; padding-right: 8px; }
  .labvotos-colinha-candidate-copy strong { white-space: normal; }
  .labvotos-colinha-candidate-number b { font-size: 18px; }
  .labvotos-colinha-output { margin: 28px auto; }
  .labvotos-colinha-output h2 { font-size: 25px; }
}

/* Keep the module inside the WordPress content column at every viewport. */
.labvotos-colinha {
  left: auto;
  right: auto;
  transform: none;
  width: min(1120px, 100%);
  max-width: 1120px;
  margin: 28px auto;
  padding-left: 16px;
  padding-right: 16px;
}

@media (max-width: 760px) {
  .labvotos-colinha {
    width: 100%;
    margin: 18px auto;
    padding-left: 12px;
    padding-right: 12px;
  }
  .labvotos-colinha > header { padding: 24px 20px; }
  .labvotos-colinha-state { padding: 20px 0; }
}

@media (max-width: 520px) {
  .labvotos-colinha {
    width: 100%;
    margin: 12px auto;
    padding-left: 8px;
    padding-right: 8px;
  }
  .labvotos-colinha > header { border-radius: 6px; padding: 22px 16px; }
  .labvotos-colinha > header h1 { font-size: clamp(27px, 8vw, 32px); }
  .labvotos-colinha > header p { font-size: 14px; }
}

/* Final container sizing wins over the legacy full-bleed rule above. */
@media (min-width: 761px) {
  .labvotos-colinha {
    width: min(1180px, calc(100vw - 48px));
    max-width: 1180px;
    margin-left: auto;
    margin-right: auto;
    padding-left: 0;
    padding-right: 0;
  }
}

/* Compact desktop flow: keep the picker and the generated list in the first viewport. */
@media (min-width: 761px) {
  .labvotos-colinha {
    width: min(1180px, calc(100vw - 48px));
    max-width: 1180px;
    margin-top: 24px;
    margin-bottom: 24px;
    padding-left: 0;
    padding-right: 0;
  }

  .labvotos-colinha > header {
    padding: 30px 36px;
  }

  .labvotos-colinha > header h1 {
    font-size: clamp(38px, 3.8vw, 48px);
  }

  .labvotos-colinha-state {
    display: grid;
    grid-template-columns: minmax(320px, 460px) minmax(0, 1fr);
    align-items: end;
    gap: 24px;
    padding: 20px 0;
  }

  .labvotos-colinha-state p {
    margin: 0 0 13px;
  }

  .labvotos-colinha-steps {
    grid-template-columns: minmax(0, 1fr) 350px;
    gap: 18px 24px;
    padding-top: 18px;
  }

  .labvotos-colinha-steps > nav {
    padding: 13px 16px;
  }

  .labvotos-colinha-search {
    padding-top: 2px;
  }

  .labvotos-colinha-stage {
    margin-bottom: 16px;
  }

  .labvotos-colinha-stage strong {
    font-size: 30px;
  }

  .labvotos-colinha-hint {
    margin: 8px 0 12px;
  }

  .labvotos-colinha-results {
    max-height: min(58vh, 570px);
  }

  .labvotos-colinha-summary {
    top: 16px;
    padding: 20px 18px;
  }

  .labvotos-colinha-summary h2 {
    margin-bottom: 10px;
  }

  .labvotos-colinha-choice > button:first-child {
    min-height: 39px;
    padding-top: 6px;
    padding-bottom: 6px;
  }

  .labvotos-colinha-generate {
    margin-top: 14px;
  }
}

@media (max-width: 760px) {
  .labvotos-colinha-state {
    padding-top: 18px;
    padding-bottom: 18px;
  }

  .labvotos-colinha-results {
    max-height: 430px;
  }

  .labvotos-colinha-summary {
    position: sticky;
    bottom: 10px;
    z-index: 3;
    box-shadow: 0 8px 24px rgba(20, 35, 61, .12);
  }

  .labvotos-colinha-summary [data-colinha-summary] {
    max-height: 235px;
    overflow-y: auto;
  }
}

/* Keep the colinha aligned exactly like the portal and results modules. */
@media (min-width: 761px) {
  .labvotos-colinha {
    position: relative;
    left: 50%;
    right: auto;
    transform: translateX(-50%);
    width: min(1180px, calc(100vw - 32px));
    max-width: none;
    margin: 28px 0;
    padding: 0;
  }
}
