/* =========================================================
   MADANET - HEBERGEMENT APPLICATIONS WEB
   Styles spécifiques à /hebergement-applications-web
========================================================= */


/* =========================================================
   HERO
========================================================= */

.apphub-hero{
    padding:65px 0 75px;
    background:
        radial-gradient(
            circle at 76% 45%,
            #f0f6dc 0%,
            #f9fbf4 27%,
            #ffffff 62%
        );
    border-top:1px solid var(--line);
}

.apphub-hero-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:70px;
    align-items:center;
}

.apphub-hero-copy h1{
    font-size:clamp(42px,4.4vw,64px);
    line-height:1.1;
    font-weight:800;
    letter-spacing:-2.5px;
    margin-bottom:25px;
}

.apphub-hero-copy h1 em{
    color:var(--green);
    font-style:normal;
}

.apphub-hero-copy>p{
    max-width:600px;
    color:var(--muted);
    font-size:18px;
    line-height:1.8;
}

.apphub-hero-checks{
    display:flex;
    flex-wrap:wrap;
    gap:12px 22px;
    margin-top:28px;
    color:var(--muted);
    font-size:13px;
}

.apphub-hero-visual{
    position:relative;
    padding:25px;
}

.apphub-hero-visual>img{
    display:block;
    width:100%;
    height:auto;
    border-radius:18px;
    background:white;
    box-shadow:0 25px 60px rgba(23,36,59,.08);
}

.apphub-floating{
    position:absolute;
    display:flex;
    align-items:center;
    gap:8px;
    background:white;
    border:1px solid #dfe5eb;
    box-shadow:0 12px 30px rgba(23,36,59,.1);
    border-radius:10px;
    padding:9px 13px;
    font-size:12px;
    font-weight:700;
}

.apphub-floating img{
    width:27px;
    height:27px;
    object-fit:contain;
}

.apphub-floating-docker{
    left:0;
    top:25%;
}

.apphub-floating-python{
    right:0;
    top:18%;
}

.apphub-floating-n8n{
    right:2%;
    bottom:15%;
}


/* =========================================================
   TECHNOLOGIES
========================================================= */

.apphub-technologies{
    background:#fff;
}

.apphub-family{
    display:grid;
    grid-template-columns:240px 1fr;
    gap:35px;
    padding:38px 0;
    border-top:1px solid var(--line);
}

.apphub-family:last-child{
    border-bottom:1px solid var(--line);
}

.apphub-family-title{
    display:flex;
    gap:15px;
    align-items:flex-start;
}

.apphub-family-title>span{
    display:flex;
    align-items:center;
    justify-content:center;
    width:42px;
    height:42px;
    flex:0 0 42px;
    background:#eff5dd;
    border-radius:8px;
    color:var(--green);
    font:800 12px Manrope,sans-serif;
}

.apphub-family-title strong{
    display:block;
    font:700 17px Manrope,sans-serif;
    line-height:1.35;
}

.apphub-family-title p{
    color:var(--muted);
    font-size:12px;
    line-height:1.55;
    margin:5px 0 0;
}

.apphub-tech-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:15px;
}

.apphub-tech-card{
    display:flex;
    gap:17px;
    align-items:center;
    background:#f8f9fb;
    border:1px solid #e5e9ee;
    border-radius:12px;
    padding:19px;
    transition:
        transform .2s,
        border-color .2s,
        box-shadow .2s;
}

.apphub-tech-card:hover{
    transform:translateY(-2px);
    border-color:#cdd8b6;
    box-shadow:0 9px 25px rgba(23,36,59,.05);
}

.apphub-tech-card>img{
    width:52px;
    height:52px;
    object-fit:contain;
    padding:7px;
    background:white;
    border-radius:9px;
    flex:0 0 52px;
}

.apphub-tech-card h3{
    font-size:17px;
    margin:0 0 4px;
}

.apphub-tech-card p{
    color:var(--muted);
    font-size:12px;
    line-height:1.55;
    margin:0;
}


/* =========================================================
   TROIS SOLUTIONS
========================================================= */

.apphub-solutions{
    background:#f5f7fa;
    padding:80px 0;
    border-top:1px solid var(--line);
    border-bottom:1px solid var(--line);
}

.apphub-solution-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:22px;
    margin-top:50px;
    align-items:stretch;
}

.apphub-solution-grid article{
    position:relative;
    display:flex;
    flex-direction:column;
    background:white;
    padding:30px;
    border:1px solid var(--line);
    border-radius:13px;
    box-shadow:0 8px 28px rgba(23,36,59,.035);
}

.apphub-solution-featured{
    border:2px solid var(--lime)!important;
}

