
@media screen and (min-width: 1200px) {
    .page-template-template-boutique .img-head{
        object-position: top;
        object-fit: contain;
        height: auto;
        bottom: auto;
        top: -150px;
    }
}

.bas_boutique{
    display: grid;
    height: fit-content;
}

.bas_boutique>div{
    grid-area: 1 / 1;
    padding-top: var(--bigspace);
    padding-bottom: var(--lt-space);
    padding-left: var(--side-big);
    padding-right: var(--side-big);
}

.bas_boutique>img{
    grid-area: 1 / 1;
    height: 100%;
    object-fit: cover;
    object-position: top;
    min-width: 100%;
    z-index: -1;
}

.page-template-template-boutique .bloc-actu{

}

.card_info_produit{
    display: flex;
    align-items: center;
    gap: 26px;
    margin-top: 29px;
}

.card_info_produit>.flex-btn{
    cursor: pointer;
}

.card_info_produit>.flex-btn>.btn_base{
    text-transform: unset;
    color: var(--violet);
    margin: 0;
    font-size: 20px;
    font-weight: 400;
    padding: 6px 12px 8px;
}

.notif{
    background-color: white;
    color:  var(--violet);
    position: fixed;
    top: 50%;
    left: 50%;
    z-index: 10;
    padding: 10px 20px ;
    font-weight: 400;
    border: solid 1px var(--violet);
    border-radius: 50px;
    opacity: 0;
    transform: translate(-50%, -50%);
    pointer-events: none;
}


.notif_active {
    animation: notifFade 1.6s ease forwards;
}

@keyframes notifFade {
    /* étape 1 */
    0% {
        opacity: 0;
        transform: translate(-50%, -30%);
    }
    /* étape 2 */
    30%, 60% {
        opacity: 1;
        transform: translate(-50%, -50%);
    }
    /* étape 3 */
    100% {
        opacity: 0;
        transform: translate(-50%, -80%);
    }
}


.add-to-cart:active{
    transition: transform 0.15s ease;
    transform: scale(0.9);
}

.card_info_produit>.flex-btn>.btn_base:hover{
    padding: 6px 12px 8px;
}

.prix_produit{
    color: var(--gris);
    font-size: 22px;
    font-style: normal;
    font-weight: 400;
    line-height: 30px; /* 136.364% */
    margin-bottom: 3px;
}

.produit-filtered{
    width: 100%;
    margin-bottom: var(--small-margin);
}

.btn_add_cart{
    text-transform: unset;
    cursor: pointer;
}


.page-single-produit{
    position: relative;
}


.page-single-produit .pissenlit-quand{
    top: 680px;
    right: 0;
}

button.btn_base {
    font-family: "sofia-pro", sans-serif;
    background-color: rgba(255, 255, 255, 0);
}

strong>span{
    font-weight: bold;
}

#wrapper .titre_violet{
    color: var(--violet);
}

/* panier */

.grid_line{
    display: grid;
    grid-template-columns:  1fr 15% 130px 20% 90px;
    /*grid-template-columns: 40% 15% 15% 20% 10%;*/
    width: auto;
    align-items: center;
    text-align: center;
    gap: 0 50px;
}

.bottom_line_pnr{
    grid-area: 2 / 1 / 1 span / 5 span;
    width: 100%;
    height: auto;
    margin-top: 33px;
    margin-bottom: 28px;
}

.grid_line .pnr_produit{
    text-align: left;
}

.header_panier{
    font-family: "sofia-pro", sans-serif;
    font-size: 22px;
    font-style: normal;
    font-weight: 300;
}


.pnr_suppr>button{
    height: 100%;
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: rgba(255, 255, 255, 0);
}


.pnr_suppr>button:active svg{
    transition: transform 0.15s ease;
    transform: scale(0.9);
}

.pnr_suppr>button:hover svg{
    opacity: 0.8;
}

.contenu_panier{
    font-family: "sofia-pro", sans-serif;
    font-size: 26px;
    font-style: normal;
    font-weight: 300;
}


.contenu_panier .pnr_produit {
    display: -webkit-box; /* active le mode boîte flexible */
    -webkit-box-orient: vertical; /* orientation verticale des lignes */
    -webkit-line-clamp: 3; /* limite à 3 lignes */
    overflow: hidden; /* cache le texte en trop */
    text-overflow: ellipsis; /* ajoute les "..." */
}


