/* v214 — second classic puzzle: exact joined geometry from the supplied 8-piece reference. */
.elmp-puzzle-page--classic .elmp-puzzle-board--classic {
    aspect-ratio: 928 / 466;
    background: #747c82;
}
.elmp-puzzle-classic-slots {
    position: absolute;
    inset: 0;
    z-index: 3;
}
.elmp-puzzle-classic-slot {
    --piece-mask: none;
    --piece-reveal: none;
    --slot-left: 0%;
    --slot-top: 0%;
    --slot-width: 25%;
    --slot-height: 50%;
    position: absolute;
    left: var(--slot-left);
    top: var(--slot-top);
    width: var(--slot-width);
    height: var(--slot-height);
    border: 0;
    padding: 0;
    color: #eef3f6;
    background: rgba(95,103,109,.99);
    -webkit-mask-image: var(--piece-mask);
    mask-image: var(--piece-mask);
    -webkit-mask-size: 100% 100%;
    mask-size: 100% 100%;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    cursor: pointer;
    transition: transform .2s ease, background .35s ease, filter .2s ease;
}
.elmp-puzzle-classic-slot::before {
    content: '';
    position: absolute;
    inset: 0;
    background: radial-gradient(circle at 50% 40%, rgba(255,255,255,.16), transparent 68%);
}
.elmp-puzzle-classic-slot .elmp-puzzle-slot-answer {
    inset: 25% 12% 17%;
    font-size: clamp(.5rem, .82vw, .82rem);
}
.elmp-puzzle-classic-slot:hover,
.elmp-puzzle-classic-slot.is-dragover {
    filter: drop-shadow(0 0 14px rgba(255,122,35,.8));
    transform: scale(1.012);
    z-index: 8;
}
.elmp-puzzle-classic-slot.is-wrong {
    animation: elmpPuzzleWrong .45s ease;
    background: rgba(120,10,20,.94);
}
.elmp-puzzle-classic-slot.is-solved {
    background-color: transparent;
    background-image: var(--piece-reveal);
    background-repeat: no-repeat;
    background-size: 100% 100%;
    background-position: center;
    filter: none;
    cursor: default;
}
.elmp-puzzle-classic-slot.is-solved::before,
.elmp-puzzle-classic-slot.is-solved .elmp-puzzle-slot-answer {
    opacity: 0;
}

/* Exact bounding boxes measured from the supplied joined-puzzle reference (928 × 466). */
.elmp-puzzle-classic-slot--top-1    { --slot-left: 1.185345%;  --slot-top: 1.287554%;  --slot-width: 24.676724%; --slot-height: 60.944206%; }
.elmp-puzzle-classic-slot--top-2    { --slot-left: 19.073276%; --slot-top: 1.287554%;  --slot-width: 37.284483%; --slot-height: 49.356223%; }
.elmp-puzzle-classic-slot--top-3    { --slot-left: 49.568966%; --slot-top: 1.287554%;  --slot-width: 25.538793%; --slot-height: 60.944206%; }
.elmp-puzzle-classic-slot--top-4    { --slot-left: 68.318966%; --slot-top: 1.287554%;  --slot-width: 30.603448%; --slot-height: 49.356223%; }
.elmp-puzzle-classic-slot--bottom-1 { --slot-left: 1.185345%;  --slot-top: 48.712446%; --slot-width: 30.495690%; --slot-height: 49.141631%; }
.elmp-puzzle-classic-slot--bottom-2 { --slot-left: 24.892241%; --slot-top: 37.124464%; --slot-width: 25.646552%; --slot-height: 60.729614%; }
.elmp-puzzle-classic-slot--bottom-3 { --slot-left: 43.642241%; --slot-top: 48.712446%; --slot-width: 37.284483%; --slot-height: 49.141631%; }
.elmp-puzzle-classic-slot--bottom-4 { --slot-left: 74.137931%; --slot-top: 37.124464%; --slot-width: 24.784483%; --slot-height: 60.729614%; }

.elmp-puzzle-piece--classic { aspect-ratio: 1; }
.elmp-puzzle-piece--classic span {
    inset: 21% 14% 17%;
    color: #25303a;
    text-shadow: 0 1px 2px rgba(255,255,255,.8);
}
.elmp-puzzle-page--classic .elmp-puzzle-complete.is-visible { backdrop-filter: none; }

@media (max-width: 700px) {
    .elmp-puzzle-classic-slot .elmp-puzzle-slot-answer {
        font-size: clamp(.4rem, 1.45vw, .58rem);
        inset: 22% 8% 13%;
    }
}