.apphub-solution-badge{
    position:absolute;
    top:-15px;
    right:20px;
    padding:6px 12px;
    background:var(--lime);
    color:var(--ink);
    border-radius:20px;
    font-size:9px;
    font-weight:800;
    letter-spacing:1px;
}

.apphub-solution-icon{
    width:64px;
    height:64px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:#eff5dd;
    border-radius:12px;
    margin-bottom:20px;
}

.apphub-solution-icon img{
    width:43px;
    height:43px;
    object-fit:contain;
}

.apphub-solution-grid h3{
    font-size:27px;
    margin:8px 0 12px;
}

.apphub-solution-grid>article>p{
    min-height:83px;
    color:var(--muted);
    font-size:14px;
}

.apphub-solution-grid ul{
    flex:1;
    margin:15px 0 25px;
    padding:17px 0 0;
}

.apphub-solution-grid li{
    margin:8px 0;
    font-size:13px;
}

.apphub-solution-grid article>a{
    display:block;
    text-align:center;
    background:#17243b;
    color:white;
    padding:13px 10px;
    border-radius:6px;
    font-size:13px;
    font-weight:700;
}

.apphub-solution-featured>a{
    background:var(--lime)!important;
    color:var(--ink)!important;
}


/* =========================================================
   MADANET APPS PLANS
========================================================= */

.apphub-apps-plans{
    background:white;
}

.apphub-plans{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:22px;
    margin-top:50px;
}

.apphub-plans article{
    position:relative;
    padding:30px;
    border:1px solid var(--line);
    border-radius:12px;
    background:white;
    box-shadow:0 8px 28px rgba(23,36,59,.035);
}

.apphub-plan-featured{
    border:2px solid var(--lime)!important;
}

.apphub-plan-ribbon{
    position:absolute;
    top:-14px;
    right:18px;
    background:var(--lime);
    color:var(--ink);
    padding:5px 11px;
    border-radius:20px;
    font-size:10px;
    letter-spacing:1px;
    font-weight:800;
}

.apphub-plans h3{
    font-size:27px;
    margin:10px 0;
}

.apphub-price{
    font:800 29px Manrope,sans-serif;
    margin:18px 0 22px;
}

.apphub-price small{
    font:500 12px 'DM Sans',sans-serif;
    color:var(--muted);
}

.apphub-plans ul{
    margin:0 0 25px;
    padding-top:18px;
}

.apphub-plans li{
    margin:8px 0;
}

.apphub-plans article>a{
    display:block;
    text-align:center;
    background:var(--ink);
    color:white;
    border-radius:6px;
    padding:13px;
    font-size:13px;
    font-weight:700;
}

.apphub-plan-featured>a{
    background:var(--lime)!important;
    color:var(--ink)!important;
}


/* =========================================================
   DOCKER
========================================================= */

.apphub-docker{
    padding:85px 0;
    background:#17243b;
    color:white;
}

.apphub-docker-grid{
    display:grid;
    grid-template-columns:.9fr 1.1fr;
    gap:80px;
    align-items:center;
}

.apphub-docker .eyebrow{
    color:var(--lime);
}

.apphub-docker h2{
    margin-bottom:25px;
}

.apphub-docker p{
    color:#bec9d7;
    max-width:620px;
}

.apphub-docker .button{
    margin-top:15px;
}

.apphub-docker-visual{
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    min-height:370px;
    background:#213049;
    border:1px solid #35445b;
    border-radius:18px;
    padding:45px;
}

.apphub-docker-visual>img{
    width:160px;
    height:160px;
    object-fit:contain;
    background:white;
    padding:20px;
    border-radius:20px;
}

.apphub-docker-visual>div{
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    gap:8px;
    margin-top:30px;
}

.apphub-docker-visual span{
    background:#293a54;
    border:1px solid #41526c;
    padding:7px 13px;
    border-radius:30px;
    color:#dce4ed;
    font-size:12px;
}


/* =========================================================
   WORDPRESS / PRESTASHOP
========================================================= */

.apphub-cms{
    background:#fff;
}

.apphub-cms-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:22px;
}

.apphub-cms-grid article{
    display:grid;
    grid-template-columns:75px 1fr;
    gap:25px;
    padding:30px;
    border:1px solid var(--line);
    border-radius:12px;
    background:#f8f9fb;
}

.apphub-cms-grid article>img{
    width:65px;
    height:65px;
    padding:13px;
    object-fit:contain;
    border-radius:13px;
    background:#eff5dd;
}

.apphub-cms-grid h3{
    font-size:24px;
    margin:7px 0 10px;
}

