body {
    background:#F0E7E0;
}

/* HEADER */
header.header {
    color:#FFFBF0 !important;
}

.page-id-799 header.header, 
.page-template-template-contact header.header, 
.page-template-template-page header.header, 
.woocommerce-page header.header {
    color:#000 !important;
}

@media screen and (min-width: 992px) {
    header.header .cart {        
        background:#F0E7E0 !important;
    }
}

@media screen and (min-width: 992px) {
    .page-id-799 header.header .cart, 
    .page-template-template-contact header.header .cart, 
    .page-template-template-page header.header .cart, 
    .woocommerce-page header.header .cart {
        background:#000 !important;
    }
}

header.header .header-bar .logo svg {
    width: 205px;
    height: 31px;
}

.page-id-799 header.header svg path, 
.page-template-template-contact header.header svg path, 
.page-template-template-page header.header svg path, 
.woocommerce-page header.header svg path,
.page-id-799 header.header svg rect, 
.page-template-template-contact header.header svg rect, 
.page-template-template-page header.header svg rect, 
.woocommerce-page header.header svg rect {
    fill:#000 !important;
}

/* CLIENTS */
.trust-content h2 {
    color: #431E11 !important;
}

@media screen and (min-width: 992px) {
    .trust-content h2 {
        font-size: 2.2rem;
    }
}

.trust {
    background:#F0E7E0 !important;
    padding-top: 50px !important;
    padding-bottom:30px !important
}

@media screen and (min-height: 800px) {
    .trust {
        padding-bottom:50px !important
    }
}

.trust .swiper .swiper-wrapper {
    margin-top: 30px !important;
}

@media (min-width: 992px) {

}

.trust .swiper .swiper-wrapper .swiper-slide {
    max-width: 150px !important;
}

.trust .swiper .swiper-wrapper .slide-content img {
    //height: 100% !important;
    //width: auto !important;
    //max-width: auto !important;
}

/* PRODUCTS */
[data-router-view=home] .catalogue-hp {
    padding-top:150px;
}

.button--flat:not(:hover) {
    background-color:#421E11 !important;
}

.button--flat {
    border-color:#421E11 !important;
}


/* VALUES */
[data-router-view=home] .values {
    padding-bottom:80px !important;
}

@media screen and (min-width: 992px) {
    [data-router-view=home] .values {
        padding-bottom:150px !important;
    }
}

[data-router-view=home] .values .value h3 {
    color: #421E11 !important;
}

[data-router-view=home] .values .value .value-content .slogan {
    text-transform: uppercase;
    font-weight: 600;
    font-size: 16px;
    color: #421E11;
}

[data-router-view=home] .values .value .value-content {
    width: 100%;
}

[data-router-view=home] .values .value .value-content.--cream {
    background: #F0E7E0;
}

[data-router-view=home] .values .value .value-content.--cream .txt h4 {
    color: #A27A68;
}

[data-router-view=home] .values .value .value-content.--brun {
    background: #A27A68;
}

[data-router-view=home] .values .value .value-content.--brun .txt h4 {
    color: #F0E7E0;
}

[data-router-view=home] .values .value .value-content.--brun .button {
    background: #F0E7E0 !important;
    color:#421E11 !important;
    border-color: #421E11 !important;
}

[data-router-view=home] .values .value .value-content.--brun .button:hover {
    background: #421E11 !important;
    color:#F0E7E0 !important;
    border-color: #421E11 !important;
}

[data-router-view=home] .values .value .value-content:not(:hover) .txt p {
    color:#421E11 !important;
}

@media screen and (max-width: 991px) {
    [data-router-view=home] .values .value { 
        height:300px !important;
    }

    [data-router-view=home] .values .value:first-child {
        border-top: 1px solid #421E11 !important;
        border-bottom: 1px solid #421E11 !important;
        border-right: 0px !important;
        border-left: 0px !important;
    }

    [data-router-view=home] .values .value:last-child {
        border-top:0px !important;
        border-bottom: 1px solid #421E11 !important;
        border-right: 0px !important;
        border-left: 0px !important;   
    }

    [data-router-view=home] .values .value .value-content .slogan {
        margin-top:50px;
    }
}

