

/* Shape2you Studio 5.3.0
   De normale WooCommerce bestelroute blijft bestaan.
   De ontwerpstudio is een extra keuze boven de normale winkelwagenknop. */

.s2y-studio-choice-wrap{
    width:100%;
    box-sizing:border-box;
    margin:18px 0 12px;
    padding:16px;
    border:1px solid rgba(179,139,109,.35);
    border-radius:12px;
    background:#FCFBF8;
    clear:both;
}

.s2y-studio-choice-intro{
    display:flex;
    flex-direction:column;
    gap:3px;
    margin-bottom:11px;
    color:#4F4F4F;
    font-family:Roboto,Arial,sans-serif;
    line-height:1.45;
}

.s2y-studio-choice-intro strong{
    font-family:Montserrat,Arial,sans-serif;
    font-size:15px;
    color:#4F4F4F;
}

.s2y-studio-choice-intro span{
    font-size:13px;
}

.s2y-start-studio-button.button,
.s2y-start-studio-button{
    display:block!important;
    width:100%!important;
    min-height:50px;
    margin:0!important;
    padding:13px 20px!important;
    border:0!important;
    border-radius:999px!important;
    background:#BAA360!important;
    color:#fff!important;
    font-family:Montserrat,Arial,sans-serif!important;
    font-size:15px!important;
    font-weight:700!important;
    line-height:1.2!important;
    text-align:center!important;
    cursor:pointer!important;
    box-shadow:none!important;
}

.s2y-start-studio-button:hover,
.s2y-start-studio-button:focus{
    background:#B38B6D!important;
    color:#fff!important;
}

@media(max-width:767px){
    .s2y-studio-choice-wrap{
        margin:15px 0 10px;
        padding:14px;
    }
    .s2y-start-studio-button.button,
    .s2y-start-studio-button{
        min-height:52px;
        font-size:16px!important;
    }
}

/* v5.4.0: studio-keuze als volledige rij onder Notitie */
.s2y-studio-choice-wrap{
    display:block!important;
    width:100%!important;
    flex:0 0 100%!important;
    max-width:700px;
    margin:14px 0 14px!important;
    clear:both!important;
}
.s2y-design-return-note{
    display:flex;
    flex-direction:column;
    gap:3px;
    width:100%;
    max-width:700px;
    margin:14px 0 12px;
    padding:13px 15px;
    box-sizing:border-box;
    border:1px solid rgba(186,163,96,.5);
    border-radius:10px;
    background:#FCFBF8;
    color:#4F4F4F;
    clear:both;
}
.s2y-design-return-note strong{
    font-family:Montserrat,Arial,sans-serif;
}
.s2y-design-return-note span{
    font-size:13px;
    line-height:1.45;
}
@media(max-width:767px){
    .s2y-studio-choice-wrap,
    .s2y-design-return-note{
        max-width:none;
        width:100%!important;
    }
}


/* v5.4.1 - Studio-keuze, aantal en winkelwagenknop netjes onder elkaar */
form.cart:has(.s2y-studio-choice-wrap){
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    gap:12px!important;
}

form.cart:has(.s2y-studio-choice-wrap) .s2y-studio-choice-wrap{
    order:10!important;
    width:100%!important;
    max-width:700px!important;
    margin:0!important;
}

form.cart:has(.s2y-studio-choice-wrap) .s2y-design-return-note{
    order:15!important;
    width:100%!important;
    max-width:700px!important;
    margin:0!important;
}

form.cart:has(.s2y-studio-choice-wrap) .quantity{
    order:20!important;
    width:100%!important;
    max-width:700px!important;
    margin:0!important;
    display:flex!important;
}

form.cart:has(.s2y-studio-choice-wrap) .single_add_to_cart_button{
    order:30!important;
    width:100%!important;
    max-width:700px!important;
    min-height:58px!important;
    margin:0!important;
    box-sizing:border-box!important;
    justify-content:center!important;
    text-align:center!important;
}

/* Als thema quantity en button in een extra wrapper zet */
form.cart:has(.s2y-studio-choice-wrap) .quantity + .single_add_to_cart_button{
    float:none!important;
}

