/* =======================
   Polices personnalisées
   ======================= */
@font-face {
    font-family: 'Bitter';
    src: url('fonts/Bitter-Black.woff2') format('woff2'),
        url('fonts/Bitter-Black.woff') format('woff');
    font-weight: 900;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Bitter';
    src: url('fonts/Bitter-SemiBoldItalic.woff2') format('woff2'),
        url('fonts/Bitter-SemiBoldItalic.woff') format('woff');
    font-weight: 600;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Bitter';
    src: url('fonts/Bitter-SemiBold.woff2') format('woff2'),
        url('fonts/Bitter-SemiBold.woff') format('woff');
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Bitter';
    src: url('fonts/Bitter-Light.woff2') format('woff2'),
        url('fonts/Bitter-Light.woff') format('woff');
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Bitter';
    src: url('fonts/Bitter-ExtraLightItalic.woff2') format('woff2'),
        url('fonts/Bitter-ExtraLightItalic.woff') format('woff');
    font-weight: 200;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Bitter';
    src: url('fonts/Bitter-ThinItalic.woff2') format('woff2'),
        url('fonts/Bitter-ThinItalic.woff') format('woff');
    font-weight: 100;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Bitter';
    src: url('fonts/Bitter-Thin.woff2') format('woff2'),
        url('fonts/Bitter-Thin.woff') format('woff');
    font-weight: 100;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Bitter';
    src: url('fonts/Bitter-LightItalic.woff2') format('woff2'),
        url('fonts/Bitter-LightItalic.woff') format('woff');
    font-weight: 300;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Bitter';
    src: url('fonts/Bitter-ExtraLight.woff2') format('woff2'),
        url('fonts/Bitter-ExtraLight.woff') format('woff');
    font-weight: 200;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Bitter';
    src: url('fonts/Bitter-ExtraBoldItalic.woff2') format('woff2'),
        url('fonts/Bitter-ExtraBoldItalic.woff') format('woff');
    font-weight: bold;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Bitter';
    src: url('fonts/Bitter-Medium.woff2') format('woff2'),
        url('fonts/Bitter-Medium.woff') format('woff');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Bitter';
    src: url('fonts/Bitter-Italic.woff2') format('woff2'),
        url('fonts/Bitter-Italic.woff') format('woff');
    font-weight: normal;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Bitter';
    src: url('fonts/Bitter-Bold.woff2') format('woff2'),
        url('fonts/Bitter-Bold.woff') format('woff');
    font-weight: bold;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Bitter';
    src: url('fonts/Bitter-MediumItalic.woff2') format('woff2'),
        url('fonts/Bitter-MediumItalic.woff') format('woff');
    font-weight: 500;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Bitter';
    src: url('fonts/Bitter-Regular.woff2') format('woff2'),
        url('fonts/Bitter-Regular.woff') format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Bitter';
    src: url('fonts/Bitter-BlackItalic.woff2') format('woff2'),
        url('fonts/Bitter-BlackItalic.woff') format('woff');
    font-weight: 900;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Bitter';
    src: url('fonts/Bitter-BoldItalic.woff2') format('woff2'),
        url('fonts/Bitter-BoldItalic.woff') format('woff');
    font-weight: bold;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Bitter';
    src: url('Bitter-ExtraBold.woff2') format('woff2'),
        url('Bitter-ExtraBold.woff') format('woff');
    font-weight: bold;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Seravek';
    src: url('fonts/Seravek-LightItalic.woff2') format('woff2'),
        url('fonts/Seravek-LightItalic.woff') format('woff');
    font-weight: 300;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Seravek';
    src: url('fonts/Seravek-Bold.woff2') format('woff2'),
        url('fonts/Seravek-Bold.woff') format('woff');
    font-weight: bold;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Seravek';
    src: url('fonts/Seravek-BoldItalic.woff2') format('woff2'),
        url('fonts/Seravek-BoldItalic.woff') format('woff');
    font-weight: bold;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Seravek';
    src: url('fonts/Seravek-ExtraLight.woff2') format('woff2'),
        url('fonts/Seravek-ExtraLight.woff') format('woff');
    font-weight: 200;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Seravek';
    src: url('fonts/Seravek-Italic.woff2') format('woff2'),
        url('fonts/Seravek-Italic.woff') format('woff');
    font-weight: normal;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Seravek';
    src: url('fonts/Seravek.woff2') format('woff2'),
        url('fonts/Seravek.woff') format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Seravek';
    src: url('fonts/Seravek-ExtraLightItalic.woff2') format('woff2'),
        url('fonts/Seravek-ExtraLightItalic.woff') format('woff');
    font-weight: 200;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Seravek';
    src: url('fonts/Seravek-Light.woff2') format('woff2'),
        url('fonts/Seravek-Light.woff') format('woff');
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Seravek';
    src: url('fonts/Seravek-MediumItalic.woff2') format('woff2'),
        url('fonts/Seravek-MediumItalic.woff') format('woff');
    font-weight: 500;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Seravek';
    src: url('fonts/Seravek-Medium.woff2') format('woff2'),
        url('fonts/Seravek-Medium.woff') format('woff');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}