.select_perso {
    position: relative;
    display: inline-block;
    width: auto;
}

.select_perso select {
    appearance: none;       /* retire le style natif */
    -webkit-appearance: none;
    -moz-appearance: none;
    width: 100%;
    padding: 5px 26px 5px 5px; /* espace pour la flèche */
    border: 0px solid rgba(255, 255, 255, 0);
    background: transparent;
    cursor: pointer;
}


.select_perso select.qty-input {
    font-family: "sofia-pro", sans-serif;
    font-size: 26px;
    font-style: normal;
    font-weight: 300;
    color: #767676;
    appearance: none;       /* retire le style natif */
    -webkit-appearance: none;
    -moz-appearance: none;
    width: 100%;
    padding: 5px 26px 5px 5px; /* espace pour la flèche */
    border: 0px solid rgba(255, 255, 255, 0);
    background: transparent;
    cursor: pointer;
}

.select_perso svg {
    position: absolute;
    top: 56%;
    right: 5px;
    transform: translateY(-50%) rotate(0deg);
    transition: transform 0.3s ease;
    pointer-events: none; /* laisse passer le clic sur le select */
}

.select_perso select:focus-within + svg {
    transform:  translateY(-50%) rotate(180deg);
}

.select_perso select:focus-within{
    outline: 0;
}


.ligne_total{
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-size: 26px;
}

.ligne_total>p{
    font-size: 22px;
}

.ligne_total>p>strong{
    font-size: 26px;
}








@media  (max-width: 1400px){
    .grid_line{
        grid-template-columns: 1fr 15% 130px 20% 90px;
    }
}

@media  (max-width: 1100px){

    .grid_line{
        grid-template-columns: 1fr 1fr auto;
        gap: 0 20px;
    }

    .header_panier>.pnr_produit, .header_panier>.pnr_prix , .header_panier>.pnr_quantite, .header_panier>.pnr_sous_total, .header_panier>.pnr_suppr{
        display: none;
    }

    .bottom_line_pnr {
        grid-area: 4 / 1 / 1 span / 3 span;
    }

    .grid_line>.pnr_produit{
        grid-area: 1 / 1  / 1 span / 2 span;
        margin-left: 15px;
        margin-bottom: 10px;
        font-weight: 700;
        font-size: 23px;
    }

    .grid_line>.pnr_prix {
        grid-area: 2 / 1  / 1 span / 2 span;
        text-align: left;
        margin-left: 15px;
        font-size: 20px;
    }

    .grid_line>.pnr_quantite{
        grid-area: 3 / 1  / 1 span / 1 span;
        text-align: left;
        margin-left: 10px;
        margin-top: 20px;
    }

    .grid_line>.pnr_sous_total{
        grid-area: 3 / 2  / 1 span / 2 span;
        margin-right: 15px;
        margin-top: auto;
        margin-bottom: 10px;
        text-align: right;
        font-size: 20px;
    }

    .grid_line>.pnr_suppr{
        grid-area: 1 / 3 / 2 span / 1 span;
        height: 100%;
    }

    .grid_line>.pnr_suppr>button{
        padding: 0px 15px 15px 20px;
        justify-content: flex-end;
        align-items: flex-start;
    }

    .select_perso select.qty-input {
        font-size: 20px;

    }


    .ligne_total{
        font-size: 20px;
    }

    .ligne_total>p{
        font-size: 18px;
    }

    .ligne_total>p>strong{
        font-size: 20px;
    }
}


.input_base{
    position: relative;
    display: flex;
    width: fit-content;
    padding: 8px 10px;
    z-index: 10;
}

.input_base>svg {
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    width: 100%;
    height: 100%;
    z-index: -1;
    transition: 0.4s ease-in-out all;
}

.custom-checkbox {
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    margin-top: 9px;
}

.custom-checkbox input {
    display: none;
}

/* SVG vide par défaut */
.checkbox-icon {
    flex: 0 0 auto;
    width: 21px;
    height: 23px;
    margin-right: 15px;
    background-repeat: no-repeat;
    background-size: contain;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='21' height='23' viewBox='0 0 21 23' fill='none'><path d='M0.523335 1.43604C0.420514 5.49778 0.701542 12.7542 0.523436 21.7448C2.93051 23.4441 9.48632 21.7448 20.0335 21.7448C21.036 17.9839 20.1106 5.19691 20.1106 1.43604C18.7611 1.43604 5.80574 -0.67005 0.523335 1.43604Z' stroke='%2350616A'/></svg>");
}

