/*
    CECI CONCERNE LA PAGE DE COMMANDE DES ARBRES FRUITIERS
*/

.bi-twoColsCheckout{
    max-width:1220px;
    margin:0 auto;
    padding:14px;
    overflow:visible;
}

.bi-twoColsCheckout .bi-twoColsGrid{
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    gap:20px;
    align-items:start;
    overflow:visible;
}

.bi-twoColsCheckout .bi-leftCol{
    position:sticky;
    top:16px;
    align-self:start;
    overflow:visible;
}

.bi-twoColsCheckout .bi-rightCol{
    min-width:0;
    overflow:visible;
}

.bi-twoColsCheckout .bi-goalWrap{
    margin-top:12px;
    overflow:visible;
}

.bi-twoColsCheckout .bi-goalWrap > *{
    width:100%;
    max-width:100%;
}

.bi-twoColsCheckout .bi-goalWrap .bi-heroGoalCard{
    background:linear-gradient(135deg,#e85a3f,#f3a51b);
    border-radius:16px;
    padding:12px 14px;
    color:#fff;
    box-shadow:0 10px 22px rgba(0,0,0,.12);
    font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
}

.bi-twoColsCheckout .bi-goalWrap .bi-heroGoalTop{
    margin:0 0 6px;
}

.bi-twoColsCheckout .bi-goalWrap .bi-heroGoalLabel{
    font-size:11px;
    font-weight:900;
    letter-spacing:.08em;
    text-transform:uppercase;
    margin:0 0 6px;
    opacity:.95;
    color:#fff;
}

.bi-twoColsCheckout .bi-goalWrap .bi-heroGoalNumbers{
    display:flex;
    align-items:baseline;
    gap:6px;
    margin:0 0 8px;
    font-weight:900;
}

.bi-twoColsCheckout .bi-goalWrap .bi-heroGoalNumbers strong{
    font-size:30px;
    line-height:1;
    margin:0;
    color:#fff;
}

.bi-twoColsCheckout .bi-goalWrap .bi-heroGoalNumbers span{
    font-size:16px;
    line-height:1.1;
    text-transform:uppercase;
    color:#fff;
}

.bi-twoColsCheckout .bi-goalWrap .bi-heroGoalBar{
    height:10px;
    border-radius:999px;
    background:rgba(255,255,255,.35);
    overflow:hidden;
    margin:0 0 8px;
    border:none;
    min-width:0 !important;
    width:100%;
    position:relative;
}

.bi-twoColsCheckout .bi-goalWrap .bi-heroGoalBar::after{
    display:none;
}

.bi-twoColsCheckout .bi-goalWrap .bi-heroGoalFill{
    height:100%;
    background:#fff;
    opacity:.95;
    border-radius:999px;
    transition:width .5s ease;
    box-shadow:none;
}

.bi-twoColsCheckout .bi-goalWrap .bi-heroGoalBottom{
    display:none;
}

.bi-twoColsCheckout .bi-goalWrap .bi-heroGoalHint{
    margin-top:8px;
    font-weight:800;
    font-size:13px;
    line-height:1.35;
    color:#fff;
    opacity:.96;
    text-align:left;
}

.bi-twoColsCheckout .bi-goalWrap .bi-heroGoalRemaining{
    color:#fff;
}

.bi-twoColsCheckout,
.bi-twoColsCheckout .elementor-widget-wrap,
.bi-twoColsCheckout .elementor-column,
.bi-twoColsCheckout .elementor-container,
.bi-twoColsCheckout .elementor-section{
    overflow:visible !important;
}

@media (max-width: 980px){
    .bi-twoColsCheckout{
        padding:4px;
    }

    .bi-twoColsCheckout .bi-twoColsGrid{ grid-template-columns:1fr; gap:10px; }

    .bi-twoColsCheckout .bi-leftCol{ position:static; top:auto; }

    .bi-twoColsCheckout .bi-goalWrap{ margin-top:10px; }
}

@media (max-width: 640px){
    .bi-twoColsCheckout .bi-goalWrap .bi-heroGoalCard{
        padding:10px 12px;
        border-radius:14px;
    }
    .bi-twoColsCheckout .bi-goalWrap .bi-heroGoalNumbers strong{
        font-size:26px;
    }
    .bi-twoColsCheckout .bi-goalWrap .bi-heroGoalNumbers span{
        font-size:14px;
    }
    .bi-twoColsCheckout .bi-goalWrap .bi-heroGoalHint{
        font-size:12px;
    }
}

.bi-prodVideo{
    --red:#E93D3D;
    --yellow:#FFC300;
    --bg:rgba(255,255,255,.55);
    --stroke:rgba(0,0,0,.08);
    --shadow:0 18px 50px rgba(0,0,0,.12);
    font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
}

.bi-prodVideo .bi-videoFrame{
    width:100%;
    border-radius:26px;
    padding:6px;
    background:linear-gradient(90deg,var(--red),var(--yellow));
    box-shadow:var(--shadow);
}

.bi-prodVideo .bi-videoInner{
    border-radius:20px;
    overflow:hidden;
    background:#000;
    border:1px solid var(--stroke);
    aspect-ratio:4/3;
    position:relative;
}

.bi-prodVideo .bi-videoPoster{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
    z-index:1;
    transition:opacity .28s ease;
}

.bi-prodVideo video{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
    background:transparent;
    z-index:2;
    opacity:0;
    transition:opacity .28s ease;
}

.bi-prodVideo .bi-videoInner.is-ready .bi-videoPoster{
    opacity:0;
    pointer-events:none;
}

.bi-prodVideo .bi-videoInner.is-ready video{
    opacity:1;
}

.bi-treePlusMinus{
    --red:#E93D3D;
    --yellow:#FFC300;
    --text:#141414;
    --stroke: rgba(0,0,0,.08);
    --card: rgba(255,255,255,.68);
    --shadow: 0 16px 52px rgba(0,0,0,.10);
    --shadow2: 0 12px 34px rgba(0,0,0,.10);
    font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
    padding:14px;
    background:transparent;
}

.bi-treePlusMinus .bi-tpm-wrap{
    width:100%;
    max-width:100%;
    margin:0;
    background:rgba(255,255,255,.60);
    border:1px solid var(--stroke);
    box-shadow:var(--shadow);
    border-radius:20px;
    padding:14px;
    backdrop-filter:blur(10px);
    -webkit-backdrop-filter:blur(10px);
    position:relative;
    overflow:hidden;
}

.bi-treePlusMinus .bi-tpm-wrap::before{
    content:"";
    position:absolute; inset:-120px;
    background:
        radial-gradient(circle at 18% 20%, rgba(233,61,61,.12), transparent 55%),
        radial-gradient(circle at 82% 26%, rgba(255,195,0,.14), transparent 58%);
    filter:blur(16px);
    opacity:.7;
    pointer-events:none;
}

.bi-treePlusMinus .bi-tpm-wrap > *{ position:relative; z-index:1; }

.bi-treePlusMinus .bi-stepHeader{
    text-align:center;
    font-weight:900;
    font-size:14px;
    letter-spacing:.08em;
    text-transform:uppercase;
    color:rgba(20,20,20,.75);
    margin-bottom:12px;
}

.bi-treePlusMinus .bi-step{
    display:block;
    opacity:0;
    transform:translateX(18px);
    pointer-events:none;
    max-height:0;
    overflow:hidden;
    transition:opacity .22s ease, transform .22s ease, max-height .22s ease;
}

.bi-treePlusMinus .bi-step.is-active{
    opacity:1;
    transform:translateX(0);
    pointer-events:auto;
    max-height:14000px;
}

.bi-treePlusMinus .bi-tpm-grid{
    margin-top:12px;
    display:grid;
    grid-template-columns:repeat(3, minmax(0, 1fr));
    gap:10px;
    align-items:stretch;
}

.bi-treePlusMinus .bi-tpm-card{
    background:var(--card);
    border:1px solid var(--stroke);
    border-radius:16px;
    box-shadow:var(--shadow2);
    padding:10px;
    position:relative;
    overflow:hidden;
    display:flex;
    flex-direction:column;
    gap:8px;
    isolation:isolate;
    min-width:0;
}

.bi-treePlusMinus .bi-tpm-card::after{
    content:"";
    position:absolute; inset:-70px;
    background:
        radial-gradient(circle at 22% 18%, rgba(233,61,61,.16), transparent 55%),
        radial-gradient(circle at 86% 20%, rgba(255,195,0,.18), transparent 60%);
    filter:blur(18px);
    opacity:.55;
    pointer-events:none;
    z-index:0;
}

.bi-treePlusMinus .bi-tpm-card > *{ position:relative; z-index:1; }

.bi-treePlusMinus .bi-tpm-top{ display:flex; align-items:center; justify-content:flex-start; gap:8px; min-width:0; }

.bi-treePlusMinus .bi-tpm-id{ display:flex; align-items:center; gap:10px; min-width:0; }

.bi-treePlusMinus .bi-tpm-emoji{
    width:38px; height:38px;
    border-radius:0;
    display:grid; place-items:center;
    font-size:26px;
    background:transparent;
    border:0;
    box-shadow:none;
    flex:0 0 auto;
    line-height:1;
}

.bi-treePlusMinus .bi-tpm-label{
    margin:0;
    font-weight:950;
    color:var(--text);
    font-size:14px;
    line-height:1.1;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
    max-width:100%;
}

.bi-treePlusMinus .bi-tpm-mini{
    margin-top:2px;
    font-size:12px;
    font-weight:950;
    color:rgba(20,20,20,.82);
    letter-spacing:.01em;
}

.bi-treePlusMinus .bi-tpm-qtyRow{
    display:flex;
    align-items:center;
    justify-content:center;
    min-height:44px;
    margin-top:auto;
}

.bi-treePlusMinus .bi-tpm-stepper{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:6px;
    background:rgba(255,255,255,.74);
    border:1px solid rgba(0,0,0,.08);
    border-radius:14px;
    padding:6px;
    box-shadow:0 10px 22px rgba(0,0,0,.08);
    width:170px;
    max-width:100%;
}

.bi-treePlusMinus .bi-tpm-btn{
    width:32px; height:32px;
    border-radius:12px;
    border:1px solid rgba(0,0,0,.08);
    background:rgba(255,255,255,.92);
    cursor:pointer;
    font-weight:950; font-size:18px; line-height:1;
    display:flex; align-items:center; justify-content:center;
    margin:0; padding:0;
    flex:0 0 32px;
    min-height: 32px;
}

.bi-treePlusMinus .bi-tpm-qty{
    width:44px; height:32px;
    border-radius:12px;
    border:1px solid rgba(0,0,0,.10);
    background:rgba(255,255,255,.92);
    box-shadow:0 10px 20px rgba(0,0,0,.06);
    font-weight:950; color:var(--text);
    text-align:center;
    margin:0; padding:0;
    flex:0 0 44px;
}

.bi-treePlusMinus .bi-tpm-benefWrap{
    margin-top:12px;
    background:rgba(255,255,255,.70);
    border:1px solid rgba(0,0,0,.08);
    border-radius:18px;
    padding:12px;
    box-shadow:0 12px 36px rgba(0,0,0,.08);
}

.bi-treePlusMinus .bi-tpm-benefTop{
    display:flex; align-items:center; justify-content:space-between;
    gap:10px; flex-wrap:wrap; margin-bottom:8px;
}

.bi-treePlusMinus .bi-tpm-benefTitle{
    margin:0;
    font-weight:950;
    color:var(--text);
    font-size:12.5px;
    letter-spacing:.04em;
    text-transform:uppercase;
}

.bi-treePlusMinus .bi-tpm-check{
    display:inline-flex; align-items:center; gap:10px;
    padding:8px 10px;
    border-radius:12px;
    background:rgba(255,255,255,.78);
    border:1px solid rgba(0,0,0,.08);
    box-shadow:0 10px 20px rgba(0,0,0,.06);
    font-weight:850;
    color:rgba(20,20,20,.78);
    cursor:pointer;
    user-select:none;
    white-space:nowrap;
}

.bi-treePlusMinus .bi-tpm-check input{ width:16px; height:16px; }

.bi-treePlusMinus .bi-tpm-sameRow{ display:none; margin-top:10px; }

.bi-treePlusMinus .bi-tpm-sameRow.is-on{ display:block; }

.bi-treePlusMinus .bi-tpm-fieldLabel{
    display:block;
    font-weight:900;
    color:var(--text);
    font-size:12px;
    margin:0 0 6px 0;
}

.bi-treePlusMinus .bi-tpm-input{
    width:100%;
    height:42px;
    border-radius:12px;
    border:1px solid rgba(0,0,0,.10);
    background:rgba(255,255,255,.94);
    padding:0 12px;
    font-weight:850;
    color:var(--text);
    outline:none;
}

.bi-treePlusMinus .bi-tpm-input::placeholder{
    font-weight:500;
    opacity:.45;
    color:rgba(20,20,20,.78);
}

.bi-treePlusMinus .bi-tpm-benefList{
    margin-top:10px;
    display:grid;
    grid-template-columns:1fr;
    gap:10px;
}

.bi-treePlusMinus .bi-tpm-benefItem{
    display:flex; align-items:center; gap:10px;
    padding:10px;
    border-radius:16px;
    border:1px solid rgba(0,0,0,.08);
    background:rgba(255,255,255,.74);
    box-shadow:0 10px 20px rgba(0,0,0,.06);
}

.bi-treePlusMinus .bi-tpm-chip{
    min-width:40px; height:34px;
    border-radius:999px;
    display:grid; place-items:center;
    font-weight:950; font-size:12px;
    color:#fff;
    background:linear-gradient(90deg, var(--red), var(--yellow));
    box-shadow:0 12px 24px rgba(233,61,61,.16);
    flex:0 0 auto;
}

.bi-treePlusMinus .bi-recap{
    margin-top:12px;
    background:rgba(255,255,255,.72);
    border:1px solid rgba(0,0,0,.08);
    border-radius:18px;
    padding:12px;
    box-shadow:0 12px 36px rgba(0,0,0,.08);
}

.bi-treePlusMinus .bi-recapTitle{
    margin:0 0 10px 0;
    font-weight:950;
    color:var(--text);
    font-size:12.5px;
    letter-spacing:.04em;
    text-transform:uppercase;
}

.bi-treePlusMinus .bi-recapList{
    display:grid; gap:8px;
    margin:0; padding:0; list-style:none;
}

.bi-treePlusMinus .bi-recapLine{
    display:flex; align-items:center; justify-content:space-between;
    gap:12px;
    padding:10px 12px;
    border-radius:14px;
    background:rgba(255,255,255,.80);
    border:1px solid rgba(0,0,0,.06);
    box-shadow:0 10px 20px rgba(0,0,0,.06);
    font-weight:900;
    color:rgba(20,20,20,.84);
    font-size:13px;
}

.bi-treePlusMinus .bi-recapLeft{
    display:flex; align-items:center; gap:10px; min-width:0;
}

.bi-treePlusMinus .bi-recapEmoji{
    width:28px; height:28px;
    border-radius:0;
    display:grid; place-items:center;
    background:transparent;
    border:0;
    box-shadow:none;
    flex:0 0 auto;
    font-size:22px;
    line-height:1;
}

.bi-treePlusMinus .bi-recapName{ white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }

.bi-treePlusMinus .bi-recapTotal{
    margin-top:10px;
    display:flex; align-items:center; justify-content:space-between;
    gap:10px;
    padding:12px 12px;
    border-radius:14px;
    background:linear-gradient(90deg, rgba(233,61,61,.10), rgba(255,195,0,.12));
    border:1px solid rgba(0,0,0,.08);
    font-weight:950;
    color:rgba(20,20,20,.92);
}

.bi-treePlusMinus .bi-recapHint{
    margin-top:8px;
    font-size:12px;
    font-weight:850;
    color:rgba(20,20,20,.62);
}

.bi-treePlusMinus .bi-tpm-ctaRow{ margin-top:12px; display:flex; justify-content:center; }

.bi-treePlusMinus .bi-tpm-cta{
    display:inline-flex; align-items:center; justify-content:center;
    gap:10px;
    width:100%;
    height:52px;
    border-radius:999px;
    border:0;
    font-weight:950;
    letter-spacing:.10em;
    text-transform:uppercase;
    color:#fff;
    background:linear-gradient(90deg, var(--red), var(--yellow));
    box-shadow:0 18px 46px rgba(233,61,61,.18);
    cursor:pointer;
}

.bi-treePlusMinus .bi-tpm-cta svg{ width:18px; height:18px; }

.bi-treePlusMinus .bi-tpm-secure{
    margin-top:12px;
    padding:12px 14px;
    border-radius:18px;
    background:rgba(255,255,255,.70);
    border:1px solid rgba(0,0,0,.08);
    box-shadow:0 12px 36px rgba(0,0,0,.08);
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:8px;
    text-align:center;
}

.bi-treePlusMinus .bi-tpm-secureTitle{
    font-size:13px;
    font-weight:900;
    color:rgba(20,20,20,.78);
    letter-spacing:.04em;
    text-transform:uppercase;
}

.bi-treePlusMinus .bi-tpm-secureImg{
    display:block;
    width:min(100%,240px);
    height:auto;
}

.bi-treePlusMinus .bi-tpm-secureText{
    font-size:13px;
    font-weight:850;
    color:rgba(20,20,20,.72);
}

.bi-treePlusMinus .bi-tpm-error{
    margin:10px auto 0;
    max-width:100%;
    background:rgba(233,61,61,.10);
    border:1px solid rgba(233,61,61,.22);
    color:rgba(20,20,20,.86);
    padding:10px 12px;
    border-radius:14px;
    font-weight:850;
    display:none;
}

.bi-treePlusMinus .bi-tpm-error.is-on{ display:block; }

.bi-treePlusMinus .bi-checkoutWrap{
    margin-top:12px;
    background:rgba(255,255,255,.70);
    border:1px solid rgba(0,0,0,.08);
    border-radius:18px;
    padding:12px;
    box-shadow:0 12px 36px rgba(0,0,0,.08);
}

.bi-treePlusMinus .bi-backRow{
    margin-top:12px;
    display:flex;
    justify-content:center;
    gap:10px;
}

.bi-treePlusMinus .bi-backBtn{
    appearance:none;
    border:0;
    cursor:pointer;
    padding:12px 18px;
    border-radius:999px;
    font-weight:950;
    letter-spacing:.10em;
    text-transform:uppercase;
    background:rgba(255,255,255,.92);
    border:1px solid rgba(0,0,0,.10);
    box-shadow:0 12px 28px rgba(0,0,0,.10);
    color:rgba(20,20,20,.78);
}

.bi-treePlusMinus #biCheckoutLoader{ display:none !important; }

.bi-treePlusMinus #biCheckoutMount{
    display:block !important;
    min-height:680px;
    contain:layout paint;
}