/* =======================
   Polices et variables
   ======================= */
/* Si besoin, ajoutez ici des :root variables pour couleurs, tailles, etc. */

/* =======================
   Base & reset
   ======================= */
:root {
    --main: #1e365a;
    --secondary: #d5573b;
}
html {
    box-sizing: border-box;
    font-size: 16px;
    scroll-behavior: smooth;
    height: 100%;
}
  
*, *::before, *::after {
    box-sizing: inherit;
}
  
body {
    margin: 0;
    padding: 0;
    height: 100%;
    font-family: 'Bitter', serif;
    color: #333;
    background-color: #fff;
    line-height: 1.6;
}
  
p {
    font-size: 15px;
    color: var(--main);
}
a {
    text-decoration: none;
    color: var(--main);
    &:hover {
        color: var(--secondary);
        text-decoration: underline;
    }
}
  
/* =======================
    Typographie
    ======================= */
h1, h3 {
    font-family: 'Seravek';
    color: var(--main);
    margin: 0;
    padding: 0;
}
  
h1 {
    text-transform: uppercase;
    line-height: 0.8;
    text-align: right;
    font-size: 50px;
    text-wrap: nowrap;
    font-weight: 600;
}
  
h2 {
    font-style: italic;
    color: var(--main); 
    font-size: 30px;
    line-height: 1;
    font-weight: 600;
    color: var(--main);
    /* margin-top: 60px; */
}
h2.small, h3.small {
    font-size: 18px;
    border-bottom: 1px solid var(--main);
    margin-bottom: 10px;
}
  
h3 {
    font-size: 20px;
    line-height: 1;
    font-family: 'Bitter', serif;
    font-weight: 700;
    font-style: italic;
}

p.italic-h2 {
    margin-top: 0;
    font-style: italic;
}
  
/* =======================
    Scroll behavior
    ======================= */
main.scroll-container {
    height: 100vh;
    overflow-y: scroll;
    scroll-snap-type: y mandatory;
    scroll-behavior: smooth;
}

main#mentions-legales{
    padding: 20px 18%;
    h1{
        text-align: left;
        margin-bottom: 20px;
        a{
            color: var(--secondary);
            &:hover{
                color: var(--main);
            }
        }
    }
}
  
header,
#main-1,
#main-2,
#main-3, 
footer {
    scroll-snap-align: start;
    height: auto;
    padding: 50px 0;
}
/* main {
    background-image: url(images/bg-trees-1920.webp);
    background-repeat: no-repeat;
    background-position: bottom;
    background-size: contain;
} */

/* =======================
    Header
    ======================= */
header {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    margin: 0 20% 0 15%;
    position: relative;
}
  
header p, header h2 {
    margin-left: 20%;
    position: relative;        
    
}
header p:not(.list) {
       max-width: 50%;
}
header p.list {
    max-width: 65%;
}
  
header p.slogan {
    font-size: 20px;
    font-style: italic;
    font-weight: 400;
    margin-bottom: 100px;
    margin-left: 20%;
    position: relative;
    max-width: 50%;
    font-family: "Seravek";
}
  
header p:not(.slogan) {
    font-size: 15px;
    font-family: "Seravek";
}
  
/* Trait horizontal avant p.line */
/* p.line::before {
    content: "";
    display: inline-block;
    vertical-align: middle;
    width: calc(40% - 20px);
    height: 4px;
    background-color: var(--main);
    margin-right: 0.75em;
    position: absolute;
    left: -40%;
    top: 5px;
} */
  