/* SVG plein quand coché */
.custom-checkbox input:checked + .checkbox-icon {
    /*background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='21' height='23' viewBox='0 0 21 23' fill='none'><path d='M5.59766 0.0479736C7.60256 -0.0520667 9.7804 0.0153128 11.8242 0.147583C13.8692 0.279931 15.7888 0.477874 17.2783 0.6427C18.0271 0.725559 18.6579 0.799105 19.1523 0.852661C19.6567 0.907281 19.9749 0.936603 20.1104 0.936646H20.6104V1.43665C20.6104 3.31387 20.8414 7.4083 20.9482 11.5773C21.0013 13.6492 21.0234 15.7293 20.9688 17.5294C20.9145 19.3156 20.7835 20.8715 20.5166 21.8732L20.418 22.2452H20.0332C14.7816 22.2453 10.5347 22.6674 7.25879 22.881C5.62872 22.9873 4.22342 23.0424 3.06836 22.9601C1.92217 22.8784 0.949882 22.6578 0.235352 22.1534L0.0185547 22.0001L0.0234375 21.7355C0.112333 17.2479 0.0868838 13.1914 0.0517578 9.74719C0.0166933 6.30917 -0.0282465 3.4663 0.0234375 1.42395L0.0322266 1.09387L0.337891 0.971802C1.73592 0.414431 3.60235 0.147535 5.59766 0.0479736Z' fill='%235A4D81'/></svg>");*/

    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='21' height='23' viewBox='0 0 21 23' fill='none'><path d='M5.59766 0.0479736C7.60256 -0.0520667 9.7804 0.0153128 11.8242 0.147583C13.8692 0.279931 15.7888 0.477874 17.2783 0.6427C18.0271 0.725559 18.6579 0.799105 19.1523 0.852661C19.6567 0.907281 19.9749 0.936603 20.1104 0.936646H20.6104V1.43665C20.6104 3.31387 20.8414 7.4083 20.9482 11.5773C21.0013 13.6492 21.0234 15.7293 20.9688 17.5294C20.9145 19.3156 20.7835 20.8715 20.5166 21.8732L20.418 22.2452H20.0332C14.7816 22.2453 10.5347 22.6674 7.25879 22.881C5.62872 22.9873 4.22342 23.0424 3.06836 22.9601C1.92217 22.8784 0.949882 22.6578 0.235352 22.1534L0.0185547 22.0001L0.0234375 21.7355C0.112333 17.2479 0.0868838 13.1914 0.0517578 9.74719C0.0166933 6.30917 -0.0282465 3.4663 0.0234375 1.42395L0.0322266 1.09387L0.337891 0.971802C1.73592 0.414431 3.60235 0.147535 5.59766 0.0479736ZM18.208 4.09387C14.8171 6.53001 12.4479 9.31186 10.6797 11.7316C9.79773 12.9385 9.06063 14.062 8.42969 14.9962C7.98248 15.6584 7.59305 16.214 7.24219 16.6515C6.31906 15.1278 5.3051 13.6454 4.49023 12.505C4.02931 11.8599 3.63083 11.3222 3.34766 10.9454C3.20628 10.7574 3.09329 10.6093 3.01562 10.5079C2.97687 10.4574 2.94619 10.4181 2.92578 10.3917C2.91562 10.3786 2.90763 10.3683 2.90234 10.3615C2.89979 10.3582 2.89784 10.3554 2.89648 10.3536C2.89581 10.3527 2.89488 10.3512 2.89453 10.3507L2.5 10.6583C2.14415 10.9357 2.1098 10.9633 2.10645 10.9659L2.10742 10.9679C2.10858 10.9694 2.11011 10.9719 2.1123 10.9747C2.11718 10.981 2.12505 10.9905 2.13477 11.0031C2.15435 11.0284 2.18376 11.0669 2.22168 11.1163C2.29753 11.2153 2.40859 11.3608 2.54785 11.546C2.82709 11.9175 3.22119 12.4495 3.67676 13.087C4.589 14.3637 5.74626 16.0602 6.73535 17.7521L7.06641 18.3195L7.52441 17.8488C8.06086 17.2982 8.62722 16.4904 9.25781 15.5568C9.89758 14.6095 10.6195 13.5089 11.4873 12.3214C13.219 9.95178 15.5165 7.25953 18.792 4.90637L18.208 4.09387Z' fill='%235A4D81'/></svg>");

}



