.prd-fpc-v2-action{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:8px}.prd-fpc-v2-action span{font-size:12px;color:#137333;font-weight:600}.prd-fpc-v2-cart-stack{display:grid;grid-template-columns:82px;gap:7px;width:82px}.prd-fpc-v2-cart-stack img{display:block!important;width:82px!important;height:100px!important;object-fit:contain!important;border:1px solid #e5e7eb;border-radius:6px;background:#fff;padding:2px;box-sizing:border-box}.prd-fpc-v2-previews{display:flex;gap:9px;flex-wrap:wrap;margin:9px 0}.prd-fpc-v2-card{display:flex;align-items:center;gap:6px}.prd-fpc-v2-card>img{display:block;width:64px!important;height:78px!important;object-fit:contain;border:1px solid #e5e7eb;border-radius:5px}.prd-fpc-v2-card>span{display:flex;flex-direction:column}.prd-fpc-v2-card small{font-size:11px;color:#666;margin-top:2px}@media(max-width:600px){.prd-fpc-v2-cart-stack{grid-template-columns:66px;width:66px}.prd-fpc-v2-cart-stack img{width:66px!important;height:82px!important}}/* beta2: compact grouped colour variants in cart + checkout */
.prd-fpc-v2-group-badge{display:inline-block;margin-left:8px;padding:2px 7px;border-radius:999px;background:#f1f5f2;color:#246b35;font-size:11px;font-weight:700;vertical-align:middle}.prd-fpc-v2-compact-summary{display:flex;flex-direction:column;gap:2px;margin-top:5px;font-size:12px;color:#555}.prd-fpc-v2-compact-summary strong{color:#222}.prd-fpc-v2-product-title{display:block;font-weight:700}.prd-fpc-v2-variant,.prd-fpc-v2-variant-only{display:block;margin-top:3px;font-size:12px;color:#555}.prd-fpc-v2-variant-only{font-weight:600;color:#333}.woocommerce-checkout-review-order .prd-fpc-v2-previews{margin:7px 0 4px;gap:6px}.woocommerce-checkout-review-order .prd-fpc-v2-card{display:inline-flex;vertical-align:top}.woocommerce-checkout-review-order .prd-fpc-v2-card>img{width:58px!important;height:70px!important}.woocommerce-checkout-review-order .prd-fpc-v2-card>span{display:none}.woocommerce-checkout-review-order .prd-fpc-v2-group-following td{padding-top:8px!important}.woocommerce-checkout-review-order .prd-fpc-v2-group-following .variation{margin-top:3px}.woocommerce-cart-form .prd-fpc-v2-group-following .prd-fpc-v2-compact-summary{display:none}@media(max-width:600px){.prd-fpc-v2-group-badge{display:block;width:max-content;margin:4px 0 0}.woocommerce-checkout-review-order .prd-fpc-v2-card>img{width:52px!important;height:64px!important}}


/* beta3 – echte visuelle Gruppierung statt wiederholter Cart-Items */
.prd-fpc-v2-group-card{
    display:block;
    margin:0;
    min-width:420px;
    max-width:620px;
}
.prd-fpc-v2-group-head{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    margin-bottom:10px;
}
.prd-fpc-v2-group-head>div{
    display:flex;
    flex-direction:column;
    gap:2px;
}
.prd-fpc-v2-group-head strong{
    font-size:15px;
    line-height:1.3;
    color:#222;
}
.prd-fpc-v2-group-head span{
    font-size:12px;
    color:#687078;
}
.prd-fpc-v2-group-top{
    display:grid;
    grid-template-columns:112px minmax(0,1fr);
    gap:14px;
    align-items:start;
    margin-bottom:13px;
}
.prd-fpc-v2-sample{
    display:flex;
    flex-direction:column;
    gap:5px;
}
.prd-fpc-v2-sample>span,
.prd-fpc-v2-variants-title{
    font-size:11px;
    text-transform:uppercase;
    letter-spacing:.03em;
    font-weight:700;
    color:#6a7178;
}
.prd-fpc-v2-sample img{
    display:block!important;
    width:108px!important;
    height:128px!important;
    object-fit:contain!important;
    border:1px solid #e4e6e8;
    border-radius:7px;
    background:#fff;
}
.prd-fpc-v2-group-info{
    padding-top:20px;
}
.prd-fpc-v2-group-summary{
    display:flex;
    flex-direction:column;
    gap:4px;
    font-size:13px;
}
.prd-fpc-v2-group-file{
    display:flex;
    flex-direction:column;
    gap:1px;
    margin-top:10px;
    font-size:12px;
}
.prd-fpc-v2-group-file span{color:#777}
.prd-fpc-v2-group-file strong{font-weight:600;overflow-wrap:anywhere}
.prd-fpc-v2-variants{
    border-top:1px solid #eceeef;
    padding-top:10px;
}
.prd-fpc-v2-variants-title{
    display:block;
    margin-bottom:5px;
}
.prd-fpc-v2-variant-row{
    display:grid;
    grid-template-columns:48px minmax(0,1fr) 42px 82px;
    gap:8px;
    align-items:center;
    padding:7px 0;
    border-top:1px solid #f1f2f3;
}
.prd-fpc-v2-variant-row:first-of-type{border-top:0}
.prd-fpc-v2-variant-img img{
    display:block!important;
    width:44px!important;
    height:52px!important;
    object-fit:contain!important;
    border:1px solid #e8e8e8;
    border-radius:5px;
    background:#fff;
}
.prd-fpc-v2-variant-main{
    display:flex;
    flex-direction:column;
    min-width:0;
}
.prd-fpc-v2-variant-main strong{
    font-size:12px;
    color:#252525;
}
.prd-fpc-v2-variant-main span{
    font-size:11px;
    color:#707070;
    margin-top:1px;
}
.prd-fpc-v2-variant-qty{
    font-size:12px;
    text-align:center;
    color:#555;
}
.prd-fpc-v2-variant-price{
    font-size:12px;
    text-align:right;
    white-space:nowrap;
}

/* Following WooCommerce rows remain technically present, but are visually collapsed. */
.woocommerce-cart-form .prd-fpc-v2-group-following,
.woocommerce-checkout-review-order-table .prd-fpc-v2-group-following{
    display:none!important;
}
.prd-fpc-v2-hidden-variant{display:none!important}

/* Hide the native first-row thumbnail; group card owns all imagery. */
.woocommerce-cart-form .prd-fpc-v2-group-first .product-thumbnail{
    width:1px!important;
    min-width:1px!important;
    padding-left:0!important;
    padding-right:0!important;
}
.woocommerce-cart-form .prd-fpc-v2-group-first .product-thumbnail>*{display:none!important}

/* Native qty should not visually compete with grouped readout. Keep form field intact. */
.woocommerce-cart-form .prd-fpc-v2-group-first .product-quantity{
    opacity:.35;
}
.woocommerce-checkout-review-order-table .prd-fpc-v2-group-card{
    min-width:0;
    max-width:none;
}
.woocommerce-checkout-review-order-table .prd-fpc-v2-group-top{
    grid-template-columns:88px minmax(0,1fr);
}
.woocommerce-checkout-review-order-table .prd-fpc-v2-sample img{
    width:84px!important;
    height:100px!important;
}
.woocommerce-checkout-review-order-table .prd-fpc-v2-variant-row{
    grid-template-columns:38px minmax(0,1fr) 34px 68px;
    gap:6px;
}
.woocommerce-checkout-review-order-table .prd-fpc-v2-variant-img img{
    width:34px!important;
    height:42px!important;
}
@media(max-width:700px){
    .prd-fpc-v2-group-card{min-width:0;width:100%}
    .prd-fpc-v2-group-top{grid-template-columns:82px minmax(0,1fr);gap:10px}
    .prd-fpc-v2-sample img{width:78px!important;height:94px!important}
    .prd-fpc-v2-variant-row{grid-template-columns:40px minmax(0,1fr) 32px 64px}
    .prd-fpc-v2-variant-img img{width:36px!important;height:44px!important}
}

/* beta4 – Rohmotiv statt Textil-Mockup */
.prd-fpc-v2-artworks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:8px 0 14px}
.prd-fpc-v2-artwork-card{min-width:0}.prd-fpc-v2-artwork-head{display:flex;flex-direction:column;gap:2px;margin-bottom:6px}
.prd-fpc-v2-artwork-head strong{font-size:13px;color:#222}.prd-fpc-v2-artwork-head span{font-size:11px;color:#687078}
.prd-fpc-v2-artwork-canvas{display:flex;align-items:center;justify-content:center;height:116px;padding:12px;box-sizing:border-box;border:1px solid #e2e5e8;border-radius:7px;background:#eef0f2}
.prd-fpc-v2-artwork-canvas img{display:block!important;width:100%!important;height:100%!important;max-width:100%!important;max-height:100%!important;object-fit:contain!important;border:0!important;background:transparent!important}
.prd-fpc-v2-artwork-file{margin-top:5px;font-size:11px;font-weight:600;color:#444;overflow-wrap:anywhere}
.woocommerce-cart-form .prd-fpc-v2-group-first dl.variation,.woocommerce-cart-form .prd-fpc-v2-group-first .variation,.woocommerce-checkout-review-order-table .prd-fpc-v2-group-first dl.variation,.woocommerce-checkout-review-order-table .prd-fpc-v2-group-first .variation{display:none!important}
.prd-fpc-v2-group-top,.prd-fpc-v2-sample,.prd-fpc-v2-group-info{display:none!important}
.woocommerce-checkout-review-order-table .prd-fpc-v2-artworks{gap:8px;margin-bottom:10px}.woocommerce-checkout-review-order-table .prd-fpc-v2-artwork-canvas{height:90px;padding:8px}.woocommerce-checkout-review-order-table .prd-fpc-v2-artwork-head strong{font-size:12px}.woocommerce-checkout-review-order-table .prd-fpc-v2-artwork-head span,.woocommerce-checkout-review-order-table .prd-fpc-v2-artwork-file{font-size:10px}
@media(max-width:560px){.prd-fpc-v2-artworks{grid-template-columns:1fr}.prd-fpc-v2-artwork-canvas{height:105px}}


/* beta4-mail2 – customer order details use the same compact grouped presentation */
.woocommerce-order-details .prd-fpc-v2-order-group,
.woocommerce-order-details .product-name > div[style*="max-width:490px"]{
    max-width:520px!important;
}
.woocommerce-order-details .product-name table{
    margin-bottom:0!important;
}


/* beta4-mail3 – one-step upload + placement */
.prd-fpc-v2-native-upload{display:none!important}
.prd-fpc-v2-action{display:flex!important;align-items:center;gap:8px;flex-wrap:wrap;margin-top:8px}
.prd-fpc-v2-action .prd-fpc-v2-open{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:9px 18px!important;background:#2fb344!important;border-color:#2fb344!important;color:#fff!important;font-weight:700!important}
.prd-fpc-v2-action .prd-fpc-v2-open:hover{background:#269c3a!important;border-color:#269c3a!important}
.prd-fpc-v2-file-status{display:block;flex-basis:100%;font-size:11px;color:#666;overflow-wrap:anywhere}


/* beta4-mail4: only one customer-facing upload button */
label.prd-fpc-v2-native-upload,
.prd-fpc-v2-native-upload,
.tmcp-field-wrap:has(> label.prd-fpc-v2-native-upload) > .tm-filename,
.tmcp-field-wrap:has(> label.prd-fpc-v2-native-upload) > .tc-price-wrap{
    display:none!important;
}
.prd-fpc-v2-action{
    margin-top:4px!important;
}


/* beta4-mail5: hard-hide original TM-EPO upload UI */
.tmcp-field-wrap > label.prd-fpc-v2-native-upload,
.tmcp-field-wrap > label.cpf-upload-container.prd-fpc-v2-native-upload,
.tmcp-field-wrap > input[type="file"][data-prd-fpc-v2="1"],
.tmcp-field-wrap > .tm-epo-file-input-label{
    display:none!important;
    visibility:hidden!important;
}


/* beta4-mail7 – classic fallback stays native */
.tmcp-field-wrap input[type="file"][data-prd-fpc-v2="fallback"]{
    position:static!important;
    width:auto!important;
    height:auto!important;
    opacity:1!important;
    pointer-events:auto!important;
    left:auto!important;
}


/* beta4-mail13 – variant-level cart quantity controls */
.woocommerce-cart-form .prd-fpc-v2-variant-row{
    grid-template-columns:48px minmax(0,1fr) 94px 82px;
}
.prd-fpc-v2-variant-qty-control{
    display:inline-grid;
    grid-template-columns:28px 34px 28px;
    align-items:center;
    justify-content:center;
    width:90px;
    height:32px;
    border:1px solid #dfe3e6;
    border-radius:6px;
    background:#fff;
    overflow:hidden;
    box-sizing:border-box;
}
.prd-fpc-v2-qty-btn{
    appearance:none;
    -webkit-appearance:none;
    display:flex;
    align-items:center;
    justify-content:center;
    width:28px;
    height:30px;
    margin:0!important;
    padding:0!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    color:#242424!important;
    font-size:17px!important;
    font-weight:500!important;
    line-height:1!important;
    cursor:pointer;
    box-shadow:none!important;
}
.prd-fpc-v2-qty-btn:hover{
    background:#f4f5f6!important;
}
.prd-fpc-v2-qty-btn:disabled{
    opacity:.4;
    cursor:wait;
}
.prd-fpc-v2-qty-value{
    display:flex;
    align-items:center;
    justify-content:center;
    height:30px;
    border-left:1px solid #edf0f2;
    border-right:1px solid #edf0f2;
    font-size:12px;
    font-weight:600;
    color:#333;
}
.prd-fpc-v2-variant-qty-control.is-loading{
    opacity:.65;
}

/* The first WooCommerce row still exists technically, but its native quantity field
   must not compete with the real per-variant controls shown inside the group card. */
.woocommerce-cart-form .prd-fpc-v2-group-first .product-quantity{
    visibility:hidden!important;
    width:1px!important;
    min-width:1px!important;
    padding-left:0!important;
    padding-right:0!important;
}

/* Checkout remains read-only and keeps the compact x-quantity display. */
.woocommerce-checkout-review-order-table .prd-fpc-v2-variant-row{
    grid-template-columns:38px minmax(0,1fr) 34px 68px;
}
@media(max-width:700px){
    .woocommerce-cart-form .prd-fpc-v2-variant-row{
        grid-template-columns:40px minmax(0,1fr) 88px 64px;
    }
    .prd-fpc-v2-variant-qty-control{
        grid-template-columns:26px 32px 26px;
        width:84px;
    }
    .prd-fpc-v2-qty-btn{width:26px}
}

/* beta4-mail14 – Anpassen pro Warenkorbvariante */
.woocommerce-cart-form .prd-fpc-v2-variant-row{grid-template-columns:48px minmax(0,1fr) 94px 76px 82px}
.prd-fpc-v2-variant-edit{appearance:none;-webkit-appearance:none;border:1px solid #d8dcdf!important;background:#fff!important;color:#303438!important;border-radius:6px!important;padding:7px 9px!important;margin:0!important;font-size:11px!important;line-height:1!important;font-weight:600!important;cursor:pointer;box-shadow:none!important}
.prd-fpc-v2-variant-edit:hover{background:#f5f6f7!important}.prd-fpc-v2-variant-edit:disabled{opacity:.55;cursor:wait}
@media(max-width:700px){.woocommerce-cart-form .prd-fpc-v2-variant-row{grid-template-columns:40px minmax(0,1fr) 88px 64px}.prd-fpc-v2-variant-edit{grid-column:2/4;justify-self:start}}


/* beta4-mail22 – grouped cart uses the classic full mobile width */
@media (max-width: 768px){

    /*
     * Shoptimizer/WooCommerce still reserve table columns for thumbnail,
     * native price, quantity and subtotal on the technical first cart row.
     * Our grouped card already renders all customer-facing information,
     * so those dead columns are removed on mobile and product-name gets 100%.
     */
    .woocommerce-cart-form table.shop_table tr.prd-fpc-v2-group-first{
        display:block!important;
        position:relative!important;
        width:100%!important;
        max-width:none!important;
        box-sizing:border-box!important;
    }

    .woocommerce-cart-form table.shop_table tr.prd-fpc-v2-group-first > td.product-name{
        display:block!important;
        width:100%!important;
        max-width:none!important;
        min-width:0!important;
        box-sizing:border-box!important;
        padding-left:0!important;
        padding-right:0!important;
        float:none!important;
    }

    .woocommerce-cart-form table.shop_table tr.prd-fpc-v2-group-first > td.product-thumbnail,
    .woocommerce-cart-form table.shop_table tr.prd-fpc-v2-group-first > td.product-price,
    .woocommerce-cart-form table.shop_table tr.prd-fpc-v2-group-first > td.product-quantity,
    .woocommerce-cart-form table.shop_table tr.prd-fpc-v2-group-first > td.product-subtotal{
        display:none!important;
    }

    /* Keep the remove action accessible, but do not let its table cell consume width. */
    .woocommerce-cart-form table.shop_table tr.prd-fpc-v2-group-first > td.product-remove{
        display:block!important;
        position:absolute!important;
        top:0!important;
        right:0!important;
        width:32px!important;
        min-width:32px!important;
        padding:0!important;
        z-index:4!important;
        border:0!important;
    }

    .woocommerce-cart-form .prd-fpc-v2-group-card{
        width:100%!important;
        max-width:none!important;
        min-width:0!important;
        margin:0!important;
        padding-right:0!important;
        box-sizing:border-box!important;
    }

    .woocommerce-cart-form .prd-fpc-v2-artworks,
    .woocommerce-cart-form .prd-fpc-v2-artwork-card,
    .woocommerce-cart-form .prd-fpc-v2-artwork-canvas,
    .woocommerce-cart-form .prd-fpc-v2-variants{
        width:100%!important;
        max-width:none!important;
        box-sizing:border-box!important;
    }

    /* Use the available width for the artwork instead of a narrow desktop-style card. */
    .woocommerce-cart-form .prd-fpc-v2-artwork-canvas{
        height:clamp(150px, 46vw, 230px)!important;
        padding:14px!important;
    }

    .woocommerce-cart-form .prd-fpc-v2-artwork-canvas img{
        max-width:100%!important;
        max-height:100%!important;
        width:100%!important;
        height:100%!important;
        object-fit:contain!important;
    }
}

/* beta4-mail23 – mobile cart: widen the OUTER Shoptimizer/WooCommerce containers */
@media (max-width: 768px){

    body.woocommerce-cart .site-content .col-full{
        width:calc(100% - 32px)!important;
        max-width:none!important;
        min-width:0!important;
        margin-left:16px!important;
        margin-right:16px!important;
        padding-left:0!important;
        padding-right:0!important;
        box-sizing:border-box!important;
    }

    body.woocommerce-cart .site-content .col-full .content-area,
    body.woocommerce-cart .site-content .col-full .site-main,
    body.woocommerce-cart .site-content .col-full .woocommerce,
    body.woocommerce-cart .site-content .col-full form.woocommerce-cart-form{
        width:100%!important;
        max-width:none!important;
        min-width:0!important;
        margin-left:0!important;
        margin-right:0!important;
        padding-left:0!important;
        padding-right:0!important;
        float:none!important;
        box-sizing:border-box!important;
    }

    body.woocommerce-cart table.shop_table,
    body.woocommerce-cart table.shop_table tbody,
    body.woocommerce-cart table.shop_table tr.prd-fpc-v2-group-first,
    body.woocommerce-cart table.shop_table tr.prd-fpc-v2-group-first > td.product-name,
    body.woocommerce-cart .prd-fpc-v2-group-card{
        width:100%!important;
        max-width:none!important;
        min-width:0!important;
        box-sizing:border-box!important;
    }

    body.woocommerce-cart table.shop_table tr.prd-fpc-v2-group-first > td.product-name{
        flex:0 0 100%!important;
        margin:0!important;
    }
}

/* beta4-mail24 – Shoptimizer mobile cart row: remove reserved thumbnail gutter for FPC group */
@media (max-width:768px){
  body.woocommerce-cart .m-cart table.cart tr.prd-fpc-v2-group-first{
    padding-left:0!important;
  }
}


/* beta4-mail28 – classic upload + optional designer */
.prd-fpc-v2-action{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:8px!important;
    width:100%!important;
    max-width:100%!important;
}
.prd-fpc-v2-action .prd-fpc-v2-classic-upload,
.prd-fpc-v2-action .prd-fpc-v2-open{
    width:100%!important;
    min-height:42px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:8px!important;
    margin:0!important;
}
.prd-fpc-v2-action .prd-fpc-v2-classic-upload{
    background:#fff!important;
    color:#222!important;
    border:1px solid #cfd5da!important;
    font-weight:600!important;
}
.prd-fpc-v2-action .prd-fpc-v2-open{
    background:#2fb344!important;
    border-color:#2fb344!important;
    color:#fff!important;
    font-weight:700!important;
}
.prd-fpc-v2-action .prd-fpc-v2-open em{
    display:inline-flex;
    align-items:center;
    padding:2px 6px;
    border-radius:999px;
    background:rgba(255,255,255,.20);
    color:inherit;
    font-size:10px;
    font-style:normal;
    line-height:1.3;
    text-transform:uppercase;
    letter-spacing:.03em;
}
.prd-fpc-v2-action > span,
.prd-fpc-v2-action .prd-fpc-v2-file-status{
    grid-column:1/-1;
}


/* beta4-mail30 – subtle attention shine for "Jetzt gestalten" */
.prd-fpc-v2-open.prd-fpc-v2-shine{
    position:relative!important;
    overflow:hidden!important;
    isolation:isolate;
}
.prd-fpc-v2-open.prd-fpc-v2-shine::after{
    content:"";
    position:absolute;
    top:-35%;
    left:-45%;
    width:32%;
    height:170%;
    pointer-events:none;
    z-index:1;
    opacity:0;
    transform:skewX(-20deg);
    background:linear-gradient(
        90deg,
        rgba(255,255,255,0) 0%,
        rgba(255,255,255,.20) 35%,
        rgba(255,255,255,.68) 50%,
        rgba(255,255,255,.20) 65%,
        rgba(255,255,255,0) 100%
    );
    animation:prd-fpc-v2-button-shine 4.8s ease-in-out 1.1s infinite;
}
.prd-fpc-v2-open.prd-fpc-v2-shine > *{
    position:relative;
    z-index:2;
}
@keyframes prd-fpc-v2-button-shine{
    0%,68%{
        left:-45%;
        opacity:0;
    }
    72%{
        opacity:1;
    }
    84%{
        left:118%;
        opacity:.95;
    }
    88%,100%{
        left:118%;
        opacity:0;
    }
}

/* Accessibility: no motion for users who request reduced motion. */
@media (prefers-reduced-motion: reduce){
    .prd-fpc-v2-open.prd-fpc-v2-shine::after{
        animation:none!important;
        display:none!important;
    }
}
