/* The new birthday cards follow the supplied reference; other cards keep their existing styles. */
.birthday-pack-card {
    min-width: 0;
    min-height: 550px;
    border-color: rgba(168,85,247,0.6);
    background: #130f24;
}
.birthday-pack-card:hover {
    border-color: #a855f7;
    box-shadow: 0 0 24px rgba(168,85,247,0.18);
}
.birthday-pack-card .product-img-box {
    height: auto;
    aspect-ratio: 1.6;
    margin-bottom: 22px;
}
.birthday-pack-card .product-slide-frame {
    position: relative;
    padding: 0;
}
.birthday-pack-card .product-thumbnail-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.birthday-pack-card:hover .product-slide-frame .product-thumbnail-img { transform: none; }
.birthday-pack-card .slider-dots .dot.active { background: #a855f7; }
.birthday-pack-card .product-price {
    color: #a855f7;
    font-size: 18px;
    margin-bottom: 25px;
}
.birthday-choice-group {
    border: 0;
    min-width: 0;
    margin: 0 0 18px;
    padding: 0;
}
.birthday-choice-group legend {
    padding: 0;
    margin-bottom: 8px;
    font-size: 15px;
    color: #f8fafc;
}
.birthday-design-options, .birthday-pack-options { display: grid; gap: 8px; }
.birthday-design-options { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.birthday-pack-options { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.birthday-choice {
    position: relative;
    min-width: 0;
    cursor: pointer;
    display: block;
    text-align: center;
}
.birthday-choice input {
    position: absolute;
    opacity: 0;
    width: 1px;
    height: 1px;
}
.birthday-choice-box {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    padding: 8px 3px;
    border: 1px solid #363448;
    border-radius: 8px;
    background: rgba(255,255,255,0.035);
    color: #fff;
    font-size: 12px;
    line-height: 1.4;
}
.birthday-design-options .birthday-choice-box { font-size: 21px; }
.birthday-choice input:checked + .birthday-choice-box {
    border-color: #a855f7;
    background: rgba(168,85,247,0.12);
}
.birthday-choice input:focus-visible + .birthday-choice-box {
    outline: 2px solid #9121bd;
    outline-offset: 3px;
}
.birthday-pack-price {
    display: block;
    color: #a855f7;
    font-size: 13px;
    margin-top: 6px;
}
.birthday-pack-card .product-footer { margin-top: auto; gap: 8px; }
.birthday-pack-card .tag-pill { color: #a855f7; background: transparent; padding-left: 0; }
.birthday-pack-card .add-cart-btn { background: #a855f7; border-color: #a855f7; color: #fff; }
.birthday-pack-card:hover .add-cart-btn { background: #a855f7; border-color: #a855f7; box-shadow: 0 0 12px rgba(168,85,247,0.25); }
.birthday-pack-card .add-cart-btn:hover { background: #a855f7; box-shadow: 0 0 16px rgba(168,85,247,0.3); }
.birthday-photo-placeholder {
    height: 100%;
    display: grid;
    place-items: center;
    color: #94a3b8;
    font-size: 14px;
}
.catalog-empty-state {
    text-align: center;
    color: #cbd5e1;
    padding: 55px 20px;
    border: 1px dashed rgba(168,85,247,0.3);
    border-radius: 16px;
}
.catalog-empty-state[hidden] { display: none; }
@media (max-width: 480px) {
    .birthday-pack-card { min-height: 0; }
    .birthday-pack-card .product-footer { margin-top: 22px; }
    .birthday-choice-box { min-height: 44px; }
}
