:root {
    --navy: #06142f;
    --navy-2: #0b1d3d;
    --gold: #f2bd3d;
    --gold-light: #ffd76a;
    --white: #ffffff;
    --muted: #aebbd0;
    --line: rgba(255,255,255,.10);
    --card: rgba(255,255,255,.06);
    --shadow: 0 20px 60px rgba(0,0,0,.22);
}

* { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
    margin: 0;
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    color: var(--white);
    background: var(--navy);
}

a { color: inherit; text-decoration: none; }

.container {
    width: min(1120px, calc(100% - 32px));
    margin: 0 auto;
}

.site-header {
    position: absolute;
    inset: 0 0 auto;
    z-index: 10;
    padding: 22px 0;
}

.nav {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
}

.logo {
    font-size: 25px;
    font-weight: 800;
    letter-spacing: -.8px;
}

.logo-all { color: var(--gold); }
.logo-text { color: var(--white); }
.logo-domain { color: var(--gold); font-weight: 600; }

.pro-link {
    padding: 8px 10px;
    font-size: 11px;
    line-height: 1;
    white-space: nowrap;
    flex-shrink: 0;
}

.hero {
    min-height: 680px;
    display: flex;
    align-items: center;
    padding: 120px 0 80px;
    background:
        radial-gradient(circle at 75% 25%, rgba(242,189,61,.13), transparent 28%),
        linear-gradient(135deg, #06142f 0%, #0b1d3d 55%, #102b55 100%);
}

.hero-content { max-width: 900px; }

.eyebrow {
    display: inline-block;
    margin-bottom: 14px;
    color: var(--gold-light);
    font-size: 13px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1.4px;
}

h1 {
    max-width: 850px;
    margin: 0;
    font-size: clamp(42px, 7vw, 76px);
    line-height: .98;
    letter-spacing: -3px;
}

h1 span { color: var(--gold); }

.hero-text {
    max-width: 700px;
    margin: 24px 0 34px;
    color: var(--muted);
    font-size: 18px;
    line-height: 1.65;
}

.search-box {
    display: grid;
    grid-template-columns: 1.3fr 1fr auto;
    gap: 10px;
    padding: 10px;
    background: var(--white);
    border-radius: 18px;
    box-shadow: var(--shadow);
}

.field {
    padding: 8px 14px;
}

.field + .field {
    border-left: 1px solid #e5e8ee;
}

.field label {
    display: block;
    color: #718096;
    font-size: 12px;
    font-weight: 700;
    margin-bottom: 5px;
}

.field input {
    width: 100%;
    border: 0;
    outline: 0;
    font: inherit;
    color: #152238;
    background: transparent;
    font-size: 15px;
}

.search-box button,
.button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 0;
    border-radius: 13px;
    padding: 0 24px;
    min-height: 58px;
    background: var(--gold);
    color: #101a2d;
    font-weight: 800;
    cursor: pointer;
}

.categories {
    padding: 90px 0;
    background: #f7f9fc;
    color: #0b1830;
}

.section-heading h2,
.pro-card h2 {
    margin: 0;
    font-size: clamp(30px, 5vw, 46px);
    letter-spacing: -1.5px;
}

.category-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 14px;
    margin-top: 30px;
}

.category-card {
    display: flex;
    align-items: center;
    gap: 14px;
    min-height: 92px;
    padding: 18px;
    background: var(--white);
    border: 1px solid #e7ebf2;
    border-radius: 16px;
    box-shadow: 0 8px 30px rgba(15,35,65,.05);
    transition: transform .2s ease, box-shadow .2s ease;
}

.category-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 14px 35px rgba(15,35,65,.10);
}

.category-card span { font-size: 27px; }
.category-card strong { font-size: 15px; }

.pro-section {
    padding: 80px 0;
    background: var(--navy-2);
}

.pro-card {
    display: grid;
    grid-template-columns: 1fr 300px;
    gap: 40px;
    align-items: center;
    padding: 42px;
    border: 1px solid var(--line);
    border-radius: 24px;
    background: rgba(255,255,255,.045);
}

.pro-card p {
    max-width: 650px;
    color: var(--muted);
    line-height: 1.7;
}

