﻿/* ===== Heading fix — was orange, now matches neutral ink tone ===== */
.visual-card h1 {
    color: #2b2118;
    text-shadow: none;
}

/* ===== Bottle Layout ===== */
.bottle-row {
    display: flex;
    justify-content: center;
    align-items: flex-end;
    gap: 18px;
    flex-wrap: nowrap;
}

    .bottle-row.single {
        justify-content: center;
    }

.bottle-wrapper {
    display: flex;
    flex-direction: column;
    align-items: center;
    position: relative;
}

/* ===== Bottle ===== */
.number-bottle {
    width: 48px;
    height: 130px;
    display: flex;
    flex-direction: column;
    align-items: center;
    position: relative;
    z-index: 2;
    transition: transform .35s cubic-bezier(.34,1.56,.64,1);
}

.bottle-body {
    width: 40px;
    height: 95px;
    background: linear-gradient(135deg,#ffffff 0%,#f0f0f0 60%,#dcdcdc 100%);
    border-radius: 10px;
    position: relative;
    margin-top: 15px;
    border: 1px solid rgba(255,255,255,.8);
    box-shadow: inset 0 0 8px rgba(0,0,0,.1),0 4px 8px rgba(0,0,0,.3);
    transition: box-shadow .3s ease,background .3s ease;
}

    .bottle-body::before {
        content: "";
        position: absolute;
        top: 6px;
        left: 4px;
        width: 7px;
        height: 82px;
        background: rgba(255,255,255,.6);
        border-radius: 4px;
    }

    .bottle-body::after {
        content: "";
        position: absolute;
        top: -10px;
        left: 12px;
        width: 14px;
        height: 10px;
        background: linear-gradient(90deg,#b0b0b0,#e0e0e0,#909090);
        border-radius: 3px 3px 0 0;
    }

.bottle-label {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    width: 28px;
    height: 28px;
    background: #ff6b00;
    border-radius: 6px;
    display: flex;
    justify-content: center;
    align-items: center;
    color: white;
    font-weight: bold;
    font-size: 16px;
    box-shadow: 0 2px 4px rgba(0,0,0,.15);
    transition: background .3s ease,transform .3s ease;
}

/* Active bottle */
.number-bottle.active .bottle-body {
    transform: translateY(-14px);
    box-shadow: 0 0 0 3px rgba(255,107,0,.5),0 8px 16px rgba(0,0,0,.4);
}

/* Answer bottle glow */
.number-bottle.glow .bottle-label {
    background: #ffb020;
    box-shadow: 0 0 14px 4px rgba(255,176,32,.8);
}

/* Pop animation */
@keyframes bottlePop {
    0% {
        transform: translate(-50%,-50%) scale(.3);
        opacity: 0;
    }

    60% {
        transform: translate(-50%,-50%) scale(1.25);
        opacity: 1;
    }

    100% {
        transform: translate(-50%,-50%) scale(1);
        opacity: 1;
    }
}

.number-bottle.just-written .bottle-label {
    animation: bottlePop .45s ease-out;
}

/* Running product pulse */
@keyframes runningPulse {
    0% {
        transform: scale(1);
    }

    40% {
        transform: scale(1.18);
    }

    100% {
        transform: scale(1);
    }
}

.number-bottle.pulse .bottle-body {
    animation: runningPulse .4s ease-out;
}

.number-bottle.pulse .bottle-label {
    background: #3aa6ff;
}

/* Left pass complete */
.number-bottle.sealed-left .bottle-body {
    filter: saturate(.6) brightness(.9);
}

    .number-bottle.sealed-left .bottle-body::before {
        background: rgba(58,166,255,.35);
    }

/* Right pass complete */
.number-bottle.sealed-right .bottle-body {
    filter: saturate(.5) brightness(.8);
}

    .number-bottle.sealed-right .bottle-body::before {
        background: rgba(255,80,80,.35);
    }

/* ===== Pointer ===== */
.crate-pointer {
    position: absolute;
    top: -35px;
    left: 50%;
    transform: translateX(-50%);
    text-align: center;
    font-weight: bold;
    z-index: 5;
    animation: pointerDrop .3s ease-out;
}

@keyframes pointerDrop {
    0% {
        transform: translate(-50%,-10px);
        opacity: 0;
    }

    100% {
        transform: translate(-50%,0);
        opacity: 1;
    }
}

.crate-pointer.pointer-left {
    color: #3aa6ff;
}

.crate-pointer.pointer-right {
    color: #ff5050;
}
