.hygpq-pack-control {
    margin: 10px 0 12px;
    color: var(--global-palette4, #211f20);
}

.hygpq-pack-grid {
    display: grid;
    grid-template-columns: minmax(150px, 1fr) minmax(110px, 150px);
    gap: 10px;
    align-items: end;
    max-width: 460px;
}

.hygpq-field {
    display: flex;
    flex-direction: column;
    gap: 5px;
    margin: 0;
}

.hygpq-field span,
.hygpq-single-pack__label {
    color: var(--global-palette5, #5d5b5c);
    font-size: 13px;
    line-height: 1.25;
    font-weight: 600;
}

.hygpq-field select,
.hygpq-field input[type="number"] {
    width: 100%;
    min-height: 42px;
    border: 1px solid #d0d5dd;
    border-radius: 8px;
    background: #ffffff;
    color: var(--global-palette4, #211f20);
    font-size: 15px;
    line-height: 1.25;
    box-shadow: 0 1px 2px rgba(16, 24, 40, 0.04);
}

.hygpq-field--pack select {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    cursor: pointer;
    padding-right: 40px;
    background-image:
        linear-gradient(45deg, transparent 50%, #6b4fa8 50%),
        linear-gradient(135deg, #6b4fa8 50%, transparent 50%);
    background-position:
        calc(100% - 20px) 50%,
        calc(100% - 14px) 50%;
    background-size:
        7px 7px,
        7px 7px;
    background-repeat: no-repeat;
}

.hygpq-field select:focus,
.hygpq-field input[type="number"]:focus {
    outline: none;
    border-color: #d0b8f4;
    box-shadow: 0 0 0 3px rgba(208, 184, 244, 0.28);
}

.hygpq-single-pack {
    min-height: 42px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 3px;
    padding: 8px 10px;
    border: 1px solid #e4defa;
    border-radius: 8px;
    background: #fbf9ff;
}

.hygpq-single-pack strong {
    color: var(--global-palette4, #211f20);
    font-size: 15px;
    line-height: 1.25;
}

.hygpq-pack-summary {
    margin: 8px 0 0;
    color: var(--global-palette5, #5d5b5c);
    font-size: 13px;
    line-height: 1.4;
}

.hygpq-cart-quantity {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.hygpq-cart-quantity input[type="number"] {
    width: 76px;
}

.hygpq-cart-quantity__label {
    color: #5d5b5c;
    font-size: 13px;
    white-space: nowrap;
}

.hygpq-external-updating {
    opacity: .65;
}

.hygpq-locked-quantity {
    background: #f8f6ff !important;
    cursor: not-allowed;
}

.hygpq-locked-quantity-button {
    pointer-events: none;
    opacity: .45;
    cursor: not-allowed;
}

@media (max-width: 640px) {
    .hygpq-pack-grid {
        grid-template-columns: 1fr;
        max-width: 100%;
    }
}
