body { padding-bottom: 3rem; }
.table td, .table th { vertical-align: middle; }
.num { text-align: right; white-space: nowrap; }

/* Krok 12B: přehrávání průběhu objednávky. */
.replay-stage .form-control,
.replay-stage .form-select,
.replay-stage .btn { pointer-events: none; }
.replay-stage .form-control[readonly] { background-color: var(--bs-body-bg); }
.replay-focus { outline: 3px solid var(--bs-primary); outline-offset: 1px; }
.replay-click { animation: replay-click 0.7s ease-out; }
@keyframes replay-click {
    0% { box-shadow: 0 0 0 0 rgba(255, 193, 7, 0.95); }
    100% { box-shadow: 0 0 0 16px rgba(255, 193, 7, 0); }
}
.replay-steps { max-height: 28rem; overflow-y: auto; }

/* E-shop krok 2B: obrázky produktů – jednotný poměr stran, obrázek se vejde celý (nic se neořízne). */
.product-img,
.product-img-placeholder {
    width: 100%;
    aspect-ratio: 4 / 3;
    object-fit: contain;
    background-color: var(--bs-tertiary-bg);
}
.product-img-placeholder {
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--bs-secondary-color);
    font-size: 0.875rem;
}

/* E-shop krok 3: malý náhled produktu v košíku. */
.cart-thumb {
    width: 64px;
    height: 48px;
    object-fit: contain;
    background-color: var(--bs-tertiary-bg);
}
.cart-quantity {
    width: 5.5rem;
}
