/* --- Page Layout & Background --- */
.tools-page-wrapper {
    position: relative;
    width: 100%;
    min-height: 85vh; /* Ensures it takes up most of the screen */
    background: linear-gradient(180deg, #f0f4ff 0%, #ffffff 100%); /* Very light blue to white fade */
    overflow: hidden;
    padding-top: 80px;
    padding-bottom: 80px;
}

.relative-content {
    position: relative;
    z-index: 2; /* Keeps content above floating icons */
}

/* --- Typography --- */
.page-title {
    font-weight: 700;
    color: #0d6efd; /* Bootstrap Primary Blue or your brand blue */
    margin-bottom: 1rem;
    font-size: 2rem;
}

.page-subtitle {
    color: #6c757d;
    font-size: 1rem;
    max-width: 600px;
    margin: 0 auto;
}

/* --- Blue Tool Cards --- */
.tool-card {
    display: block;
    text-decoration: none;
    border-radius: 24px; /* Large rounded corners like image */
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    height: 100%;
}

.tool-card-blue {
    background-color: #1a5bff; /* Vibrant Royal Blue */
    color: #fff;
    box-shadow: 0 10px 30px rgba(26, 91, 255, 0.25);
    text-align: center;
    padding: 3rem 2rem;
}

.tool-card-blue:hover {
    transform: translateY(-5px);
    box-shadow: 0 15px 40px rgba(26, 91, 255, 0.35);
    color: #fff;
}

/* Icons inside Blue Cards */
.icon-wrapper {
    width: 60px;
    height: 60px;
    background: rgba(255, 255, 255, 0.2); /* Semi-transparent white box */
    border-radius: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 1.5rem auto;
    font-size: 1.8rem;
}

.tool-title {
    font-size: 1.25rem;
    font-weight: 600;
    margin-bottom: 1rem;
    color: white;
}

.tool-desc {
    font-size: 0.9rem;
    line-height: 1.6;
    margin-bottom: 2rem;
    opacity: 0.9;
    font-weight: 300;
    color: white;
}

.learn-more {
    font-size: 0.9rem;
    font-weight: 600;
    display: inline-flex;
    align-items: center;
}

.learn-more i {
    font-size: 0.75rem;
    margin-top: 1px;
}

/* --- Locked / Coming Soon Card --- */
.tool-card-locked {
    background-color: #f8fafc; /* Very light grey */
    border: 1px solid #eef2f6;
    color: #333;
    text-align: center;
    padding: 3rem 2rem;
    cursor: default;
}

.locked-icon-group {
    margin-bottom: 1.5rem;
    color: #adb5bd;
    font-size: 1.5rem;
    display: flex;
    justify-content: center;
    gap: 10px;
}

.tool-card-locked .tool-title {
    color: #343a40;
}

.tool-card-locked .tool-desc {
    color: #868e96;
    max-width: 500px;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 0;
}

/* --- Floating Background Animation --- */
.floating-background {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
    pointer-events: none; /* Allows clicking through them */
    z-index: 1;
}

.float-icon {
    position: absolute;
    color: #e9ecef; /* Very faint gray */
    opacity: 0.6;
}

/* Animation Keyframes */
@keyframes floatUp {
    0% {
        transform: translateY(100vh) rotate(0deg);
        opacity: 0;
    }
    20% {
        opacity: 0.6;
    }
    80% {
        opacity: 0.6;
    }
    100% {
        transform: translateY(-10vh) rotate(360deg);
        opacity: 0;
    }
}

/* Individual Icon Positioning & Timing */
.icon-1 { left: 5%; font-size: 3rem; animation: floatUp 15s infinite linear; animation-delay: 0s; }
.icon-2 { left: 85%; font-size: 4rem; animation: floatUp 18s infinite linear; animation-delay: 2s; }
.icon-3 { left: 15%; font-size: 2.5rem; animation: floatUp 20s infinite linear; animation-delay: 5s; }
.icon-4 { left: 75%; font-size: 3.5rem; animation: floatUp 14s infinite linear; animation-delay: 1s; }
.icon-5 { left: 40%; font-size: 5rem; animation: floatUp 25s infinite linear; animation-delay: 8s; }
.icon-6 { left: 90%; font-size: 2rem; animation: floatUp 12s infinite linear; animation-delay: 6s; }
.icon-7 { left: 10%; font-size: 4rem; animation: floatUp 22s infinite linear; animation-delay: 10s; }