.choix_livraison{
    display: flex;
    gap: 8px;
    align-items: flex-start;
    margin: 30px 0 45px;
}

.custom-checkbox .contenu{
    font-size: 22px;
}

.custom-checkbox.livr_dif_input .contenu{
    font-size: 16px;
}

.info{
   display: flex;
    gap: 8px;
    margin-right: 30px;
}

.info>svg{
    margin-top: 16px;
}

.info .cercle_svg{
    stroke: var(--violet);
    fill: white;
    transition: 0.2s ease-in;
}

.info .i_svg{
    stroke: var(--violet);
    transition: 0.2s ease-in;
}

.info .input_base{
    max-width: 200px;
    font-size: 13px;
    color: white;
    padding: 14px 17px;
    opacity: 0;
    transition: 0.2s ease-in;
}

.info:hover .input_base{
    opacity: 1;
}

.info:hover .cercle_svg{
    fill:  var(--violet);
}

.info:hover .i_svg{
    stroke: white;
    fill: white;
}

.from_2_column{
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px 20px;
}

.from_2_column label{
    width: 100%;
}

.from_2_column label>svg{
    opacity: 0.4;
    transition: 0.2s easy-in;
}

.from_2_column label input:focus + svg{
    opacity: 1;
}

.from_2_column .double_ligne{
    grid-column: span 2;
}

.livr_dif_input{
    margin-top: 25px;
}


.affiche_adresse_livraison {
    display: none;
}

.flex_cote:has(#livr_dif:checked) .affiche_adresse_livraison {
    display: block;
}

.info_perso_kdo:has(#retrait:checked) .livr_dif_input, .info_perso_kdo:has(#retrait:checked) .affiche_adresse_livraison {
    display: none;
}

.input_base .select_perso{
    width: 100%;
}


.input_base.input-error svg path{
    stroke: #af0909;
}


.paie_kdo h2{
    margin-bottom: 36px;
}

.info_perso_kdo h2{
    margin-bottom: 0px;
}



/**********/

/* module */

.flex_cote{
    display: grid;
    grid-template-columns: 1fr 1fr;
    width: 100%;
    gap: 0px 40px;
}

.paie_kdo.flex_cote{
    gap: 30px 5vw;
}



/* Pour le champ libre */
.kdo input[type="text"], .kdo input[type="tel"], .kdo input[type="email"], .kdo textarea, .kdo select{
    font-family: "Sofia Pro", sans-serif;
    background-color: transparent;
    color: var(--gris);
    border: none;
    outline: none;
    transition: 0.3s ease; /* animation fluide */
    width: 100%;              /* facultatif, adapte selon le conteneur */
    font-size: 18px;          /* ajustable */
    margin: 0;
    padding: 0;
    border-radius: 0px !important;
}

.kdo input[type="text"]:focus, .kdo input[type="tel"]:focus, .kdo input[type="email"]:focus, .kdo textarea:focus{
    opacity: 1;
}

.kdo textarea{
    border-bottom: 0px;
    padding: 0;
    /* Lignes horizontales */
    background-image: linear-gradient(to top, var(--violet) 1px, transparent 1px);
    background-size: 100% 34px; /* hauteur de chaque ligne */
    line-height: 34px;
    transition: 0s;
}





/* style */

.kdo{
    padding-top: 24px;
}

.kdo p{
    opacity: unset;
    text-align: left;
}

.kdo_etapes{
    display: flex;
    gap: 30px;
    align-items: center;
    margin-bottom: 47px;
}

.kdo_etape{
    display: flex;
    font-size: 22px;
    gap: 3px;
    align-items: center;
    position: relative;
    opacity: 0.4;
}

.kdo_etape div{
    color: var(--violet);
    font-family: "adventures-unlimited", sans-serif;
    font-size: 61px;
    font-style: normal;
    font-weight: 400;
    height: 63px;
}

.kdo_etape p{
    font-size: 22px;
    color: var(--violet);
    margin-top: 6px;
}


