/* EuroJackpot heatmaps */

.ej-heat-block {
    padding: 8px 4px 0;
}

.ej-heat-title {
    text-align: center;
    font-weight: 700;
    color: #2b5fae;
    margin-bottom: 12px;
}

.ej-heat-grid {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    margin: 0 auto 10px;
}

.ej-heat-cell {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    border: 1px solid #ffffff;
    border-radius: 4px;
    cursor: default;
    transition: transform 0.12s ease, box-shadow 0.12s ease;
}

.ej-heat-cell:hover {
    transform: scale(1.06);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.28);
    z-index: 2;
    position: relative;
}

.ej-heat-cell .n {
    font-weight: 700;
    line-height: 1.1;
}

.ej-heat-cell .v {
    font-weight: 600;
    line-height: 1.15;
    opacity: 0.92;
}

.ej-heat-main .ej-heat-cell {
    width: 9.4%;
    height: 58px;
    margin: 1px;
}

.ej-heat-main .ej-heat-cell .n { font-size: 1.05rem; }
.ej-heat-main .ej-heat-cell .v { font-size: 0.68rem; }

.ej-heat-euro .ej-heat-cell {
    width: 15.4%;
    height: 64px;
    margin: 2px;
}

.ej-heat-euro .ej-heat-cell .n { font-size: 1.25rem; }
.ej-heat-euro .ej-heat-cell .v { font-size: 0.75rem; }

.ej-heat-legend {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    font-size: 0.78rem;
    color: #6c757d;
    margin-bottom: 4px;
}

.ej-heat-legend-bar {
    display: inline-block;
    width: 150px;
    height: 10px;
    border-radius: 5px;
    border: 1px solid rgba(0, 0, 0, 0.12);
}

.ej-heat-sep {
    margin: 22px 0 14px;
    border-top: 1px solid #e3e9f2;
}

/* Πίνακες ζευγαριών (co-occurrence matrices) */
.ej-pairs-scroll {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    margin: 0 auto 10px;
    max-width: 100%;
}

.ej-pairs-grid {
    display: grid;
    grid-auto-rows: 13px;
    margin: 0 auto;
    width: max-content;
    min-width: 100%;
    font-size: 9px;
    line-height: 1;
    user-select: none;
}

.ej-pairs-h,
.ej-pairs-corner {
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 600;
    color: #5a6a85;
    background: #f2f5fa;
    border-right: 1px solid #e3e9f2;
    border-bottom: 1px solid #e3e9f2;
    padding: 1px 0;
    box-sizing: border-box;
}

/* Οι ετικέτες γραμμών είναι δεξιά από τα κελιά· διαχωριστικό στα αριστερά τους. */
.ej-pairs-rowlabel {
    border-left: 1px solid #e3e9f2;
    border-right: none;
}

.ej-pairs-cell {
    border-right: 1px solid rgba(255, 255, 255, 0.55);
    border-bottom: 1px solid rgba(255, 255, 255, 0.55);
    cursor: default;
    transition: transform 0.1s ease;
}

/* Η τελευταία στήλη εφάπτεται στις δεξιές ετικέτες· κρατάμε μόνο το δικό τους border. */
.ej-pairs-cell.ej-pairs-lastcol {
    border-right: none;
}

.ej-pairs-cell:hover {
    transform: scale(1.5);
    position: relative;
    z-index: 3;
    box-shadow: 0 1px 5px rgba(0, 0, 0, 0.3);
}

.ej-pairs-diag,
.ej-pairs-empty {
    background: transparent;
    border-right: none;
    border-bottom: none;
}

.ej-pairs-text {
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 9px;
    font-weight: 600;
}

/* Στο πλέγμα των ευρωαριθμών (12x12) τα κελιά είναι πιο μεγάλα */
#pairs-euro {
    grid-auto-rows: 26px;
    font-size: 11px;
}

@media (max-width: 575.98px) {
    .ej-heat-main .ej-heat-cell { height: 44px; }
    .ej-heat-main .ej-heat-cell .n { font-size: 0.82rem; }
    .ej-heat-main .ej-heat-cell .v { font-size: 0.6rem; }
    .ej-heat-euro .ej-heat-cell { height: 56px; }
}

@media (prefers-reduced-motion: reduce) {
    .ej-heat-cell,
    .ej-pairs-cell { transition: none; }
    .ej-heat-cell:hover,
    .ej-pairs-cell:hover { transform: none; }
}
