/**
 * Theme Name: Swebetech
 * Template:   twentytwentyfive
 * Description: Ce thème est une réalisation sur-mesure pour la Fromagerie B.O.F. Il est donc entièrement compatible avec l'éditeur Gutenberg et la technologie Full Site Editing (FSE), technologie intégrée nativement à WordPress et permettant la construction de sites Internet sur-mesure, performants et qualitatifs.
 * Author: Swebetech
 * Author URI: https://swebetech.com
 */


/**
 * Custom fonts loading
 */



body.admin-bar header {
    margin-top: 32px;
}

html {
    scroll-behavior: smooth;
    scroll-padding: 75px;
}

.is-position-sticky {
    position: sticky !important;
    top: 0px;
}

html>body {
    overflow-x: hidden !important;
    transition: 0.3s ease;
    scroll-padding: 75px;
}

.wp-site-blocks {
    overflow: hidden;
}

:root :where(body) {
    --wp--style--root--padding-right: var(--wp--preset--spacing--20) !important;
    --wp--style--root--padding-left: var(--wp--preset--spacing--20) !important;
}

:where(.wp-site-blocks *:focus) {
    outline-width: inherit !important;
    outline-style: inherit !important;
}

.hide {
    display: none !important;
}

.no-scroll {
    overflow: hidden;
    height: 100%;
}

.horizontal-center {
    justify-content: center;
    margin-left: auto !important;
    margin-right: auto !important;
}

* {
    transition: ease 0.3s;
}

h2 a,
h3 a,
h4 a,
h5 a,
h6 a {
    text-decoration: none;
    /*color: var(--wp--preset--color--main-500);*/
    transition: 0.3s ease;
}

h2 a:hover,
h3 a:hover,
h4 a:hover,
h5 a:hover,
h6 a:hover {
    /*color: var(--wp--preset--color--main-500);*/
    text-decoration: none;
}


body.blur-effect main {
    filter: blur(5px); /* Ajustez l'intensité du flou */
    transition: 0.3s ease; /* Transition fluide */
}
.no-scroll {
    overflow: hidden;
    height: 100%;
}

/*********************************************** 
 * Responsive
 ***********************************************/
@media screen and (max-width: 780px) {
    .column-inverse {
        display: flex;
        flex-direction: column-reverse;
    }
}

@media screen and (max-width:780px) {
    .mobile-grid-2col {
        grid-template-columns: repeat(auto-fill, minmax(min(10rem, 100%), 1fr))!important;
    }
    .no-scroll-mobile {
        overflow: hidden;
        height: 100%;
    }
}
@media screen and (max-width:1024px) {
    .hide-on-tablet {
        display: none !important;
    }
}

@media screen and (min-width:781px) {
    .display-on-mobile {
        display: none !important;
    }
}

@media screen and (max-width:600px) {
    .hide-on-mobile {
        display: none !important;
    }

    .center-on-mobile {
        justify-content: center;
        text-align: center;
    }
}

@media screen and (min-width:1025px) {
    .custom-display-on-tablet {
        display: none !important;
    }
}

/* Modifier le breakpoint du menu principal */
body .wp-block-navigation__responsive-container-open:not(.always-shown) {
    display: block !important;
}

body .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) {
    display: none !important;
}

@media (min-width: 1025px) {
    body .wp-block-navigation__responsive-container-open:not(.always-shown) {
        display: none !important;
        ;
    }

    body .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) {
        display: block !important;
    }
}


/*********************************************** 
 * Header
 ***********************************************/
header {
    margin: 0px;
    width: 100%;
    position: fixed;
    top: 0px;
    left: 0px;
    border-radius: 0px;
    z-index: 99;
    box-shadow: 0px 5px 5px -3px #0000001A;
    background-color: #FFFFFF;
    -webkit-backdrop-filter: blur(15px);
    /* Safari */
    backdrop-filter: blur(15px);
}
header .mega-menu-lists-container a {
    transition: 0.03s ease;
    color: var(--wp--preset--color--text-main);
    text-decoration: none;
}

header .mega-menu-lists-container a:hover {
    color: var(--wp--preset--color--cta-txt) !important;
    text-decoration: none;
}

.wp-block-navigation__responsive-container.is-menu-open {
    width: 100vw !important;
    height: 100vh !important;
    position: fixed !important;
    top: 0;
    left: 0;
    z-index: 99999;
    margin: 0px !important;
    padding: 0 !important;
}

.wp-block-navigation__responsive-container.is-menu-open>* {
    padding: 16px !important;
}

.wp-block-navigation__responsive-container-content .navHeader {
    gap: 15px !important;
}

.wp-block-navigation__responsive-container-content .navHeader .wp-block-navigation__submenu-container li a {
    padding: 10px !important;
}

.navHeader .wp-block-navigation__submenu-container {
    /*margin-top: 15px!important;*/
    background-color: #FFFFFFCC !important;
    backdrop-filter: blur(15px) !important;
    border-radius: 8px !important;
}

header .wp-block-navigation-item a {
    transition: 0.03s ease;
    position: relative;
    cursor: pointer;
    line-height: 75px;
    height: 75px;
    display: block;
}

header .wp-block-navigation-item a:hover {
    color: var(--wp--preset--color--main-500) !important;
    text-decoration: none;
}

header .wp-block-navigation-item a[aria-current="page"] {
    color: var(--wp--preset--color--main-500) !important;
    font-weight: bold;
}


.btnHeader a {
    background-color: #FFFFFF33 !important;
    border-radius: 8px;
    padding: 5px 10px !important;
    transition: ease 0.3s;
}

.btnHeader a:hover {
    background-color: #ffffff25 !important;
}

.navHeader *:hover {
    text-decoration: none !important;
}

@media screen and (max-width:1133px) {
    header>*>.wp-block-group.is-content-justification-space-between {
        justify-content: center !important;
    }
}

/* Centrer les éléments du header */
header nav.is-layout-flex {
    width: 100%;
}