.kdo_etape.active{
    opacity: 1;
}



.liste_radio{
    display: flex;
    justify-content: space-between;
    gap: 20px;
    max-width: 350px;
}

/* Masquer le radio par défaut */
.kdo input[type="radio"], .kdo input[type="checkbox"] {
    display: none;
}







.flex_boutons_bon {
    display: grid;
    gap: 15px; /* espace entre les boutons */
    grid-template-columns: repeat(3, 1fr);
}

.flex_boutons_bon label {
    position: relative;
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 10px 20px;
    border-radius: 50%; /* rond */
    border: solid 1px var(--violet);
    color: var(--violet);
    background: transparent; /* fond initial transparent */
    cursor: pointer;
    transition: all 0.3s ease;
    user-select: none;
    min-width: 60px;
    min-height: 60px;
    max-width: 300px;
    max-height: 300px;
    aspect-ratio: 1 / 1;
    text-align: center;
    font-weight: 200;
    font-size: 26px;
}

.flex_boutons_bon label .montant_libre{
    color: var(--violet);
    text-align: center;

    font-size: 20px;
    font-weight: 100;
    opacity: 0.7;
}

.flex_boutons_bon label:has(input[type="radio"]:checked) .montant_libre{
    opacity: 1;
}

.flex_boutons_bon label span:last-of-type{
    font-weight: 200;
    margin-top: 10px;
}


/* Masquer le radio réel */
.flex_boutons_bon input[type="radio"] {
    display: none;
}

/* Quand radio sélectionné */
.flex_boutons_bon label:has(input[type="radio"]:checked) {
    background: white; /* fond blanc */
}

/* Pour le champ libre */
.choix_bon_libre_input {
    background-color: var(--rose);
    color: var(--violet);
    border: none;             /* supprime toutes les bordures par défaut */
    border-bottom: 1px solid var(--violet); /* ligne verte */
    outline: none;            /* supprime le contour par défaut au focus */
    transition: 0.3s ease; /* animation fluide */
    width: 100%;              /* facultatif, adapte selon le conteneur */
    font-size: 26px;          /* ajustable */
    margin: 0;
    padding: 0 0 0 6px;
    opacity: 0.2;
}

label:has(input[type="radio"]:checked) .choix_bon_libre_input {
    background-color: white;
    opacity: 1;
}


/* Garder les flèches mais changer leur fond */
input[type=number]::-webkit-inner-spin-button, input[type=number]::-webkit-outer-spin-button{
    -webkit-appearance: none; /* supprime le style par défaut si besoin */

}









/* Style du label comme radio personnalisé */
.radio_rond_cote label {
    display: inline-flex;
    align-items: center;
    position: relative;
    padding-left: 38px; /* espace pour le "cercle" */
    cursor: pointer;
    font-size: 18px;
    color: var(--violet);
}

/* Cercle du radio */
.radio_rond_cote label::before {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 20px;
    height: 20px;
    border: 1px solid var(--violet); /* contour vert */
    border-radius: 50%;
    transition: 0.2s;
}

/* Point à l'intérieur quand sélectionné */
.radio_rond_cote input[type="radio"]:checked + label::before , .radio_rond_cote input[type="checkbox"]:checked + label::before {
    background-color: var(--violet);
}

.radio_rond_cote label:hover::before {
    transform: translateY(-50%) scale(1.1);
}

.flex_boutons_panier{
    display: grid;
    gap: 60px 15px; /* espace entre les boutons */
    grid-template-columns: repeat(3, 1fr);
}


/* Masquer le radio par défaut */
.panier_radio input[type="radio"] {
    display: none;
}

.panier_radio label{
    display: flex;
    flex-direction: column;
    align-items: center;
    cursor: pointer;
    text-align: center;
    gap: 20px;
}

.panier_radio label>picture:first-of-type{
    display: block;
    /*aspect-ratio: 1 / 1;*/
    width: 100%;
    height: auto;
    border-radius: 50%;
    padding: 10px;
    border: 1px solid #C1C6B9;
    transition: 0.2s ease;
}

.panier_radio input[type="radio"]:checked + label>picture:first-of-type{
    background-color: white;
    border: 1px solid var(--violet);
}

