AI update: הוסף לפני תג הסגירה </body> קטע קוד (HTML+CSS+JS וניל, ללא ספריות חיצוניות) שיוצר כפתור פעולה צף (floating action button

This commit is contained in:
2026-08-20 17:53:01 +00:00
parent a07967408a
commit 9e369c0b1a
3 changed files with 469 additions and 424 deletions
-270
View File
@@ -1062,276 +1062,6 @@ button {
opacity: 0.75;
}
/* Floating CTA Button */
.floating-cta {
position: fixed;
bottom: var(--space-lg);
inset-inline-end: var(--space-md);
z-index: 80;
display: flex;
align-items: center;
gap: var(--space-sm);
padding: var(--space-sm) var(--space-md);
background: linear-gradient(135deg, var(--color-accent) 0%, var(--color-warm) 100%);
color: var(--color-white);
border-radius: var(--radius-full);
box-shadow: 0 4px 20px rgba(139, 105, 20, 0.4);
font-weight: 500;
font-size: 0.9rem;
transition: transform var(--transition-fast), box-shadow var(--transition-fast);
animation: pulse-glow 2s ease-in-out infinite;
}
.floating-cta:hover {
transform: translateY(-3px) scale(1.02);
box-shadow: 0 8px 30px rgba(139, 105, 20, 0.5);
}
.floating-cta:focus-visible {
outline: 3px solid var(--color-warm);
outline-offset: 3px;
}
.floating-cta svg {
width: 20px;
height: 20px;
}
@keyframes pulse-glow {
0%, 100% {
box-shadow: 0 4px 20px rgba(139, 105, 20, 0.4);
}
50% {
box-shadow: 0 4px 30px rgba(139, 105, 20, 0.6);
}
}
/* Popup */
.popup-overlay {
position: fixed;
inset: 0;
z-index: 150;
display: flex;
align-items: center;
justify-content: center;
padding: var(--space-md);
background: rgba(61, 50, 41, 0.6);
backdrop-filter: blur(4px);
opacity: 0;
visibility: hidden;
transition: opacity var(--transition-fast), visibility var(--transition-fast);
}
.popup-overlay.is-visible {
opacity: 1;
visibility: visible;
}
.popup {
position: relative;
width: 100%;
max-width: 520px;
max-height: 90vh;
overflow-y: auto;
background: var(--color-white);
border-radius: var(--radius-lg);
box-shadow: 0 20px 60px rgba(61, 50, 41, 0.3);
transform: scale(0.95) translateY(20px);
transition: transform var(--transition-medium);
}
.popup-overlay.is-visible .popup {
transform: scale(1) translateY(0);
}
.popup-close {
position: absolute;
top: var(--space-sm);
inset-inline-end: var(--space-sm);
width: 40px;
height: 40px;
display: flex;
align-items: center;
justify-content: center;
background: var(--color-bg);
border-radius: 50%;
color: var(--color-text-light);
transition: background var(--transition-fast), color var(--transition-fast);
z-index: 10;
}
.popup-close:hover {
background: var(--color-cream);
color: var(--color-text);
}
.popup-close:focus-visible {
outline: 2px solid var(--color-accent);
outline-offset: 2px;
}
.popup-close svg {
width: 20px;
height: 20px;
}
.popup-content {
padding: var(--space-xl);
}
.popup-icon {
width: 64px;
height: 64px;
margin: 0 auto var(--space-md);
color: var(--color-accent);
}
.popup-icon svg {
width: 100%;
height: 100%;
}
.popup-title {
text-align: center;
font-size: 1.5rem;
font-weight: 600;
color: var(--color-text);
margin-block-end: var(--space-lg);
}
.popup-options {
display: flex;
flex-direction: column;
gap: var(--space-sm);
margin-block-end: var(--space-lg);
}
.popup-option {
display: flex;
align-items: center;
gap: var(--space-md);
padding: var(--space-md);
background: var(--color-bg);
border-radius: var(--radius-md);
border: 2px solid transparent;
transition: border-color var(--transition-fast), background var(--transition-fast), transform var(--transition-fast);
}
.popup-option:hover {
border-color: var(--color-warm);
background: var(--color-cream);
transform: translateX(-4px);
}
.popup-option:focus-visible {
outline: 2px solid var(--color-accent);
outline-offset: 2px;
}
.popup-option-code:hover {
border-color: var(--color-sage);
}
.popup-option-full:hover {
border-color: var(--color-accent);
}
.popup-option-icon {
width: 48px;
height: 48px;
display: flex;
align-items: center;
justify-content: center;
background: var(--color-white);
border-radius: var(--radius-md);
color: var(--color-accent);
flex-shrink: 0;
}
.popup-option-icon svg {
width: 24px;
height: 24px;
}
.popup-option-content {
flex: 1;
}
.popup-option-content h3 {
font-size: 1rem;
font-weight: 600;
color: var(--color-text);
margin-block-end: 2px;
}
.popup-option-content p {
font-size: 0.85rem;
color: var(--color-text-light);
}
.popup-option-arrow {
width: 20px;
height: 20px;
color: var(--color-warm);
flex-shrink: 0;
transition: transform var(--transition-fast);
}
.popup-option:hover .popup-option-arrow {
transform: translateX(-4px);
}
.popup-warning {
display: flex;
gap: var(--space-sm);
padding: var(--space-md);
background: rgba(197, 48, 48, 0.08);
border-radius: var(--radius-md);
border-inline-start: 4px solid var(--color-danger);
margin-block-end: var(--space-md);
}
.popup-warning svg {
width: 24px;
height: 24px;
color: var(--color-danger);
flex-shrink: 0;
}
.popup-warning p {
font-size: 0.9rem;
color: var(--color-text);
line-height: 1.5;
}
.popup-warning strong {
font-weight: 600;
}
.popup-extras {
text-align: center;
padding: var(--space-md);
background: var(--color-cream);
border-radius: var(--radius-md);
}
.popup-extras p {
font-size: 0.9rem;
color: var(--color-text-light);
line-height: 1.6;
}
.popup-extras a {
color: var(--color-accent);
font-weight: 500;
text-decoration: underline;
text-underline-offset: 2px;
}
.popup-extras a:hover {
color: var(--color-text);
}
/* Reveal Animation */
.reveal {
opacity: 0;