/* Header Fixe*/

.logged-in .wp-site-blocks > header.wp-block-template-part {
    top: 32px;
    }
    
    .wp-site-blocks > header.wp-block-template-part {
        width: 100%;
        position: fixed;
        top:0;
        z-index: 10000;
    }
    

    .home .wp-site-blocks > header {
        transition: all ease-in 150ms;

    }

    .home .wp-site-blocks > header.wp-block-template-part {
        color:var(--wp--preset--color--off-white)!important;
    }

    .home .wp-site-blocks > header.wp-block-template-part img {
        filter: grayscale(100%) invert(100%);
        transition: all ease-in 150ms;
    }

    .home :where(.wc-block-mini-cart__badge) {
        color: var(--wp--preset--color--charcoal-black-20);
    }


    .home.scroll .wp-site-blocks > header {
        background-color: var(--wp--preset--color--charcoal-black-5);
    }

    /* Logo */
    .wp-block-navigation .wp-block-navigation-item.logo-bozec span.wp-block-navigation-item__label {
      display: block;
      background:url(../images/brand/logo-solo-cafe-bozec-light.svg);
      background-repeat: no-repeat;
      height: 87px;
  background-size: contain;
      text-indent: -9000px;
      width: 80px;
      background-position: center;
    }


    /* 
    .home.scroll .wp-site-blocks > header.wp-block-template-part {
        color:var(--wp--preset--color--charcoal-black)!important;
    }

    .home.scroll .wp-site-blocks > header.wp-block-template-part img {
        filter: none;
    } */

   .home.scroll .wp-site-blocks > header {
        background-color: var(--wp--preset--color--charcoal-black-20);
    }

    .page-template-default.scroll header,
    .archive.scroll header, 
    .single.scroll  header {
        transition: all ease-in 250ms;
    }


    .page-template-default.scroll header,
    .archive.scroll header,
    .single.scroll  header  {
         background-color: var(--wp--preset--color--charcoal-black-20);
        color:white!important;
    }

    .page-template-default header img,
    .archive header img, 
    .single  header img {
        transition: all ease-in 150ms;
    }

    .page-template-default.scroll header img,
    .archive.scroll header img, 
    .single.scroll  header img  {
    filter: grayscale(100%) invert(100%);
    max-width: 30px;
    height: auto;
    }

.page-template-default .wp-block-navigation .wp-block-navigation-item.logo-bozec span.wp-block-navigation-item__label,
     .archive .wp-block-navigation .wp-block-navigation-item.logo-bozec span.wp-block-navigation-item__label,
     .single .wp-block-navigation .wp-block-navigation-item.logo-bozec span.wp-block-navigation-item__label {
        background-image:url(../images/brand/logo-solo-cafe-bozec-dark.svg);
    }

    .page-template-default.scroll .wp-block-navigation .wp-block-navigation-item.logo-bozec span.wp-block-navigation-item__label,
     .archive.scroll .wp-block-navigation .wp-block-navigation-item.logo-bozec span.wp-block-navigation-item__label,
     .single.scroll .wp-block-navigation .wp-block-navigation-item.logo-bozec span.wp-block-navigation-item__label {
        background-image:url(../images/brand/logo-solo-cafe-bozec-light.svg);
    }


.wp-block-navigation__responsive-container-open {
  background: white;
  padding: 0.8rem;
  border-radius: 100%;
}

.wp-block-navigation__responsive-container-open svg{
fill:var(--wp--preset--color--charcoal-black);
}

.wp-block-navigation:not(.has-background) .wp-block-navigation__submenu-container {
  border:none;
  background-color: rgba(255,255,255,0.4);
}


/** default is 600px pass to 960px for button burger and container */
@media (max-width: 960px) {


 .fiche-produit {
      margin-top: 110px !important;
    }

    .fiche-produit .alignfull {
      margin: 0!important;
    }

    .fiche-produit .has-global-padding {
      padding: 0!important;
    }
    .fiche-produit .fiche-produit-detail {
      border-radius: 20px!important;
      padding: 20px!important;
    }


  header .wp-block-spacer {
     background-image:url(../images/brand/logo-solo-cafe-bozec-light.svg);
     background-repeat: no-repeat;
    background-size: 30%;
    background-position: 0px;
  }

  .page-template-default header .wp-block-spacer,
     .archive header .wp-block-spacer,
     .single header .wp-block-spacer {
        background-image:url(../images/brand/logo-solo-cafe-bozec-dark.svg);
    }

    .page-template-default.scroll header .wp-block-spacer,
     .archive.scroll header .wp-block-spacer,
     .single.scroll header .wp-block-spacer {
        background-image:url(../images/brand/logo-solo-cafe-bozec-light.svg);
    }


    .wp-block-navigation__responsive-container-open:not(.always-shown) {
      display: flex;
    }
  }
  
  @media (max-width: 960px) {
    .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) {
      bottom: 0;
      display: none;
      left: 0;
      position: fixed;
      right: 0;
      top: 0;
    }
  }