header nav .wp-block-navigation__container {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

header nav .wp-block-navigation .wp-block-navigation-item {
    display: inline-block;
}

header nav .wp-block-navigation-item.site-title {
    margin-left: auto;
    margin-right: auto;
    text-align: center;
    font-weight: bold;
    font-family: var(--wp--preset--font-family--title);
    font-size: var(--wp--preset--font-size--large);
    
}
header nav .wp-block-navigation-item.site-title a {
    line-height: var(--wp--preset--font-size--large)!important;
}
header nav .wp-block-navigation-item.site-title span.wp-block-navigation-item__label {
    position: relative;
    display: block;
    height: 75px;
    padding-top: 14%;
}


/** Mega Menu Header **/
.mega-menu-content, 
.mega-menu-parent a {
    filter: none !important;
    z-index: 9999; /* S'assurer qu'ils sont au-dessus du flou */
    position: relative; /* S'assurer qu'ils ne sont pas affectés par le flou */
}
/* Style pour le parent du méga-menu */
.mega-menu-parent a {
    position: relative; /* Nécessaire pour le positionnement relatif du méga-menu */
    cursor: pointer; /* Pour indiquer que c'est un élément cliquable */
    line-height: 75px;
    height: 75px;
    display: block;
}

/* Cacher le méga-menu par défaut */
.mega-menu-content {
    display: none; /* Cache le méga-menu */
    visibility: hidden;
    opacity:0;
    transition: 0.3s ease;
    position: fixed; /* Positionne le méga-menu par rapport à l'écran */
    left: 50%;
    top: 75px; /* Positionne le méga-menu juste en dessous du parent avec un petit espacement */
    transform: translateX(-50%);
    width: 100vw; /* Prend toute la largeur possible */
    max-width: var(--wp--style--global--wide-size)!important;
    z-index: 9999; /* S'assurer qu'il est au-dessus des autres éléments */
    background-color: #FFFFFFCC;
    -webkit-backdrop-filter: blur(15px);
    /* Safari */
    backdrop-filter: blur(15px);
}
/* Afficher le méga-menu au survol du parent */
.mega-menu-content.active {
    display: block;
    visibility: visible;
    opacity: 1;
    z-index: 999999;
    overflow-y: auto;
}
.mega-menu-content-title {
    font-weight: bold;
    max-width: 100%;
    position: relative;
}
.mega-menu-content-title a {
    color: var(--wp--preset--color--text-main);
    transition: 0.3s ease;
    text-decoration: none;
}
.mega-menu-content-title a:hover {
    color: var(--wp--preset--color--cta-txt);
}

/* Affichage des listes en header */
.mega-menu-lists-container ul.wp-block-list.mega-menu-content-content {
    list-style: none;
    margin-block-start: 0px;
    padding-left: 0px;
    font-size: var(--wp--preset--font-size--medium);
    margin-bottom: 1rem;
 }
.mega-menu-lists-container ul.wp-block-list.mega-menu-content-content a {
    color: var(--wp--preset--color--text-main);
    transition: 0.3s ease;
    text-decoration: none;
 }
.mega-menu-lists-container ul.wp-block-list.mega-menu-content-content a:hover {
    color: var(--wp--preset--color--cta-txt);
 }
/* Affichage des Catégories Produits en header */
.header-cat-cards {
    grid-template-columns: repeat(auto-fill, minmax(min(11rem, 100%), 1fr))!important;
}
.header-cat-cards .cat-produits-card {
    padding: 0.5rem 0.75rem;
    font-size: var(--wp--preset--font-size--small);
}
.header-cat-cards .cat-produits-card::before {
    z-index: 0;
}


/** Contenu du méga-menu **/
header .mega-menu-content .grille-selections .full-link {
    display: flex;
    flex-direction: row-reverse;
    justify-content: flex-end;
    column-gap: 20px;
    align-items: center;
}
header .mega-menu-content .grille-selections .full-link > * {
    margin-left: 0px !important;
    margin-right: 0px !important;
    text-align: left;
}
header .mega-menu-content .grille-selections .full-link figure, header .mega-menu-content .grille-selections .full-link figure img {
    aspect-ratio: 1 / 1!important;
    object-fit: cover;
    max-width: 56px;
    max-height: 56px;
    border-radius: 8px;
    margin-top: 0px;
}
#selections a, .grille-selections a {
    text-decoration: none;
}
header .grille-selections p.has-medium-font-size {
    font-size: var(--wp--preset--font-size--small)!important;
}
header .grille-selections p.has-title-font-family {
    font-size: var(--wp--preset--font-size--medium)!important;
}
header .header-cat-cards h3 {
    position: relative;
    z-index: 2;
}
@media screen and (max-width:1350px) {
    header .grille-selections p.has-title-font-family {
        font-size: var(--wp--preset--font-size--small)!important;
    }
    header .header-cat-cards h3 {
        font-size: var(--wp--preset--font-size--medium)!important;
    }
}
@media screen and (max-width:1024px) {
    header .mega-menu-content {
        top:0px!important;
        height: 100vh;
    }
    header .mega-menu-close {
        display: block;
        text-align: right;
        width: 100%;
        padding: 5px;
    }
    header .mega-menu-content .grille-selections {
        grid-template-columns: 1fr!important;
        opacity: 0;
        visibility: hidden;
        height: 0px;
        margin-block-start: 0px;
    }
    header .mega-menu-content .grille-selections.expanded {
        opacity: 1;
        visibility: visible;
        height: auto;
        margin-block-start: 16px;
    }
    .mega-menu-content-content {
        opacity: 0;
        visibility: hidden;
        height: 0px;
        margin-block-start: 0px!important;
    }
    .mega-menu-content-content.expanded {
        opacity: 1;
        visibility: visible;
        height: auto;
        margin-block-start: 16px!important;
    }
    .mega-menu-lists-container {
        flex-direction: column;
    }
    .mega-menu-lists-container>* {
        width: 100%;
    }
    .mega-menu-content-title {
        padding-right: 20px;
    }
    .mega-menu-content-title:after {
        content: '>';
        position: absolute;
        right: 0px;
        top: 0px;
        transition: 0.3s ease;
    }
    .mega-menu-content-title.opened:after {
        transform: rotate(90deg);
    }

    header .wp-block-navigation__container, header .wp-block-navigation__container li, header .wp-block-navigation__container li a {
        width: 100%;
        text-align: center;
    }
    header .wp-block-navigation-item a {
        line-height: 25px;
        height: 25px;
    }

    header .header-cat-cards {
        gap: 0.75rem;
    }
    header .heaver-cat-cards .cat-produits-card:before {
        min-width: 50px!important;
    }
    header .mega-menu-content .wp-block-columns {
        flex-wrap: wrap!important;
    }
    header .mega-menu-content .wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column {
        flex-basis: 100%!important;
    }
}


