/* Full-bleed overlay mobile-first */
.vmcv2-wrap{
  min-height:90vh;
  display:flex; align-items:stretch; justify-content:center;
  padding:24px;
  background:linear-gradient(180deg,#f05050 0%,#ea5b8b 40%,#b06df2 100%);
  font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
}
.vmcv2-fullbleed{
  position:fixed; inset:0; z-index:999999;
  height:100dvh;
  padding: max(16px, env(safe-area-inset-top)) max(12px, env(safe-area-inset-right)) max(16px, env(safe-area-inset-bottom)) max(12px, env(safe-area-inset-left));
}
@supports (height: 100svh) {
  .vmcv2-fullbleed{ height:100svh; }
}
body.vmcv2-lock{ overflow:hidden; }

/* Vertical center & bigger typography */
.vmcv2-card{
  max-width:1100px; width:100%; color:#000; margin:auto; padding:0 6px;
  display:flex; flex-direction:column; justify-content:center; align-items:center;
  gap: clamp(8px, 2.2vh, 18px);
  text-align:center;
}
.vmcv2-crest{ height: clamp(56px, 10vh, 80px); margin:0 auto 6px auto; display:block }
.vmcv2-h1{ font-size:clamp(26px, 7vw, 52px); font-weight:800; line-height:1.15; margin:6px 0 }
.vmcv2-h2{ font-size:clamp(22px, 6vw, 42px); font-weight:800; line-height:1.2; margin:6px 0 }
.vmcv2-text{ font-size:clamp(16px, 4.8vw, 24px); opacity:.95 }

/* Buttons */
.vmcv2-btn{
  background:#ffd400; border:0; border-radius:14px;
  padding: clamp(12px, 2.6vh, 18px) clamp(20px, 6vw, 28px);
  font-weight:800; margin: 6px auto; cursor:pointer; font-size: clamp(16px, 4.8vw, 24px);
}
.vmcv2-row{ display:flex; gap:12px; justify-content:center; flex-wrap:wrap }
.vmcv2-small-btn{
  background:#ffd400; border-radius:12px; padding:10px 16px; display:inline-block; font-weight:700;
  font-size: clamp(14px, 4vw, 20px);
}
@media (max-width:560px){ .vmcv2-btn{ width:92%; } .vmcv2-small-btn{ width:46%; text-align:center } }

/* Code boxes */
.vmcv2-codeboxes{ display:flex; gap:10px; justify-content:center; margin:10px 0 }
.vmcv2-codeboxes input{
  width: clamp(44px, 16vw, 64px);
  height: clamp(50px, 16vw, 70px);
  text-align:center; border:1px solid #ddd; border-radius:10px;
  font-size: clamp(22px, 6vw, 28px);
  -webkit-appearance:none; appearance:none;
}

/* Candidate list */
.vmcv2-list{ max-width:880px; margin:0 auto; text-align:left }
.vmcv2-item{ border:2px solid transparent; border-radius:16px; padding:16px 18px; background:rgba(255,255,255,.35); margin:12px 0; cursor:pointer; min-height:56px; font-size:clamp(16px,4.8vw,22px) }
.vmcv2-item.selected{ border-color:#111; background:rgba(255,255,255,.7) }

/* Errors & tally */
.vmcv2-error{ color:#5a0000; margin-top:8px; font-weight:700; font-size:clamp(14px, 3.8vw, 18px) }
.vmcv2-tally{ max-width:900px; margin:8px auto 4px auto; background:rgba(255,255,255,.35); border-radius:12px; padding:10px 12px; text-align:left }
.vmcv2-tally-row{ display:flex; justify-content:space-between; padding:8px 4px }
.vmcv2-tally-name,.vmcv2-tally-num{ font-weight:800; font-size:clamp(14px, 4.4vw, 20px) }


/* v6.1+v6.2 cumulative: full-screen mobile + centered card + larger heading */
html, body { height: 100%; }
.vmcv2-wrap{ min-height:100dvh; width:100vw; display:flex; align-items:center; justify-content:center; }
.vmcv2-card{ margin:0 auto; max-width: 560px; width: min(100%,560px); }
.vmcv2-h1{ text-align:center; font-size: clamp(28px, 4.2vw, 44px); line-height:1.12; }
@media (max-width:560px){
  .vmcv2-card{ max-width:460px; }
  .vmcv2-h1{ font-size: clamp(26px, 8vw, 34px); }
  .vmcv2-text{ font-size: clamp(14px,4.4vw,18px); text-align:center; }
  .vmcv2-btn{ font-size: clamp(15px,4.4vw,18px); padding:12px 16px; }
  .vmcv2-small-btn{ font-size: clamp(13px,3.8vw,16px); padding:10px 14px; }
  .vmcv2-row{ justify-content:center; }
}

/* Respect WP admin bar in fullbleed */
body.admin-bar .vmcv2-fullbleed{ top:32px; height: calc(100dvh - 32px); }
@media (max-width:782px){
  body.admin-bar .vmcv2-fullbleed{ top:46px; height: calc(100dvh - 46px); }
}

/* v6.3: micro left nudge + balanced padding */
.vmcv2-wrap{ padding: 16px; }
@media (max-width: 560px){
  .vmcv2-wrap{ padding: 12px; }
  .vmcv2-card{ transform: translateX(-6px); } /* slight left shift */
  .vmcv2-row{ width:100%; justify-content:center; }
}

/* Symmetric safe-area padding when full-bleed active */
.vmcv2-fullbleed{
  padding: max(16px, env(safe-area-inset-top))
           max(12px, env(safe-area-inset-right))
           max(16px, env(safe-area-inset-bottom))
           max(12px, env(safe-area-inset-left));
}


/* v6.4: reduce overall scale by ~25% and align center-left consistently */
.vmcv2-card{
  transform: scale(0.75) translateX(-8px); /* shrink to 75% and nudge left */
  transform-origin: top center;
}
.vmcv2-card *{ max-width:100%; box-sizing:border-box; }

/* Adjust code boxes smaller */
.vmcv2-codeboxes input{
  width: clamp(32px, 12vw, 48px);
  height: clamp(36px, 12vw, 52px);
  font-size: clamp(18px, 5vw, 22px);
}

/* Buttons smaller */
.vmcv2-btn{
  font-size: clamp(14px, 4vw, 18px);
  padding: 10px 14px;
}
.vmcv2-small-btn{
  font-size: clamp(12px, 3.5vw, 15px);
  padding: 8px 12px;
}

/* Headings smaller for compactness */
.vmcv2-h1{ font-size: clamp(22px, 6vw, 32px); }
.vmcv2-h2{ font-size: clamp(18px, 5.5vw, 26px); }
.vmcv2-text{ font-size: clamp(13px, 4vw, 16px); }

@media (max-width:560px){
  .vmcv2-card{ transform: scale(0.75) translateX(-6px); }
}


/* v6.5: Intro screen emphasis (applies only when .vmcv2-card has .vmcv2-intro) */
.vmcv2-card.vmcv2-intro .vmcv2-h1{
  font-size: clamp(30px, 9vw, 44px);
  letter-spacing: 0.2px;
}
.vmcv2-card.vmcv2-intro .vmcv2-text{
  font-size: clamp(15px, 4.8vw, 20px);
}
.vmcv2-card.vmcv2-intro .vmcv2-btn{
  font-size: clamp(16px, 5vw, 22px);
  padding: 14px 18px;
  box-shadow: 0 6px 18px rgba(0,0,0,.15);
  transform: translateY(0);
}
@media (max-width:560px){
  .vmcv2-card.vmcv2-intro{ transform: scale(0.85) translateX(-6px); } /* intro o čosi väčšia než 75% */
}