.panier_radio picture:first-of-type img{
    object-fit: cover;
    object-position: center;

    aspect-ratio: 1 / 1;
    width: 100%;
    height: auto;
    border-radius: 50%;
}

.panier_radio label h3{
    margin: 0;
    opacity: 1;
}

.panier_radio label .description_panier{
    margin: 0 0 10px 0;
    opacity: 0.7;
}

.panier_radio .selecteur{
    width: 20px;
    height: 20px;
    border: 1px solid var(--violet); /* contour vert */
    border-radius: 50%;
    transition: background-color 0.2s;
    opacity: 0.2;
}

/* Point à l'intérieur quand sélectionné */
.panier_radio input[type="radio"]:checked + label .selecteur {
    background-color: var(--violet);
    opacity: 1;
}



/* resumer */

#resume_kdo p{
    margin-bottom: 28px;
}

.resum_table {
    width: 100%;
    table-layout: auto; /* important */
    border-collapse: collapse;
    margin-bottom: 0px;
}

.resum_table .contenu_resum td{
    padding: 8px 17px;
    vertical-align: middle;
    font-size: 22px;
    font-weight: 300;
}

.resum_table .contenu_resum td div{
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
    text-overflow: ellipsis;
}

.resum_table .contenu_resum td:nth-child(2),
.resum_table .contenu_resum td:nth-child(3) {
    white-space: nowrap;
    width: 1%; /* force la colonne à prendre juste la largeur nécessaire */
}

.resum_table .contenu_resum td:first-child {
    width: auto;
    padding-left: 0px;
}


.resum_table .contenu_resum td:nth-child(2){
    text-align: center;
}

.resum_table .contenu_resum td:last-child {
    padding-right: 0px;
    text-align: right;
}

.resum_table .contenu_resum:last-child td {
    padding-bottom: 0px;
}

.ligne_total_resum{
    align-items: flex-start;
}

.ligne_total_resum, .ligne_total_resum p strong{
    color: var(--violet);
}


/* boutons */
.kdo_boutons{
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    margin-top: 50px;
}

.kdo_boutons button {
    background-color: rgba(0, 0, 0, 0);
}

.kdo_boutons .btn_base  {
    text-transform: unset;
}

.kdo_next{
    margin: 0 0 0 auto;
}

.confirmation_kdo .btn_base[target="_blank"]:hover span:nth-of-type(2) {
    opacity: 1;
    margin-bottom: 0;
}









/* test calendrier */

#calendar-container{
    margin-top: 60px;
}

.fc .fc-toolbar.fc-header-toolbar {
    margin-bottom: 0;
}

.fc table {
    margin: 20px 0;
}

.fc .fc-button-primary {
    background-color: var(--rose) !important;
    border: 0;
    height: fit-content;
    display: flex;
    box-shadow: unset !important;
}

.fc .fc-toolbar-title {
    width: auto;
    font-family: "mundial", sans-serif;
    font-size: 20px;
    font-weight: 200;
    text-transform: capitalize;
}

.fc-theme-standard td, .fc-theme-standard th{
    border: 0px;
}

.fc-daygrid-day-events, .fc-scrollgrid thead {
    display: none;
}

.fc .fc-scrollgrid-section-body table, .fc .fc-scroller, .fc .fc-daygrid-body, .fc .fc-scroller-harness, .fc .fc-scrollgrid, .fc-dayGridMonth-view, #calendar-container, .fc .fc-scrollgrid-sync-table tbody {
    width: fit-content !important;
    max-width: 357px;
}

.fc-theme-standard .fc-scrollgrid{
    border: 0;
}

td.fc-day{
    min-height: 40px;
    min-width: 40px;
    /*height: 5vw;*/
    width: 12vw;
    max-height: 51px;
    max-width: 51px;
    /*aspect-ratio: 1 / 1;*/
    border-radius: 50%;
    background-color: var(--rose) !important;
    padding: 0 2px;
}

@media  (min-width: 600px){
    td.fc-day{
        width: 51px;
    }
}

.fc-day-past .fc-highlight, .fc-day-disabled  .fc-highlight,  .fc-highlight{
    display: none;
}

.fc-day-past .fc-daygrid-day-top {
    opacity: 0.3;
}

.fc-day-today, .selected-day{
    position: relative;
}

