/* ============================================
   OUTILS PAGE STYLESHEET (units in rem/%)
   Theme: Yellow accent (--jaune)
   ============================================ */

:root{
    --corail: #ff6b52; /* corail */
    --vert: #00C853; /* vert */
    --bleu: #1E90FF; /* bleu */
    --jaune: #FFC857; /* jaune */
    --beige: #f4ebe4;    /* warm beige */
    --page-accent: var(--jaune, #FFC857);
    --page-bg: var(--beige, #f4ebe4);
}

/* Local Gliker font */
@font-face{
    font-family: 'Gliker';
    src: url('../Font/gliker-regular.woff2') format('woff2'),
         url('../Font/gliker-regular.woff') format('woff'),
         url('../Font/gliker-regular.eot');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

/* Global reset */
*{box-sizing:border-box}
body{
    margin:0;
    font-family: 'Gliker', sans-serif;
    background: var(--page-bg);
    -webkit-font-smoothing:antialiased;
    overflow:hidden;
    height:100vh;
    max-height:100vh;
}

.nav-wrap{
    padding:0.75rem 1rem;
}

.nav{
    width:95%;
    max-width:75rem;
    margin:0 auto;
    background: var(--page-bg);
    border:0.25rem solid var(--page-accent);
    border-radius:1.75rem;
    padding: 0.5rem 1rem;
    display:flex;
    align-items:center;
    justify-content:space-between;
}

.nav-list{
    display:flex;
    gap:0.875rem;
    list-style:none;
    margin:0;
    padding:0;
    align-items:center;
}

.nav-link{
    display:inline-block;
    padding:0.625rem 1.5rem;
    border-radius:999px;
    border:0.1875rem solid var(--page-accent);
    color:var(--page-accent);
    text-decoration:none;
    font-weight:700;
    background:transparent;
    transition:all .16s ease;
}

.nav-Outils{
    background:var(--page-accent);
    color:var(--page-bg);
}

.nav-Projets:hover{
    border-color:var(--bleu);
    color:var(--bleu);
}

.nav-Accueil:hover{
    border-color:var(--corail);
    color:var(--corail);
}

.nav-Contact:hover{
    border-color:var(--vert);
    color:var(--vert);
}

/* SVG sizing */
.yellow-svg{
    width:3rem;
    height:3rem;
    display:block;
}

/* ============================================
   OUTILS PAGE LAYOUT
   ============================================ */

.outils-page{
    padding:3rem 1rem;
    background:var(--page-bg);
    height:100vh;
    overflow-y:auto;
    position:relative;
}

.outils-container{
    max-width:75rem;
    margin:0 auto;
    position:relative;
    z-index:1;
}

.outils-container h1{
    color:var(--jaune);
    text-align:center;
    font-size:clamp(3rem, 12vw, 5rem);
    margin:0 0 3rem;
    font-weight:800;
}

.outils-grid{
    display:grid;
    grid-template-columns:repeat(3, 1fr);
    gap:3rem;
    max-width:68.75rem;
    margin:0 auto;
}

.tools-section{
    text-align:center;
}

.tools-section h2{
    color:var(--jaune);
    font-size:1.6rem;
    text-align:center;
    margin:0 0 2rem;
    font-weight:700;
}

.tools-items{
    display:grid;
    grid-template-columns:repeat(2, 1fr);
    gap:1.5rem;
}

.tool-item{
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:0.8rem;
    text-align:center;
}

.tool-icon{
    width:5rem;
    height:5rem;
    object-fit:contain;
}

.tools-section:first-of-type .tool-icon{
    width:6.25rem;
    height:6.25rem;
}

.tools-section:nth-of-type(2) .tool-icon{
    width:6.25rem;
    height:6.25rem;
}

.tools-section:nth-of-type(3) .tool-icon{
    width:6.25rem;
    height:6.25rem;
}

.tool-badge{
    width:4.375rem;
    height:4.375rem;
    background:var(--jaune);
    border-radius:0.75rem;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:1.6rem;
    font-weight:700;
    color:white;
}

.tool-item p{
    color:#222;
    font-size:0.9rem;
    margin:0;
    font-weight:600;
}

/* ============================================
   DECORATIVE BACKGROUND ELEMENTS
   ============================================ */

.hero-bg{
    position:absolute;
    inset:0;
    z-index:0;
    pointer-events:none;
}

.space{
    position:absolute;
    width:auto;
    height:auto;
    transform-origin:center center;
    filter:blur(0.875rem);
    opacity:0.95;
    transform:translate3d(0,0,0) scale(1);
    transition:transform 450ms cubic-bezier(.2,.9,.3,1), opacity 300ms ease, filter 220ms ease;
    will-change: transform, opacity;
    animation:space-pulse 6s ease-in-out infinite;
}

.space path{
    fill:currentColor;
}

.space--1{
    left:-15%;
    top:-20%;
    width:clamp(7.5rem,25vw,22.5rem);
    height:auto;
    color:var(--jaune);
}

.space--2{
    right:-15%;
    top:-20%;
    width:clamp(5.625rem,18vw,16.25rem);
    height:auto;
    color:var(--bleu);
    animation-delay:0.8s;
}

.space--3{
    left:22%;
    bottom:-45%;
    width:clamp(5rem,20vw,15rem);
    height:auto;
    color:var(--corail);
    animation-delay:1.4s;
}

.space--4{
    right:-5%;
    top:0%;
    width:clamp(4.375rem,14vw,12.5rem);
    height:auto;
    color:var(--vert);
    animation-delay:2s;
}

@keyframes space-pulse {
    0%{
        transform: translate3d(0,0,0) scale(1) rotate(0deg);
        opacity:0.95;
    }
    25%{
        transform: translate3d(0.375rem,-0.25rem,0) scale(1.03) rotate(-0.6deg);
        opacity:0.9;
    }
    50%{
        transform: translate3d(0,-0.5rem,0) scale(1.06) rotate(0.6deg);
        opacity:0.82;
    }
    75%{
        transform: translate3d(-0.375rem,-0.25rem,0) scale(1.03) rotate(-0.6deg);
        opacity:0.9;
    }
    100%{
        transform: translate3d(0,0,0) scale(1) rotate(0deg);
        opacity:0.95;
    }
}
