/* SVG Icon System - 100% Browser Support with High Contrast */

/* Base icon styling with better visibility */
.fa, .fas, .far, .fab, .fal, .fad {
    display: inline-block;
    width: 1em;
    height: 1em;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    vertical-align: middle;
    line-height: 1;
    filter: drop-shadow(0 1px 2px rgba(255,255,255,0.8));
    opacity: 0.9;
}

/* High-Contrast SVG Icons - All Browser Support */

/* Heart Icon - Dark Red with White Outline */
.fa-heart {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 21.35l-1.45-1.32C5.4 15.36 2 12.28 2 8.5 2 5.42 4.42 3 7.5 3c1.74 0 3.41.81 4.5 2.09C13.09 3.81 14.76 3 16.5 3 19.58 3 22 5.42 22 8.5c0 3.78-3.4 6.86-8.55 11.54L12 21.35z' fill='%23c0392b' stroke='%23ffffff' stroke-width='1'/%3E%3C/svg%3E");
}

/* Users Icon - Dark Blue with Outline */
.fa-users {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M16 4c0-1.11.89-2 2-2s2 .89 2 2-.89 2-2 2-2-.89-2-2zm4 18v-6h2.5l-2.54-7.63A2 2 0 0 0 18.07 7h-2.14c-.8 0-1.54.5-1.89 1.37L11.5 16h2.5v6h6zM12.5 11.5c.83 0 1.5-.67 1.5-1.5s-.67-1.5-1.5-1.5S11 9.17 11 10s.67 1.5 1.5 1.5zm-2 8.5v-6H8l2.54-7.63A2 2 0 0 1 12.43 5h2.14c.8 0 1.54.5 1.89 1.37L19 13h-2.5v6h-6z' fill='%232980b9' stroke='%23ffffff' stroke-width='0.5'/%3E%3C/svg%3E");
}

/* Palette Icon - Purple with Outline */
.fa-palette {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 3c-4.97 0-9 4.03-9 9 0 .83.09 1.64.26 2.42C3.94 15.49 5.14 16 6.5 16c1.22 0 2.25-.44 3.06-1.19A3.97 3.97 0 0 0 12 16c1.66 0 3-1.34 3-3s-1.34-3-3-3-3 1.34-3 3c0 .35.06.69.17 1H6.5c-.83 0-1.5-.67-1.5-1.5 0-4.42 3.58-8 8-8s8 3.58 8 8c0 1.57-.45 3.03-1.23 4.27-.4.63-1.25.73-1.77.73-.39 0-.73-.23-.73-.73V12c0-2.21-1.79-4-4-4z' fill='%238e44ad' stroke='%23ffffff' stroke-width='0.5'/%3E%3C/svg%3E");
}

/* Child Icon - Orange with Outline */
.fa-child {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='6' r='2' fill='%23e67e22' stroke='%23ffffff' stroke-width='1'/%3E%3Cpath d='M12 8c-1.1 0-2 .9-2 2v4.5c0 .28.22.5.5.5s.5-.22.5-.5V12h2v2.5c0 .28.22.5.5.5s.5-.22.5-.5V10c0-1.1-.9-2-2-2z' fill='%23e67e22' stroke='%23ffffff' stroke-width='0.5'/%3E%3Cpath d='M12 16c-.55 0-1 .45-1 1v4c0 .55.45 1 1 1s1-.45 1-1v-4c0-.55-.45-1-1-1z' fill='%23e67e22' stroke='%23ffffff' stroke-width='0.5'/%3E%3C/svg%3E");
}

/* Graduation Cap - Purple with White Outline */
.fa-graduation-cap {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 3L1 9l4 2.18v6L12 21l7-3.82v-6L23 9l-11-6zM18.82 9L12 12.72 5.18 9 12 5.28 18.82 9zM17 15.99l-5 2.73-5-2.73v-3.72L12 15l5-2.73v3.72z' fill='%237d3c98' stroke='%23ffffff' stroke-width='0.8'/%3E%3C/svg%3E");
}

/* Home Icon - Blue with White Outline */
.fa-home, .fa-house {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M10 20v-6h4v6h5v-8h3L12 3 2 12h3v8z' fill='%232980b9' stroke='%23ffffff' stroke-width='1'/%3E%3C/svg%3E");
}

/* Phone Icon - Green with White Outline */
.fa-phone {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6.62 10.79c1.44 2.83 3.76 5.14 6.59 6.59l2.2-2.2c.27-.27.67-.36 1.02-.24 1.12.37 2.33.57 3.57.57.55 0 1 .45 1 1V20c0 .55-.45 1-1 1-9.39 0-17-7.61-17-17 0-.55.45-1 1-1h3.5c.55 0 1 .45 1 1 0 1.25.2 2.45.57 3.57.11.35.03.74-.25 1.02l-2.2 2.2z' fill='%2327ae60' stroke='%23ffffff' stroke-width='0.8'/%3E%3C/svg%3E");
}

/* Envelope Icon - Red with White Outline */
.fa-envelope {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20 4H4c-1.1 0-1.99.9-1.99 2L2 18c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm0 4l-8 5-8-5V6l8 5 8-5v2z' fill='%23c0392b' stroke='%23ffffff' stroke-width='1'/%3E%3C/svg%3E");
}

/* Map Marker - Red with White Outline */
.fa-map-marker-alt, .fa-location-dot {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2C8.13 2 5 5.13 5 9c0 5.25 7 13 7 13s7-7.75 7-13c0-3.87-3.13-7-7-7zm0 9.5c-1.38 0-2.5-1.12-2.5-2.5s1.12-2.5 2.5-2.5 2.5 1.12 2.5 2.5-1.12 2.5-2.5 2.5z' fill='%23c0392b' stroke='%23ffffff' stroke-width='1'/%3E%3C/svg%3E");
}