.price {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

.price strong { font-size: 48px; color: var(--gold); }
.price span { color: var(--muted); }
.price small { margin: 8px 0 18px; color: var(--muted); }
.price .button { min-height: 48px; }

.site-footer {
    padding: 35px 0;
    background: #040d20;
    color: var(--muted);
    font-size: 14px;
}

.footer-logo {
    color: var(--white);
    font-size: 21px;
    font-weight: 800;
}

.footer-logo span { color: var(--gold); }
.copyright { margin-top: 24px; font-size: 12px; }

@media (max-width: 820px) {
    .hero { min-height: 720px; }
    .search-box { grid-template-columns: 1fr; padding: 12px; }
    .field + .field { border-left: 0; border-top: 1px solid #e5e8ee; }
    .search-box button { width: 100%; }
    .category-grid { grid-template-columns: repeat(2, 1fr); }
    .pro-card { grid-template-columns: 1fr; padding: 30px; }
}

@media (max-width: 520px) {
    .container { width: min(100% - 24px, 1120px); }
    .site-header { padding: 16px 0; }
    .logo { font-size: 21px; }
    .pro-link { padding: 8px 11px; font-size: 12px; }
    h1 { font-size: 46px; letter-spacing: -2px; }
    .hero-text { font-size: 16px; }
    .category-grid { grid-template-columns: 1fr; }
    .category-card { min-height: 72px; }
    .pro-card { padding: 24px; }
}
/* ================================
   RECHERCHE PAR ACTIVITÉ
================================ */

.activity-section{
    margin-top:-260px;
    padding:28px 20px 70px;
    background:transparent;
    position:relative;
    z-index:2;
}

.activity-section .container{
    width:min(1180px,100%);
    margin:0 auto;
}

.activity-heading{
    display:flex;
    align-items:center;
    gap:18px;
    margin:0 0 24px;
}

.activity-heading::before,
.activity-heading::after{
    content:"";
    height:1px;
    background:rgba(255,255,255,.15);
    flex:1;
}

.activity-heading h2{
    margin:0;
    color:#fff;
    font-size:22px;
    font-weight:700;
    letter-spacing:.3px;
    text-transform:uppercase;
    white-space:nowrap;
}

.activity-heading p{
    display:none;
}


/* GRILLE */

.activity-grid{
    display:grid;
    grid-template-columns:repeat(6,1fr);
    gap:14px;
}


/* CARTE */

.activity-card{
    position:relative;
    min-height:126px;
    padding:18px 14px;

    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;

    text-align:center;
    text-decoration:none;
    color:#fff;

    background:rgba(255,255,255,.035);
    border:1px solid rgba(255,255,255,.10);
    border-radius:14px;

    transition:
        transform .2s ease,
        background .2s ease,
        border-color .2s ease,
        box-shadow .2s ease;
}

.activity-card:hover{
    transform:translateY(-3px);
    background:rgba(255,255,255,.065);
    border-color:rgba(216,171,56,.45);
    box-shadow:0 8px 25px rgba(0,0,0,.18);
}


/* ICÔNE */

.activity-icon{
    display:flex;
    align-items:center;
    justify-content:center;

    width:42px;
    height:42px;
    margin-bottom:10px;

    font-size:24px;
    line-height:1;
}


/* TITRE */

.activity-name{
    display:block;

    max-width:170px;

    color:#fff;
    font-size:17px;
    line-height:1.25;
    font-weight:700;
}


/* ON SUPPRIME LES EXEMPLES */

.activity-examples{
    display:none !important;
}


/* PETITE FLÈCHE */

.activity-card::after{
    content:"›";

    position:absolute;
    right:11px;
    bottom:9px;

    font-size:18px;
    line-height:1;

    color:rgba(255,255,255,.45);

    transition:.2s ease;
}

.activity-card:hover::after{
    color:#d8ab38;
    transform:translateX(2px);
}


/* ================================
   TABLETTE
================================ */

@media(max-width:1000px){

    .activity-grid{
        grid-template-columns:repeat(3,1fr);
    }

    .activity-card{
        min-height:125px;
    }

}


/* ================================
   MOBILE
================================ */

@media(max-width:650px){

    /* Logo */
    .search-brand{
        letter-spacing:-2px;
        margin-bottom:25px;
    }

    /* Slogan sous le logo */
    .search-slogan{
        font-size:14px;
        padding-right:45px;
        margin:-5px 0 25px;
        text-align:right;
        white-space:nowrap;
    }

    /* Champ de recherche */
    .main-search-input{
        height:48px;
        font-size:16px;
    }

    /* Activités */
    .activity-section{
        margin-top:-180px;
        padding:25px 12px 50px;
    }

    .activity-heading{
        gap:10px;
        margin-bottom:18px;
    }

    .activity-heading h2{
        font-size:17px;
    }

    .activity-grid{
        grid-template-columns:repeat(2,1fr);
        gap:10px;
    }

    .activity-card{
        min-height:112px;
        padding:14px 9px;
        border-radius:12px;
    }

    .activity-icon{
        width:36px;
        height:36px;
        margin-bottom:8px;
        font-size:21px;
    }

    .activity-name{
        font-size:15px;
        line-height:1.25;
    }

    .activity-card::after{
        right:8px;
        bottom:7px;
        font-size:16px;
    }

}