li.site-title {
    position: relative;
    background-color: #FFFFFFCC;
    z-index: 1;
}
li.site-title:after {
    content: url(/wp-content/uploads/Pictogramme-Tete-Vache-Seule-Header-Fromagerie-B.O.F.svg);
    position: absolute;
    top: 100%;
    left: 50%;
    transform: translatex(-50%);
    max-height: 100px; /* Hauteur maximale de 100px */
    width: auto; /* Maintient le ratio avec une hauteur contrainte */
    aspect-ratio: 150 / 130; /* Conserve l'aspect-ratio */
    z-index: -1;

}

/*********************************************** 
 * Footer
 ***********************************************/
footer ul.wp-block-navigation__container a {
    transition: 0.3s ease;
}
footer ul.wp-block-navigation__container a:hover {
    color: var(--wp--preset--color--main-100);
    text-decoration: underline;
}
footer .wp-block-navigation-item a[aria-current="page"]::after {
    margin-left:5px;
    border-radius: 8px;
    background-color: var(--wp--preset--color--cta-bg);
    color: var(--wp--preset--color--cta-txt);
    content:'Vous êtes ici';
    font-size: var(--wp--preset--font-size--small);
    padding: 0px 6px;
}
footer #navigation {
    flex-grow: 1;
}
nav[aria-label="Légal"] li:not(:first-child):before {
    content: '¤';
    padding-right: 1rem;
}

@media screen and (max-width:700px) {
    .nav[aria-label="Légal"] li:not(:first-child):before {
        content: unset !important;
        display: none !important;
    }
    footer .wp-block-navigation-item a[aria-current="page"]::after {
        content: 'Ici'!important;
    }
    footer .footerCta a {
        font-size: var(--wp--preset--font-size--small)!important;
        min-width: 110px!important;
    }
}

#legalMenu {
    column-gap: 2rem !important;
    row-gap: 0rem !important;
}

#legalMenu .wp-block-separator {
    flex-grow: 1;
    width: unset !important;
}

#legalMenu ul.wp-block-navigation__container {
    display: flex;
    justify-content: flex-end;
    row-gap: 0px;
}

#legalMenu ul.wp-block-social-links {
    flex-wrap: nowrap;
}

/*
footer [class*="half-halo-"] {
    position: relative;
}
footer [class*="half-halo-"]::before {
    content: '';
    position: absolute;
    width: 1px;
    height: 1px;
    border-radius: 50%;
    background-color: rgba(255, 255, 255, 0.05);
    -webkit-backdrop-filter: blur(15px);
    backdrop-filter: blur(15px);
}
footer .half-halo-center-right::before {
    top: 50%;
    right: 0;
    box-shadow: 0 0 100px 125px rgba(255, 255, 255, 0.08);
}
*/
footer .big-logo-center-left {
    position: relative;
    overflow: hidden;
}
footer .big-logo-center-left>.wp-block-group {
    position: relative;
}
footer .big-logo-center-left::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    width: auto;
    min-width: 800px;
    height: 600px;
    background-image: url(/wp-content/uploads/Pictogramme-Tete-Vache-Seule-Header-Fromagerie-B.O.F.svg);
    background-size: auto 100%;
    background-repeat: no-repeat;
    background-position: left center;
    opacity: 0.1;
    transform: rotate(-30deg) translateY(-50%);
    z-index: 0;
    pointer-events: none;
}


/*********************************************** 
 * Boutons
 ***********************************************/
/* Personnalisations générales */
:where(.wp-element-button, .wp-block-button__link) {
    transition: 0.3s ease;
    overflow: hidden;
}

:where(.btnPrincipal, .btnSecondaire, .btnTertiaire) {
    line-height: 1;

}

.wp-block-button.afterArrow :where(.wp-element-button, .wp-block-button__link):after {
    content: '>';
    right: 0;
    margin-left: 10px;
}


/* Bouton Principal */
.btnPrincipal a {
    transition: all 0.3s;
    position: relative;
    overflow: hidden;
    z-index: 1;
    font-weight: bold;
    background-color: var(--wp--preset--color--cta-bg);
    color: var(--wp--preset--color--cta-txt);
    padding: 0.8rem 1rem;
    border-radius: 32px;
    text-align: center;
    box-shadow: var(--wp--preset--shadow--btn-principal);
    text-wrap: nowrap;
}

.btnPrincipal a:before {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 0%;
    height: 100%;
    background-color: var(--wp--preset--color--cta-txt);
    ;
    transition: all 0.3s;
    z-index: -1;
    border-radius: 32px;
}

.btnPrincipal a:hover {
    color: var(--wp--preset--color--cta-bg);
    background-color: var(--wp--preset--color--cta-bg);
    box-shadow: var(--wp--preset--shadow--btn-principal);
}

.btnPrincipal a:hover:before {
    width: 100%;
    border-radius: 32px;
}

#coordonnees .btnPrincipal a {
    min-width: 170px;
}

/* Bouton Secondaire */
.btnSecondaire a {
    transition: all 0.3s;
    position: relative;
    overflow: hidden;
    z-index: 1;
    font-weight: bold;
    background-color: var(--wp--preset--color--main-0);
    color: var(--wp--preset--color--cta-txt);
    padding: 0.8rem 1rem;
    text-align: center;
    box-shadow: var(--wp--preset--shadow--btn-secondaire);
}