/* Social Media Icons with High Contrast */
.fa-facebook, .fab.fa-facebook {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M24 12.073c0-6.627-5.373-12-12-12s-12 5.373-12 12c0 5.99 4.388 10.954 10.125 11.854v-8.385H7.078v-3.47h3.047V9.43c0-3.007 1.792-4.669 4.533-4.669 1.312 0 2.686.235 2.686.235v2.953H15.83c-1.491 0-1.956.925-1.956 1.874v2.25h3.328l-.532 3.47h-2.796v8.385C19.612 23.027 24 18.062 24 12.073z' fill='%23405990' stroke='%23ffffff' stroke-width='0.8'/%3E%3C/svg%3E");
}

.fa-instagram, .fab.fa-instagram {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2.163c3.204 0 3.584.012 4.85.07 3.252.148 4.771 1.691 4.919 4.919.058 1.265.069 1.645.069 4.849 0 3.205-.012 3.584-.069 4.849-.149 3.225-1.664 4.771-4.919 4.919-1.266.058-1.644.07-4.85.07-3.204 0-3.584-.012-4.849-.07-3.26-.149-4.771-1.699-4.919-4.92-.058-1.265-.07-1.644-.07-4.849 0-3.204.013-3.583.07-4.849.149-3.227 1.664-4.771 4.919-4.919 1.266-.057 1.645-.069 4.849-.069zm0-2.163c-3.259 0-3.667.014-4.947.072-4.358.2-6.78 2.618-6.98 6.98-.059 1.281-.073 1.689-.073 4.948 0 3.259.014 3.668.072 4.948.2 4.358 2.618 6.78 6.98 6.98 1.281.058 1.689.072 4.948.072 3.259 0 3.668-.014 4.948-.072 4.354-.2 6.782-2.618 6.979-6.98.059-1.28.073-1.689.073-4.948 0-3.259-.014-3.667-.072-4.947-.196-4.354-2.617-6.78-6.979-6.98-1.281-.059-1.69-.073-4.949-.073zm0 5.838c-3.403 0-6.162 2.759-6.162 6.162s2.759 6.163 6.162 6.163 6.162-2.759 6.162-6.163c0-3.403-2.759-6.162-6.162-6.162zm0 10.162c-2.209 0-4-1.79-4-4 0-2.209 1.791-4 4-4s4 1.791 4 4c0 2.21-1.791 4-4 4zm6.406-11.845c-.796 0-1.441.645-1.441 1.44s.645 1.44 1.441 1.44c.795 0 1.439-.645 1.439-1.44s-.644-1.44-1.439-1.44z' fill='%23c13584' stroke='%23ffffff' stroke-width='0.3'/%3E%3C/svg%3E");
}

.fa-twitter, .fab.fa-twitter {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M23.953 4.57a10 10 0 01-2.825.775 4.958 4.958 0 002.163-2.723c-.951.555-2.005.959-3.127 1.184a4.92 4.92 0 00-8.384 4.482C7.69 8.095 4.067 6.13 1.64 3.162a4.822 4.822 0 00-.666 2.475c0 1.71.87 3.213 2.188 4.096a4.904 4.904 0 01-2.228-.616v.06a4.923 4.923 0 003.946 4.827 4.996 4.996 0 01-2.212.085 4.936 4.936 0 004.604 3.417 9.867 9.867 0 01-6.102 2.105c-.39 0-.779-.023-1.17-.067a13.995 13.995 0 007.557 2.209c9.053 0 13.998-7.496 13.998-13.985 0-.21 0-.42-.015-.63A9.935 9.935 0 0024 4.59z' fill='%23157ebf' stroke='%23ffffff' stroke-width='0.5'/%3E%3C/svg%3E");
}

.fa-youtube, .fab.fa-youtube {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M23.498 6.186a3.016 3.016 0 0 0-2.122-2.136C19.505 3.545 12 3.545 12 3.545s-7.505 0-9.377.505A3.017 3.017 0 0 0 .502 6.186C0 8.07 0 12 0 12s0 3.93.502 5.814a3.016 3.016 0 0 0 2.122 2.136c1.871.505 9.376.505 9.376.505s7.505 0 9.377-.505a3.015 3.015 0 0 0 2.122-2.136C24 15.93 24 12 24 12s0-3.93-.502-5.814zM9.545 15.568V8.432L15.818 12l-6.273 3.568z' fill='%23cc181e' stroke='%23ffffff' stroke-width='0.8'/%3E%3C/svg%3E");
}

/* Daily Activities Icons - High Contrast with White Outlines */

/* Sun Icon */
.fa-sun {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='5' fill='%23f39c12' stroke='%23ffffff' stroke-width='1.5'/%3E%3Cpath d='M12 1v2m0 18v2M4.22 4.22l1.42 1.42m12.72 12.72l1.42 1.42M1 12h2m18 0h2M4.22 19.78l1.42-1.42M18.36 5.64l1.42-1.42' stroke='%23e67e22' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");
}

