/* Family-Friendly Enhancements 🏠💕 */

/* Family Icons and Decorations */
.family-icon-heart::before {
    content: '💝';
    display: inline-block;
    margin-right: 0.5rem;
    animation: gentle-bounce 2s ease-in-out infinite;
}

.family-icon-home::before {
    content: '🏠';
    display: inline-block;
    margin-right: 0.5rem;
    animation: gentle-sway 3s ease-in-out infinite;
}

.family-icon-stars::before {
    content: '✨';
    display: inline-block;
    margin-right: 0.5rem;
    animation: sparkle-rotate 4s linear infinite;
}

/* Gentle Animations for Family Feel */
@keyframes gentle-bounce {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-3px); }
}

@keyframes gentle-sway {
    0%, 100% { transform: rotate(0deg); }
    25% { transform: rotate(1deg); }
    75% { transform: rotate(-1deg); }
}

@keyframes sparkle-rotate {
    0% { transform: rotate(0deg) scale(1); }
    25% { transform: rotate(90deg) scale(1.1); }
    50% { transform: rotate(180deg) scale(1); }
    75% { transform: rotate(270deg) scale(1.1); }
    100% { transform: rotate(360deg) scale(1); }
}

/* Family Section Backgrounds */
.family-pattern-dots::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-image: 
        radial-gradient(circle at 20% 30%, rgba(241, 136, 39, 0.03) 2px, transparent 2px),
        radial-gradient(circle at 70% 60%, rgba(218, 167, 116, 0.02) 2px, transparent 2px),
        radial-gradient(circle at 40% 80%, rgba(241, 136, 39, 0.03) 1px, transparent 1px);
    background-size: 40px 40px, 60px 60px, 30px 30px;
    pointer-events: none;
    z-index: 1;
}

/* Warm Family Gradients */
.bg-warm-family-gradient {
    background: linear-gradient(135deg, 
        #fdf8f3 0%, 
        #fff8f1 25%, 
        #feede1 50%, 
        #fff8f1 75%, 
        #fdf8f3 100%);
}

.bg-warm-family-gradient-soft {
    background: linear-gradient(145deg, 
        rgba(253, 248, 243, 0.8) 0%, 
        rgba(255, 248, 241, 0.9) 30%, 
        rgba(254, 237, 225, 0.8) 60%, 
        rgba(253, 248, 243, 0.9) 100%);
}

/* Family-Friendly Text Highlights */
.text-warm-highlight {
    background: linear-gradient(120deg, 
        rgba(241, 136, 39, 0.1) 0%, 
        rgba(241, 136, 39, 0.2) 50%, 
        rgba(241, 136, 39, 0.1) 100%);
    padding: 2px 6px;
    border-radius: 6px;
    font-weight: 600;
}

.text-family-emphasis {
    color: #f18827;
    font-weight: 700;
    text-shadow: 0 1px 3px rgba(241, 136, 39, 0.2);
    position: relative;
}

.text-family-emphasis::after {
    content: '💡';
    position: absolute;
    top: -5px;
    right: -20px;
    font-size: 0.8em;
    opacity: 0.8;
}

/* Family Card Hover Effects */
.warm-family-card:hover {
    background: linear-gradient(145deg, 
        rgba(255, 255, 255, 1) 0%, 
        rgba(254, 237, 225, 0.98) 50%, 
        rgba(255, 255, 255, 1) 100%);
}

/* Section Dividers with Family Touch */
.warm-family-divider::before {
    content: '';
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 120px;
    height: 4px;
    background: linear-gradient(90deg, 
        transparent 0%, 
        #f18827 20%, 
        #daa774 50%, 
        #f18827 80%, 
        transparent 100%);
    border-radius: 4px;
}

.warm-family-divider::after {
    content: '🌟';
    position: absolute;
    top: -8px;
    left: 50%;
    transform: translateX(-50%);
    font-size: 1.2rem;
    animation: gentle-pulse 3s ease-in-out infinite;
}

@keyframes gentle-pulse {
    0%, 100% { opacity: 0.7; transform: translateX(-50%) scale(1); }
    50% { opacity: 1; transform: translateX(-50%) scale(1.1); }
}

/* Mobile-First Family Design */
@media (max-width: 768px) {
    .warm-family-heading::after {
        font-size: 0.8em;
        right: -20px;
    }
    
    .family-icon-heart::before,
    .family-icon-home::before,
    .family-icon-stars::before {
        font-size: 1.2rem;
    }
    
    .text-family-emphasis::after {
        font-size: 0.7em;
        right: -15px;
    }
}

/* Accessibility Enhancements */
@media (prefers-reduced-motion: reduce) {
    .family-icon-heart::before,
    .family-icon-home::before,
    .family-icon-stars::before,
    .warm-family-heading::after,
    .text-family-emphasis::after {
        animation: none;
    }
}

/* High Contrast Mode */
@media (prefers-contrast: high) {
    .warm-family-card {
        border-width: 3px;
        border-color: #f18827;
    }
    
    .text-warm-highlight {
        background: rgba(241, 136, 39, 0.3);
    }
}