/* custom.css */

/* homepage only */
body.home-page .about-me-box .infos h4 {
    color: #5b78f6;
}

/* Base card behavior */
.shadow-box {
    position: relative;
    overflow: visible;
    transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
    border: 1px solid rgba(255, 255, 255, 0.06);
}
/* Soft outer glow layer to cards */
.shadow-box::before {
    content: "";
    position: absolute;
    inset: -2px;
    border-radius: inherit;
    pointer-events: none;
    opacity: 0;
    transition: opacity 0.25s ease;
    background: transparent;
    box-shadow:
        0 0 0 1px rgba(120, 140, 255, 0.18),
        0 0 18px rgba(120, 140, 255, 0.18),
        0 0 38px rgba(120, 140, 255, 0.20),
        0 0 70px rgba(120, 140, 255, 0.16);
}
/* Hover state to cards */
.shadow-box:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.35);
    border-color: rgba(120, 140, 255, 0.35);
}
.shadow-box:hover::before {
    opacity: 1;
}
.shadow-box:hover {
    box-shadow:
        0 8px 30px rgba(0, 0, 0, 0.35),
        0 0 0 1px rgba(133, 156, 255, 0.28),
        0 0 24px rgba(133, 156, 255, 0.22);
}

/* Base button behavior */
.theme-btn {
    position: relative;
    display: inline-block;
    overflow: visible;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

/* glow layer */
.theme-btn::before {
    content: "";
    position: absolute;
    inset: -2px;
    border-radius: 999px; /* keeps glow rounded for pill buttons */
    pointer-events: none;
    opacity: 0;
    transition: opacity 0.25s ease;

    box-shadow:
        0 0 0 1px rgba(120, 140, 255, 0.25),
        0 0 14px rgba(120, 140, 255, 0.25),
        0 0 30px rgba(120, 140, 255, 0.30),
        0 0 60px rgba(120, 140, 255, 0.25);
}

/* hover state */
.theme-btn:hover {
    transform: translateY(-1px);
    box-shadow: 0 8px 25px rgba(0,0,0,0.35);
}

.theme-btn:hover::before {
    opacity: 1;
}
.theme-btn:hover {
    box-shadow:
        0 8px 25px rgba(0,0,0,0.35),
        0 0 0 1px rgba(133,156,255,0.35),
        0 0 20px rgba(133,156,255,0.30);
}