/* Navigation */
@media screen and (max-width:960px) {
    .wp-site-blocks > header.wp-block-template-part .navigation {
        justify-content: flex-start;
        margin: 0 -15px !important;
    }

    .wp-block-navigation.items-justified-right {
      --navigation-layout-justification-setting: flex-start;
      --navigation-layout-justify: flex-start;
    }

    .wp-block-navigation .wp-block-navigation-item.logo-bozec {
      display: none!important;
    }

    .wp-site-blocks > header.wp-block-template-part .navigation .main-nav {
        order: 2;
      }

    .wp-site-blocks > header.wp-block-template-part .navigation .ecommerce-nav {
        margin-left: auto !important;
      }

      h1 {
        font-size: 2rem!important;
      }
    
}

@media screen and (max-width:960px) {
.wp-site-blocks > main {

}
}


@media screen and (max-width:960px) {
 .aide-au-choix {
  flex-direction: column;
 }
 .aide-au-choix .image-container {
  margin: 0!important;
 }
 .aide-au-choix .image-container img {
  max-width: 200px !important;
 }

.tabs.wc-tabs {
  overflow: hidden !important;
  overflow-x: scroll !important;
}

 ul.wc-tabs li a {
  white-space: nowrap;
 }

 .banner-home {
  min-height: 85vh !important;
    padding: 0 !important;
    margin: 0 -10px !important;
 }

 .banner-home .wp-block-cover__inner-container {
  margin-top: auto!important;
  padding-bottom: 20px;
 }




}

.wc-block-product-template__responsive.columns-3 {
  grid-template-columns: repeat(auto-fill,minmax(max(250px,calc(33.33333% - .83333em)),1fr));
}

@media screen and (max-width: 768px) {
 .has-global-padding {
    padding-left: var(--wp--preset--spacing--20) !important;
    padding-right: var(--wp--preset--spacing--20) !important;
  }

  .has-global-padding > .alignfull {
    margin-left: 0!important;
     margin-right: 0!important;
  }



.order-sm-0 {
  order:0;
}

.order-sm-1 {
  order:1;
}

.sm-vertical {
  flex-direction: column!important;
}

.single-product [style*="margin-right:var(--wp--preset--spacing--40);margin-left:var(--wp--preset--spacing--40)"]{
  margin-left: 0!important;
  margin-right: 0!important;
}


   .wp-block-group.alignfull.boutique-3-col {
    padding: 0 20px !important;
    margin: 0;
  }

  /* Réinitialiser tous les paddings internes à 0 */
.wp-block-group.alignfull.boutique-3-col *:not(.p-20-mobile):not(.wp-block-button__link) {
    padding: 0 !important;
  }

/* Corriger le débordement des éléments alignfull dans les colonnes */
  main .wp-block-column .wp-block-group.alignfull {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    left: auto !important;
    right: auto !important;
  }
  
  /* Forcer les éléments avec var(--wp--preset--spacing--50) à 0 */
  main [style*="var(--wp--preset--spacing--50)"]:not(.p-20-mobile) {
    padding: 0 !important;
  }

[style*="padding-left:var(--wp--preset--spacing--60)"] {
  padding-left: 0!important;
}

[style*="padding-right:var(--wp--preset--spacing--30);padding-left:var(--wp--preset--spacing--30)"] {
  padding-right: 0px!important;
  padding-left: 0px!important;
}



   .p-20-mobile {
    padding: 20px!important;
  }  

  [style*="font-size:3vw"], [style*="font-size:2.3vw"] {
    font-size: 2rem!important;
  }

  .interstitiel-full {
    max-width: var(--wp--style--global--wide-size);
    margin: 0 !important;
    padding: 1rem !important;
  }

  .interstitiel-full .wp-block-columns-is-layout-flex {
    gap:1rem!important;
  }

}



/* Banner Home */

.banner-content {
    width: 100vw;
}


