/* Auto Size Selector for WooCommerce */

.ass-size-selector {
    margin: 16px 0 20px;
}

.ass-label {
    font-weight: 700;
    font-size: 0.95rem;
    margin-bottom: 10px;
    color: #111;
}

.ass-required { color: #e53e3e; margin-left: 2px; }

.ass-radio {
    position: absolute;
    opacity: 0;
    width: 0;
    height: 0;
}

.ass-buttons {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 12px;
}

.ass-option { cursor: pointer; }

.ass-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 54px;
    height: 44px;
    padding: 0 16px;
    border: 2px solid #ccc;
    border-radius: 6px;
    font-size: 0.92rem;
    font-weight: 700;
    color: #444;
    background: #fff;
    transition: border-color 0.15s, background 0.15s, color 0.15s;
    user-select: none;
    letter-spacing: 0.03em;
}

.ass-option:hover .ass-badge {
    border-color: #888;
    color: #111;
}

.ass-option.ass-selected .ass-badge {
    border-color: #2563eb;
    background: #2563eb;
    color: #fff;
}

/* Warning */
.ass-warning {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 11px 15px;
    background: #fff5f5;
    border: 2px solid #fc8181;
    border-radius: 6px;
    color: #c53030;
    font-size: 0.9rem;
    font-weight: 700;
}

.ass-shake {
    animation: ass-shake 0.4s ease;
}

@keyframes ass-shake {
    0%   { transform: translateX(0); }
    20%  { transform: translateX(-6px); }
    40%  { transform: translateX(6px); }
    60%  { transform: translateX(-4px); }
    80%  { transform: translateX(4px); }
    100% { transform: translateX(0); }
}
