/* CIP Fireside Voting v1.1.1 - compact and theme-resistant */
.cip-vote, .cip-vote * { box-sizing: border-box !important; }
.entry-content .cip-vote, .cip-vote {
  position:relative; isolation:isolate; width:100%; max-width:1200px;
  margin:12px auto 8px !important; padding:18px 20px 14px !important;
  border:1px solid rgba(255,255,255,.17); border-radius:12px;
  background:#00205b; color:#fff !important; text-align:center;
  box-shadow:none; overflow:visible;
}
.cip-vote.cip-vote--attention { outline:3px solid #7cc7ff; outline-offset:2px; }
.entry-content .cip-vote p, .entry-content .cip-vote h2,
.cip-vote p, .cip-vote h2 { padding:0 !important; text-align:center !important; }
.entry-content .cip-vote h2.cip-vote__heading, .cip-vote h2.cip-vote__heading {
  margin:0 0 14px !important; padding:0 !important; border:0 !important;
  font-size:clamp(17px,2.2vw,24px) !important; line-height:1.3 !important;
  font-weight:700 !important; color:#fff !important; letter-spacing:normal !important;
}
.cip-vote .cip-vote__buttons {
  display:flex !important; justify-content:center !important; align-items:stretch !important;
  flex-direction:row !important; flex-wrap:wrap !important; gap:10px !important;
  margin:0 auto !important; padding:0 !important; line-height:normal !important;
}
.cip-vote .cip-vote__button, .entry-content .cip-vote button.cip-vote__button {
  appearance:none !important; display:inline-flex !important; vertical-align:middle !important;
  position:relative !important; align-items:center !important; justify-content:center !important;
  min-width:150px !important; min-height:40px !important; width:auto !important;
  margin:0 !important; padding:9px 20px !important; border-radius:7px !important;
  border:1px solid #fff !important; background:#fff !important; color:#00205b !important;
  font-family:inherit !important; font-size:14px !important;
  line-height:20px !important; font-weight:700 !important; text-transform:none !important;
  letter-spacing:0 !important; text-decoration:none !important; cursor:pointer !important;
  box-shadow:none !important; opacity:1 !important;
}
.cip-vote .cip-vote__button--no, .entry-content .cip-vote button.cip-vote__button--no {
  background:transparent !important; color:#fff !important; border-color:rgba(255,255,255,.8) !important;
}
.cip-vote .cip-vote__button:hover { filter:brightness(.94); }
.cip-vote .cip-vote__button:focus-visible { outline:3px solid #8fd5ff !important; outline-offset:2px; }
.cip-vote .cip-vote__button[aria-pressed="true"] { outline:2px solid #8fd5ff !important; outline-offset:2px; }
.cip-vote .cip-vote__button:disabled { opacity:.6 !important; cursor:wait !important; }
.cip-vote .cip-vote__message[hidden] { display:none !important; }
.entry-content .cip-vote p.cip-vote__message, .cip-vote p.cip-vote__message {
  min-height:0 !important; margin:9px 0 0 !important; font-size:13px !important;
  line-height:1.35 !important; color:#a9f3c7 !important; font-weight:600 !important;
}
.cip-vote .cip-vote__message.is-error { color:#ffd1c9 !important; }
.entry-content .cip-vote p.cip-vote__fineprint, .cip-vote p.cip-vote__fineprint {
  margin:10px 0 0 !important; font-size:11px !important; font-weight:400 !important;
  line-height:1.4 !important; color:#c0d4e8 !important;
}
@media(max-width:460px) {
  .entry-content .cip-vote, .cip-vote { padding:16px 12px 12px !important; }
  .cip-vote .cip-vote__buttons { flex-wrap:nowrap !important; gap:8px !important; }
  .cip-vote .cip-vote__button, .entry-content .cip-vote button.cip-vote__button {
    min-width:0 !important; width:50% !important; padding:9px 8px !important;
  }
}

/* v1.2.0: voting overlay over the video, never below the fold */
.cip-video-vote { position:relative; width:100%; max-width:1200px; margin:0 auto; isolation:isolate; }
.cip-video-vote .video-platform { margin:0 auto !important; }
.cip-video-vote__launcher {
  position:absolute !important; z-index:20 !important; top:14px !important; right:14px !important;
  margin:0 !important; padding:8px 18px !important; min-height:38px !important;
  background:#fff !important; color:#00205b !important; border:1px solid #fff !important;
  border-radius:999px !important; font-family:inherit !important; font-size:14px !important;
  font-weight:700 !important; line-height:20px !important; letter-spacing:0 !important;
  text-transform:none !important; cursor:pointer !important; box-shadow:0 2px 12px #0007 !important;
}
.cip-video-vote__launcher:focus-visible, .cip-video-vote__close:focus-visible { outline:3px solid #9ad8ff !important; outline-offset:2px !important; }
.cip-video-vote__overlay[hidden] { display:none !important; }
.cip-video-vote__overlay {
  position:absolute !important; z-index:30 !important; inset:0 !important;
  display:flex !important; align-items:center !important; justify-content:center !important;
  padding:50px 14px 16px !important; background:rgba(0,19,50,.87) !important;
  border-radius:14px !important; box-sizing:border-box !important; overflow:auto !important;
}
.cip-video-vote__overlay .cip-vote, .entry-content .cip-video-vote__overlay .cip-vote {
  width:100% !important; max-width:700px !important; margin:0 auto !important;
  padding:20px 18px !important; border:0 !important; background:transparent !important;
  box-shadow:none !important; color:#fff !important;
}
.cip-video-vote__close {
  position:absolute !important; z-index:32 !important; right:14px !important; top:12px !important;
  margin:0 !important; padding:6px 14px !important; min-height:36px !important;
  background:transparent !important; color:white !important; border:1px solid #ffffff88 !important;
  border-radius:50px !important; font-family:inherit !important; font-size:13px !important;
  line-height:20px !important; font-weight:600 !important; text-transform:none !important;
  cursor:pointer !important;
}
@media(max-width:600px){
  .cip-video-vote__launcher { top:8px !important;right:8px !important; padding:5px 12px !important; min-height:30px !important; font-size:12px !important; }
  .cip-video-vote__overlay { padding:34px 7px 8px !important; }
  .cip-video-vote__overlay .cip-vote, .entry-content .cip-video-vote__overlay .cip-vote { padding:8px 6px !important; }
  .cip-video-vote__overlay .cip-vote h2.cip-vote__heading { font-size:clamp(14px,3.6vw,19px) !important; margin-bottom:9px !important; }
  .cip-video-vote__overlay .cip-vote p.cip-vote__fineprint { margin-top:6px !important; font-size:10px !important; }
  .cip-video-vote__close { top:4px !important; right:7px !important; min-height:27px !important; padding:3px 10px !important; font-size:11px !important; }
  .cip-video-vote__overlay .cip-vote .cip-vote__button { min-height:32px !important; padding:5px 6px !important; }
}

/* v1.3.0 - On iPhone and other narrow screens, show votes BELOW player. */
.cip-video-vote__mobile-panel { display:none !important; }
.cip-video-vote__mobile-panel[hidden] { display:none !important; }
@media (max-width:767px) {
  .cip-video-vote__overlay { display:none !important; }
  .cip-video-vote__mobile-panel:not([hidden]) {
    display:block !important; position:relative !important;
    box-sizing:border-box !important; margin:10px auto 0 !important;
    padding:18px 10px 10px !important; background:#00205b !important;
    border:1px solid rgba(255,255,255,.18) !important;
    border-radius:12px !important; width:100% !important; color:white !important;
  }
  .cip-video-vote__mobile-panel .cip-vote,
  .entry-content .cip-video-vote__mobile-panel .cip-vote {
    margin:0 auto !important; padding:10px 4px 6px !important;
    background:transparent !important; border:0 !important; box-shadow:none !important;
  }
  .cip-video-vote__mobile-panel .cip-vote h2.cip-vote__heading {
    font-size:17px !important; line-height:1.3 !important;
    margin:0 0 12px !important; padding:0 25px !important;
  }
  .cip-video-vote__mobile-panel .cip-vote p.cip-vote__fineprint {
    font-size:10px !important; margin-top:10px !important;
  }
  .cip-video-vote__mobile-close {
    display:block !important; position:absolute !important; top:8px !important;
    right:8px !important; z-index:4 !important; margin:0 !important;
    background:transparent !important; color:#fff !important;
    border:1px solid #ffffff80 !important; border-radius:20px !important;
    font-size:11px !important; line-height:18px !important;
    padding:3px 9px !important; min-height:26px !important;
    font-weight:500 !important; text-transform:none !important;
  }
  .cip-video-vote__launcher { z-index:22 !important; }
}


/* v1.4.0 - soft mid-video invitation vs strong end screen */
.cip-video-vote__overlay.cip-video-vote__overlay--mid {
  background:rgba(0,19,50,.24) !important;
  /* Pass clicks through the overlay to Vimeo controls. */
  pointer-events:none !important;
  padding:14px 14px 48px !important;
  backdrop-filter:none !important;
}
.cip-video-vote__overlay--mid .cip-vote,
.entry-content .cip-video-vote__overlay--mid .cip-vote {
  max-width:520px !important; padding:16px 18px !important;
  background:rgba(0,22,58,.78) !important;
  border:1px solid rgba(255,255,255,.3) !important;
  border-radius:12px !important;
  box-shadow:0 8px 28px rgba(0,0,0,.18) !important;
  pointer-events:auto !important;
}
.cip-video-vote__overlay--mid .cip-vote h2.cip-vote__heading {
  font-size:clamp(16px,1.6vw,20px) !important; margin:0 0 11px !important;
}
.cip-video-vote__overlay--mid .cip-vote p.cip-vote__fineprint { display:none !important; }
.cip-video-vote__overlay--mid .cip-vote__button { min-height:36px !important; }
.cip-video-vote__overlay--mid .cip-video-vote__close { pointer-events:auto !important; }
.cip-video-vote__overlay--end { background:rgba(0,19,50,.87) !important; pointer-events:auto !important; }
.cip-video-vote__mid-mobile { display:none !important; }
.cip-video-vote__mid-mobile[hidden] { display:none !important; }
@media (max-width:767px) {
  .cip-video-vote__mid-mobile:not([hidden]) {
    display:flex !important; align-items:center !important; justify-content:center !important;
    flex-wrap:wrap !important; gap:7px !important; position:absolute !important;
    z-index:26 !important; left:9px !important; right:9px !important; top:38px !important;
    padding:8px 9px !important; border-radius:9px !important;
    background:rgba(0,24,61,.82) !important; border:1px solid #ffffff80 !important;
    color:white !important; font-size:12px !important; line-height:1.25 !important;
    box-shadow:0 4px 16px #0005 !important;
  }
  .cip-video-vote__mid-mobile button {
    appearance:none !important; cursor:pointer !important; border-radius:7px !important;
    min-height:29px !important; margin:0 !important; padding:3px 10px !important;
    font-size:12px !important; line-height:18px !important; font-weight:700 !important;
    text-transform:none !important;
  }
  .cip-video-vote__mid-action { background:white !important; color:#00205b !important; border:1px solid white !important; }
  .cip-video-vote__mid-dismiss { background:transparent !important; color:white !important; border:1px solid #ffffff8a !important; }
}
@media (prefers-reduced-motion:reduce) { .cip-video-vote__mid-mobile { transition:none !important; } }


/* v1.5.0: persistent compact voting card at top right, including mobile. */
.cip-video-vote__compact[hidden], .cip-video-vote__launcher[hidden] { display:none !important; }
.cip-video-vote__compact {
  position:absolute !important; z-index:28 !important; top:14px !important; right:14px !important;
  width:min(360px, calc(100% - 28px)) !important;
  padding:0 !important; margin:0 !important; background:rgba(0,24,58,.72) !important;
  border:1px solid rgba(255,255,255,.34) !important; border-radius:12px !important;
  backdrop-filter:blur(7px); -webkit-backdrop-filter:blur(7px);
  box-shadow:0 3px 14px #0003 !important; overflow:hidden !important;
  color:#fff !important;
}
.cip-video-vote__compact .cip-vote, .entry-content .cip-video-vote__compact .cip-vote {
  padding:17px 13px 12px !important; margin:0 !important; border:0 !important;
  border-radius:0 !important; background:transparent !important; box-shadow:none !important;
}
.cip-video-vote__compact .cip-vote h2.cip-vote__heading, .entry-content .cip-video-vote__compact .cip-vote h2.cip-vote__heading {
  font-size:15px !important; line-height:1.25 !important; font-weight:650 !important;
  margin:0 13px 10px !important;
}
.cip-video-vote__compact .cip-vote__buttons { gap:8px !important; flex-wrap:nowrap !important; }
.cip-video-vote__compact .cip-vote .cip-vote__button, .entry-content .cip-video-vote__compact .cip-vote button.cip-vote__button {
  flex:1 !important; min-width:0 !important; min-height:34px !important; width:auto !important;
  padding:6px 6px !important; font-size:12px !important; line-height:18px !important;
}
.cip-video-vote__compact .cip-vote__fineprint { display:none !important; }
.cip-video-vote__compact .cip-vote__message { font-size:11px !important; margin-top:6px !important; }
.cip-video-vote__compact-close {
  position:absolute !important; z-index:4 !important; right:4px !important; top:3px !important;
  min-width:23px !important; width:23px !important; min-height:23px !important; height:23px !important;
  border:0 !important; padding:0 !important; border-radius:5px !important;
  color:#fff !important; background:transparent !important; cursor:pointer !important;
  font-size:21px !important; line-height:21px !important; font-weight:400 !important;
  text-transform:none !important;
}
.cip-video-vote__compact-close:hover { background:#ffffff22 !important; }
@media(max-width:767px) {
  .cip-video-vote__compact {
    top:7px !important; right:7px !important;
    width:min(226px, calc(100% - 14px)) !important; border-radius:8px !important;
    background:rgba(0,24,58,.78) !important;
  }
  .cip-video-vote__compact .cip-vote, .entry-content .cip-video-vote__compact .cip-vote {
    padding:12px 8px 8px !important;
  }
  .cip-video-vote__compact .cip-vote h2.cip-vote__heading, .entry-content .cip-video-vote__compact .cip-vote h2.cip-vote__heading {
    font-size:11px !important; line-height:1.22 !important; margin:0 12px 7px 0 !important;
  }
  .cip-video-vote__compact .cip-vote__buttons { gap:5px !important; }
  .cip-video-vote__compact .cip-vote .cip-vote__button, .entry-content .cip-video-vote__compact .cip-vote button.cip-vote__button {
    font-size:10px !important; line-height:16px !important; padding:4px 3px !important;
    min-height:28px !important;
  }
  .cip-video-vote__compact-close { right:2px !important;top:1px !important; }
}
@media (max-width:340px) {
  .cip-video-vote__compact { width:195px !important; }
  .cip-video-vote__compact .cip-vote h2.cip-vote__heading { font-size:10px !important; }
}


/* v1.5.1: persistent until voted or explicitly closed, flush top-right, ~8% smaller. */
.cip-video-vote__compact {
  top:0 !important; right:0 !important;
  width:min(330px, 100%) !important;
  border-top-right-radius:14px !important; border-bottom-right-radius:0 !important;
  border-top-left-radius:0 !important;
}
.cip-video-vote__compact .cip-vote, .entry-content .cip-video-vote__compact .cip-vote {
  padding:14px 12px 10px !important;
}
.cip-video-vote__compact .cip-vote h2.cip-vote__heading, .entry-content .cip-video-vote__compact .cip-vote h2.cip-vote__heading {
  font-size:14px !important; margin-bottom:8px !important;
}
.cip-video-vote__compact .cip-vote .cip-vote__button, .entry-content .cip-video-vote__compact .cip-vote button.cip-vote__button {
  min-height:32px !important; font-size:11px !important;
}
@media(max-width:767px) {
  .cip-video-vote__compact {
    top:0 !important; right:0 !important; width:min(208px, 100%) !important;
    border-top-right-radius:8px !important; border-top-left-radius:0 !important; border-bottom-right-radius:0 !important;
  }
  .cip-video-vote__compact .cip-vote, .entry-content .cip-video-vote__compact .cip-vote {
    padding:10px 7px 7px !important;
  }
  .cip-video-vote__compact .cip-vote h2.cip-vote__heading, .entry-content .cip-video-vote__compact .cip-vote h2.cip-vote__heading {
    font-size:10.5px !important; margin-bottom:6px !important;
  }
  .cip-video-vote__compact .cip-vote .cip-vote__button, .entry-content .cip-video-vote__compact .cip-vote button.cip-vote__button {
    min-height:27px !important; font-size:10px !important;
  }
}
@media(max-width:340px) { .cip-video-vote__compact { width:185px !important; } }

/* v1.6.1: emphasize only explicitly overridden content labels. */
.cip-vote .cip-vote__custom-content, .cip-video-vote__mid-mobile .cip-vote__custom-content { font-weight: 800 !important; }