/* Clock Icon */
.fa-clock {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='10' fill='%233498db' stroke='%23ffffff' stroke-width='1.5'/%3E%3Cpath d='m12 6v6l4 2' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

/* Door Open Icon */
.fa-door-open {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 21V3h10l4 4v14H5z' fill='%238e44ad' stroke='%23ffffff' stroke-width='1.2'/%3E%3Ccircle cx='14' cy='12' r='1' fill='%23ffffff'/%3E%3C/svg%3E");
}

/* Circle Icon */
.fa-circle {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='10' fill='%23e74c3c' stroke='%23ffffff' stroke-width='2'/%3E%3C/svg%3E");
}

/* Book Open Icon */
.fa-book-open {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M2 3h6a4 4 0 0 1 4 4v14a3 3 0 0 0-3-3H2V3zM22 3h-6a4 4 0 0 0-4 4v14a3 3 0 0 1 3-3h7V3z' fill='%2327ae60' stroke='%23ffffff' stroke-width='1'/%3E%3C/svg%3E");
}

/* Apple Icon */
.fa-apple-alt {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2c2-2 6 0 6 4 0 4-4 8-6 8s-6-4-6-8c0-4 4-6 6-4z' fill='%23e74c3c' stroke='%23ffffff' stroke-width='1'/%3E%3Cpath d='M12 2c0-1 1-2 2-2' stroke='%2327ae60' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");
}

/* Cloud Sun Icon */
.fa-cloud-sun {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='8' cy='8' r='3' fill='%23f39c12' stroke='%23ffffff' stroke-width='1'/%3E%3Cpath d='M18 10h-1.26A8 8 0 1 0 9 20h9a5 5 0 0 0 0-10z' fill='%2395a5a6' stroke='%23ffffff' stroke-width='1'/%3E%3C/svg%3E");
}

/* Running Icon */
.fa-running {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='4' r='2' fill='%23e67e22' stroke='%23ffffff' stroke-width='1'/%3E%3Cpath d='M15.89 8.11C15.5 7.72 14.83 8 14.83 8s-1.33.89-3.33 0c-2-.9-3.5-1-3.5-1l-1.5 4 2.5 1 .83 5L12 17l.83 5 2.17-1L16 11l-.11-2.89z' fill='%23e67e22' stroke='%23ffffff' stroke-width='0.8'/%3E%3C/svg%3E");
}

/* Book Icon */
.fa-book {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 2v20l8-4 8 4V2H4z' fill='%2327ae60' stroke='%23ffffff' stroke-width='1.2'/%3E%3Cpath d='M8 6h8M8 10h8M8 14h5' stroke='%23ffffff' stroke-width='1' stroke-linecap='round'/%3E%3C/svg%3E");
}

/* Utensils Icon */
.fa-utensils {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 2v5c0 2.21 1.79 4 4 4v9h2V11c2.21 0 4-1.79 4-4V2h-2v5h-1V2h-2v5h-1V2H3zM16 2v8h2.5l-.5 8h2l-.5-8H22V2h-6z' fill='%23f39c12' stroke='%23ffffff' stroke-width='0.8'/%3E%3C/svg%3E");
}

/* Moon Icon */
.fa-moon {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M21 12.79A9 9 0 1 1 11.21 3 7 7 0 0 0 21 12.79z' fill='%234a5568' stroke='%23ffffff' stroke-width='1.5'/%3E%3C/svg%3E");
}

/* Bed Icon */
.fa-bed {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M2 12h20v4H2v-4zM4 8a2 2 0 1 1 4 0v4H4V8zM10 8v4h10a2 2 0 0 0-2-2h-6a2 2 0 0 0-2-2z' fill='%237f8c8d' stroke='%23ffffff' stroke-width='1'/%3E%3Cpath d='M2 18h2v2H2v-2zM20 18h2v2h-2v-2z' fill='%237f8c8d' stroke='%23ffffff' stroke-width='0.5'/%3E%3C/svg%3E");
}

/* Flask Icon */
.fa-flask {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9 2v6L5 14h14l-4-6V2h-6z' fill='%231abc9c' stroke='%23ffffff' stroke-width='1.2'/%3E%3Ccircle cx='12' cy='13' r='2' fill='%23ffffff' opacity='0.7'/%3E%3C/svg%3E");
}

/* Additional Service Icons */
.fa-camera {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9 3L7.17 5H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2h-3.17L15 3H9z' fill='%2334495e' stroke='%23ffffff' stroke-width='1'/%3E%3Ccircle cx='12' cy='13' r='4' fill='%2334495e' stroke='%23ffffff' stroke-width='1.5'/%3E%3C/svg%3E");
}

.fa-video {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M23 7l-7 5 7 5V7zM1 5v14a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V5a2 2 0 0 0-2-2H3a2 2 0 0 0-2 2z' fill='%23e74c3c' stroke='%23ffffff' stroke-width='1'/%3E%3C/svg%3E");
}

.fa-briefcase {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20 6h-4V4a2 2 0 0 0-2-2h-4a2 2 0 0 0-2 2v2H4a2 2 0 0 0-2 2v10a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2zM10 4h4v2h-4V4z' fill='%232c3e50' stroke='%23ffffff' stroke-width='1'/%3E%3C/svg%3E");
}

.fa-birthday-cake {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 6l-1-2H5l-1 2v10h16V6h-8z' fill='%23e91e63' stroke='%23ffffff' stroke-width='1'/%3E%3Cpath d='M7 2v2M12 2v2M17 2v2' stroke='%23f39c12' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");
}

.fa-dumbbell {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 6h2v12H6V6zM16 6h2v12h-2V6zM10 10h4v4h-4v-4z' fill='%23e67e22' stroke='%23ffffff' stroke-width='1.2'/%3E%3Ccircle cx='4' cy='8' r='2' fill='%23e67e22' stroke='%23ffffff' stroke-width='1'/%3E%3Ccircle cx='4' cy='16' r='2' fill='%23e67e22' stroke='%23ffffff' stroke-width='1'/%3E%3Ccircle cx='20' cy='8' r='2' fill='%23e67e22' stroke='%23ffffff' stroke-width='1'/%3E%3Ccircle cx='20' cy='16' r='2' fill='%23e67e22' stroke='%23ffffff' stroke-width='1'/%3E%3C/svg%3E");
}

.fa-stethoscope {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M19 14a3 3 0 0 0-3 3v1a5 5 0 0 1-10 0V9a3 3 0 0 1 3-3h1V4H9a5 5 0 0 0-5 5v9a7 7 0 0 0 14 0v-1a1 1 0 0 1 2 0 3 3 0 1 0 0-6z' fill='%231abc9c' stroke='%23ffffff' stroke-width='1'/%3E%3Ccircle cx='7' cy='4' r='2' fill='%231abc9c' stroke='%23ffffff' stroke-width='1'/%3E%3Ccircle cx='13' cy='4' r='2' fill='%231abc9c' stroke='%23ffffff' stroke-width='1'/%3E%3C/svg%3E");
}

.fa-users-cog {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M16 4c0-1.11.89-2 2-2s2 .89 2 2-.89 2-2 2-2-.89-2-2zm4 18v-6h2.5l-2.54-7.63A2 2 0 0 0 18.07 7h-2.14c-.8 0-1.54.5-1.89 1.37L11.5 16h2.5v6h6z' fill='%2395a5a6' stroke='%23ffffff' stroke-width='0.8'/%3E%3Ccircle cx='6' cy='18' r='3' fill='%2395a5a6' stroke='%23ffffff' stroke-width='1'/%3E%3Cpath d='M6 16v1M6 19v1M4.5 17.5l.7.7M7.8 20.8l.7.7M4.5 20.5l.7-.7M7.8 17.2l.7-.7' stroke='%23ffffff' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E");
}

.fa-seedling {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2S8 6 8 12s4 10 4 10 4-4 4-10S12 2 12 2z' fill='%2327ae60' stroke='%23ffffff' stroke-width='1'/%3E%3Cpath d='M12 12c0-6-4-10-4-10s4 4 4 10' fill='%2327ae60' stroke='%23ffffff' stroke-width='0.8'/%3E%3C/svg%3E");
}

.fa-gift {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20 12v8a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2v-8M2 7h20v5H2V7z' fill='%23f39c12' stroke='%23ffffff' stroke-width='1'/%3E%3Cpath d='M12 7V2M8 7V2a2 2 0 0 1 4 0M16 7V2a2 2 0 0 0-4 0' stroke='%23e74c3c' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");
}

.fa-music {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9 18V5l12-2v13' fill='%239b59b6' stroke='%23ffffff' stroke-width='1'/%3E%3Ccircle cx='6' cy='18' r='3' fill='%239b59b6' stroke='%23ffffff' stroke-width='1'/%3E%3Ccircle cx='18' cy='16' r='3' fill='%239b59b6' stroke='%23ffffff' stroke-width='1'/%3E%3C/svg%3E");
}

.fa-bus {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 16c0 .88.39 1.67 1 2.22V20a1 1 0 0 0 1 1h1a1 1 0 0 0 1-1v-1h8v1a1 1 0 0 0 1 1h1a1 1 0 0 0 1-1v-1.78c.61-.55 1-1.34 1-2.22V6c0-3.5-3.58-4-8-4s-8 .5-8 4v10z' fill='%23f39c12' stroke='%23ffffff' stroke-width='1'/%3E%3Ccircle cx='6.5' cy='15.5' r='1.5' fill='%23ffffff'/%3E%3Ccircle cx='17.5' cy='15.5' r='1.5' fill='%23ffffff'/%3E%3Cpath d='M4 6h16v6H4V6z' fill='%2395a5a6' stroke='%23ffffff' stroke-width='0.5'/%3E%3C/svg%3E");
}

/* Navigation and UI Icons - High Contrast */
.fa-bars {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 6h18v2H3V6zM3 11h18v2H3v-2zM3 16h18v2H3v-2z' fill='%2334495e' stroke='%23ffffff' stroke-width='0.5'/%3E%3C/svg%3E");
}

.fa-times, .fa-xmark {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M18 6L6 18M6 6l12 12' stroke='%23e74c3c' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

.fa-chevron-up {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M18 15l-6-6-6 6' stroke='%233498db' stroke-width='3' stroke-linecap='round' stroke-linejoin='round' fill='none'/%3E%3C/svg%3E");
}

.fa-chevron-down {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 9l6 6 6-6' stroke='%233498db' stroke-width='3' stroke-linecap='round' stroke-linejoin='round' fill='none'/%3E%3C/svg%3E");
}

.fa-chevron-left {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M15 18l-6-6 6-6' stroke='%233498db' stroke-width='3' stroke-linecap='round' stroke-linejoin='round' fill='none'/%3E%3C/svg%3E");
}

.fa-chevron-right {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9 18l6-6-6-6' stroke='%233498db' stroke-width='3' stroke-linecap='round' stroke-linejoin='round' fill='none'/%3E%3C/svg%3E");
}

/* Essential Action Icons */
.fa-star {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z' fill='%23f39c12' stroke='%23ffffff' stroke-width='1'/%3E%3C/svg%3E");
}

.fa-check {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20 6L9 17l-5-5' stroke='%2327ae60' stroke-width='3' stroke-linecap='round' stroke-linejoin='round' fill='none'/%3E%3C/svg%3E");
}

.fa-plus {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 5v14M5 12h14' stroke='%2327ae60' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

.fa-minus {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 12h14' stroke='%23e74c3c' stroke-width='3' stroke-linecap='round'/%3E%3C/svg%3E");
}

.fa-play {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M8 5v14l11-7z' fill='%2327ae60' stroke='%23ffffff' stroke-width='1'/%3E%3C/svg%3E");
}

/* About Page Specific Icons */
.fa-handshake {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M2 11h5l3-3h4l3 3h5v6l-3 3H5l-3-3V11z' fill='%233498db' stroke='%23ffffff' stroke-width='1'/%3E%3Ccircle cx='8' cy='8' r='2' fill='%23f39c12' stroke='%23ffffff' stroke-width='0.8'/%3E%3Ccircle cx='16' cy='8' r='2' fill='%23f39c12' stroke='%23ffffff' stroke-width='0.8'/%3E%3C/svg%3E");
}

.fa-comments {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M21 11.5a8.38 8.38 0 0 1-.9 3.8 8.5 8.5 0 0 1-7.6 4.7 8.38 8.38 0 0 1-3.8-.9L3 21l1.9-5.7a8.38 8.38 0 0 1-.9-3.8 8.5 8.5 0 0 1 4.7-7.6 8.38 8.38 0 0 1 3.8-.9h.5a8.48 8.48 0 0 1 8 8v.5z' fill='%232ecc71' stroke='%23ffffff' stroke-width='1'/%3E%3C/svg%3E");
}

.fa-balance-scale {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2v18M5 8l-3 6h6l-3-6zM19 8l-3 6h6l-3-6z' stroke='%238e44ad' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' fill='none'/%3E%3Cpath d='M2 14h6M16 14h6' stroke='%238e44ad' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");
}

.fa-lightbulb {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9 21h6M12 3a6 6 0 0 1 6 6c0 2-1 3-1 5H7c0-2-1-3-1-5a6 6 0 0 1 6-6z' fill='%23f39c12' stroke='%23ffffff' stroke-width='1'/%3E%3Cpath d='M9 17h6' stroke='%23ffffff' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E");
}

.fa-check-circle {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='10' fill='%2327ae60' stroke='%23ffffff' stroke-width='1.5'/%3E%3Cpath d='M9 12l2 2 4-4' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' fill='none'/%3E%3C/svg%3E");
}

.fa-school {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M2 20h20v2H2v-2zM4 18h16V6L12 2 4 6v12z' fill='%23e74c3c' stroke='%23ffffff' stroke-width='1'/%3E%3Cpath d='M8 10h2v4H8v-4zM14 10h2v4h-2v-4zM11 12h2v2h-2v-2z' fill='%23ffffff'/%3E%3C/svg%3E");
}

.fa-bullseye {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='10' fill='none' stroke='%23e67e22' stroke-width='2'/%3E%3Ccircle cx='12' cy='12' r='6' fill='none' stroke='%23e67e22' stroke-width='2'/%3E%3Ccircle cx='12' cy='12' r='2' fill='%23e67e22'/%3E%3C/svg%3E");
}

.fa-eye {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8z' fill='%2334495e' stroke='%23ffffff' stroke-width='1'/%3E%3Ccircle cx='12' cy='12' r='3' fill='%23ffffff'/%3E%3C/svg%3E");
}

.fa-user-tie {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='6' r='4' fill='%232c3e50' stroke='%23ffffff' stroke-width='1'/%3E%3Cpath d='M12 14c-4 0-8 2-8 6v2h16v-2c0-4-4-6-8-6z' fill='%232c3e50' stroke='%23ffffff' stroke-width='1'/%3E%3Cpath d='M10 14l2 6 2-6z' fill='%23e74c3c' stroke='%23ffffff' stroke-width='0.5'/%3E%3C/svg%3E");
}

.fa-user-graduate {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='8' r='3' fill='%238e44ad' stroke='%23ffffff' stroke-width='1'/%3E%3Cpath d='M12 12c-4 0-8 2-8 6v2h16v-2c0-4-4-6-8-6z' fill='%238e44ad' stroke='%23ffffff' stroke-width='1'/%3E%3Cpath d='M8 3l8 3-8 3V3z' fill='%232c3e50' stroke='%23ffffff' stroke-width='0.8'/%3E%3C/svg%3E");
}
.fa-chevron-left::before { content: '‹'; }
.fa-chevron-right::before { content: '›'; }
.fa-chevron-up::before { content: '‹'; transform: rotate(90deg); }
.fa-chevron-down::before { content: '›'; transform: rotate(90deg); }
.fa-bars::before { content: '☰'; }
.fa-times::before, .fa-xmark::before { content: '✕'; }
.fa-check::before { content: '✓'; }
.fa-star::before { content: '★'; }
.fa-play::before { content: '▶'; }
.fa-pause::before { content: '⏸'; }
.fa-stop::before { content: '⏹'; }
.fa-search::before, .fa-magnifying-glass::before { content: '🔍'; }
.fa-plus::before { content: '+'; }
.fa-minus::before { content: '−'; }
.fa-edit::before, .fa-pen-to-square::before { content: '✏'; }
.fa-trash::before { content: '🗑'; }
.fa-download::before { content: '⬇'; }
.fa-upload::before { content: '⬆'; }
.fa-link::before { content: '🔗'; }
.fa-external-link::before { content: '↗'; }
.fa-calendar::before { content: '📅'; }
.fa-clock::before { content: '🕐'; }
.fa-user::before { content: '👤'; }
.fa-cog::before, .fa-gear::before { content: '⚙'; }
.fa-bell::before { content: '🔔'; }
.fa-info::before, .fa-info-circle::before { content: 'ℹ'; }
.fa-exclamation::before, .fa-exclamation-triangle::before { content: '⚠'; }
.fa-question::before, .fa-question-circle::before { content: '?'; }
.fa-arrow-left::before { content: '←'; }
.fa-arrow-right::before { content: '→'; }
.fa-arrow-up::before { content: '↑'; }
.fa-arrow-down::before { content: '↓'; }
.fa-smile::before, .fa-face-smile::before { content: '😊'; }
.fa-frown::before, .fa-face-frown::before { content: '☹'; }
.fa-thumbs-up::before { content: '👍'; }
.fa-thumbs-down::before { content: '👎'; }
.fa-lightbulb::before { content: '💡'; }
.fa-book::before { content: '📖'; }
.fa-music::before { content: '🎵'; }
.fa-camera::before { content: '📷'; }
.fa-video::before { content: '📹'; }
.fa-microphone::before { content: '🎤'; }
.fa-headphones::before { content: '🎧'; }
.fa-gamepad::before { content: '🎮'; }
.fa-trophy::before { content: '🏆'; }
.fa-medal::before { content: '🏅'; }
.fa-gift::before { content: '🎁'; }
.fa-car::before { content: '🚗'; }
.fa-bus::before { content: '🚌'; }
.fa-train::before { content: '🚆'; }
.fa-plane::before { content: '✈'; }
.fa-ship::before { content: '🚢'; }
.fa-fire::before { content: '🔥'; }
.fa-sun::before { content: '☀'; }
.fa-moon::before { content: '🌙'; }
.fa-cloud::before { content: '☁'; }
.fa-rain::before { content: '🌧'; }
.fa-snow::before { content: '❄'; }
.fa-bolt::before { content: '⚡'; }
.fa-tree::before { content: '🌳'; }
.fa-flower::before { content: '🌸'; }
.fa-leaf::before { content: '🍃'; }
.fa-apple::before { content: '🍎'; }
.fa-cake::before { content: '🍰'; }
.fa-coffee::before { content: '☕'; }
.fa-pizza::before { content: '🍕'; }
.fa-hamburger::before { content: '🍔'; }
.fa-globe::before { content: '🌍'; }
.fa-flag::before { content: '🏁'; }
.fa-crown::before { content: '👑'; }
.fa-gem::before { content: '💎'; }
.fa-lock::before { content: '🔒'; }
.fa-unlock::before { content: '🔓'; }
.fa-key::before { content: '🔑'; }
.fa-shield::before { content: '🛡'; }
.fa-eye::before { content: '👁'; }
.fa-eye-slash::before { content: '🙈'; }
.fa-hand::before { content: '✋'; }
.fa-fingerprint::before { content: '👆'; }
.fa-brain::before { content: '🧠'; }
.fa-dna::before { content: '🧬'; }
.fa-atom::before { content: '⚛'; }
.fa-rocket::before { content: '🚀'; }
.fa-satellite::before { content: '📡'; }
.fa-microscope::before { content: '🔬'; }
.fa-telescope::before { content: '🔭'; }

/* Other services icons - Descriptive text */
.fa-camera::before { content: 'Cam'; font-size: 0.7em; font-weight: bold; color: #34495e; }
.fa-video::before { content: 'Vid'; font-size: 0.7em; font-weight: bold; color: #e74c3c; }
.fa-briefcase::before { content: 'Work'; font-size: 0.6em; font-weight: bold; color: #2c3e50; }
.fa-birthday-cake::before { content: 'Cake'; font-size: 0.6em; font-weight: bold; color: #e91e63; }
.fa-dumbbell::before { content: 'Gym'; font-size: 0.7em; font-weight: bold; color: #e67e22; }
.fa-stethoscope::before { content: 'Med'; font-size: 0.7em; font-weight: bold; color: #1abc9c; }
.fa-users-cog::before { content: 'Set'; font-size: 0.7em; font-weight: bold; color: #95a5a6; }
.fa-seedling::before { content: 'Grow'; font-size: 0.6em; font-weight: bold; color: #27ae60; }
.fa-gift::before { content: 'Gift'; font-size: 0.6em; font-weight: bold; color: #f39c12; }
.fa-music::before { content: 'Song'; font-size: 0.6em; font-weight: bold; color: #9b59b6; }

/* About page icons - Text-based descriptive */
.fa-handshake::before { content: 'Hand'; font-size: 0.6em; font-weight: bold; color: #3498db; }
.fa-comments::before { content: 'Talk'; font-size: 0.6em; font-weight: bold; color: #2ecc71; }
.fa-balance-scale::before { content: 'Fair'; font-size: 0.6em; font-weight: bold; color: #8e44ad; }
.fa-lightbulb::before { content: 'Idea'; font-size: 0.6em; font-weight: bold; color: #f39c12; }
.fa-check-circle::before { content: '✓'; font-size: 1.2em; color: #27ae60; }
.fa-school::before { content: 'School'; font-size: 0.5em; font-weight: bold; color: #e74c3c; }
.fa-bullseye::before { content: 'Goal'; font-size: 0.6em; font-weight: bold; color: #e67e22; }
.fa-eye::before { content: 'See'; font-size: 0.7em; font-weight: bold; color: #34495e; }
.fa-user-tie::before { content: 'Prof'; font-size: 0.6em; font-weight: bold; color: #2c3e50; }
.fa-user-graduate::before { content: 'Grad'; font-size: 0.5em; font-weight: bold; color: #8e44ad; }

/* Daily Activities Icons - CSS Visual Icons */

/* Sun Icon */
.fa-sun::before {
    content: '';
    width: 0.6em;
    height: 0.6em;
    background: #f39c12;
    border-radius: 50%;
    display: inline-block;
    position: relative;
    box-shadow: 
        0 0 0 0.1em #f39c12,
        0.4em 0 0 -0.25em #f39c12,
        -0.4em 0 0 -0.25em #f39c12,
        0 0.4em 0 -0.25em #f39c12,
        0 -0.4em 0 -0.25em #f39c12;
}

/* Clock Icon */
.fa-clock::before {
    content: '';
    width: 0.8em;
    height: 0.8em;
    border: 2px solid #3498db;
    border-radius: 50%;
    display: inline-block;
    position: relative;
}
.fa-clock::after {
    content: '';
    width: 0.3em;
    height: 1px;
    background: #3498db;
    position: absolute;
    top: 0.35em;
    left: 0.35em;
    transform-origin: left;
}

/* Door Icon */
.fa-door-open::before {
    content: '';
    width: 0.5em;
    height: 0.8em;
    border: 2px solid #8e44ad;
    border-right: none;
    display: inline-block;
    position: relative;
    background: linear-gradient(to right, transparent 60%, #8e44ad 60%);
}

/* Circle Icon */
.fa-circle::before {
    content: '';
    width: 0.7em;
    height: 0.7em;
    background: #e74c3c;
    border-radius: 50%;
    display: inline-block;
}

/* Book Open Icon */
.fa-book-open::before {
    content: '';
    width: 0.8em;
    height: 0.6em;
    border: 2px solid #27ae60;
    border-bottom: none;
    border-radius: 0.2em 0.2em 0 0;
    display: inline-block;
    position: relative;
    background: linear-gradient(to bottom, transparent 50%, #27ae60 50%);
}

/* Apple Icon */
.fa-apple-alt::before {
    content: '';
    width: 0.6em;
    height: 0.7em;
    background: #e74c3c;
    border-radius: 0 0 0.5em 0.5em;
    display: inline-block;
    position: relative;
}
.fa-apple-alt::after {
    content: '';
    width: 0.2em;
    height: 0.2em;
    background: #27ae60;
    border-radius: 0.1em;
    position: absolute;
    top: -0.1em;
    left: 0.3em;
}

/* Cloud Sun Icon */
.fa-cloud-sun::before {
    content: '';
    width: 0.7em;
    height: 0.4em;
    background: #ecf0f1;
    border-radius: 0.4em;
    display: inline-block;
    position: relative;
    box-shadow: 0.3em -0.2em 0 -0.1em #f39c12;
}

/* Running Icon */
.fa-running::before {
    content: '🏃';
    font-size: 1.1em;
    color: #e67e22;
}

/* Book Icon */
.fa-book::before {
    content: '';
    width: 0.6em;
    height: 0.8em;
    background: #27ae60;
    border: 1px solid #27ae60;
    border-radius: 0.1em;
    display: inline-block;
    position: relative;
}

/* Utensils Icon */
.fa-utensils::before {
    content: '';
    width: 2px;
    height: 0.7em;
    background: #f39c12;
    display: inline-block;
    position: relative;
    border-radius: 1px;
}
.fa-utensils::after {
    content: '';
    width: 0.4em;
    height: 2px;
    background: #f39c12;
    position: absolute;
    top: 0.6em;
    left: -0.1em;
    border-radius: 1px;
}

/* Moon Icon */
.fa-moon::before {
    content: '';
    width: 0.7em;
    height: 0.7em;
    background: #34495e;
    border-radius: 50%;
    display: inline-block;
    position: relative;
    box-shadow: inset 0.2em -0.1em 0 0.1em #ecf0f1;
}

/* Bed Icon */
.fa-bed::before {
    content: '';
    width: 0.8em;
    height: 0.3em;
    background: #7f8c8d;
    border-radius: 0.1em;
    display: inline-block;
    position: relative;
}
.fa-bed::after {
    content: '';
    width: 0.2em;
    height: 0.4em;
    background: #7f8c8d;
    position: absolute;
    top: -0.2em;
    left: 0.1em;
    border-radius: 0.1em;
}

/* Flask Icon */
.fa-flask::before {
    content: '';
    width: 0.4em;
    height: 0.6em;
    background: transparent;
    border: 2px solid #1abc9c;
    border-top: none;
    border-radius: 0 0 0.3em 0.3em;
    display: inline-block;
    position: relative;
}
.fa-flask::after {
    content: '';
    width: 0.2em;
    height: 0.3em;
    background: transparent;
    border: 2px solid #1abc9c;
    border-bottom: none;
    position: absolute;
    top: -0.3em;
    left: 0.05em;
}

/* Additional common icons with fallbacks */
.fa-star::before { content: '⭐'; }
.fa-envelope::before { content: '✉️'; }
.fa-phone::before { content: '📞'; }
.fa-map-marker-alt::before { content: '📍'; }
.fa-graduation-cap::before { content: '🎓'; }

/* Simple alternatives for complex icons */
.fa-chalkboard-teacher::before { content: '�'; }
.fa-play-circle::before { content: '▶'; }
.fa-image::before { content: '□'; }
.fa-cookie-bite::before { content: '○'; }

/* Essential Icons - CSS Shapes */

/* Star */
.fa-star::before {
    content: '';
    width: 0;
    height: 0;
    border-left: 0.3em solid transparent;
    border-right: 0.3em solid transparent;
    border-bottom: 0.2em solid #f39c12;
    display: inline-block;
    position: relative;
    transform: rotate(35deg);
}
.fa-star::after {
    content: '';
    width: 0;
    height: 0;
    border-left: 0.3em solid transparent;
    border-right: 0.3em solid transparent;
    border-bottom: 0.2em solid #f39c12;
    position: absolute;
    top: -0.05em;
    left: -0.3em;
    transform: rotate(-70deg);
}

/* Check */
.fa-check::before {
    content: '';
    width: 0.5em;
    height: 0.25em;
    border: none;
    border-bottom: 3px solid #27ae60;
    border-right: 3px solid #27ae60;
    transform: rotate(45deg);
    display: inline-block;
    position: relative;
    top: -0.1em;
}

/* Plus */
.fa-plus::before {
    content: '';
    width: 0.6em;
    height: 3px;
    background: #27ae60;
    display: inline-block;
    position: relative;
}
.fa-plus::after {
    content: '';
    width: 3px;
    height: 0.6em;
    background: #27ae60;
    position: absolute;
    top: -0.15em;
    left: 0.15em;
}

/* Minus */
.fa-minus::before {
    content: '';
    width: 0.6em;
    height: 3px;
    background: #e74c3c;
    display: inline-block;
}

/* Play */
.fa-play::before {
    content: '';
    width: 0;
    height: 0;
    border-top: 0.3em solid transparent;
    border-bottom: 0.3em solid transparent;
    border-left: 0.5em solid #27ae60;
    display: inline-block;
}

/* Additional Icons */
.fa-bus::before {
    content: '';
    width: 0.8em;
    height: 0.5em;
    background: #f39c12;
    border-radius: 0.1em;
    display: inline-block;
    position: relative;
}
.fa-bus::after {
    content: '';
    width: 0.1em;
    height: 0.1em;
    background: #2c3e50;
    border-radius: 50%;
    position: absolute;
    bottom: -0.05em;
    left: 0.1em;
    box-shadow: 0.5em 0 0 #2c3e50;
}

/* Universal icon system - Maximum compatibility */
[class^="fa-"], [class*=" fa-"] {
    display: inline-block;
    font-style: normal;
    font-variant: normal;
    text-rendering: auto;
    line-height: 1;
    font-size: inherit;
    text-align: center;
    vertical-align: middle;
    font-family: Arial, sans-serif;
    min-width: 1em;
    box-sizing: border-box;
}

/* Base icon styling */
.fa, .fas, .far, .fab, .fal, .fad {
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    font-style: normal;
    font-weight: normal;
}

/* Size variations */
.fa-lg { font-size: 1.33333em; line-height: 0.75em; vertical-align: -15%; }
.fa-xs { font-size: 0.75em; }
.fa-sm { font-size: 0.875em; }
.fa-1x { font-size: 1em; }
.fa-2x { font-size: 2em; }
.fa-3x { font-size: 3em; }
.fa-4x { font-size: 4em; }
.fa-5x { font-size: 5em; }

/* Fixed width */
.fa-fw { text-align: center; width: 1.25em; }

/* Social media brand icons */
.fab.fa-facebook::before { content: 'FB'; font-size: 0.8em; font-weight: bold; color: #3b5998; }
.fab.fa-instagram::before { content: 'IG'; font-size: 0.8em; font-weight: bold; color: #e4405f; }
.fab.fa-twitter::before { content: 'TW'; font-size: 0.8em; font-weight: bold; color: #1da1f2; }
.fab.fa-youtube::before { content: 'YT'; font-size: 0.8em; font-weight: bold; color: #ff0000; }

/* Navigation Icons - CSS Shapes */

/* Bars (Hamburger Menu) */
.fa-bars::before {
    content: '';
    width: 0.8em;
    height: 2px;
    background: #34495e;
    display: inline-block;
    position: relative;
    box-shadow: 
        0 0.25em 0 #34495e,
        0 0.5em 0 #34495e;
}

/* Times (X) */
.fa-times::before {
    content: '';
    width: 0.8em;
    height: 2px;
    background: #e74c3c;
    display: inline-block;
    position: relative;
    transform: rotate(45deg);
}
.fa-times::after {
    content: '';
    width: 0.8em;
    height: 2px;
    background: #e74c3c;
    position: absolute;
    top: 0;
    left: 0;
    transform: rotate(-90deg);
}

/* Chevron Up */
.fa-chevron-up::before {
    content: '';
    width: 0;
    height: 0;
    border-left: 0.3em solid transparent;
    border-right: 0.3em solid transparent;
    border-bottom: 0.4em solid #3498db;
    display: inline-block;
}

/* Chevron Down */
.fa-chevron-down::before {
    content: '';
    width: 0;
    height: 0;
    border-left: 0.3em solid transparent;
    border-right: 0.3em solid transparent;
    border-top: 0.4em solid #3498db;
    display: inline-block;
}

/* Chevron Left */
.fa-chevron-left::before {
    content: '';
    width: 0;
    height: 0;
    border-top: 0.3em solid transparent;
    border-bottom: 0.3em solid transparent;
    border-right: 0.4em solid #3498db;
    display: inline-block;
}

/* Chevron Right */
.fa-chevron-right::before {
    content: '';
    width: 0;
    height: 0;
    border-top: 0.3em solid transparent;
    border-bottom: 0.3em solid transparent;
    border-left: 0.4em solid #3498db;
    display: inline-block;
}

/* UI feedback icons */
.fa-info::before, .fa-info-circle::before { content: 'i'; font-size: 1.1em; font-weight: bold; color: #3498db; }
.fa-exclamation::before, .fa-exclamation-triangle::before { content: '!'; font-size: 1.2em; font-weight: bold; color: #f39c12; }
.fa-question::before, .fa-question-circle::before { content: '?'; font-size: 1.1em; font-weight: bold; color: #9b59b6; }
.fa-cog::before, .fa-gear::before { content: 'Set'; font-size: 0.7em; font-weight: bold; color: #95a5a6; }
.fa-bell::before { content: 'Bell'; font-size: 0.6em; font-weight: bold; color: #f39c12; }
.fa-search::before, .fa-magnifying-glass::before { content: 'Find'; font-size: 0.6em; font-weight: bold; color: #34495e; }

/* Icon content styling - Clean and simple */
.fa::before, .fas::before, .far::before, .fab::before, .fal::before, .fad::before {
    font-family: Arial, sans-serif;
    font-style: normal;
    font-weight: normal;
    display: inline-block;
    text-decoration: none;
    width: auto;
    margin: 0;
    text-align: center;
}

/* Pseudo-element positioning for CSS shapes */
.fa::after, .fas::after, .far::after, .fab::after, .fal::after, .fad::after {
    font-family: Arial, sans-serif;
    font-style: normal;
    font-weight: normal;
    display: block;
    text-decoration: none;
    margin: 0;
    text-align: center;
}