.bi-treePlusMinus #biCheckoutMount.is-ready .bi-checkoutFrame{ opacity:1; }

.bi-treePlusMinus .bi-checkoutFrame{
    width:100%;
    border:0;
    display:block;
    min-height:680px;
    height:920px;
    border-radius:14px;
    overflow:hidden;
    background:transparent;
    opacity:1;
    transition:none;
    backface-visibility:hidden;
    transform:translateZ(0);
}

@media (max-width: 820px){
    .bi-treePlusMinus .bi-tpm-grid{ grid-template-columns: 1fr; }
    .bi-treePlusMinus .bi-tpm-card{
        display:grid;
        grid-template-columns: 1fr auto;
        grid-template-areas:"top qty";
        column-gap:10px;
        padding:12px;
    }
    .bi-treePlusMinus .bi-tpm-top{ grid-area: top; }
    .bi-treePlusMinus .bi-tpm-qtyRow{ grid-area: qty; justify-content:flex-end; align-self:center; margin:0; min-height:auto; }
    .bi-treePlusMinus .bi-tpm-stepper{ width:auto; flex:0 0 auto; padding:5px; gap:6px; }
    .bi-treePlusMinus .bi-tpm-btn{ width:30px; height:30px; border-radius:11px; font-size:17px; }
    .bi-treePlusMinus .bi-tpm-qty{ width:40px; height:30px; border-radius:11px; }
    .bi-treePlusMinus .bi-tpm-emoji{ width:40px; height:40px; font-size:28px; }
}