/* ============================
FOOTER
============================ */
footer {
    display: flex;
    justify-content: space-between;
    gap: 30px;
    padding: 50px 15%;
    position: relative;
    background-color: var(--main);
    > div * {
        color: #fff;
    }
    .footer-logo {
        h2 {
            color: #fff;
            text-align: right;
            width: fit-content;
            font-family: "Seravek";
            text-transform: uppercase;
            font-style: normal;

        }
        p.slogan {
            margin-left: 30%;
            font-family: "Seravek";
            font-style: italic;
        }
    }
    a, p:not(.slogan), li {
            font-family: "Seravek";
        }
    #footer-contact {
        display: flex;
        justify-content: space-between; 
        gap: 50px;
        h2 {
           width: 100%;
           font-size: 20px;
           color: #fff;
        }
        > div {
            display: flex;
            flex-direction: column;
            &:first-child {
                width: 200px;
                min-width: 200px;
            }
            &:nth-child(2) {
                flex-grow: 1;
            }
            h3 {
                font-size: 16px;
                font-weight: 500;
                + p {
                    margin-top: 20px;
                }
            }
            p {
                margin: 0;
                margin-top: 5px;
            }
            a {
                margin-top: 20px;
                font-family: "Seravek";
                &:hover {
                    color: var(--secondary);
                }
            }
            ul {
                padding-left: 0;
                font-size: 14px;
                margin: 0;
                list-style: none;
            }
        }
    }
    div#legal {
        position: absolute;
        bottom: 0;
        right: 15%;
        display: flex;
        gap: 10px;
        align-self: center;
        * {
            color: #fff;
            margin: 0;
            font-size: 14px;
        }
    }
}

/* =======================
    Sections main-1 / main-2 / main-3
    ======================= */
#main-1, #main-2, #main-3 {
    display: flex;
    flex-direction: column;
    margin: 0 20% 0 15%;
    position: relative;
    > *:not(iframe) {
        margin-left: 20%;
    }
}


/* #main-1{
    background: url(dessin.png);
    background-size: 425px;
    background-repeat: no-repeat;
    background-position: right;
} */
 #main-1 {
    .line {
        > div {
            display: flex;
            gap: 20px;
            margin-top: 30px;
            p{
                max-width: 100%;
                margin: 0;
                font-family: "Seravek";
            }
        }
        .img-part {
            position: relative;
            width: 40%; padding-top: 18px;
            img {
                position: absolute;
                height: calc(100% - 18px);
                width: 100%;
                object-fit: cover;
            }
            small {
                position: absolute;
                bottom: 0;
                left: 2px;
                width: 100%;
                z-index: 2;
                color: #fff;
                font-size: 12px;
            }


        }
        .text-part {
            width: 60%;
        }
    }
 }
 #main-3 {
    h2 {
        border-bottom: 1px solid var(--main);
        margin-bottom: 5px;
    }
 }

div.line{
    position: relative;
}
  
/* Contenu avec ligne décorative */
/* div.line h3,
div.line p {
    margin-left: 20%;
    position: relative;
    max-width: 50%;
} */
  
/* div.line p {
    margin-top: 5px;
    margin-bottom: 60px;
} */
  
/* Ligne avant .line */
/* div.line::before {
    content: "";
    display: inline-block;
    vertical-align: middle;
    width: calc(20% - 20px);
    height: 4px;
    background-color: var(--main);
    position: absolute;
    left: 0;
    top: 5px;
} */
  
  
/* =======================
    Icônes top-right
    ======================= */
.top-icons {
    position: fixed;
    top: 60px;
    right: 5%;
    display: flex;
    flex-direction: column;
    gap: 1rem;
    z-index: 999;
    .fa-envelope:before {
        font-size: 37px;
    }
    .fa-instagram:before {
        font-size: 40px;
    }
}
  