@media screen and (min-width: 992px) {
    [data-router-view=home] .values .value {
        width: 50% !important;
    }

    [data-router-view=home] .values .value:first-child {
        border-top: 1px solid #421E11 !important;
        border-bottom: 1px solid #421E11 !important;
        border-right: 1px solid #421E11 !important;
    }

    [data-router-view=home] .values .value:last-child {
        border-top: 1px solid #421E11 !important;
        border-bottom: 1px solid #421E11 !important;
    }

    [data-router-view=home] .values .value .value-content h3 {
        font-size: 1.7rem !important;
    }

    [data-router-view=home] .values .value .value-content:not(:hover) .txt {
        -webkit-transform: translate3d(0, 160px, 0) !important;
        transform: translate3d(0, 160px, 0) !important;
    }

    [data-router-view=home] .values .value .value-content .txt p {
       transition: .3s;
    }

    [data-router-view=home] .values .value .value-content.--brun:hover .txt p {
        color:#F0E7E0 !important;
    }

    [data-router-view=home] .values .value .value-content.--cream:hover .txt p {
        color:#A27A68 !important;
    }

    [data-router-view=home] .values .value .value-content .slogan {
        opacity: 0;
        margin-top: 20px;
        -webkit-transform: translate3d(0, 40px, 0) scaleY(.9);
        transform: translate3d(0, 40px, 0) scaleY(.9);
        -webkit-transform-origin: 50% 100%;
        transform-origin: 50% 100%;
        transition: opacity .3s
        cubic-bezier(.165, .84, .44, 1) 0s, -webkit-transform .5s 
        cubic-bezier(.165, .84, .44, 1) 0s;
        transition: transform .5s 
        cubic-bezier(.165, .84, .44, 1) 0s, opacity .3s 
        cubic-bezier(.165, .84, .44, 1) 0s;
        transition: transform .5s 
        cubic-bezier(.165, .84, .44, 1) 0s, opacity .3s 
        cubic-bezier(.165, .84, .44, 1) 0s, -webkit-transform .5s 
        cubic-bezier(.165, .84, .44, 1) 0s;
    }

    [data-router-view=home] .values .value .value-content:hover .slogan {
        opacity: 1;
        -webkit-transform: translate3d(0, 0px, 0) scaleY(.9);
        transform: translate3d(0, 0px, 0) scaleY(.9);
        transition-delay: .1s !important;
    }

    [data-router-view=home] .values .value .value-content:hover .button {
        transition-delay: .2s !important;
    }
}

@media screen and (min-width: 1200px) {
    [data-router-view=home] .values .value .value-content h3 {
        font-size: 2.2rem !important;
    }
}

@media screen and (min-width: 1400px) {
    [data-router-view=home] .values .value .value-content h3 {
        font-size: 2.5rem !important;
    }
}


/* FOOTER */
footer.footer .footer-content h3 {
    text-transform: lowercase !important;
}

footer.footer .footer-content h3::first-letter {
    text-transform: uppercase !important;
}

footer.footer .footer-content h3 br {
    display:none;
}

@media screen and (min-width: 992px) {
    footer.footer .footer-content h3 {
        font-size: 1.8rem !important;
    }

    footer.footer .footer-content h3 br {
        display:block;
    }
}

@media screen and (min-width: 1200px) {
    footer.footer .footer-content h3 {
        font-size: 2rem !important;
    }
}

@media screen and (min-width: 1800px) {
    footer.footer .footer-content h3 {
        font-size: 2.5rem !important;
    }
}

/* FOOTER NEWSLETTER */
footer .newsletter #email {
    border-bottom:2px solid #F0E7E0;
    padding:10px 10px 10px 0px;
    font-size: 16px;
    width: calc(100% - 10px);
}

footer .newsletter .button {
    margin-top:20px !important;
    border-radius: 0px !important;
    width: 100%;
    font-weight:500 !important;
    border: 1px solid #421E11 !important;
    font-size:16px !important;
}

footer .newsletter .button:not(:hover) {
    color:white !important;
}

footer .newsletter .button:hover {
    background:white !important;
}