.btnSecondaire a:before {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 0%;
    height: 100%;
    background-color: var(--wp--preset--color--cta-bg);
    transition: all 0.3s;
    z-index: -1;
    border-radius: 32px;
}

.btnSecondaire a:hover {
    color: var(--wp--preset--color--cta-txt);
    background-color: var(--wp--preset--color--main-0);
    box-shadow: var(--wp--preset--shadow--btn-secondaire);
}

.btnSecondaire a:hover:before {
    width: 100%;
}

/* Bouton Tertiaire */
.btnTertiaire a {
    transition: all 0.3s;
    position: relative;
    overflow: hidden;
    z-index: 1;
    font-weight: bold;
    background-color: var(--wp--preset--color--main-100);
    color: var(--wp--preset--color--main-1000);
    padding: 0.8rem 1rem;
    border-radius: 8px;
    text-align: center;
}

.btnTertiaire a:before {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 0%;
    height: 100%;
    background-color: var(--wp--preset--color--main-0);
    ;
    transition: all 0.3s;
    z-index: -1;
    border-radius: 8px;
}

.btnTertiaire a:hover {
    color: var(--wp--preset--color--main-1000);
    background-color: var(--wp--preset--color--main-100);
    box-shadow: var(--wp--preset--shadow--btn-principal);
}

.btnTertiaire a:hover:before {
    width: 100%;
    border-radius: 8px;
}

/* Lien secondaire */
.lienSecondaire a {
    border-radius: 8px;
    line-height: 1rem;
    padding: 1rem 1rem;
    text-decoration: none;
    box-sizing: border-box;
    cursor: pointer;
    display: inline-block;
    text-align: center;
    word-break: break-word;
    background-color: unset !important;
    color: var(--wp--preset--color--main-0) !important;
    transition: 0.3s ease;
    font-weight: bold;
    text-align: center;
}

.lienSecondaire a:hover {
    color: var(--wp--preset--color--main-500) !important;
}


/*********************************************** 
 * Classes Générales d'Attributs CSS
 ***********************************************/
/* Full Link Size */
.full-link {
    position: relative;
}
.full-link a:after {
    display:block;
    position:absolute;
    left:0;
    top:0;
    width:100%;
    height:100%;
    content:'';
    z-index: 10;
}
.full-link figure {
    overflow: hidden;
    transition: 0.3s ease;
    border-radius: 16px;
}
.full-link:hover img {
    transform: scale(1.1);
}

/* Egaliser la hauteur des colonnes Cards */
.cards-column {
    display: flex;
    align-items: stretch;
}
.cards-column figure {
    height: 100%;
}
.cards-column figure img {
    height: 100%;
}

/* Aspect Ratio */
.aspect-ratio-3-1 img {
    aspect-ratio: 3 / 1;
}

/* Z-Index */
.z-index-10 {
    z-index: 10;
}

/* Min Height */
.min-height-75px {
    min-height: 75px;
}

.max-width-825 {
    max-width: 825px;
}

.max-width-950 {
    max-width: 950px !important;
}

.width-100vw {
    width: 100vw;
}

/* Overflow */
.overflow-hidden {
    overflow: hidden;
}

/* Text Decoration */
.decoration-none,
.decoration-none a {
    text-decoration: none;
}

/* Min Width 100% */
.min-width-100 {
    min-width: 100%;
}

/* Text Align */
.text-align-center {
    text-align: center;
}

/* Z-Index */
.z-index-10 {
    z-index: 10 !important;
}

/* Détails */
details.details-main summary {
    margin-bottom: 15px;
    margin-block-end: 15px !important;
}

/* Mise en couleur du titre des Détails */
.details-main summary {
    color: var(--wp--preset--color--main-500);
    text-align: center;
}

/* Mise en forme des icônes */
.icone-plus {
    width: fit-content;
    padding: 10px 10px;
    background-color: var(--wp--preset--color--error-300);
    border-radius: 8px;
    text-align: center;
    line-height: 1;
    margin-bottom: var(--wp--preset--spacing--10);
}

/*********************************************** 
 * Icônes et SVGs
 ***********************************************/
.svg-fill-bg svg {
    fill: var(--wp--preset--color--bg-second);
}

 .svg-fill-main svg {
    fill: var(--wp--preset--color--main-500);
}

.svg-fill-second svg {
    fill: var(--wp--preset--color--second-500);
}

.svg-fill-dark svg {
    fill: var(--wp--preset--color--main-950);
}

.svg-fill-clear svg {
    fill: var(--wp--preset--color--main-100);
}

.svg-fill-white svg {
    fill: white;
}

.svg-fill-white-40 svg {
    fill: rgba(255, 255, 255, 0.4);
}

.svg-fill-white-30 svg {
    fill: rgba(255, 255, 255, 0.3);
}

.divider-background {
    position: relative;
    z-index: -1;
}


/*********************************************** 
 * Badges et Promotions
 ***********************************************/
 .badge-candc .wp-block-navigation-item__label:after {
    content: "Click & Collect";
    font-size: 0.6rem;
    position: absolute;
    top: 6px;
    right: -15px;
    line-height: 1.5;
    background-color: var(--wp--preset--color--main-500);
    color: var(--wp--preset--color--main-0);
    border-radius: 8px;
    padding: 2px 4px;
    opacity: 1;
    transform: rotate(5deg);
    backdrop-filter: blur(15px);
    min-width: 65px;
 }
 @media screen and (max-width:1024px) {
    .badge-candc .wp-block-navigation-item__label:after {
        position: relative;
        top: 0px;
        right: 0px;
        margin-left: 15px;
    }
 }

 .price-bkdo {
    transform: rotate(15deg);
    min-width: clamp(50px, 6vw, 70px);
    min-height: clamp(50px, 6vw, 70px);
    border-radius: 100%;
    background-color: var(--wp--preset--color--text-main);
    color: var(--wp--preset--color--card-1);
    text-align: center;
    display: flex;
    justify-content: center;
    align-items: center;
    outline: 2px solid var(--wp--preset--color--text-main);
    outline-offset: 2px;
 }
 .price-abo {
    max-width: fit-content!important;
    position: absolute;
    top: -25px;
    right: 0px;
    transform: rotate(15deg);
    min-width: clamp(60px, 7vw, 80px);
    min-height: clamp(60px, 7vw, 80px);
    border-radius: 100%;
    background-color: var(--wp--preset--color--main-200);
    color: var(--wp--preset--color--main-950);
    text-align: center;
    display: flex;
    justify-content: center;
    align-items: center;
    outline: 2px solid var(--wp--preset--color--main-200);
    outline-offset: 2px;
    aspect-ratio: 1 / 1;
    padding: 3px;
}
header .price-abo {
    min-width: clamp(40px, 6vw, 60px)!important;
    min-height: clamp(40px, 6vw, 60px)!important;
    top:-10px!important;
    aspect-ratio: 1 / 1;
}
.transform-rotate--60deg {
    transform: rotate(60deg);
}
 .grecaptcha-badge {
    display: none !important;
}