.side-banner-home {
    justify-content: space-between;
    gap: 4rem;
    min-height: 93vh!important;
  }

  .side-banner-home .social-home {
    height: 45vh;
  justify-content: flex-end;
  }

  .side-banner-home .line-scroll {
   
  }
  .side-banner-home .line-scroll p {
    display: flex;
    align-items: center;
  }
  .side-banner-home .line-scroll p::after {
    content:"";
    width: 1px;
    height: 20vh;
    display: block;
    background-color: var(--wc-highligh-text);
    }


@media screen and (max-width:960px) {

    .side-banner-home {
        min-height: auto!important;
    }

    .side-banner-home .social-home {
        height: auto!important;
    }



    .hide-mobile {
        display: none!important;
    }
    .horizontal-mobile {
        flex-direction: row!important;
    gap: 1rem;
    flex-wrap: nowrap;
    justify-content: center;
    }
}






/* citation */

.wp-block-group.guillemet {
    position: relative;
    padding: 2rem 2rem 0 2rem;
}

.wp-block-group.guillemet:before, .wp-block-group.guillemet:after, blockquote:before, blockquote:after  {
    content:"“";
    font-size:4rem;
    font-family: var(--wp--preset--font-family--addington-cf);
    position: absolute;
    top: -40px;
    left: 0;
}

blockquote, .wp-block-quote {
    position: relative;
    margin: 0;
    padding: 0rem 2rem 0 2rem;
}

blockquote p:first-of-type{
    margin-top: 0;
}

img.is-rounded {
    border-radius: 100%;
}

.wp-block-group.guillemet:after, blockquote:after {
    content: "”";
    top:auto;
    left: auto;
    bottom:-40px;
    right: 0;
}

.wp-block-quote .wp-block-group.guillemet + cite, blockquote + cite {
    font-family: var(--wp--preset--font-family--addington-cf);
    padding-left: 2rem;
    font-size: 1.2rem;
}

/* Main */

.wp-site-blocks > main {
    margin-block-start:0;
}




/* Footer */
footer.wp-block-template-part {
    position: relative;
}
footer.wp-block-template-part > .wp-block-group:after {
    content:"";
    width: 100%;
    height: 100%;
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    background-image: url(../images/bg/pattern2.png);
    background-repeat: repeat;
    opacity: .15;
    z-index: 80;
    background-size: 15%;
}

footer.wp-block-template-part .wp-block-group .wp-block-group {
    z-index: 100;
}

footer.wp-block-template-part div {
    position: relative;
    z-index: 100;
}



.wp-block-woocommerce-product-collection .wc-block-product-template.is-flex-container {
    display: grid;
    grid-template-columns: repeat(3,1fr);
    gap: 2rem;
    grid-auto-flow: dense;
}

/* Responsive : Passe à 2 colonnes sous 1200px */
@media (max-width: 1200px) {
    .wp-block-woocommerce-product-collection .wc-block-product-template.is-flex-container {
        grid-template-columns: repeat(2, 1fr);
    }
    .wc-block-product {
        min-height: auto!important;
    }
}


@media (max-width: 768px) {



    .wp-block-woocommerce-product-collection .wc-block-product-template.is-flex-container {
        grid-template-columns: 1fr;
    }
    .wc-block-product {
        min-height: auto!important;
    }


    .wp-block-column .wp-block-cover {
        min-height: 300px!important;
        border-radius: 20px!important;
    }
    [style*="border-left-width"]{
        border:none!important;
    }
    .section-image-texte, .section-texte-image {
        padding: 1rem!important;
        margin: 0!important;
    }

    .section-texte-image .wp-block-columns .wp-block-column:nth-of-type(2) {
        order:-1;

    }
    
    .wp-block-columns:not(.is-not-stacked-on-mobile) > .wp-block-column {
        flex-basis: 100% !important;
        padding: 0 !important;
      }
    }
 


}



.wp-block-woocommerce-product-collection .wc-block-product-template.is-flex-container.is-flex-container.columns-3 > li {
    width: 100%;
}



/* Product Card */ 

.wc-block-product {
    width: 450px;
    width: 100%!important;
    min-height: 450px;
    position: relative; /* Nécessaire pour le positionnement du bouton */
}

.wc-block-product .wp-block-group {
  
}

.wc-block-product .wp-block-button {
    opacity: 0; /* Rendre le bouton transparent */
    transform: translateY(20px);

    transition: transform 250ms ease, opacity 250ms ease; /* Transition pour la transformation et l'opacité */
}


.wc-block-product .wp-block-button .wp-element-button {
    white-space: nowrap;
}


.wc-block-product:hover .wp-block-button {
    transform: translateY(0); /* Remonter le bouton à sa position d'origine */
    opacity: 1; /* Rendre le bouton visible */
}


