.product-carousel { position: relative; }
.product-carousel__controls { display: flex; justify-content: flex-end; gap: 10px; margin-bottom: 18px; }
.product-carousel__controls button {
    width: 48px;
    height: 48px;
    display: grid;
    place-items: center;
    border: 1px solid var(--color-line);
    border-radius: 50%;
    background: var(--color-surface);
    color: var(--color-gold);
    cursor: pointer;
    transition: background var(--transition), color var(--transition), transform var(--transition);
}
.product-carousel__controls button:hover { transform: translateY(-2px); background: var(--color-gold); color: #161006; }
.product-carousel__controls .icon { width: 22px; height: 22px; }
.product-carousel__track {
    --carousel-gap: 18px;
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: calc((100% - 54px) / 4);
    gap: var(--carousel-gap);
    width: 100%;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
    scrollbar-width: none;
    cursor: grab;
    touch-action: pan-y;
}
.product-carousel__track::-webkit-scrollbar { display: none; }
.product-carousel__track.is-dragging { cursor: grabbing; scroll-behavior: auto; scroll-snap-type: none; }
.product-card {
    min-width: 0;
    height: 100%;
    display: flex;
    flex-direction: column;
    scroll-snap-align: start;
    border: 1px solid var(--color-line);
    border-radius: var(--radius-md);
    overflow: clip;
    background: linear-gradient(180deg, var(--color-surface-elevated), var(--color-bg-soft) 58%);
    box-shadow: var(--shadow-card);
}
.product-card__media {
    position: relative;
    aspect-ratio: 4 / 5;
    overflow: hidden;
    border-bottom: 1px solid var(--color-line-soft);
    background: #0b0907;
}
.product-card__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    pointer-events: none;
    transform: scale(.90);
    transition: transform 420ms cubic-bezier(.2, .75, .25, 1);
}
.product-card:hover .product-card__media img { transform: scale(.925); }
.product-card__body { flex: 1; display: flex; flex-direction: column; padding: 26px; }
.product-card__eyebrow { margin-bottom: 7px; color: var(--color-gold); font-size: .72rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.product-card h3 { margin-bottom: 12px; font-size: 1.8rem; }
.product-card__body > p:not(.product-card__eyebrow) { flex: 1; min-height: 104px; margin-bottom: 22px; color: #ded5c8; font-size: .92rem; }
.product-card__reserve {
    min-height: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    width: 100%;
    padding: 0 18px;
    border: 1px solid rgba(246,189,61,.62);
    border-radius: 12px;
    background: var(--color-gold);
    color: #161006;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .04em;
    transition: background var(--transition), transform var(--transition);
}
.product-card__reserve:hover { transform: translateY(-2px); background: var(--color-gold-bright); }
.product-card__reserve .icon { width: 22px; height: 22px; }
.product-carousel__status { height: 4px; margin-top: 22px; border-radius: 999px; overflow: hidden; background: rgba(255,255,255,.08); }
.product-carousel__status span { display: block; width: 25%; height: 100%; border-radius: inherit; background: var(--color-gold); transform-origin: left; transition: transform 160ms ease; }