@media(max-width:767px){
    form.cart:has(.s2y-studio-choice-wrap) .s2y-studio-choice-wrap,
    form.cart:has(.s2y-studio-choice-wrap) .s2y-design-return-note,
    form.cart:has(.s2y-studio-choice-wrap) .quantity,
    form.cart:has(.s2y-studio-choice-wrap) .single_add_to_cart_button{
        width:100%!important;
        max-width:none!important;
    }
}


/* ============================================================
   v5.5.0 - Zelf personaliseren ALTIJD boven winkelwagen
   ============================================================ */

form.cart .s2y-studio-choice-wrap{
    display:block!important;
    width:100%!important;
    max-width:700px!important;
    flex:0 0 100%!important;
    float:none!important;
    clear:both!important;
    margin:14px 0 14px!important;
    box-sizing:border-box!important;
}

/* Force a line break after the studio choice, even in flex/wrapped themes */
form.cart .s2y-studio-choice-wrap::after{
    content:"";
    display:block;
    clear:both;
}

form.cart .s2y-studio-choice-wrap + .quantity{
    clear:both!important;
}

/* Do NOT let the studio card sit beside quantity or cart */
form.cart:has(.s2y-studio-choice-wrap){
    display:block!important;
}

form.cart:has(.s2y-studio-choice-wrap) .quantity{
    display:inline-flex!important;
    vertical-align:middle!important;
    float:none!important;
    margin:0 8px 0 0!important;
}

form.cart:has(.s2y-studio-choice-wrap) .single_add_to_cart_button{
    display:inline-flex!important;
    vertical-align:middle!important;
    float:none!important;
    width:auto!important;
    min-height:52px!important;
    margin:0!important;
    align-items:center!important;
    justify-content:center!important;
}

/* If the theme wraps quantity/button in a flex row, the studio card still spans it */
form.cart .s2y-studio-choice-wrap{
    grid-column:1/-1!important;
}

@media(max-width:767px){
    form.cart .s2y-studio-choice-wrap{
        width:100%!important;
        max-width:none!important;
    }
    form.cart:has(.s2y-studio-choice-wrap) .quantity{
        width:100%!important;
        margin:0 0 10px!important;
    }
    form.cart:has(.s2y-studio-choice-wrap) .single_add_to_cart_button{
        width:100%!important;
    }
}


/* ============================================================
   v5.6.0 — DEFINITIEVE PRODUCTPAGINA VOLGORDE
   ============================================================ */

form.cart .s2y-studio-choice-wrap{
    display:block!important;
    width:100%!important;
    max-width:700px!important;
    box-sizing:border-box!important;
    float:none!important;
    clear:both!important;
    margin:14px 0 12px!important;
}

form.cart .s2y-purchase-row{
    display:flex!important;
    flex-direction:row!important;
    align-items:stretch!important;
    gap:8px!important;
    width:100%!important;
    max-width:700px!important;
    float:none!important;
    clear:both!important;
    margin:0!important;
    box-sizing:border-box!important;
}

form.cart .s2y-purchase-row .quantity{
    display:flex!important;
    flex:0 0 auto!important;
    width:auto!important;
    margin:0!important;
    float:none!important;
}

form.cart .s2y-purchase-row .single_add_to_cart_button{
    display:flex!important;
    flex:1 1 auto!important;
    width:auto!important;
    min-width:0!important;
    min-height:54px!important;
    align-items:center!important;
    justify-content:center!important;
    margin:0!important;
    float:none!important;
    box-sizing:border-box!important;
}

/* De Studio-kaart en purchase-row mogen nooit naast elkaar terechtkomen. */
form.cart .s2y-studio-choice-wrap + .s2y-purchase-row{
    clear:both!important;
}

@media(max-width:767px){
    form.cart .s2y-studio-choice-wrap,
    form.cart .s2y-purchase-row{
        max-width:none!important;
        width:100%!important;
    }

    form.cart .s2y-purchase-row{
        flex-direction:column!important;
    }

    form.cart .s2y-purchase-row .quantity,
    form.cart .s2y-purchase-row .single_add_to_cart_button{
        width:100%!important;
    }
}


/* ============================================================
   v5.6.1 — DEFINITIEVE BESTELBLOK LAYOUT
   Geen order-trucs meer: alles zit fysiek in 1 stack.
   ============================================================ */

form.cart .s2y-order-stack{
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    gap:12px!important;
    width:100%!important;
    max-width:700px!important;
    margin:14px 0!important;
    padding:0!important;
    float:none!important;
    clear:both!important;
    box-sizing:border-box!important;
}