.product-label.label-bio {
    display: inline-block;
    text-indent: -9000px;
    width: 40px;
    height: 20px;
    background-image:url(../images/bio-leaf.svg);
    background-repeat: no-repeat;
    background-size: contain;
}

/* Image du produit */
.img-price {
    position: relative;
}

.product-process {
    opacity: .6;
}

.img-price p {
position: absolute;
bottom: 0;
left: 10px;
display: inline-block;
background-color: white;
padding: 0 5px;
    }

/* Conteneur d'image dans une grille responsive */
.wc-block-product .wc-block-components-product-image {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 0;
  padding-bottom: 100%; /* Crée un ratio carré */
  position: relative;
  overflow: hidden;
}

/* Image à l'intérieur du conteneur */
.wc-block-product .wc-block-components-product-image img {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  object-fit: cover;
  transition: transform 250ms ease; 
  transform: scale(1.15);
}

/* Effet de survol */
.wc-block-product:hover .wc-block-components-product-image img {
  transform: scale(1);
}

/* Pour les grands écrans, limiter la taille maximale si nécessaire */
@media (min-width: 1200px) {
  .wc-block-product .wc-block-components-product-image {
    max-width: 600px;
    max-height: 600px;
    margin: 0 auto;
  }
}

/* Onglet et tab */

/* Styles de base pour les onglets */
ul.wc-tabs {
    display: flex;
    justify-content: left;
    margin-bottom: 20px;
    gap: 1rem;
    border-bottom: 2px solid #ddd;
    padding: 0;
    list-style: none;
}

ul.wc-tabs li {
    margin: 0 10px;
}


ul.wc-tabs li.active a {
    background-color: var(--wp--preset--color--charcoal-black-20);
}

