/* =========================================
   CARION MINERAUX
   PAGE BON DE COMMANDE
   ========================================= */


/* RESET */

* {
    margin:0;
    padding:0;
    box-sizing:border-box;
}


body {

    background:#000;
    color:#fff;
    font-family:"Times New Roman", serif;
    line-height:1.5;

}


/* IMAGE HEADER */

.header {

    background:#000;
    text-align:center;

}


.header img {

    width:100%;
    max-width:930px;
    margin:auto;
    height:auto;

}


/* MENU */

.navbar {

    background:#444;
    padding:5px;
    position:sticky;
    top:0;
    z-index:1000;

}


.menu {

    list-style:none;
    display:flex;
    justify-content:center;
    flex-wrap:wrap;

}


.menu a {

    display:block;
    color:white;
    text-decoration:none;
    padding:16px 22px;
    font-size:22px;
    border-radius:10px;
    transition:
        transform .25s,
        background .25s,
        box-shadow .25s;

}


.menu a:hover {

    background:#777;
    transform:scale(1.05);
    box-shadow:
        0 0 10px rgba(255,255,255,.25);

}


/* MENU MOBILE */

#menu-toggle {

    display:none;

}


.hamburger {

    display:none;
    padding:14px 20px;
    font-size:24px;
    cursor:pointer;
    user-select:none;

}


/* CONTENEUR PRINCIPAL */

.conteneur {

    width:90%;
    max-width:1000px;
    margin:40px auto;

}



/* GRANDE CARTE */

.fiche {

    background:#111;
    border:1px solid #555;
    border-radius:12px;
    padding:30px;

    box-shadow:
        0 0 0 1px #333 inset,
        0 2px 8px rgba(0,0,0,.8),
        0 0 12px rgba(255,255,255,.08);

}


/* TITRE */

.fiche h1 {

    text-align:center;
    font-size:38px;
    margin-bottom:30px;

}



/* INTRODUCTION */

.intro {

    text-align:center;
    font-size:18px;
    margin-bottom:30px;

}



/* CONDITIONS */

.conditions {

    background:#181818;

    border:1px solid #444;

    border-radius:12px;

    padding:25px;

    margin-bottom:35px;

}



.conditions h2 {

    text-align:center;
    font-size:28px;
    margin-bottom:25px;

}



.condition {

    margin-bottom:25px;

}



.condition h3 {

    color:#ddd;
    font-size:22px;
    margin-bottom:10px;

}



.condition ul {

    margin-left:25px;

}



.condition p {

    font-size:17px;

}



/* TEXTE AVANT FORMULAIRE */

.bloc-texte {

    text-align:center;
    font-size:20px;
    margin:30px 0;

}



/* FORMULAIRE */

.formulaire {

    background:#181818;

    border-radius:12px;

    border:1px solid #555;

    padding:30px;

}



.ligne-formulaire {

    display:flex;

    gap:25px;

}



.champ {

    width:100%;

    margin-bottom:25px;

}



.champ label {

    display:block;

    font-size:20px;

    margin-bottom:8px;

}



input,
textarea {


    width:100%;

    background:#050505;

    color:white;

    border:1px solid #777;

    border-radius:10px;

    padding:14px;

    font-size:18px;

    font-family:"Times New Roman",serif;


}



input:focus,
textarea:focus {


    outline:none;

    border-color:#aaa;


}



textarea {

    min-height:260px;

    resize:vertical;

}



/* BOUTONS */


.boutons-formulaire {

    display:flex;

    justify-content:center;

    gap:20px;

}



.bouton {


    background:#fff;

    color:#000;

    border:none;

    padding:15px 35px;

    border-radius:10px;

    font-size:20px;

    font-weight:bold;

    cursor:pointer;

    transition:.2s;


}



.bouton:hover {


    background:#ccc;


}



.bouton.secondaire {


    background:transparent;

    color:#fff;

    border:1px solid #777;


}



.bouton.secondaire:hover {


    background:#333;


}



/* FOOTER */


.footer {

    text-align:center;

    padding:30px;

    color:#aaa;

    font-size:16px;

}



/* =====================================
   TABLETTES
   ===================================== */


@media(max-width:900px){


.ligne-formulaire {

    flex-direction:column;

}



.fiche {

    padding:20px;

}



}


/* =====================================
   TELEPHONES
   ===================================== */


@media(max-width:700px){


.conteneur {

    width:95%;

}



.fiche h1 {

    font-size:30px;

}



.intro {

    font-size:16px;

}



.conditions {

    padding:15px;

}



.formulaire {

    padding:15px;

}



.boutons-formulaire {

    flex-direction:column;

}



.bouton {

    width:100%;

}



.menu {

    display:none;

}



.hamburger {

    display:block;
    color:#fff;
    background:#666;

}



#menu-toggle:checked + .hamburger + .menu {

    display:flex;
    flex-direction:column;
    width:100%;

}



.menu a {

    text-align:center;
    border-top:1px solid #777;
    font-size:20px;

}



}

/* ==================================================
   RECHERCHE
================================================== */

.menu-recherche{

    position:relative;

    display:flex;

    align-items:center;

}

.search-toggle{

    background:none;

    border:none;

    color:#fff;

    padding:16px 20px;

    cursor:pointer;

    display:flex;

    align-items:center;

}

.search-toggle:hover{

    color:#bbb;

}

.search-toggle svg{

    display:block;

}

.search-box{

    display:none;

    position:absolute;

    top:100%;

    right:0;

    width:min(420px, 92vw);

    background:#111;

    border:1px solid #666;

    border-radius:10px;

    box-shadow:0 10px 25px rgba(0,0,0,.6);

    padding:14px;

    z-index:2000;

}

.search-box.ouvert{

    display:block;

}

#search-input{

    width:100%;

    padding:10px 12px;

    border-radius:8px;

    border:1px solid #666;

    background:#000;

    color:#fff;

    font-size:16px;

    font-family:"Times New Roman", serif;

}

.search-resultats{

    max-height:60vh;

    overflow-y:auto;

    margin-top:10px;

}

.search-resultat{

    display:flex;

    align-items:center;

    gap:12px;

    padding:8px;

    border-radius:8px;

    color:#fff;

}

.search-resultat:hover{

    background:#222;

}

.search-resultat img{

    width:50px;

    height:50px;

    object-fit:contain;

    background:#000;

    border-radius:6px;

    flex:none;

}

.search-resultat-texte{

    display:flex;

    flex-direction:column;

    font-size:14px;

    line-height:1.3;

}

.search-resultat-texte em{

    font-style:normal;

    color:#aaa;

    font-size:13px;

}

.search-resultat-texte b{

    color:#fff;

}

.search-vide{

    color:#aaa;

    font-size:14px;

    padding:8px;

}


@media (max-width:700px){

    .search-box{

        right:-10px;

    }

}
