Auto-select first option in variation modals and sort store items by availability, then update time. Co-authored-by: Cursor <cursoragent@cursor.com>
54 lines
1.1 KiB
CSS
54 lines
1.1 KiB
CSS
.wrap {
|
|
position: relative;
|
|
display: inline-flex;
|
|
}
|
|
|
|
.tip {
|
|
position: fixed;
|
|
z-index: 10000;
|
|
padding: 6px 10px;
|
|
font-family: var(--font-ui);
|
|
font-size: 12px;
|
|
font-weight: 500;
|
|
line-height: 1.55;
|
|
color: var(--text-primary);
|
|
white-space: pre-line;
|
|
overflow-wrap: anywhere;
|
|
word-break: break-word;
|
|
max-width: min(90vw, 420px);
|
|
text-align: start;
|
|
pointer-events: none;
|
|
opacity: 0;
|
|
visibility: hidden;
|
|
transition: opacity 0.15s ease, visibility 0.15s;
|
|
background: rgba(255, 255, 255, 0.95);
|
|
backdrop-filter: blur(12px);
|
|
-webkit-backdrop-filter: blur(12px);
|
|
border: 1px solid var(--glass-border);
|
|
border-radius: 8px;
|
|
box-shadow: 0 4px 16px rgba(31, 38, 135, 0.12);
|
|
}
|
|
|
|
.tipVisible {
|
|
opacity: 1;
|
|
visibility: visible;
|
|
}
|
|
|
|
.tip::after {
|
|
content: '';
|
|
position: absolute;
|
|
left: var(--tooltip-arrow-left, 50%);
|
|
transform: translateX(-50%);
|
|
border: 5px solid transparent;
|
|
}
|
|
|
|
.tipTop::after {
|
|
top: 100%;
|
|
border-top-color: rgba(255, 255, 255, 0.95);
|
|
}
|
|
|
|
.tipBottom::after {
|
|
bottom: 100%;
|
|
border-bottom-color: rgba(255, 255, 255, 0.95);
|
|
}
|