footer .newsletter .mc4wp-response p {
    background:#F0E7E0;
    padding:10px 15px;
    font-size:14px;
    border-radius: 10px;
    margin-top:15px;
}

/* NEWSLETTER HOMEPAGE BLOCK */
.newsletter-home-block {
    background:#A27A68;
    padding-top:80px;
    padding-bottom:80px;
}

.newsletter-home-block h2, 
.newsletter-home-block h3 {
    text-align: center;
    color:#F5F0EA;
}

.newsletter-home-block h3 {
    text-transform: none;
    margin-top:30px;
}

.newsletter-home-block h3 br {
    display:none;
}

.newsletter-home-block form {
    max-width: 330px;
    margin: 30px auto 0 auto;
}

.newsletter-home-block #email {
    border-bottom:2px solid #F5F0EA;
    padding:10px 10px 10px 0px;
    font-size: 16px;
    width: calc(100% - 10px);
    color:#fff;
}

.newsletter-home-block #email::placeholder {
    color:#F5F0EA;
    opacity: 0.5;
}

.newsletter-home-block .button {
    margin-top:20px !important;
    border-radius: 0px !important;
    width: 100%;
    font-weight:500 !important;
    border: 1px solid #421E11 !important;
    font-size:16px !important;
}

.newsletter-home-block .button:not(:hover) {
    color:white !important;
}

.newsletter-home-block .button:hover {
    background:white !important;
}

.newsletter-home-block .mc4wp-response p {
    background:#F0E7E0;
    padding:10px 15px;
    font-size:14px;
    border-radius: 10px;
    margin-top:15px;
}

@media screen and (min-width: 992px) {
    .newsletter-home-block {
        padding-top:150px;
        padding-bottom:150px;
    }

    .newsletter-home-block h3 {
        margin-top:50px;
    }

    .newsletter-home-block form {
        margin-top:50px;
    }
}

@media screen and (min-width: 1075px) {
    .newsletter-home-block h3 br {
        display:block;
    }
}

/* CONTACT HOMEPAGE BLOCK */
.contact-home-block {
    margin-bottom:80px;
}

@media screen and (min-width: 992px) {
    .contact-home-block {
        margin-bottom:150px;
    }
}

.contact-home-block .text-container {
    margin-top:25px;
    max-width: 700px;
}

.contact-home-block .text-container p + p {
    margin-top:15px;
}

.contact-home-block .btn-container {
    margin-top:30px;
}

@media screen and (min-width: 992px) {
    .contact-home-block .btn-container {
        margin-top:50px;
    }
}

.contact-home-block .button.--brun {
    margin-left: 20px;
}

.contact-home-block .button.--brun:not(:hover) {
    background:#A27A68 !important;
    border-color: #A27A68 !important;
}

@media screen and (max-width: 767px) {
    .contact-home-block .btn-container {
        display:flex;
        flex-direction: column;
        align-items: flex-start;
    }

    .contact-home-block .button.--brun {
        margin-left:0px;
        margin-top:20px;
    }
}


/* PROJECTS */
[data-router-view=home] .projects-home-block .title {
    display: flex;
    justify-content: space-between;
    margin-bottom: 50px;
}

@media screen and (min-width: 992px) {
    [data-router-view=home] .projects-home-block .title {
        margin-bottom: 100px;
    }
}

@media screen and (max-width: 991px) {
    [data-router-view=home] .projects-home-block .title .button {
        display:none;
    }
}

.projects-home-block {
    margin-bottom:80px;
}

@media screen and (min-width: 992px) {
    .projects-home-block {
        margin-bottom:150px;
    }
}

.grid-gallery {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  grid-template-rows: 1fr 1fr; /* 2 lignes */
  gap: 20px;
  //height: 600px; /* total height */
}

.grid-gallery .paysage,
.grid-gallery .portrait {
    border:1px solid #707070;
    position:relative;
}

.grid-gallery .img-hover {
    position:absolute;
    top: 0;
    left: 0;
    z-index: 50;
    height: 100%;
    width: 100%;
    object-fit: cover;
    opacity:0;
    transition: all .2s;
}