/* Studio-keuze is ALTIJD de eerste volledige rij */
form.cart .s2y-order-stack > .s2y-studio-choice-wrap{
    display:block!important;
    position:relative!important;
    width:100%!important;
    max-width:none!important;
    flex:none!important;
    order:initial!important;
    float:none!important;
    clear:both!important;
    margin:0!important;
    box-sizing:border-box!important;
}

/* Tweede rij = aantal + winkelwagen */
form.cart .s2y-order-stack > .s2y-purchase-row{
    display:flex!important;
    flex-direction:row!important;
    align-items:stretch!important;
    gap:8px!important;
    width:100%!important;
    max-width:none!important;
    flex:none!important;
    order:initial!important;
    float:none!important;
    clear:both!important;
    margin:0!important;
    padding:0!important;
    box-sizing:border-box!important;
}

form.cart .s2y-order-stack .s2y-purchase-row > .quantity{
    display:flex!important;
    flex:0 0 74px!important;
    width:74px!important;
    min-width:74px!important;
    max-width:74px!important;
    height:56px!important;
    margin:0!important;
    padding:0!important;
    float:none!important;
    order:initial!important;
    box-sizing:border-box!important;
}

form.cart .s2y-order-stack .s2y-purchase-row > .quantity input{
    width:100%!important;
    height:56px!important;
    box-sizing:border-box!important;
}

form.cart .s2y-order-stack .s2y-purchase-row > .single_add_to_cart_button{
    display:flex!important;
    flex:1 1 auto!important;
    width:auto!important;
    min-width:0!important;
    max-width:none!important;
    min-height:56px!important;
    margin:0!important;
    padding:12px 20px!important;
    float:none!important;
    order:initial!important;
    align-items:center!important;
    justify-content:center!important;
    box-sizing:border-box!important;
    white-space:normal!important;
    text-align:center!important;
}

/* Oude form.cart flex/grid regels van thema mogen stack niet beïnvloeden */
form.cart > .s2y-order-stack{
    grid-column:1/-1!important;
    flex-basis:100%!important;
}

/* Mobiel: alle drie echt onder elkaar */
@media(max-width:767px){
    form.cart .s2y-order-stack{
        width:100%!important;
        max-width:none!important;
        gap:10px!important;
    }

    form.cart .s2y-order-stack > .s2y-purchase-row{
        flex-direction:column!important;
        gap:10px!important;
    }

    form.cart .s2y-order-stack .s2y-purchase-row > .quantity{
        width:100%!important;
        min-width:0!important;
        max-width:none!important;
        flex:0 0 auto!important;
    }

    form.cart .s2y-order-stack .s2y-purchase-row > .single_add_to_cart_button{
        width:100%!important;
        flex:0 0 auto!important;
    }
}


/* ============================================================
   v5.6.4 — compact terugkeerblok + nette mobiele bestelbediening
   ============================================================ */

form.cart .s2y-order-stack > .s2y-design-return-note{
    display:flex!important;
    flex-direction:row!important;
    align-items:center!important;
    gap:9px!important;
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    padding:11px 14px!important;
    box-sizing:border-box!important;
    border:1px solid rgba(186,163,96,.45)!important;
    border-radius:10px!important;
    background:#FCFBF8!important;
    color:#4F4F4F!important;
    clear:both!important;
}

form.cart .s2y-design-return-note strong{
    flex:0 0 auto!important;
    margin:0!important;
    font-size:14px!important;
    line-height:1.35!important;
    color:#627768!important;
    white-space:nowrap!important;
}

form.cart .s2y-design-return-note span{
    margin:0!important;
    font-size:13px!important;
    line-height:1.4!important;
    color:#4F4F4F!important;
}

/* Desktop: quantity smaller, cart button balanced */
form.cart .s2y-order-stack .s2y-purchase-row > .quantity{
    flex:0 0 72px!important;
    width:72px!important;
    min-width:72px!important;
    max-width:72px!important;
}

form.cart .s2y-order-stack .s2y-purchase-row > .single_add_to_cart_button{
    border-radius:10px!important;
}