.top-icons a {
    color: var(--main);
    font-size: 35px;
    text-decoration: none;
    text-align: center;
    transition: color 0.3s ease;
    &:hover {
        color: var(--secondary);
    }
}
#main-2 {
    h2.italic-h2 {
        margin-bottom: 20px;
        margin-top: 30px;
        font-weight: 600;
    }
}
.links-container {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 8px 2%;
    padding-left: 0;
    a, li {
        width: 48%;
        display: block;
        font-family: "Seravek";
    }
    li {
        color: var(--main);
    }
}
iframe {
    height: 800px;
}
.logo-backs {
    background-color: #fff !important;
    background-image: none !important;
}

@media(max-width: 1200px) {
    header  {
        margin: 0 10%;
        > *:not(h1) {
            margin-left: 15%;
        }
    }
    #main-1, #main-2, #main-3  {
        margin: 0 10%;
        > *:not(iframe) {
            margin-left: 15%;
        }
    }
    
    header p, div.line p{
        max-width: 100%;
    }
    /* p.line::before {
        width: calc(25% - 20px);
        left: -25%;
    } */
    iframe {
        height: 600px;
    }
    footer {
        padding: 50px 8%;
    }
    #main-1 {
        .line > div {
            flex-direction: column;
            .text-part {
                width: 100%;
            }
            .img-part {
                width: 100%;
                height: 180px;
            }
        }
        
    }
}
 
@media(max-width: 1024px){
    /* main {
        background-image: url(images/bg-trees-1024.webp);
    } */
    header  {
        margin: 0 5%;
        > *:not(h1) {
            margin-left: 0;
        }
    }
    #main-1, #main-2, #main-3  {
        margin: 0 5%;
        > *:not(iframe) {
            margin-left: 0;
        }
    }
    header {
        margin-bottom: 0;
    }
    header p, div.line h3, div.line p {
        max-width: 80%;
    }
    #main-1{
        background: none;
    }
    header p:not(.list), header p.list {
        max-width: 100%;
    }
}
@media(max-width:900px) {
    header, #main-1, #main-2, #main-3 {
        margin: 0 8%;
    }
    #main-2 {
       .links-container {
            margin-left: 15px;
            margin-right: 15px;
        }
        h2.italic-h2 {
            padding-left: 15px;
        } 
    }
    /* p.line::before {
        width: calc(20% - 20px);
        left: -20%;
    }
    div.line::before {
        width: calc(15% - 20px);
    } */
    footer {
        flex-direction: column;
        .footer-logo {
            max-width: 450px;
        }
        #footer-contact {
            flex-wrap: wrap;
            > div, > div:first-child {
                border-top: 1px solid #fff;
                width: 100%;
                padding-top: 20px;
            }
            >div:last-child {
                padding-bottom: 10px;
                border-bottom: 1px solid #fff;;
            }
        } 
        #legal {
            padding-left: 30px;
        }
    } 

    
}   
@media(max-width: 768px){
    /* main {
        background-image: url(images/bg-trees-768.webp);
    } */
    
    h1{
        font-size: 40px;
    }
    h2{
        margin-top: 30px;
    }
    /* header p, div.line h3, div.line p {
        margin-left: 0px;
        max-width: 100%;
    } */
    /* p.line::before, div.line::before {
        width: 70px;
        left: -120px;
    } */
    div.line p{
        font-size: 14px;
    }
    .top-icons {
        right: 15px;
        .fa-envelope:before {
            font-size: 27px;
        }
        .fa-instagram:before {
            font-size: 30px;
        }
    }
}
@media(max-width: 650px) {
    /* main {
        background-image: url(images/bg-trees-650.webp);
    } */
    main.scroll-container {
        height: fit-content;
    }
    header {
        margin: 60px 8% 0 8%;
    }
    p.line::before {
        width: calc(20% - 10px);
        left: -20%;
    }
    div.line::before {
        width: calc(15% - 10px);
    }
    #main-1, #main-2, #main-3 {
        padding-top: 0;
    }
    #main-2 {
        h2.italic-h2 {
            margin-bottom: 20px;
            padding-left: 0;
        }
        .links-container {
            flex-direction: column;
            margin-left: 20px;
            a {
                width: 100%;
            }
        } 
        /* #owners {
            padding-bottom: 20px;
            border-bottom: 1px solid var(--main);
            margin-bottom: 60px;
        } */
    }
    
}

@media(max-width: 480px){
    h1{
        font-size: 26px;
    }
    h2 {
        font-size: 24px;
    }
    header p.slogan {
        font-size: 18px;
    }
}