ul.wc-tabs li a {
    font-family: var(--wp--preset--font-family--addington-cf);

    background-color: var(--wp--preset--color--charcoal-black-5);
    display: block;
    text-decoration: none;
    padding: 10px 20px;
    border-bottom: 0;
    transition: all 0.3s ease;
    border-radius: 10px;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li a {
    font-weight: normal;
}

html body .wp-block-woocommerce-product-details.is-style-minimal ul.tabs.wc-tabs li {
border:none;
}

ul.wc-tabs li.active a,
ul.wc-tabs li a:hover {
    color: #000;
    border-bottom: 0; /* Couleur de l'onglet actif */
}

.woocommerce div.product .woocommerce-tabs .panel {
    background-color: var(--wp--preset--color--charcoal-black-5);
    padding: 1rem 2rem;
    border-radius: 20px;
}

/* Style bouton ajouter au panier */

.single_add_to_cart_button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.woocommerce div.product form.cart button.single_add_to_cart_button, .woocommerce div.product form.cart button[name="add-to-cart"] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.ajax_add_to_cart::before ,.single_add_to_cart_button::before {
    content: ''; /* Icône panier Unicode */
    width: 24px;
    height: 24px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='34' height='34' fill='none' viewBox='0 0 34 34'%3E%3Cpath fill='%23F5F5F5' fill-rule='evenodd' d='M5.2 1.429c.19.014.453.05.735.18.37.17.685.442.905.785.168.26.241.516.282.701.035.157.06.336.081.482l.004.029.497 3.477h22.13c.201 0 .433 0 .635.018.226.02.567.07.911.271.435.254.766.654.934 1.129.132.375.12.72.096.946a7.59 7.59 0 0 1-.102.627l-1.89 9.928c-.118.616-.22 1.152-.339 1.593-.126.47-.294.927-.59 1.357a4.25 4.25 0 0 1-1.788 1.48c-.478.21-.959.29-1.444.326-.455.034-1.001.034-1.627.034H12.408c-.659 0-1.231 0-1.707-.037-.506-.039-1.008-.124-1.502-.352a4.25 4.25 0 0 1-1.813-1.583c-.292-.459-.444-.945-.551-1.44-.1-.467-.178-1.034-.266-1.687L5.072 8.695 4.437 4.25H2.833a1.417 1.417 0 1 1 0-2.833H4.713c.147 0 .327 0 .488.012Zm2.898 8.488 1.271 9.345c.098.716.161 1.174.236 1.522.071.33.132.453.172.517.147.23.357.414.605.528.069.031.2.075.536.101.354.027.817.028 1.54.028H24.58c.689 0 1.128 0 1.465-.026.32-.024.445-.064.513-.094.24-.106.447-.277.596-.493.042-.061.105-.177.188-.486.088-.327.171-.758.3-1.434l1.811-9.508H8.098ZM9.916 29.75a2.833 2.833 0 1 1 5.667 0 2.833 2.833 0 0 1-5.667 0Zm11.333 0a2.833 2.833 0 1 1 5.667 0 2.833 2.833 0 0 1-5.667 0Z' clip-rule='evenodd'/%3E%3C/svg%3E");
    margin-right: 8px;
    background-size: cover;
    display: block;
}


.marquee {
    background: var(--wp--preset--color--sandy-brown);
    transform: rotate(-2deg);
    padding: .75rem;
    margin: 5rem 0!important;
    display: flex;
    overflow: hidden;
  }
  .marquee .marquee-content {
    display: flex;
    gap: .5rem;
  }

  .marquee .marquee-content div {

  }

  .marquee .marquee-content div:after {
    content:'•';
    padding: 0 2rem;
  }


  .marquee .marquee-content div a {

    font-size: .85rem;
    white-space: nowrap;
    font-weight: bold;
    text-transform: uppercase;
    text-decoration: none;
  }




.woocommerce .wp-block-woocommerce-product-image-gallery {
  clear: both;
  max-width: 100%;
  position: relative;
}


.product-short-details {

    border-top: 1px solid var(--wp--preset--color--charcoal-black);
    border-bottom: 1px solid var(--wp--preset--color--charcoal-black);
    padding: 1rem 0;
}

.product-short-details ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

.product-short-details ul li {
    font-size: .875rem;
    text-transform: uppercase;
    margin-bottom: 0.5rem;
}

.product-short-details ul li.intensite{
    display: flex;
    gap: 0;
    align-items: center;
}

.product-short-details ul li.intensite span.bean {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='35' height='36' fill='none' viewBox='0 0 35 36'%3E%3Cg fill='%23AE773B' fill-rule='evenodd' clip-path='url(%23a)' clip-rule='evenodd'%3E%3Cpath d='M22.427 5.529c.436.141.733.547.735 1.006.009.201.01.365.01.365s-.008 5.59-6.627 10.736c-2.693 2.094-5.028 5.497-5.638 8.678a1.067 1.067 0 0 1-1.934.398c-1.887-2.796-4.026-8.02-.459-14.206 3.217-5.578 9.156-8.43 13.913-6.977Zm-1.41 1.757C16.926 6.78 12.913 9.265 10.41 13.6c-1.988 3.443-1.605 7.353-.63 9.939a16.025 16.025 0 0 1 5.424-7.63c3.886-3.021 5.397-6.956 5.815-8.623ZM13.103 30.15a1.105 1.105 0 0 1-.77-1.047 8.864 8.864 0 0 1-.01-.334s.008-5.59 6.627-10.736c2.668-2.075 4.986-5.436 5.62-8.592a1.107 1.107 0 0 1 2.011-.394c1.872 2.816 3.929 7.995.4 14.116-3.21 5.564-9.127 8.416-13.878 6.988Zm1.374-1.767c4.093.508 8.106-1.979 10.61-6.314 1.987-3.443 1.604-7.353.629-9.939a16.024 16.024 0 0 1-5.424 7.63c-3.886 3.021-5.397 6.956-5.815 8.623Z'/%3E%3C/g%3E%3Cdefs%3E%3CclipPath id='a'%3E%3Cpath fill='%23fff' d='M0 .5h35v35H0z'/%3E%3C/clipPath%3E%3C/defs%3E%3C/svg%3E");
    width: 25px;
    height: 25px;
    display: block;
    background-size: cover;
}

.product-short-details ul li.intensite.intensite-1 span.bean:nth-last-of-type(-n+4),
.product-short-details ul li.intensite.intensite-2 span.bean:nth-last-of-type(-n+3),
.product-short-details ul li.intensite.intensite-3 span.bean:nth-last-of-type(-n+2),
.product-short-details ul li.intensite.intensite-4 span.bean:nth-last-of-type(-n+1) {
    opacity: .3;
}

li.pub {
    grid-column: span 2;
    display: flex;
    background: var(--wp--preset--color--charcoal-black);
    border-radius: 1rem;
    overflow: hidden;
    color: var(--wp--preset--color--off-white);
}
li.pub > * {
    flex: 1;
}
li.pub .pub-image img {
    object-fit: cover;
    display: block;
    width: 100%;
    height: 100%;
  }

  li.pub .pub-content {
    padding: 1rem 2rem;
  }

  li.pub .pub-content a:where(.wp-element-button, .wp-block-button__link) {
    background-color: var(--wp--preset--color--very-light-white);
    color: var(--wp--preset--color--charcoal-black);
  }


:root :where(footer .wp-block-navigation a:where(:not(.wp-element-button))) {
  font-family: var(--wp--preset--font-family--montserrat) !important;
  font-size: .85rem;
}





/* Form */
/* Styles pour formulaire Contact Form 7 */

/* Conteneur principal du formulaire */
.wpcf7-form {
    max-width: 800px;
    margin: 0 auto;
  }
  
  /* Style général pour tous les labels */
  .wpcf7-form label {
    display: block;
    margin-bottom: 10px;
    color: var(--wp--preset--color--charcoal-black);
  }
  
  /* Styles de base pour tous les champs */
  .wpcf7-form input[type="text"],
  .wpcf7-form input[type="email"],
  .wpcf7-form input[type="tel"],
  .wpcf7-form select,
  .wpcf7-form textarea {
    width: 100%;
    padding: 12px 15px;
    border: 1px solid var(--wp--preset--color--charcoal-black-5);
    border-radius: 10px;
    background-color: var(--wp--preset--color--off-white);
    box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.05);
    font-size: 16px;
    color: #444;
    transition: all 0.3s ease;
    box-sizing: border-box;
  }
  
  /* États au survol pour les champs */
  .wpcf7-form input[type="text"]:hover,
  .wpcf7-form input[type="email"]:hover,
  .wpcf7-form select:hover,
  .wpcf7-form input[type="tel"]:hover,
  .wpcf7-form textarea:hover {
    border-color: var(--wp--preset--color--charcoal-black);
  }
  
  /* États au focus pour les champs */
  .wpcf7-form input[type="text"]:focus,
  .wpcf7-form input[type="email"]:focus,
  .wpcf7-form select:focus,
  .wpcf7-form input[type="tel"]:focus,
  .wpcf7-form textarea:focus {
    background-color: var(--wp--preset--color--very-light-white);
    border-color: var(--wp--preset--color--charcoal-black);
    box-shadow: 0 0 0 2px rgba(0, 115, 170, 0.2);
    outline: none;
  }
  
  /* Style spécifique pour les champs textarea */
  .wpcf7-form textarea {
    height: 150px;
    resize: vertical;
    line-height: 1.5;
  }
  
  /* Style pour le champ select */
  .wpcf7-form select {
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="12" height="6" viewBox="0 0 12 6"><path fill="%23444" d="M0 0l6 6 6-6z"/></svg>');
    background-repeat: no-repeat;
    background-position: right 15px center;
    padding-right: 30px;
  }
  
  /* Style pour le champ de téléchargement de fichier */
  .wpcf7-form input[type="file"] {
    width: 100%;
    padding: 10px 0;
    font-size: 14px;
  }
  
  /* Conteneur personnalisé pour l'upload de fichier */
  .wpcf7-form .file-upload-wrapper {
    position: relative;
    padding: 12px;
    border: 1px dashed #ccc;
    border-radius: 4px;
    text-align: center;
    background-color: #f9f9f9;
    margin-top: 5px;
    cursor: pointer;
    transition: all 0.3s ease;
  }
  
  .wpcf7-form .file-upload-wrapper:hover {
    border-color: #0073aa;
    background-color: #f5f5f5;
  }
  
  /* Style pour la case à cocher */
  .wpcf7-checkbox {
    margin: 5px 0;
  }
  
  .wpcf7-checkbox .wpcf7-list-item {
    margin: 0;
    display: flex;
    align-items: flex-start;
  }
  
  .wpcf7-checkbox .wpcf7-list-item-label {
    font-size: 14px;
    padding-left: 8px;
    line-height: 1.4;
  }
  
  .wpcf7-checkbox input[type="checkbox"] {
    margin-top: 3px;
    appearance: none;
    -webkit-appearance: none;
    width: 18px;
    height: 18px;
    border: 1px solid #ccc;
    border-radius: 3px;
    position: relative;
    cursor: pointer;
  }
  
  .wpcf7-checkbox input[type="checkbox"]:checked {
    background-color: #0073aa;
    border-color: #0073aa;
  }
  
  .wpcf7-checkbox input[type="checkbox"]:checked::before {
    content: "✓";
    position: absolute;
    color: white;
    font-size: 14px;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
  }
  
  /* Style pour le bouton d'envoi */
  .wpcf7-submit {
     background-image: url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M19.334 6.07981L11.668 13.7458L14.0011 19.7452L19.334 6.07981ZM10.2538 12.3315L17.9198 4.6656L4.25438 9.99843L10.2538 12.3315ZM20.6472 1.47418C20.8303 1.42096 21.1988 1.32535 21.5946 1.45757C22.0417 1.60694 22.3926 1.95785 22.542 2.40499C22.6742 2.80076 22.5786 3.16922 22.5254 3.35241C22.4674 3.55204 22.3745 3.78996 22.2813 4.02866L15.6639 20.9858C15.5598 21.2526 15.459 21.511 15.3604 21.7105C15.2751 21.8829 15.0855 22.2492 14.6919 22.4537C14.2578 22.6792 13.741 22.6789 13.3072 22.4529C12.9139 22.2479 12.7246 21.8814 12.6396 21.7089C12.5412 21.5093 12.4407 21.2508 12.3369 20.9839L9.72699 14.2726L3.05101 11.6764C3.03924 11.6718 3.02748 11.6672 3.01574 11.6627C2.74878 11.5589 2.49024 11.4584 2.29065 11.36C2.11819 11.2749 1.75163 11.0857 1.54668 10.6923C1.32067 10.2585 1.32036 9.74178 1.54586 9.30772C1.75035 8.91411 2.11669 8.72442 2.28905 8.6392C2.48853 8.54057 2.74695 8.43976 3.01379 8.33566C3.02552 8.33109 3.03727 8.3265 3.04904 8.32191L19.9709 1.71826C20.2096 1.62506 20.4475 1.53216 20.6472 1.47418Z' fill='%23ffffff'/%3E%3C/svg%3E");
     background-repeat: no-repeat;
    background-position: 15px 10px;
    background-color: var(--wp--preset--color--charcoal-black);
    color: white;
    border: none;
    border-radius: 25px;
    padding: 12px 30px 12px 45px;
    font-size: 1rem;
    font-weight: 600;
    cursor: pointer;
    transition: background-color 0.3s ease;
    display: inline-block;
    margin-top: 10px;
    text-align: center;
  }
  
  .wpcf7-submit:hover {
    background-color: var(--wp--preset--color--charcoal-black);
  }
  
  /* Disposition en deux colonnes (responsive) */
  .form-row {
    margin-bottom: 20px;
  }
  
  .form-row.two-columns {
    display: flex;
    gap: 20px;
  }
  
  .form-row.two-columns > div {
    flex: 1;
  }
  
  /* Message d'erreur et de validation */
  /* Message d'erreur sous les champs */
  .wpcf7-not-valid-tip {
    background-color: rgba(255, 255, 255, 0.7);
    color: #dc3545;
    font-size: 13px;
    padding: 8px 12px;
    margin-top: 5px;
    border-radius: 4px;
    display: flex;
    align-items: center;
    font-weight: 500;
    line-height: 1.4;
    border-left: 3px solid #dc3545;
  }
  
  /* Ajout de l'icône de croix */
  .wpcf7-not-valid-tip::before {
    content: '';
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23dc3545' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'%3E%3C/circle%3E%3Cline x1='15' y1='9' x2='9' y2='15'%3E%3C/line%3E%3Cline x1='9' y1='9' x2='15' y2='15'%3E%3C/line%3E%3C/svg%3E");
    width: 16px;
    height: 16px;
    margin-right: 8px;
    background-repeat: no-repeat;
    display: inline-block;
    flex-shrink: 0;
  }
  
  /* Style des champs avec erreur */
  .wpcf7-form .wpcf7-not-valid {
    border-color: #dc3545;
    background-color: rgba(255, 255, 255, 0.9);
  }
  
  /* Focus sur les champs avec erreur */
  .wpcf7-form .wpcf7-not-valid:focus {
    box-shadow: 0 0 0 2px rgba(220, 53, 69, 0.15);
  }
  
  /* Message d'erreur général */
  .wpcf7 form.invalid .wpcf7-response-output {
    background-color: rgba(255, 255, 255, 0.7);
    border: none !important;
    border-left: 4px solid #dc3545 !important;
    color: #dc3545;
    padding: 12px 15px 12px 40px !important;
    border-radius: 4px;
    position: relative;
    font-weight: 500;
    margin-top: 25px !important;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.03);
  }
  
  /* Ajout d'une icône plus grande pour le message général */
  .wpcf7 form.invalid .wpcf7-response-output::before {
    content: '';
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23dc3545' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'%3E%3C/circle%3E%3Cline x1='15' y1='9' x2='9' y2='15'%3E%3C/line%3E%3Cline x1='9' y1='9' x2='15' y2='15'%3E%3C/line%3E%3C/svg%3E");
    width: 20px;
    height: 20px;
    background-repeat: no-repeat;
    position: absolute;
    left: 12px;
    top: 50%;
    transform: translateY(-50%);
  }
  
  /* Animation subtile pour les messages d'erreur */
  @keyframes errorShake {
    0%, 100% { transform: translateX(0); }
    25% { transform: translateX(-4px); }
    75% { transform: translateX(4px); }
  }
  
  .wpcf7-not-valid-tip, 
  .wpcf7 form.invalid .wpcf7-response-output {
    animation: errorShake 0.5s ease-in-out;
  }
  
  
  
  /* Section d'informations (RGPD et délai de réponse) */
  .form-info {
    margin-top: 25px;
    padding: 15px;
    background-color: rgba(255, 255, 255, 0.6); /* Votre couleur white-60% */
    border-left: 3px solid #0073aa;
    font-size: 14px;
    color: #666;
    line-height: 1.5;
  }
  
  .form-info .response-time {
    font-weight: 600;
    margin-bottom: 10px;
    color: #333;
  }
  
  /* Adaptation mobile */
  @media (max-width: 767px) {
    .form-row.two-columns {
      flex-direction: column;
      gap: 20px;
    }
    
    .wpcf7-form input[type="text"],
    .wpcf7-form input[type="email"],
    .wpcf7-form input[type="tel"],
    .wpcf7-form select,
    .wpcf7-form textarea {
      font-size: 15px;
      padding: 10px 12px;
    }
    
    .wpcf7-submit {
      width: 100%;
      padding: 1.5rem;
      font-size: 1.2rem;
    }
  }
  
  
  /* Styles améliorés pour l'input file dans Contact Form 7 */
  
  /* Cacher l'input file natif */
  .wpcf7-form input[type="file"] {
    width: 0.1px;
    height: 0.1px;
    opacity: 0;
    overflow: hidden;
    position: absolute;
    z-index: -1;
  }
  
  /* Conteneur personnalisé pour l'upload */
  .file-upload-container {
    position: relative;
    margin-top: 10px;
    margin-bottom: 20px;
  }
  
  /* Style du label qui servira de bouton visuel */
  .wpcf7-form .file-upload-label {
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #f8f9fa;
    color: #495057;
    border: 2px dashed #ced4da;
    border-radius: 8px;
    padding: 18px 15px;
    cursor: pointer;
    transition: all 0.3s ease;
    font-weight: normal;
    text-align: center;
    position: relative;
    overflow: hidden;
  }
  
  /* Icône d'upload */
  .file-upload-label::before {
    content: '';
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23495057' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4'%3E%3C/path%3E%3Cpolyline points='17 8 12 3 7 8'%3E%3C/polyline%3E%3Cline x1='12' y1='3' x2='12' y2='15'%3E%3C/line%3E%3C/svg%3E");
    width: 24px;
    height: 24px;
    margin-right: 10px;
    background-repeat: no-repeat;
    display: inline-block;
  }
  
  /* Effet au survol */
  .wpcf7-form .file-upload-label:hover {
    background-color: #e9ecef;
    border-color: #0073aa;
    color: #0073aa;
  }
  
  .wpcf7-form .file-upload-label:hover::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%230073aa' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4'%3E%3C/path%3E%3Cpolyline points='17 8 12 3 7 8'%3E%3C/polyline%3E%3Cline x1='12' y1='3' x2='12' y2='15'%3E%3C/line%3E%3C/svg%3E");
  }
  
  /* Zone affichant le nom du fichier sélectionné */
  .file-name-display {
    margin-top: 8px;
    font-size: 14px;
    color: #495057;
    background-color: rgba(255, 255, 255, 0.6);
    padding: 5px 10px;
    border-radius: 4px;
    display: none;
    word-break: break-all;
  }
  
  /* Style pour les erreurs */
  .wpcf7-form .file-upload-container .wpcf7-not-valid-tip {
    margin-top: 8px;
  }
  
  /* Animation de l'état actif */
  .wpcf7-form .file-upload-label:active {
    transform: translateY(1px);
  }

  .text-center p {
    display: flex;
    flex-direction: column;
    align-items: center;
  }

  .text-center p input {
    width: auto;
  }


  .prix-minimum-variable {
  background: white;
  display: inline-block;
  padding: 0 6px;
  position: absolute;
  bottom: 6px;
  left: 6px;
}

  


  .newsletter > p + p {
  height: 0;
}