.apphub-cms-grid p{
    color:var(--muted);
    font-size:14px;
}

.apphub-cms-grid a{
    color:var(--green);
    font-size:13px;
    font-weight:700;
}


/* =========================================================
   LOCAL
========================================================= */

.apphub-local{
    padding:80px 0;
    background:#f2f6e6;
}

.apphub-local-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:18px;
}

.apphub-local-grid article{
    background:white;
    padding:27px;
    border-radius:12px;
    border:1px solid #dce5c9;
}

.apphub-local-grid article>strong{
    display:flex;
    align-items:center;
    justify-content:center;
    width:45px;
    height:45px;
    border-radius:9px;
    background:#eff5dd;
    color:var(--green);
    font:800 12px Manrope,sans-serif;
}

.apphub-local-grid h3{
    font-size:18px;
    margin:18px 0 7px;
}

.apphub-local-grid p{
    margin:0;
    color:var(--muted);
    font-size:13px;
}


/* =========================================================
   FAQ
========================================================= */

.apphub-faq-grid{
    display:grid;
    grid-template-columns:.75fr 1.25fr;
    gap:75px;
    align-items:start;
}

.apphub-faq-intro{
    position:sticky;
    top:30px;
}

.apphub-faq-intro h2{
    margin-bottom:20px;
}

.apphub-faq-intro p{
    color:var(--muted);
}

.apphub-faq-list{
    border-top:1px solid var(--line);
}

.apphub-faq-list details{
    border-bottom:1px solid var(--line);
}

.apphub-faq-list summary{
    font-size:16px;
    padding:23px 0;
}

.apphub-faq-list details p{
    color:var(--muted);
    line-height:1.75;
    padding:0 35px 22px 0;
    margin:0;
}


/* =========================================================
   FINAL CTA
========================================================= */

.apphub-final{
    background:#17243b;
    color:white;
    text-align:center;
    padding:85px 0;
}

.apphub-final .eyebrow{
    color:var(--lime);
}

.apphub-final h2{
    font-size:48px;
}

.apphub-final p{
    max-width:650px;
    margin:22px auto;
    color:#bfcbda;
}

.apphub-final .actions{
    justify-content:center;
}

.apphub-final-link{
    color:white;
    font-size:14px;
    font-weight:600;
}


/* =========================================================
   RESPONSIVE
========================================================= */

@media(max-width:1000px){

    .apphub-hero-grid{
        gap:35px;
    }

    .apphub-family{
        grid-template-columns:1fr;
    }

    .apphub-solution-grid,
    .apphub-plans{
        gap:16px;
    }

    .apphub-local-grid{
        grid-template-columns:repeat(2,1fr);
    }
}


@media(max-width:800px){

    .apphub-hero-grid{
        grid-template-columns:1fr;
    }

    .apphub-hero-visual>img{
    display:block;
    width:100%;
    height:auto;
    object-fit:contain;
    filter:none;

    -webkit-mask-image:
        radial-gradient(
            ellipse at center,
            #000 0%,
            #000 70%,
            rgba(0,0,0,.9) 80%,
            rgba(0,0,0,.45) 91%,
            transparent 100%
        );

    mask-image:
        radial-gradient(
            ellipse at center,
            #000 0%,
            #000 70%,
            rgba(0,0,0,.9) 80%,
            rgba(0,0,0,.45) 91%,
            transparent 100%
        );
}

    .apphub-solution-grid,
    .apphub-plans{
        grid-template-columns:1fr;
        gap:30px;
    }

    .apphub-docker-grid,
    .apphub-faq-grid{
        grid-template-columns:1fr;
        gap:40px;
    }

    .apphub-faq-intro{
        position:static;
    }

}


@media(max-width:650px){

    .apphub-hero{
        padding:45px 0;
    }

    .apphub-hero-copy h1{
        font-size:39px;
        letter-spacing:-1.6px;
    }

    .apphub-floating{
        display:none;
    }

    .apphub-tech-grid,
    .apphub-cms-grid,
    .apphub-local-grid{
        grid-template-columns:1fr;
    }

    .apphub-cms-grid article{
        grid-template-columns:55px 1fr;
        gap:17px;
        padding:23px;
    }

    .apphub-cms-grid article>img{
        width:52px;
        height:52px;
        padding:10px;
    }

    .apphub-docker{
        padding:55px 0;
    }

    .apphub-docker-visual{
        min-height:280px;
        padding:30px;
    }

    .apphub-docker-visual>img{
        width:120px;
        height:120px;
    }

    .apphub-final{
        padding:65px 0;
    }

    .apphub-final h2{
        font-size:35px;
    }
}