/* Fonts and Basic Styles */
.font-fun { font-family: 'Comic Neue', cursive; }
.font-logo { font-family: 'Pacifico', cursive; }

/* Animations */
@keyframes bounce { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-10px); } }
@keyframes spin { 100% { transform: rotate(360deg); } }
@keyframes drip { 0% { transform: translateY(0); opacity: 0; } 10% { opacity: 1; } 50% { transform: translateY(30px); } 100% { transform: translateY(30px); opacity: 0; } }
@keyframes wiggle { 0%, 100% { transform: rotate(-3deg); } 50% { transform: rotate(3deg); } }
@keyframes pulse { 0%, 100% { transform: scale(1); } 50% { transform: scale(1.1); } }
@keyframes float { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-10px); } }

/* Interactive Elements */
.flavor-card {
    transition: all 0.3s ease;
    cursor: pointer;
}
.flavor-card:hover { 
    transform: translateY(-10px) rotate(2deg); 
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.1); 
}

.btn-melt:hover { 
    transform: translateY(5px); 
    background: linear-gradient(to bottom, #FF9A8B, #FF6B95); 
    transition: all 0.3s ease; 
}

.btn-bounce:hover { animation: bounce 0.5s; }
.btn-spin:hover { animation: spin 0.5s; }
.drip { animation: drip 3s infinite; }
.wiggle { animation: wiggle 2s infinite; }
.pulse { animation: pulse 2s infinite; }

/* Ice Cream Elements */
.cone { 
    clip-path: polygon(0 0, 100% 0, 80% 100%, 20% 100%);
    background: linear-gradient(to bottom, #f3d5b5, #e6c9a8);
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}

.scoop { 
    clip-path: circle(50% at 50% 50%);
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
    transition: transform 0.3s ease;
}
.scoop:hover { transform: translateY(-5px); }

/* Text Effects */
.rainbow-text { 
    background: linear-gradient(to right, #ff0000, #ff7f00, #ffff00, #00ff00, #0000ff, #4b0082, #9400d3); 
    -webkit-background-clip: text; 
    -webkit-text-fill-color: transparent; 
}

.text-outline { 
    text-shadow: -1px -1px 0 #000, 1px -1px 0 #000, -1px 1px 0 #000, 1px 1px 0 #000; 
}

/* Transitions */
.melt-transition { transition: all 0.3s ease; }
.melt-transition:hover { transform: translateY(5px) scale(0.98); }

/* Images */
.ice-cream-image {
    width: 400px;
    height: auto;
    animation: float 3s ease-in-out infinite;
    filter: drop-shadow(0 10px 15px rgba(0, 0, 0, 0.2));
    transition: transform 0.3s ease;
    border-radius: 20px;
}
.ice-cream-image:hover {
    transform: scale(1.05);
}

/* Navigation */
.nav-link {
    position: relative;
    transition: all 0.3s ease;
}
.nav-link::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 0;
    height: 2px;
    background: #fff;
    transition: width 0.3s ease;
}
.nav-link:hover::after {
    width: 100%;
}

/* Buttons */
.btn-primary {
    background: linear-gradient(45deg, #FF6B95, #FF9A8B);
    transition: all 0.3s ease;
    box-shadow: 0 4px 15px rgba(255, 107, 149, 0.3);
}
.btn-primary:hover {
    transform: translateY(-3px);
    box-shadow: 0 6px 20px rgba(255, 107, 149, 0.4);
}

/* Swirl Branding */
.swirl-badge {
    position: fixed;
    bottom: 20px;
    right: 20px;
    background: white;
    padding: 10px;
    border-radius: 10px;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
    display: flex;
    align-items: center;
    gap: 10px;
    z-index: 1000;
}
.swirl-badge img {
    width: 40px;
    height: 40px;
}
.swirl-badge span {
    font-family: 'Comic Neue', cursive;
    font-weight: bold;
    color: #333;
} 