.grid-gallery .paysage:hover .img-hover,
.grid-gallery .portrait:hover .img-hover{
    opacity: 1;
}

/* Colonne 1 en flex column */
.grid-gallery .col1 {
  display: flex;
  flex-direction: column;
  grid-column: 1 / 2;
  grid-row: 1 / 3; /* occupe 2 lignes */
  gap: 20px;
}

/* Les paysages prennent la moitié de la hauteur */
.grid-gallery .col1 .paysage {
  flex: 1;
  overflow: hidden;
}

.grid-gallery .col1 .portrait {
  flex: 2;
  overflow: hidden;
}

/* Les portraits des colonnes 2 et 3 */
.grid-gallery > .portrait:not(.col1 .portrait) {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* Images dans .col1 */
.grid-gallery .col1 img, 
.grid-gallery > .portrait img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

@media (max-width: 767px) {
  .grid-gallery {
    display: grid;
    grid-template-columns: 1fr 1fr; /* 2 colonnes */
    grid-template-rows: auto auto auto; /* 3 lignes */
    gap: 20px;
  }

  /* Colonne 1 : occupe 1ère colonne, 2 lignes */
  .grid-gallery .col1 {
    grid-column: 1 / 2;
    grid-row: 1 / 3;
  }

  /* Colonne 2 (premier portrait en dehors de col1) : 2e colonne, ligne 1 */
  .grid-gallery > .portrait:nth-child(2) {
    grid-column: 2 / 3;
    grid-row: 1 / 2;
  }

  /* Colonne 2 (deuxième portrait hors col1) : 2e colonne, ligne 2 */
  .grid-gallery > .portrait:nth-child(3) {
    grid-column: 2 / 3;
    grid-row: 2 / 3;
  }

  /* Colonne 3 (dernier deux portraits) : on veut qu'ils soient côte à côte sous les autres */

  /* Pour les 4e et 5e portraits */
  .grid-gallery > .portrait:nth-child(4),
  .grid-gallery > .portrait:nth-child(5) {
    grid-row: 3 / 4;
  }

  /* Organiser ces 2 portraits côte à côte dans la ligne 3 */
  .grid-gallery > .portrait:nth-child(4) {
    grid-column: 1 / 2;
  }

  .grid-gallery > .portrait:nth-child(5) {
    grid-column: 2 / 3;
  }
}


/* HOMEPAGE HERO */
.--homepage.hero {
    background:#A27A68;
}

@media (max-width: 991px) {
    .--homepage.hero {
        height: auto !important;
        margin-top:-71px;
        padding-top: 150px;
    }
}

.rowed {
    display:flex;
    flex-direction: column;
    //justify-content: center;
}

@media (min-width: 992px) and (max-width: 1199px) {
    .rowed h1 {
        font-size: 2.5rem !important;
    }
}

[data-router-view=home] .hero {
    min-height: 420px !important;
}

@media (min-width: 992px) {
    [data-router-view=home] .hero {
        height: calc(100vh - 250px) !important;
    }

    .rowed {
        align-items: center;
        height: 100%;
        flex-direction: row;
    }
}

.rowed .--col {
    flex-shrink: 0;
}

.rowed .--col.swiper-container {
    margin-top: 75px;
}

@media screen and (min-width: 992px) {
    .rowed .--col.swiper-container {
        margin-top: 0px;
    }
}

@media (min-width: 768px) and (max-width: 991px) {
    .rowed .--col.swiper-container {
        padding:0 50px 50px 50px;
    }
}

@media (min-width: 992px) {
    .rowed .--col.text-container {
        width: 40%;
    }

    .rowed .--col.swiper-container {
        width: 60%;
    }
}

@media (min-width: 1200px) {
    .rowed .--col.text-container {
        width: 50%;
    }

    .rowed .--col.swiper-container {
        width: 50%;
        margin-top: 0px;
    }
}

.rowed .text-container {
    text-align: center;
    //background:red;
    height: 100%;
    display:flex;
    flex-direction: column;
    justify-content: center;
    margin-top:71px;
}

@media (min-width: 992px) {
    .rowed .text-container {
         margin-top:99px;
    }
}

.rowed .text-container h1 {
    color:#FFFBF0;
    text-transform: none !important;
    padding-left: 50px;
    padding-right: 50px;
} 

@media (min-width: 992px) {
    .rowed .text-container h1 br {
        display:none;
    }
}

@media (min-width: 1305px) {
    .rowed .text-container h1 br {
        display:block
    }
}

.rowed .text-container h1 span {
    text-transform: uppercase;
}

.rowed .swiper-container {
    position: relative;
    height: 100%;
    display: flex;
}

.rowed .swiper-wrapper:before {
    content:'';
    opacity: 0.37;
    width: 100%;
    background: #2c150f;
    z-index: 1;
    height: 100%;
    position:absolute;
    pointer-events: none;
    mix-blend-mode: soft-light;
}

.rowed .swiper-container .swiper {
    width: 100%;
    height: auto;
    position: relative;
    z-index: 0;
}

.rowed .swiper-container .swiper-slide {
    text-align: center;
    font-size: 18px;
    background: #fff;

    /* Center slide contents */
    display: flex;
    justify-content: center;
    align-items: center;
}

.rowed .swiper-container .swiper-slide img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.rowed .swiper-container .swiper-button-next,
.rowed .swiper-container .swiper-button-prev {
    color: #000; /* ou #fff si fond sombre */
    z-index: 10;
}

.rowed .swiper-container .swiper-pagination {
    margin-bottom: 20px;
}
    
@media (min-width: 768px) {
    .rowed .swiper-container .swiper-pagination {
        margin-bottom: 100px;
    }
}

.rowed .swiper-container .swiper-pagination span {
    transition: all .2s;
    background: white;
    width: 10px;
    height: 10px;
}

.rowed .swiper-container .swiper-pagination span:hover {
    opacity: 1;
}

.rowed .banner-grid {
    position: absolute;
    top: 0;
    right: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
    pointer-events: none;

    background-image: url('../assets/images/homepage-banner-grid.svg');
    background-repeat: repeat;
    //background-size: 1200px auto; /* Taille fixe */
    background-position: center center;
    //background-position: top center;
}

@media (min-width: 768px) and (max-width: 991px) {
 .rowed .banner-grid {
    width: calc(100% - 100px);
    height: calc(100% - 50px);
    left: 50px;
    right: auto;
 }   
}

.rowed .banner-grid-text {
    position:absolute;
    top: 0;
    left: 0;
    z-index: 10;
    width: 100%;
    height: 100%;
    font-size:30px;
    display:flex;
    align-items: center;
    justify-content: center;
    pointer-events: none;
}

.rowed .banner-grid-text p {
    margin-top: 143px;
    margin-left: -166px;
    position:relative;
    color:white;
    font-weight: 600;
    line-height: 40px;
    font-size: 36px;
}

@media (max-width: 399px) {
    .rowed .banner-grid-text p {
        margin-left: 0px;
        padding-left:20px;
        padding-right: 20px;
    }

    .rowed .banner-grid-text p:before {
        display:none;
    }

    .rowed .banner-grid-text p span:after {
        display:none;
    }

    .rowed .swiper-container .swiper-slide {
        min-height: 450px;
    }
}


@media (min-width: 768px) {
    .rowed .banner-grid-text p {
         margin-top: 371px;
    }
}

@media (min-width: 992px) {
    .rowed .banner-grid-text p {
        margin-top: 421px;
    }
}

.rowed .banner-grid-text p:before {
    content:'';
    width: 2px;
    height: 275px;
    background:white;
    position:absolute;
    left: -30px;
    bottom:-80px
}

.rowed .banner-grid-text p:after {
    content:'';
    width: 200px;
    height: 2px;
    background:white;
    position:absolute;
    left: -100px;
    bottom: -30px
}

.rowed .banner-grid-text p span {
    display:block;
    position:relative;
    font-style: italic;
    font-weight: normal;
}

.rowed .banner-grid-text p span:after {
    content:'';
    background:white;
    width: 50px;
    height: 1px;
    transform: rotate(-45deg);
    position:absolute;
    right: -55px;
    top: -20px;
}