/*********************************************** 
 * Catégories Produits
 ***********************************************/
 /* Dispositions Générales */
.cat-produits-card {
    padding: 1.5rem 1.75rem;
    border-radius: 0.5rem;
    transition: 0.3s ease;
    position: relative;
    overflow: hidden;
    z-index: 10;
}
.cat-produits-card:hover {
    box-shadow: none;
}
.cat-produits-card a:after {
    display:block;
    position:absolute;
    left:0;
    top:0;
    width:100%;
    height:100%;
    content:'';
}
.cat-produits-card:before {
    position: absolute;
    right: 0px;
    top:0;
    height:100%;
    width: auto;
    min-width: 110px;
    z-index: -1;
}

 /* Dispositions Particulières */
.cat-produits-bkdo {
    background-color: var(--wp--preset--color--produits-bkdo-bg);
    box-shadow: 0px 10px 14px 0px #FFD6A566;
}
.cat-produits-bkdo:before {
    content: url(/wp-content/uploads/Pictogramme-Fromagerie-B.O.F.-Bon-Cadeau.svg);
}
.cat-produits-bkdo *, .cat-produits-bkdo *:hover {
    color: var(--wp--preset--color--produits-bkdo-txt);
}

.cat-produits-charcut {
    background-color: var(--wp--preset--color--produits-charcut-bg);
    box-shadow: 0px 10px 14px 0px #FFD1E366;
}
.cat-produits-charcut:before {
    content: url(/wp-content/uploads/Pictogramme-Fromagerie-B.O.F.-Charcuterie.svg);
}
.cat-produits-charcut *, .cat-produits-charcut *:hover {
    color: var(--wp--preset--color--produits-charcut-txt);
}

.cat-produits-pain {
    background-color: var(--wp--preset--color--produits-pain-bg);
    box-shadow: 0px 10px 14px 0px #F7D48887;
}
.cat-produits-pain:before {
    content: url(/wp-content/uploads/Pictogramme-Fromagerie-B.O.F.-Pain.svg);
}
.cat-produits-pain *, .cat-produits-pain *:hover {
    color: var(--wp--preset--color--produits-pain-txt);
}

.cat-produits-vegan {
    background-color: var(--wp--preset--color--produits-vegan-bg);
    box-shadow: 0px 10px 14px 0px #F7D48833;
}
.cat-produits-vegan *, .cat-produits-vegan *:hover {
    color: var(--wp--preset--color--produits-vegan-txt);
}
.cat-produits-vegan:before {
    content: url(/wp-content/uploads/Pictogramme-Fromagerie-B.O.F.-Vegan.svg);
}

.cat-produits-cave {
    background-color: var(--wp--preset--color--produits-cave-bg);
    box-shadow: 0px 10px 14px 0px #EB978633;
}
.cat-produits-cave *, .cat-produits-cave *:hover {
    color: var(--wp--preset--color--produits-cave-txt);
}
.cat-produits-cave:before {
    content: url(/wp-content/uploads/Pictogramme-Fromagerie-B.O.F.-Cave.svg);
}

.cat-produits-plateaux {
    background-color: var(--wp--preset--color--produits-plateaux-bg);
    box-shadow: 0px 10px 14px 0px #EBD58633;
}
.cat-produits-plateaux:before {
    content: url(/wp-content/uploads/Pictogramme-Fromagerie-B.O.F.-Plateaux.svg);
}
.cat-produits-plateaux *, .cat-produits-plateaux *:hover {
    color: var(--wp--preset--color--produits-plateaux-txt);
}

.cat-produits-epicerie {
    background-color: var(--wp--preset--color--produits-epicerie-bg);
    box-shadow: 0px 10px 14px 0px #F8B88B33;
}
.cat-produits-epicerie:before {
    content: url(/wp-content/uploads/Pictogramme-Fromagerie-B.O.F.-Epicerie.svg);
}
.cat-produits-epicerie *, .cat-produits-epicerie *:hover {
    color: var(--wp--preset--color--produits-epicerie-txt);
}

.cat-produits-from {
    background-color: var(--wp--preset--color--produits-from-bg);
    box-shadow: 0px 10px 14px 0px #E6C96E66;
}
.cat-produits-from:before {
    content: url(/wp-content/uploads/Pictogramme-Fromagerie-B.O.F.-Fromage.svg);
}
.cat-produits-from *, .cat-produits-from *:hover {
    color: var(--wp--preset--color--produits-from-txt);
}

.cat-produits-crem {
    background-color: var(--wp--preset--color--produits-crem-bg);
    box-shadow: 0px 10px 14px 0px #F4F8FF66;
}
.cat-produits-crem:before {
    content: url(/wp-content/uploads/Pictogramme-Fromagerie-B.O.F.-Cremerie.svg);
}
.cat-produits-crem *, .cat-produits-crem *:hover {
    color: var(--wp--preset--color--produits-crem-txt);
}