.fc-day-today:after{
    position: absolute;
    content: '';
    top: 50%;
    left: 50%;
    width: calc(100% - 4px);
    height: 100%;
    border: 1px solid var(--violet);
    opacity: 0.3;
    border-radius: 50%;   /* transforme le rectangle en cercle */
    transform: translate(-50%, -50%); /* centre le cercle */
}

.selected-day:after{
    position: absolute;
    content: '';
    top: 50%;
    left: 50%;
    width: calc(100% - 4px);
    height: 100%;
    border-radius: 50%;   /* transforme le rectangle en cercle */
    transform: translate(-50%, -50%); /* centre le cercle */
    background-color: white;
    border: 1px solid var(--violet);
}

.fc .fc-daygrid-day-top {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: row;
    height: 100%;
    aspect-ratio: 1/1;
}

.fc .fc-daygrid-day-number {
    font-size: 20px;
    color: var(--violet);
}

.fc .fc-day-other.fc-day-future .fc-daygrid-day-top {
    opacity: 1;
}

.fc .fc-day-future{
    cursor: pointer;
}






.block_paiement{
    width: 100%;
}

.input_banq{
    display: flex;
    margin-top: 30px;
}

.input_banq #card-number{
}

.input_banq #card-expiry{
    width: 90px;
}

.input_banq #card-cvc{
    width: 42px;
    text-align: right;
}



/* masquer par défaut */
.input_banq,  #twint-payment-info  {
    display: none;
}

/* afficher si la radio Carte est cochée */
.liste_radio:has(#paiement_card:checked) ~ .input_banq {
    display: flex;
    flex-direction: column;
}

.liste_radio:has(#paiement_twint:checked) ~ #twint-payment-info {
    display: flex;
    flex-direction: column;
}

label.consentement {
    font-size: 16px;
    font-weight: 100;
}

.consentement a, .consentement a:visited{
    color: var(--violet);
    text-decoration: underline;
}



.confirmation_kdo{
    margin-top: 20px;
    min-height: 50svh;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
}

.boutons_confirmation{
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    margin-top: 10dvh;
}

.btn_telecharger, .btn_telecharger:visited, .btn_nouvelle_commande{

}

.kdo_commander:disabled {
    opacity: 0.6;
    pointer-events: none;
}

.kdo_loading_active {
    cursor: wait !important;
}

#kdo_loading{
    background-color: white;
    color:  var(--violet);
    position: fixed;
    top: 50%;
    left: 50%;
    z-index: 10;
    padding: 10px 20px ;
    font-weight: 400;
    border: solid 1px var(--violet);
    border-radius: 50px;
    transform: translate(-50%, -50%);
    pointer-events: none;
}


#menu .menu>.menu-item-1217.current_page_item>a::after {
    display: none;
}


.panier_menu{
    display: grid;
}

.panier_rempli, .panier_menu.panier_actif .panier_vide, .cart-count{
    display: none;
}

.panier_menu.panier_actif .panier_rempli, .panier_menu.panier_actif .cart-count{
    display: block;
}


.panier_vide, .panier_rempli, .cart-count{
    grid-area: 1 / 1;
}

.cart-count {
    color: var(--gris);
    margin: 13px 0 0 15px;
    font-size: 12px;
}

.panier_menu img{
    /*filter: brightness(0) invert();*/
}


.page-template-template-quisuisje #menu .panier_menu img
, .page-template-template-prestations #menu .panier_menu img
, .page-template-template-quand #menu .panier_menu img
, .page-template-template-boutique #menu .panier_menu img
, .page-template-template-panier #menu .panier_menu img{
    filter: brightness(0) invert(1);
}

.page-template-template-quisuisje #menu .cart-count
, .page-template-template-prestations #menu .cart-count
, .page-template-template-quand #menu .cart-count
, .page-template-template-boutique #menu .cart-count
, .page-template-template-panier #menu .cart-count{
    color: white;
}


#header.up-scroll #menu .cart-count{
    color: var(--gris);
}


#header.up-scroll #menu .panier_menu img{
    filter: brightness(0) invert(0);
}



@media  (max-width: 1100px){
    .flex_cote h2 {
        margin-right: auto;
    }
}

@media  (max-width: 900px){

    .flex_cote{
        grid-template-columns: 1fr;
    }

    .kdo_prev{
        margin-left: 0;
    }

    .kdo_commander{
        margin-right: 0;
    }

    .custom-checkbox .contenu{
        overflow: visible;
    }
}