@media (max-width: 640px){
    .bi-twoColsCheckout{ padding:0 !important; }
    .bi-treePlusMinus{ padding:0; }

    .bi-treePlusMinus .bi-tpm-wrap{
        padding:4px;
        border-radius:10px;
    }

    .bi-treePlusMinus .bi-stepHeader{
        margin-bottom:6px;
        font-size:12px;
    }

    .bi-treePlusMinus .bi-step-2{
        margin-left:-16px;
        margin-right:-16px;
    }

    .bi-treePlusMinus .bi-checkoutWrap{
        margin-top:4px;
        padding:0;
        border-radius:10px;
        margin-left:0;
        margin-right:0;
    }

    .bi-treePlusMinus #biCheckoutMount{ min-height:620px; }

    .bi-treePlusMinus .bi-checkoutFrame{
        border-radius:0;
        min-height:620px;
    }

    .bi-treePlusMinus .bi-backRow{
        margin-top:6px;
        padding:0 4px;
    }

    .bi-treePlusMinus .bi-backBtn{ padding:9px 12px; }

    .bi-treePlusMinus .bi-tpm-secure{
        margin-top:10px;
        padding:10px 12px;
        border-radius:14px;
    }
    .bi-treePlusMinus .bi-tpm-secureImg{
        width:min(100%,210px);
    }
}