/* Container with spacing between rows */
.npe-candidates-grid {
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 20px;
}

/* Candidate box */
.npe-candidate-row {
    display: grid;
    grid-template-columns: 32px 1fr auto;  /* FIXED: define clear checkbox column width */
    align-items: center;

    background: #ffffff;
    border: 1px solid #d5d5d5;
    border-radius: 10px;

    padding: 20px 24px;
    box-sizing: border-box;
    width: 100%;

    transition: box-shadow 0.15s ease, border-color 0.15s ease;
}

/* Hover highlight */
.npe-candidate-row:hover {
    border-color: #bbbbbb;
    box-shadow: 0 2px 6px rgba(0,0,0,0.06);
}

/* Checkbox: LARGER, FIXED COLUMN, NO margin-right */
.npe-cand-checkbox {
	/*font-size: 1.95em;*/
	
    width: 26px;
    height: 26px;
    flex-shrink: 0;
    accent-color: #0073aa;

    /* ❗ remove margin-right because grid handles spacing */
    margin-right: 0;
}

/* Candidate name — wraps under itself (NOT under checkbox) */
.npe-col-name {
    font-size: 1.22em;
    font-weight: 700;
    line-height: 1.45;
    /*color: #222;*/

    word-break: break-word;
    white-space: normal;

    /* keep a bit of space before/after */
	padding-left: 16px;
    padding-right: 16px;	
}

/* Details button aligned right */
.npe-cand-right {
    justify-self: end;
    white-space: nowrap;
}

/* Details styling */
.npe-candidate-detail {
    display: inline-block;
    padding: 8px 14px;
    font-size: 0.95em;

    color: #c9a884;
    background: #e3e0db;
    border-radius: 6px;
    text-decoration: none;

    transition: background 0.15s ease, border-color 0.15s ease;
}

.npe-candidate-detail:hover {
    color: #e3e0db;
    background: #c9a884;
}


/* ------------------------------------ */

.npe-candidate-thumb {
	max-width:80px;
	display:block;
	margin-bottom:8px
}

/* Fullscreen overlay */
#npe-modal {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.55);
    z-index: 9999;

    display: none; /* jQuery will turn this to block */
}

/* Force centering AFTER jQuery shows it */
#npe-modal.npe-open {
    display: flex !important;
    justify-content: center;
    align-items: center;
}

/* Modal box */
#npe-modal-inner {
    background: #fff;
    padding: 25px;
    border-radius: 10px;
    max-width: 500px;
    width: 90%;
    box-shadow: 0 5px 40px rgba(0,0,0,0.35);
    text-align: center;
}

/* Modal image styling */
#npe-modal-inner img {
    max-width: 100%;
    height: auto;
    margin: 0 auto 15px;
    display: block;
}

.npe-modal-box img {
    margin: 0 auto 15px;
}