@media  (max-width: 600px){
    .kdo {
        padding: 0px var(--side-big) 70px var(--side-big);
    }

    .from_2_column {
        grid-template-columns: 1fr;
    }

    .from_2_column .double_ligne{
        grid-column: span 1;
    }

    .flex_boutons_bon label, .choix_bon_libre_input {
        font-size: 20px;
    }

    .choix_bon_libre_input {
        width: 53px !important;
    }

    .flex_boutons_bon {
        grid-template-columns: repeat(2, 1fr);
    }

    .flex_boutons_panier {
        grid-template-columns: repeat(1, 1fr);
    }

    .sous_section {
        margin-top: 60px;
    }

    input[type="text"], input[type="tel"], input[type="email"], textarea {
        font-size: 16px;
        margin: 0 0 30px;
    }


    .kdo_etape {
        width: 36px;
        overflow: hidden;
        transition: 0.2s ease-in;
    }

    .kdo_etape p{
        padding-bottom: 2px;
        font-size: 16px;
        color: var(--violet);
    }

    .kdo_etape.active{
        width: fit-content;
    }




    .resum_table .contenu_resum td{
        padding: 7px 13px;
        vertical-align: middle;
        font-size: 18px;
    }

    .choix_livraison{
        display: grid;
        grid-template-columns: auto 1fr;
    }

    .info{
        margin-right: 0;
    }

    /*.resum_table .contenu_resum td div{*/
    /*    display: -webkit-box;*/
    /*    -webkit-box-orient: vertical;*/
    /*    -webkit-line-clamp: 2;*/
    /*    overflow: hidden;*/
    /*    text-overflow: ellipsis;*/
    /*}*/

    /*.resum_table .contenu_resum td:nth-child(2),*/
    /*.resum_table .contenu_resum td:nth-child(3) {*/
    /*    white-space: nowrap;*/
    /*    width: 1%; !* force la colonne à prendre juste la largeur nécessaire *!*/
    /*}*/

    /*.resum_table .contenu_resum td:first-child {*/
    /*    width: auto;*/
    /*    padding-left: 0px;*/
    /*}*/


    /*.resum_table .contenu_resum td:nth-child(2){*/
    /*    text-align: center;*/
    /*}*/

    /*.resum_table .contenu_resum td:last-child {*/
    /*    padding-right: 0px;*/
    /*    text-align: right;*/
    /*}*/



}

@media  (max-width: 430px){
    .kdo_boutons{
        flex-wrap: wrap;
        align-items: center;
        row-gap: 14px;
    }

    .kdo_boutons .btn_base{
        justify-content: center;
        margin: auto;
    }
}

/*.kdo_commander{*/
/*    display: block !important;*/
/*}*/




/* Styles pour Stripe Elements */
#card-element {
    padding: 12px;
    border-radius: 4px;
    border: 1px solid #e0e0e0;
    background-color: #fff;
    box-shadow: 0 1px 3px 0 #e6ebf1;
    -webkit-transition: box-shadow 150ms ease;
    transition: box-shadow 150ms ease;
    margin-bottom: 10px;
    width: 100%;
}

#card-element:focus {
    box-shadow: 0 1px 3px 0 #cfd7df;
}

#card-errors {
    color: #fa755a;
    text-align: left;
    font-size: 13px;
    line-height: 17px;
    margin-top: 5px;
    margin-bottom: 10px;
}

.payment-form {
    margin-top: 15px;
    margin-bottom: 15px;
}








#twint-payment-info p{
    margin: 40px 0;
}

/*.step{*/
/*    display: block !important;*/
/*}*/


/*!* Pour le champ libre *!*/
#card-element{
    background-color: white;
    color: var(--rose);
    border: none;             /* supprime toutes les bordures par défaut */
    border-bottom: 1px solid var(--rose); /* ligne verte */
    outline: none;            /* supprime le contour par défaut au focus */
    transition: 0.3s ease; /* animation fluide */
    width: 100%;              /* facultatif, adapte selon le conteneur */
    font-size: 18px;          /* ajustable */
    margin: 0 0 30px;
    padding: 7px 0;
    opacity: 0.5;
    border-radius: 0;
}

#card-element:hover{
    opacity: 1;
}