/* Mobiel: melding boven de knoppen, geen enorme blokken */
@media(max-width:767px){
    form.cart .s2y-order-stack{
        gap:9px!important;
    }

    form.cart .s2y-order-stack > .s2y-design-return-note{
        flex-direction:column!important;
        align-items:flex-start!important;
        gap:2px!important;
        padding:10px 12px!important;
        border-radius:9px!important;
    }

    form.cart .s2y-design-return-note strong{
        white-space:normal!important;
        font-size:14px!important;
    }

    form.cart .s2y-design-return-note span{
        font-size:12.5px!important;
    }

    form.cart .s2y-order-stack > .s2y-purchase-row{
        display:grid!important;
        grid-template-columns:72px minmax(0,1fr)!important;
        gap:8px!important;
        align-items:stretch!important;
    }

    form.cart .s2y-order-stack .s2y-purchase-row > .quantity{
        width:72px!important;
        min-width:72px!important;
        max-width:72px!important;
        height:52px!important;
    }

    form.cart .s2y-order-stack .s2y-purchase-row > .quantity input{
        height:52px!important;
    }

    form.cart .s2y-order-stack .s2y-purchase-row > .single_add_to_cart_button{
        width:100%!important;
        min-height:52px!important;
        padding:10px 12px!important;
        font-size:15px!important;
        line-height:1.25!important;
        border-radius:10px!important;
    }
}

@media(max-width:390px){
    form.cart .s2y-order-stack > .s2y-purchase-row{
        grid-template-columns:64px minmax(0,1fr)!important;
    }

    form.cart .s2y-order-stack .s2y-purchase-row > .quantity{
        width:64px!important;
        min-width:64px!important;
        max-width:64px!important;
    }

    form.cart .s2y-order-stack .s2y-purchase-row > .single_add_to_cart_button{
        font-size:14px!important;
    }
}

/* v5.7.0: bestelgedeelte ALTIJD onder elkaar */
form.cart .s2y-order-stack{
 display:flex!important;
 flex-direction:column!important;
 align-items:stretch!important;
 width:100%!important;
 max-width:100%!important;
 gap:10px!important;
 clear:both!important;
 float:none!important;
}
form.cart .s2y-order-stack > .s2y-studio-choice,
form.cart .s2y-order-stack > .s2y-design-return-note,
form.cart .s2y-order-stack > .s2y-purchase-row{
 position:static!important;
 float:none!important;
 width:100%!important;
 max-width:100%!important;
 flex:none!important;
 margin-left:0!important;
 margin-right:0!important;
 box-sizing:border-box!important;
}
form.cart .s2y-order-stack > .s2y-purchase-row{
 display:flex!important;
 flex-direction:row!important;
 align-items:stretch!important;
 gap:8px!important;
}
@media(max-width:767px){
 form.cart .s2y-order-stack > .s2y-purchase-row{
  display:grid!important;
  grid-template-columns:64px minmax(0,1fr)!important;
 }
}

/* ============================================================
   v5.9.0 - bestelblok echt volledig onder elkaar
   ============================================================ */
form.cart .s2y-order-stack{
 display:flex!important;
 flex-direction:column!important;
 align-items:stretch!important;
 justify-content:flex-start!important;
 width:100%!important;
 max-width:700px!important;
 gap:10px!important;
 margin:14px 0!important;
 padding:0!important;
 float:none!important;
 clear:both!important;
 box-sizing:border-box!important;
}
form.cart .s2y-order-stack > .s2y-studio-choice-wrap,
form.cart .s2y-order-stack > .s2y-design-return-note,
form.cart .s2y-order-stack > .s2y-product-design-preview,
form.cart .s2y-order-stack > .s2y-purchase-row{
 display:block!important;
 position:static!important;
 width:100%!important;
 max-width:100%!important;
 flex:0 0 auto!important;
 float:none!important;
 clear:both!important;
 margin:0!important;
 box-sizing:border-box!important;
}
form.cart .s2y-order-stack > .s2y-purchase-row{
 display:flex!important;
 flex-direction:column!important;
 align-items:stretch!important;
 gap:10px!important;
}
form.cart .s2y-order-stack .s2y-purchase-row > .quantity{
 display:block!important;
 width:100%!important;
 min-width:0!important;
 max-width:100%!important;
 height:52px!important;
 flex:none!important;
 float:none!important;
 margin:0!important;
}
form.cart .s2y-order-stack .s2y-purchase-row > .quantity input{
 width:100%!important;
 height:52px!important;
 box-sizing:border-box!important;
}
form.cart .s2y-order-stack .s2y-purchase-row > .single_add_to_cart_button{
 display:flex!important;
 width:100%!important;
 max-width:100%!important;
 min-height:54px!important;
 flex:none!important;
 float:none!important;
 margin:0!important;
 align-items:center!important;
 justify-content:center!important;
 border-radius:10px!important;
 box-sizing:border-box!important;
}
form.cart .s2y-product-design-preview{
 padding:12px!important;
 border:1px solid rgba(186,163,96,.45)!important;
 border-radius:10px!important;
 background:#FCFBF8!important;
}
form.cart .s2y-product-design-preview a{
 display:inline-block!important;
 line-height:0!important;
 cursor:zoom-in!important;
 border-radius:8px!important;
 overflow:hidden!important;
}
form.cart .s2y-product-design-preview img{
 display:block!important;
 width:auto!important;
 max-width:170px!important;
 max-height:170px!important;
 object-fit:contain!important;
 border-radius:8px!important;
}
form.cart .s2y-product-design-preview span{
 display:block!important;
 margin-top:7px!important;
 font-size:12.5px!important;
 line-height:1.4!important;
 color:#4F4F4F!important;
}
@media(max-width:767px){
 form.cart .s2y-order-stack{max-width:none!important;width:100%!important}
 form.cart .s2y-product-design-preview img{max-width:135px!important;max-height:135px!important}
}