.cat-produits-oeuf {
    background-color: var(--wp--preset--color--produits-oeuf-bg);
    box-shadow: 0px 10px 14px 0px #FFF4C166;
}
.cat-produits-oeuf:before {
    content: url(/wp-content/uploads/Pictogramme-Fromagerie-B.O.F.-Oeufs.svg);
}
.cat-produits-oeuf *, .cat-produits-oeufs *:hover {
    color: var(--wp--preset--color--produits-oeuf-txt);
}

.cat-produits-access {
    background-color: var(--wp--preset--color--produits-access-bg);
    box-shadow: 0px 10px 14px 0px #E8E8E866;
}
.cat-produits-access:before {
    content: url(/wp-content/uploads/Pictogramme-Fromagerie-B.O.F.-Accessoires.svg);
}
.cat-produits-access *, .cat-produits-access *:hover {
    color: var(--wp--preset--color--produits-access-txt);
}



/*********************************************** 
 * Cards
 ***********************************************/
.card.is-style-section-1 {
    position: relative;
    overflow: hidden;
}
.card.is-style-section-1 > * {
    position: relative;
    z-index: 2;
}
.card.is-style-section-1:after {
    content: url(/wp-content/uploads/Card-Background-Opacity.svg);
    position: absolute;
    right: 0px;
    bottom: -10px;
    width:100%;
    height: auto;
    min-width: 110px;
    z-index: 1;
}

.card-charcut:before {
    content: url(/wp-content/uploads/Pictogramme-Fromagerie-B.O.F.-Charcuterie.svg);
    position: absolute;
    right: -50px;
    bottom: -50px;
    width: auto;
    min-width: 250px;
}

.card-pain:before {
    content: url(/wp-content/uploads/Pictogramme-Fromagerie-B.O.F.-Pain.svg);
    position: absolute;
    right: -50px;
    bottom: -50px;
    width: auto;
    min-width: 250px;
}

.card-vegan:before {
    content: url(/wp-content/uploads/Pictogramme-Fromagerie-B.O.F.-Vegan.svg);
    position: absolute;
    right: -50px;
    bottom: -50px;
    width: auto;
    min-width: 250px;
}

.card-cave:before {
    content: url(/wp-content/uploads/Pictogramme-Fromagerie-B.O.F.-Cave.svg);
    position: absolute;
    right: -50px;
    bottom: -50px;
    width: auto;
    min-width: 250px;
}

.card-plateaux:before {
    content: url(/wp-content/uploads/Pictogramme-Fromagerie-B.O.F.-Plateaux.svg);
    position: absolute;
    right: -50px;
    bottom: -50px;
    width: auto;
    min-width: 250px;
}

.card-epicerie:before {
    content: url(/wp-content/uploads/Pictogramme-Fromagerie-B.O.F.-Epicerie.svg);
    position: absolute;
    right: -50px;
    bottom: -50px;
    width: auto;
    min-width: 250px;
}

.card-from:before {
    content: url(/wp-content/uploads/Pictogramme-Fromagerie-B.O.F.-Fromage.svg);
    position: absolute;
    right: -50px;
    bottom: -50px;
    width: auto;
    min-width: 250px;
}

.card-crem:before {
    content: url(/wp-content/uploads/Pictogramme-Fromagerie-B.O.F.-Cremerie.svg);
    position: absolute;
    right: -50px;
    bottom: -50px;
    width: auto;
    min-width: 250px;
}

.card-oeuf:before {
    content: url(/wp-content/uploads/Pictogramme-Fromagerie-B.O.F.-Oeufs.svg);
    position: absolute;
    right: -50px;
    bottom: -50px;
    width: auto;
    min-width: 250px;
}

.card-access:before {
    content: url(/wp-content/uploads/Pictogramme-Fromagerie-B.O.F.-Accessoires.svg);
    position: absolute;
    right: -50px;
    bottom: -50px;
    width: auto;
    min-width: 250px;
}



/*********************************************** 
 * Backgrounds
 ***********************************************/

 .content-hero {
    background-color: #ffffff1e;
    backdrop-filter: blur(25px);
    -webkit-backdrop-filter: blur(25px);
}




/*********************************************** 
 * Breadcrumbs
 ***********************************************/
 .rank-math-breadcrumb {
    font-size: var(--wp--preset--font-size--small);
 }



/* Styles de base pour toutes les bordures */
[class*="custom-border-"] {
    position: relative;
    z-index: 0;
    border: 0px solid;
}

[class*="custom-border-"]::before {
    aspect-ratio: auto;
    content: "";
    position: absolute;
    z-index: -1;
    inset: 0;
    padding: 2px;
    border-radius: var(--before-border-radius);
    -webkit-mask:
        linear-gradient(#fff 0 0) content-box,
        linear-gradient(#fff 0 0);
    mask:
        linear-gradient(#fff 0 0) content-box,
        linear-gradient(#fff 0 0);
    -webkit-mask-composite: xor;
    mask-composite: exclude;
}

/* Classes spécifiques pour chaque bordure avec dégradé */
[class*="custom-border-"] img {
    padding: 2px;
}

.custom-border-default::before {
    content: '';
    background: var(--wp--custom--border--default);
    padding: 2px !important;
}

.custom-border-top-only::before {
    background: var(--wp--custom--border--top-only);
}

.custom-border-top-right::before {
    background: var(--wp--custom--border--top-right);
}

.custom-border-right-only::before {
    background: var(--wp--custom--border--right-only);
}

.custom-border-bottom-right::before {
    background: var(--wp--custom--border--bottom-right);
}

.custom-border-bottom-only::before {
    background: var(--wp--custom--border--bottom-only);
}

.custom-border-bottom-left::before {
    background: var(--wp--custom--border--bottom-left);
}

.custom-border-left-only::before {
    background: var(--wp--custom--border--left-only);
}

.custom-border-top-left::before {
    background: var(--wp--custom--border--top-left);
}






/* Bouton Voir Plus des extraits */
.btnVoirPlus a.wp-block-post-excerpt__more-link {
    transition: all 0.3s;
    position: relative;
    overflow: hidden;
    z-index: 1;
    font-weight: bold;
    padding: 0.4rem 0.8rem;
    border-radius: 8px;
    background-color: var(--wp--preset--color--main-300);
    color: var(--wp--preset--color--main-1000);
    text-decoration: none;
    text-align: center;
}

.btnVoirPlus a.wp-block-post-excerpt__more-link:before {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 0%;
    height: 100%;
    background-color: var(--wp--preset--color--main-100);
    ;
    transition: all 0.3s;
    z-index: -1;
}

.btnVoirPlus a.wp-block-post-excerpt__more-link:hover {
    color: var(--wp--preset--color--main-1000);
    background-color: var(--wp--preset--color--main-300);
    box-shadow: var(--wp--preset--shadow--btn-principal);
}

.btnVoirPlus a.wp-block-post-excerpt__more-link:hover:before {
    width: 100%;
}



/** Widget Avis Google TrustIndex **/
.ti-widget.ti-goog .ti-col-3 .ti-review-item {
    -ms-flex: 0 0 33.33% !important;
    flex: 0 0 33.33% !important;
    max-width: 33.33% !important;
}

.ti-widget.ti-goog .ti-widget-container .ti-review-item>.ti-inner {
    background: var(--wp--preset--color--card-2) !important;
    position: relative;
    z-index: 0;
    border-radius: 16px!important;
    border: 0px solid;
}



/************************
 * 
*/
.titleLine {
    column-gap: 1rem !important;
    row-gap: 0rem !important;
}

.titleLine .wp-block-separator {
    flex-grow: 1;
    width: unset !important;
}

.titleLine :where(h1, h2, h3, h4, h5, h6) {
    margin-bottom: 5px !important;
}

@media screen and (max-width:600px) {
    .titleLine {
        gap: 0.5rem;
    }
}








/** Classes spécifiques pour les fonds de sections et pages **/
.custom-background-light-transparent {
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.05) 0%, rgba(0, 0, 0, 0.05) 92.52%);
}

.custom-background-dark-transparent {
    background: linear-gradient(93.67deg, rgba(0, 0, 0, 0.72) -0.24%, rgba(29, 27, 91, 0.72) 46.49%, rgba(254, 231, 101, 0.16) 102.59%);
}

.custom-background-dark {
    background: linear-gradient(180deg, rgba(1, 1, 6, 0.5) 0%, rgba(5, 5, 22, 0.5) 99.99%);
}

.bg-blur {
    -webkit-backdrop-filter: blur(10px);
    /* Safari */
    backdrop-filter: blur(10px);
}



/** Classes spécifiques pour les bannières **/
.banner-title-blur .wp-block-cover__inner-container {
    bottom: 5px;
    position: absolute;
    width: 80% !important;
    padding: 10px 20px;
    -webkit-backdrop-filter: blur(15px);
    /* Safari */
    backdrop-filter: blur(15px);
    border-radius: 6px;
    min-height: 35px;
    background: linear-gradient(93.67deg, rgba(0, 0, 0, 0.72) -0.24%, rgba(29, 27, 91, 0.72) 46.49%, rgba(254, 231, 101, 0.16) 102.59%);
}

.banner-title-blur .wp-block-cover__inner-container p {
    text-align: left;
    width: fit-content;
    margin-left: 0px !important;
    line-height: 1;
}


/* Classes générées à partir de la palette de couleurs */

/* Main Colors */
.color-main-0 {
    color: var(--wp--preset--color--main-0);
}

.background-main-0 {
    background-color: var(--wp--preset--color--main-0);
}

.color-main-100 {
    color: var(--wp--preset--color--main-100);
}

.background-main-100 {
    background-color: var(--wp--preset--color--main-100);
}

.color-main-200 {
    color: var(--wp--preset--color--main-200);
}

.background-main-200 {
    background-color: var(--wp--preset--color--main-200);
}

.color-main-300 {
    color: var(--wp--preset--color--main-300);
}

.background-main-300 {
    background-color: var(--wp--preset--color--main-300);
}

.color-main-400 {
    color: var(--wp--preset--color--main-400);
}

.background-main-400 {
    background-color: var(--wp--preset--color--main-400);
}

.color-main-500 {
    color: var(--wp--preset--color--main-500);
}

.background-main-500 {
    background-color: var(--wp--preset--color--main-500);
}

.color-main-600 {
    color: var(--wp--preset--color--main-600);
}

.background-main-600 {
    background-color: var(--wp--preset--color--main-600);
}

.color-main-700 {
    color: var(--wp--preset--color--main-700);
}

.background-main-700 {
    background-color: var(--wp--preset--color--main-700);
}

.color-main-800 {
    color: var(--wp--preset--color--main-800);
}

.background-main-800 {
    background-color: var(--wp--preset--color--main-800);
}

.color-main-950 {
    color: var(--wp--preset--color--main-950);
}

.background-main-950 {
    background-color: var(--wp--preset--color--main-950);
}

.color-main-1000 {
    color: var(--wp--preset--color--main-1000);
}

.background-main-1000 {
    background-color: var(--wp--preset--color--main-1000);
}

/* Second Colors */
.color-second-100 {
    color: var(--wp--preset--color--second-100);
}

.background-second-100 {
    background-color: var(--wp--preset--color--second-100);
}

.color-second-200 {
    color: var(--wp--preset--color--second-200);
}

.background-second-200 {
    background-color: var(--wp--preset--color--second-200);
}

.color-second-300 {
    color: var(--wp--preset--color--second-300);
}

.background-second-300 {
    background-color: var(--wp--preset--color--second-300);
}

.color-second-400 {
    color: var(--wp--preset--color--second-400);
}

.background-second-400 {
    background-color: var(--wp--preset--color--second-400);
}

.color-second-500 {
    color: var(--wp--preset--color--second-500);
}

.background-second-500 {
    background-color: var(--wp--preset--color--second-500);
}

.color-second-600 {
    color: var(--wp--preset--color--second-600);
}

.background-second-600 {
    background-color: var(--wp--preset--color--second-600);
}

.color-second-700 {
    color: var(--wp--preset--color--second-700);
}

.background-second-700 {
    background-color: var(--wp--preset--color--second-700);
}

.color-second-800 {
    color: var(--wp--preset--color--second-800);
}

.background-second-800 {
    background-color: var(--wp--preset--color--second-800);
}

.color-second-900 {
    color: var(--wp--preset--color--second-900);
}

.background-second-900 {
    background-color: var(--wp--preset--color--second-900);
}

/* Background Main Blue */
.color-bg-main-blue {
    color: var(--wp--preset--color--bg-main-blue);
}

.background-bg-main-blue {
    background-color: var(--wp--preset--color--bg-main-blue);
}

/* Positive Colors */
.color-positive-100 {
    color: var(--wp--preset--color--positive-100);
}

.background-positive-100 {
    background-color: var(--wp--preset--color--positive-100);
}

.color-positive-300 {
    color: var(--wp--preset--color--positive-300);
}

.background-positive-300 {
    background-color: var(--wp--preset--color--positive-300);
}

.color-positive-500 {
    color: var(--wp--preset--color--positive-500);
}

.background-positive-500 {
    background-color: var(--wp--preset--color--positive-500);
}

.color-positive-700 {
    color: var(--wp--preset--color--positive-700);
}

.background-positive-700 {
    background-color: var(--wp--preset--color--positive-700);
}

.color-positive-900 {
    color: var(--wp--preset--color--positive-900);
}

.background-positive-900 {
    background-color: var(--wp--preset--color--positive-900);
}

/* Neutral Colors */
.color-neutral-100 {
    color: var(--wp--preset--color--neutral-100);
}

.background-neutral-100 {
    background-color: var(--wp--preset--color--neutral-100);
}

.color-neutral-300 {
    color: var(--wp--preset--color--neutral-300);
}

.background-neutral-300 {
    background-color: var(--wp--preset--color--neutral-300);
}

.color-neutral-500 {
    color: var(--wp--preset--color--neutral-500);
}

.background-neutral-500 {
    background-color: var(--wp--preset--color--neutral-500);
}

.color-neutral-700 {
    color: var(--wp--preset--color--neutral-700);
}

.background-neutral-700 {
    background-color: var(--wp--preset--color--neutral-700);
}

.color-neutral-900 {
    color: var(--wp--preset--color--neutral-900);
}

.background-neutral-900 {
    background-color: var(--wp--preset--color--neutral-900);
}

/* Warning Colors */
.color-warning-100 {
    color: var(--wp--preset--color--warning-100);
}

.background-warning-100 {
    background-color: var(--wp--preset--color--warning-100);
}

.color-warning-300 {
    color: var(--wp--preset--color--warning-300);
}

.background-warning-300 {
    background-color: var(--wp--preset--color--warning-300);
}

.color-warning-500 {
    color: var(--wp--preset--color--warning-500);
}

.background-warning-500 {
    background-color: var(--wp--preset--color--warning-500);
}

.color-warning-700 {
    color: var(--wp--preset--color--warning-700);
}

.background-warning-700 {
    background-color: var(--wp--preset--color--warning-700);
}

.color-warning-900 {
    color: var(--wp--preset--color--warning-900);
}

.background-warning-900 {
    background-color: var(--wp--preset--color--warning-900);
}

/* Error Colors */
.color-error-100 {
    color: var(--wp--preset--color--error-100);
}

.background-error-100 {
    background-color: var(--wp--preset--color--error-100);
}

.color-error-300 {
    color: var(--wp--preset--color--error-300);
}

.background-error-300 {
    background-color: var(--wp--preset--color--error-300);
}

.color-error-500 {
    color: var(--wp--preset--color--error-500);
}

.background-error-500 {
    background-color: var(--wp--preset--color--error-500);
}

.color-error-700 {
    color: var(--wp--preset--color--error-700);
}

.background-error-700 {
    background-color: var(--wp--preset--color--error-700);
}

.color-error-900 {
    color: var(--wp--preset--color--error-900);
}

.background-error-900 {
    background-color: var(--wp--preset--color--error-900);
}




/* WooCommerce Placeholder */
img.woocommerce-placeholder {
    border-radius: 11px!important;
}

/* Boutons WooCommerce */
.wc-block-components-button:not(.is-link).outlined {
    border-radius: 64px;
    border: 1px solid var(--wp--preset--color--cta-bg);
    color: var(--wp--preset--color--cta-txt);
    transition: 0.3s ease;
    font-weight: bold;
}
.wc-block-components-button:not(.is-link).outlined:hover {
    background: var(--wp--preset--color--cta-bg);
    color: var(--wp--preset--color--cta-txt);
}
.wc-block-components-button:not(.is-link).contained {
    border-radius: 64px;
    font-weight: bold;
    background: var(--wp--preset--color--cta-bg);
    color: var(--wp--preset--color--cta-txt);
    transition: 0.3s ease;
}
.wc-block-components-button:not(.is-link).contained:hover {
    background: var(--wp--preset--color--cta-txt);
    color: var(--wp--preset--color--cta-bg);
}



/** FAQ (Details) **/
details.wp-block-details {
    background-color: var(--wp--preset--color--bg-main);
    padding: 8px 16px;
    border-radius: 16px;
}
details.wp-block-details summary {
    color: var(--wp--preset--color--text-main);
    font-weight: 500;
}
details.wp-block-details p {
    font-size: var(--wp--preset--font-size--medium);
}


/** Portraits qÉuipe **/
.people-portrait {
    position: relative;
}
.people-portrait img {
    border-radius: 16px;
    box-shadow: var(--wp--preset--shadow--btn-principal);
}
.wp-block-image :where(figcaption) {
    position: absolute;
    bottom: 0px;
    left: 1em;
    background-color: #FFECDE80;
    backdrop-filter: blur(10px);
    border-radius: 8px;
    padding: 5px 10px;
    margin-right: 1em;
    font-weight: bold;
    color: var(--wp--preset--color--text-main);
}