/* v5.9.1 - oorspronkelijke bestandsnaam boven ontwerpvoorbeeld */
form.cart .s2y-product-design-filename{
 display:block!important;
 width:100%!important;
 margin:0 0 9px!important;
 font-size:14px!important;
 line-height:1.4!important;
 color:#4F4F4F!important;
 overflow-wrap:anywhere!important;
}
form.cart .s2y-product-design-filename strong{
 font-weight:700!important;
}


/* ============================================================
   v5.9.2 - DEFINITIEVE terugkeer-layout
   De stack bestaat nu ook echt in de DOM na Ontwerp toevoegen.
   ============================================================ */

form.cart > .s2y-order-stack,
form.cart .s2y-order-stack-resume{
    display:flex!important;
    flex-direction:column!important;
    flex-wrap:nowrap!important;
    align-items:stretch!important;
    justify-content:flex-start!important;
    gap:10px!important;
    width:100%!important;
    min-width:100%!important;
    max-width:700px!important;
    height:auto!important;
    margin:14px 0!important;
    padding:0!important;
    position:relative!important;
    float:none!important;
    clear:both!important;
    grid-column:1 / -1!important;
    grid-row:auto!important;
    flex-basis:100%!important;
    box-sizing:border-box!important;
}

form.cart .s2y-order-stack-resume > .s2y-design-return-note,
form.cart .s2y-order-stack-resume > .s2y-product-design-preview,
form.cart .s2y-order-stack-resume > .s2y-purchase-row{
    display:block!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    height:auto!important;
    flex:0 0 auto!important;
    align-self:stretch!important;
    position:static!important;
    float:none!important;
    clear:both!important;
    margin:0!important;
    box-sizing:border-box!important;
}

form.cart .s2y-order-stack-resume > .s2y-purchase-row{
    display:flex!important;
    flex-direction:column!important;
    flex-wrap:nowrap!important;
    align-items:stretch!important;
    gap:10px!important;
}

form.cart .s2y-order-stack-resume .quantity{
    display:block!important;
    width:100%!important;
    min-width:100%!important;
    max-width:100%!important;
    height:52px!important;
    margin:0!important;
    flex:none!important;
    float:none!important;
    box-sizing:border-box!important;
}

form.cart .s2y-order-stack-resume .quantity input{
    width:100%!important;
    max-width:100%!important;
    height:52px!important;
    box-sizing:border-box!important;
}

form.cart .s2y-order-stack-resume .single_add_to_cart_button{
    display:flex!important;
    width:100%!important;
    min-width:100%!important;
    max-width:100%!important;
    min-height:54px!important;
    margin:0!important;
    flex:none!important;
    float:none!important;
    align-items:center!important;
    justify-content:center!important;
    box-sizing:border-box!important;
}

@media(max-width:767px){
    form.cart > .s2y-order-stack,
    form.cart .s2y-order-stack-resume{
        width:100%!important;
        min-width:100%!important;
        max-width:100%!important;
    }
}
