/* ==========================================================================
   DruckShirt24 – WooCommerce & Produkt-Designer
   ========================================================================== */

.woocommerce .woocommerce-breadcrumb,.woocommerce-breadcrumb{font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--ds-grey);margin:24px 0 20px}
.woocommerce-breadcrumb a{text-decoration:none;color:var(--ds-grey)}
.woocommerce-breadcrumb a:hover{color:var(--ds-black)}
.woocommerce-breadcrumb .sep{margin:0 8px;color:var(--ds-green)}

.woo-wrap{padding-bottom:40px}
.woo-wrap--single{padding-bottom:72px}
.woo-layout{display:block}
.ds-has-shop-sidebar .woo-layout{display:grid;grid-template-columns:260px 1fr;gap:40px;align-items:start}

/* Toolbar -------------------------------------------------------------- */
.shop-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:26px;flex-wrap:wrap}
.woocommerce .shop-toolbar .woocommerce-result-count,.woocommerce .shop-toolbar .woocommerce-ordering{float:none;margin:0}
.shop-toolbar .woocommerce-result-count{font-size:.9rem;color:var(--ds-grey);font-weight:500}
.shop-toolbar .woocommerce-ordering select{width:auto;min-width:220px;padding:10px 12px}
.shop-toolbar__filter{display:none}

/* Sidebar -------------------------------------------------------------- */
.shop-sidebar{position:sticky;top:calc(var(--ds-header-h) + 20px)}
.shop-sidebar .widget{margin-bottom:28px;padding-bottom:24px;border-bottom:1px solid var(--ds-line)}
.shop-sidebar .widget-title{font-size:1.35rem}
.shop-sidebar ul{list-style:none;margin:0;padding:0}
.shop-sidebar li{padding:5px 0}
.shop-sidebar a{text-decoration:none}
.shop-sidebar__close{display:none}
@media (max-width:980px){
	.ds-has-shop-sidebar .woo-layout{grid-template-columns:1fr}
	.shop-toolbar__filter{display:inline-flex;padding:10px 18px;font-size:1rem}
	.shop-sidebar{position:fixed;inset:0 0 0 auto;width:min(360px,88vw);background:var(--ds-white);z-index:200;padding:64px 22px 22px;overflow-y:auto;transform:translateX(100%);transition:transform .3s;box-shadow:var(--ds-shadow-lg)}
	.sidebar-open .shop-sidebar{transform:none}
	.sidebar-open{overflow:hidden}
	.shop-sidebar__close{display:inline-flex;position:absolute;top:14px;right:14px;background:none;border:0;cursor:pointer;padding:6px}
}
.ds-overlay{position:fixed;inset:0;background:rgba(7,9,10,.55);z-index:98;opacity:0;visibility:hidden;transition:.3s}
.nav-open .ds-overlay,.sidebar-open .ds-overlay{opacity:1;visibility:visible}
.sidebar-open .ds-overlay{z-index:199}

/* Produktraster -------------------------------------------------------- */
.woocommerce ul.products,.woocommerce-page ul.products{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:26px;margin:0 0 20px;padding:0;list-style:none}
.woocommerce ul.products.columns-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.woocommerce ul.products.columns-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.woocommerce ul.products.columns-5{grid-template-columns:repeat(5,minmax(0,1fr))}
.woocommerce ul.products::before,.woocommerce ul.products::after{display:none}
.ds-has-shop-sidebar ul.products{grid-template-columns:repeat(3,minmax(0,1fr))}
@media (max-width:1100px){.woocommerce ul.products,.woocommerce ul.products[class*=columns-]{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:760px){.woocommerce ul.products,.woocommerce ul.products[class*=columns-],.ds-has-shop-sidebar ul.products{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}}

.woocommerce ul.products li.product,.woocommerce-page ul.products li.product{float:none;width:auto;margin:0;padding:0 0 16px;position:relative;display:flex;flex-direction:column;background:var(--ds-white);border:1px solid var(--ds-line);border-radius:var(--ds-radius-lg);overflow:hidden;transition:box-shadow .25s,transform .25s,border-color .25s}
.woocommerce ul.products li.product:hover{box-shadow:var(--ds-shadow-lg);transform:translateY(-4px);border-color:transparent}
.woocommerce ul.products li.product a img{margin:0 0 14px;background:var(--ds-light);aspect-ratio:1;object-fit:cover;width:100%;transition:transform .4s}
.woocommerce ul.products li.product a.woocommerce-LoopProduct-link{text-decoration:none;display:block;overflow:hidden}
.woocommerce ul.products li.product .woocommerce-loop-product__title{font-family:var(--ds-font-head);font-style:italic;font-weight:800;font-size:1.3rem;text-transform:uppercase;line-height:1.1;padding:0 16px;margin:0 0 6px;color:var(--ds-black)}
.woocommerce ul.products li.product .price{display:block;padding:0 16px;margin:0 0 14px;color:var(--ds-black);font-weight:700;font-size:1.05rem}
.woocommerce ul.products li.product .price del{color:var(--ds-grey);font-weight:500;opacity:1}
.woocommerce ul.products li.product .price ins{text-decoration:none}
.woocommerce ul.products li.product .star-rating{margin:0 16px 8px;font-size:.8rem}
.woocommerce ul.products li.product .button{margin:auto 16px 0;width:calc(100% - 32px);font-size:1.05rem;padding:12px 14px}
.woocommerce ul.products li.product .added_to_cart{display:block;text-align:center;font-size:.85rem;font-weight:600;padding-top:8px}
@media (max-width:760px){
	.woocommerce ul.products li.product .woocommerce-loop-product__title{font-size:1.1rem;padding:0 10px}
	.woocommerce ul.products li.product .price{padding:0 10px;font-size:.95rem}
	.woocommerce ul.products li.product .button{margin:auto 10px 0;width:calc(100% - 20px);font-size:.95rem;padding:10px}
}

/* Badges */
.woocommerce span.onsale{min-height:0;min-width:0;line-height:1;padding:7px 12px;border-radius:6px;background:var(--ds-black);color:var(--ds-green);font-family:var(--ds-font-head);font-style:italic;font-weight:800;font-size:1rem;text-transform:uppercase;top:12px;left:12px;right:auto;margin:0;z-index:2}
.woocommerce ul.products li.product .onsale{top:12px;left:12px;right:auto;margin:0}
.ds-badge-design{position:absolute;top:12px;right:12px;z-index:2;display:inline-flex;align-items:center;gap:5px;background:var(--ds-green);color:var(--ds-black);padding:6px 10px;border-radius:6px;font-family:var(--ds-font-head);font-style:italic;font-weight:800;font-size:.95rem;text-transform:uppercase;line-height:1}
.ds-badge-design .ds-icon{width:15px;height:15px}
.ds-design-button{background:var(--ds-black)!important;border-color:var(--ds-black)!important;color:var(--ds-white)!important}
.ds-design-button:hover{background:var(--ds-green)!important;border-color:var(--ds-green)!important;color:var(--ds-black)!important}
.ds-design-button .ds-icon{color:var(--ds-green)}
.ds-design-button:hover .ds-icon{color:var(--ds-black)}

/* Einzelprodukt -------------------------------------------------------- */
.woocommerce div.product{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px 56px;align-items:start;position:relative}
.woocommerce div.product div.images,.woocommerce div.product div.summary{float:none;width:auto;margin:0}
.woocommerce div.product div.images{position:sticky;top:calc(var(--ds-header-h) + 20px)}
.woocommerce div.product div.images .woocommerce-product-gallery__wrapper{border-radius:var(--ds-radius-lg);overflow:hidden;background:var(--ds-light)}
.woocommerce div.product div.images .flex-control-thumbs{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-top:10px}
.woocommerce div.product div.images .flex-control-thumbs li{width:auto;float:none}
.woocommerce div.product div.images .flex-control-thumbs img{border-radius:8px;opacity:.6;transition:opacity .2s}
.woocommerce div.product div.images .flex-control-thumbs img.flex-active,.woocommerce div.product div.images .flex-control-thumbs img:hover{opacity:1;outline:2px solid var(--ds-green)}
.woocommerce div.product .woocommerce-product-gallery__trigger{background:var(--ds-white);box-shadow:var(--ds-shadow)}
.woocommerce div.product .product_title{font-size:clamp(2.2rem,4vw,3.4rem);margin-bottom:10px}
.woocommerce div.product p.price,.woocommerce div.product span.price{color:var(--ds-black);font-size:1.8rem;font-weight:700;font-family:var(--ds-font-body);margin-bottom:14px}
.woocommerce div.product p.price del{color:var(--ds-grey);font-size:1.2rem;font-weight:500}
.woocommerce div.product p.price ins{text-decoration:none;background:var(--ds-green);padding:0 8px;border-radius:4px}
.woocommerce div.product .woocommerce-product-details__short-description{color:#3a3e40;margin-bottom:20px}
.woocommerce div.product .woocommerce-product-rating{margin-bottom:12px}
.woocommerce .star-rating span::before,.woocommerce p.stars a{color:var(--ds-green-dark)}

.woocommerce div.product form.cart{margin:0 0 22px;padding:22px;background:var(--ds-light);border-radius:var(--ds-radius-lg)}
.woocommerce div.product form.cart::before,.woocommerce div.product form.cart::after{display:none}
.woocommerce div.product form.cart .single_add_to_cart_button{font-size:1.35rem;padding:16px 30px;flex:1}
.woocommerce div.product form.cart:not(.variations_form),.woocommerce div.product form.cart .woocommerce-variation-add-to-cart{display:flex;flex-wrap:wrap;gap:12px;align-items:stretch}
.woocommerce div.product form.cart div.quantity{float:none;margin:0}
.woocommerce .quantity .qty{width:84px;height:100%;min-height:54px;text-align:center;font-weight:700;font-size:1.1rem;border-radius:6px}
.woocommerce div.product form.cart .variations{margin-bottom:14px;width:100%}
.woocommerce div.product form.cart .variations th,.woocommerce div.product form.cart .variations td{display:block;padding:0;text-align:left}
.woocommerce div.product form.cart .variations label{font-weight:700;text-transform:uppercase;font-size:.8rem;letter-spacing:.08em}
.woocommerce div.product form.cart .variations select{margin:6px 0 14px;min-width:0;width:100%}
.woocommerce div.product form.cart .reset_variations{font-size:.8rem}
.woocommerce div.product .stock{font-weight:700;font-size:.9rem}
.woocommerce div.product .stock.in-stock{color:var(--ds-green-dark)}

.product-trust{list-style:none;margin:0 0 22px;padding:0;display:grid;gap:8px;font-size:.88rem;font-weight:600}
.product-trust li{display:flex;align-items:center;gap:10px}
.product-trust .ds-icon{width:20px;height:20px;color:var(--ds-green-dark)}
.woocommerce div.product .product_meta{font-size:.85rem;color:var(--ds-grey);border-top:1px solid var(--ds-line);padding-top:16px}
.woocommerce div.product .product_meta>span{display:block;margin-bottom:4px}

/* Tabs, Related etc. über volle Breite */
.woocommerce div.product .woocommerce-tabs,
.woocommerce div.product .related,
.woocommerce div.product .upsells,
.woocommerce div.product > .woocommerce-notices-wrapper,
.woocommerce div.product > *:not(.images):not(.summary):not(.onsale):not(.woocommerce-product-gallery){grid-column:1/-1}
.woocommerce div.product .woocommerce-tabs{margin-top:40px}
.woocommerce div.product .woocommerce-tabs ul.tabs{padding:0;margin:0 0 26px;display:flex;gap:6px;flex-wrap:wrap;border-bottom:2px solid var(--ds-line)}
.woocommerce div.product .woocommerce-tabs ul.tabs::before,.woocommerce div.product .woocommerce-tabs ul.tabs li::before,.woocommerce div.product .woocommerce-tabs ul.tabs li::after{display:none}
.woocommerce div.product .woocommerce-tabs ul.tabs li{background:none;border:0;border-radius:0;margin:0;padding:0}
.woocommerce div.product .woocommerce-tabs ul.tabs li a{display:block;padding:12px 18px;font-family:var(--ds-font-head);font-style:italic;font-weight:800;font-size:1.25rem;text-transform:uppercase;color:var(--ds-grey);position:relative}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a{color:var(--ds-black)}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a::after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:4px;background:var(--ds-green)}
.woocommerce div.product .woocommerce-tabs .panel{max-width:860px}
.woocommerce div.product .woocommerce-tabs .panel>h2:first-child{font-size:1.8rem}
.woocommerce table.shop_attributes{border:0}
.woocommerce table.shop_attributes th,.woocommerce table.shop_attributes td{border:0;border-bottom:1px solid var(--ds-line);padding:10px;font-style:normal}
.woocommerce .related>h2,.woocommerce .upsells>h2,.woocommerce .cross-sells>h2{margin:56px 0 24px}

@media (max-width:860px){
	.woocommerce div.product{grid-template-columns:minmax(0,1fr);gap:20px}
	.woocommerce div.product div.images{position:static}
}

/* ==========================================================================
   Tb Product Designer – Integration
   Der Designer sitzt im Bereich des Warenkorb-Formulars (form.cart).
   ========================================================================== */

/* Breites Layout: Galerie schmaler, Designer/Zusammenfassung breiter */
.ds-designer-wide.woocommerce div.product,
.ds-designer-wide .woocommerce div.product{grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:24px 44px}
@media (max-width:1024px){.ds-designer-wide .woocommerce div.product{grid-template-columns:minmax(0,1fr)}}
@media (max-width:1024px){.ds-designer-wide.woocommerce div.product{grid-template-columns:minmax(0,1fr)}}

.ds-designer-intro{margin:6px 0 12px;padding:18px 20px 4px;border-left:6px solid var(--ds-green);background:linear-gradient(90deg,rgba(133,213,1,.12),transparent)}
.ds-designer-intro__title{display:flex;align-items:center;gap:10px;font-size:1.7rem;margin:0 0 6px}
.ds-designer-intro__title .ds-icon{width:26px;height:26px;color:var(--ds-green-dark)}
.ds-designer-intro__hint{font-size:.88rem;color:#3a3e40;margin:0 0 14px}

/* Designer-Bereich: ganze Breite der Box, Bedienelemente einheitlich gestylt */
.ds-has-designer div.product form.cart{display:block!important;background:var(--ds-white);border:2px solid var(--ds-line);padding:20px}
.ds-has-designer div.product form.cart>*:not(.quantity):not(.single_add_to_cart_button):not(button){width:100%}
.ds-has-designer div.product form.cart .quantity{display:inline-block;vertical-align:top;margin:16px 10px 0 0}
.ds-has-designer div.product form.cart .single_add_to_cart_button{margin-top:16px;min-width:min(100%,280px);min-height:54px}

.ds-has-designer:not(.ds24d-active) form.cart label{display:block;margin:12px 0 6px;font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em}
.ds-has-designer:not(.ds24d-active) form.cart input[type=file]{width:100%;padding:16px;border:2px dashed var(--ds-line);border-radius:10px;background:var(--ds-light);cursor:pointer;font-size:.9rem;transition:border-color .2s,background .2s}
.ds-has-designer:not(.ds24d-active) form.cart input[type=file]:hover{border-color:var(--ds-green);background:rgba(133,213,1,.08)}
.ds-has-designer:not(.ds24d-active) form.cart input[type=file]::file-selector-button{font-family:var(--ds-font-head);font-style:italic;font-weight:800;text-transform:uppercase;background:var(--ds-black);color:var(--ds-white);border:0;border-radius:6px;padding:10px 16px;margin-right:14px;cursor:pointer}
.ds-has-designer:not(.ds24d-active) form.cart input[type=color]{width:56px;height:46px;padding:4px;border:2px solid var(--ds-line);border-radius:8px;background:var(--ds-white);cursor:pointer}
.ds-has-designer:not(.ds24d-active) form.cart input[type=range]{width:100%;accent-color:var(--ds-green-dark)}
.ds-has-designer:not(.ds24d-active) form.cart select{margin-bottom:4px}
.ds-has-designer:not(.ds24d-active) form.cart button:not(.single_add_to_cart_button){font-size:1rem;padding:10px 16px}

/* Canvas-Vorschau: zentriert, Karo-Hintergrund, skaliert per JS auf Handy */
.ds-has-designer:not(.ds24d-active) form.cart canvas{display:block;border-radius:8px}
.ds-canvas-frame{position:relative;max-width:100%;min-width:0;margin:8px 0 16px;padding:14px;border-radius:14px;background:
	linear-gradient(45deg,#eef0ec 25%,transparent 25%),linear-gradient(-45deg,#eef0ec 25%,transparent 25%),
	linear-gradient(45deg,transparent 75%,#eef0ec 75%),linear-gradient(-45deg,transparent 75%,#eef0ec 75%) var(--ds-light);
	background-size:20px 20px;background-position:0 0,0 10px,10px -10px,-10px 0;overflow:hidden;display:flex;justify-content:center}
.ds-canvas-frame::after{content:"Live-Vorschau";position:absolute;top:10px;left:10px;background:var(--ds-black);color:var(--ds-green);font-family:var(--ds-font-head);font-style:italic;font-weight:800;font-size:.8rem;text-transform:uppercase;letter-spacing:.06em;padding:4px 8px;border-radius:4px;pointer-events:none;z-index:5}
.ds-canvas-scale{transform-origin:top left;flex:none}
.ds-canvas-frame .canvas-container{margin:0!important}

/* Motivbild in Warenkorb / Kasse / Bestellung */
.woocommerce-cart-form .product-name img,
.woocommerce-checkout-review-order-table img,
.woocommerce-table--order-details img,
.wc-item-meta img,
.variation img,
.wc-block-components-product-details img{max-width:120px;height:auto;border-radius:8px;border:1px solid var(--ds-line);background:var(--ds-light);display:block;margin-top:6px}
.wc-item-meta,.woocommerce td.product-name dl.variation{font-size:.85rem;color:var(--ds-grey)}
.woocommerce td.product-name dl.variation dt{font-weight:700}

/* ==========================================================================
   Warenkorb, Kasse, Konto (klassisch + Blöcke)
   ========================================================================== */
.section--woo-page{padding-top:44px}
.woocommerce-notices-wrapper:empty{display:none}
.woocommerce-message,.woocommerce-info,.woocommerce-error{border:0;border-left:6px solid var(--ds-green);border-radius:var(--ds-radius);background:var(--ds-light);color:var(--ds-black);padding:18px 22px 18px 56px;font-weight:500}
.woocommerce-message::before,.woocommerce-info::before{color:var(--ds-green-dark);top:18px}
.woocommerce-error{border-left-color:#d63638}
.woocommerce-message .button,.woocommerce-info .button{float:right;padding:9px 16px;font-size:1rem}

.woocommerce table.shop_table{border:1px solid var(--ds-line);border-radius:var(--ds-radius-lg);border-collapse:separate;overflow:hidden}
.woocommerce table.shop_table th{font-family:var(--ds-font-head);font-style:italic;font-weight:800;text-transform:uppercase;font-size:1.05rem;background:var(--ds-light)}
.woocommerce table.shop_table td,.woocommerce table.shop_table th{padding:16px;border-color:var(--ds-line)}
.woocommerce table.cart img{width:80px;border-radius:8px}
.woocommerce a.remove{color:var(--ds-black)!important;border:1px solid var(--ds-line)}
.woocommerce a.remove:hover{background:#d63638;color:#fff!important;border-color:#d63638}
.woocommerce table.cart td.actions .coupon .input-text{width:200px;padding:12px}
.woocommerce .cart-collaterals .cart_totals,.woocommerce-page .cart-collaterals .cart_totals{float:none;width:100%;max-width:480px;margin-left:auto}
.woocommerce .cart-collaterals .cross-sells{float:none;width:100%}
.wc-proceed-to-checkout .checkout-button{width:100%;font-size:1.4rem!important}
.woocommerce .col2-set{display:grid;grid-template-columns:1fr 1fr;gap:32px}
.woocommerce .col2-set .col-1,.woocommerce .col2-set .col-2{float:none;width:auto}
.woocommerce .col2-set::before,.woocommerce .col2-set::after{display:none}
@media (max-width:760px){.woocommerce .col2-set{grid-template-columns:1fr}}
.woocommerce form .form-row{padding:0;margin:0 0 16px}
.woocommerce form .form-row-first,.woocommerce form .form-row-last{width:48.5%}
@media (max-width:560px){.woocommerce form .form-row-first,.woocommerce form .form-row-last{width:100%;float:none}}
#order_review_heading{margin-top:32px}
.woocommerce-checkout #payment{background:var(--ds-light);border-radius:var(--ds-radius-lg)}
.woocommerce-checkout #payment div.payment_box{background:var(--ds-white)}
.woocommerce-checkout #payment div.payment_box::before{border-bottom-color:var(--ds-white)}
#place_order{width:100%;font-size:1.4rem;padding:18px}

/* WooCommerce Blocks */
.wc-block-components-button:not(.is-link),.wc-block-cart__submit-button,.wc-block-components-checkout-place-order-button{background:var(--ds-green)!important;color:var(--ds-black)!important;border-radius:6px!important;font-family:var(--ds-font-head)!important;font-style:italic;font-weight:800!important;text-transform:uppercase;font-size:1.3rem!important;letter-spacing:.04em}
.wc-block-components-button:not(.is-link):hover{background:var(--ds-black)!important;color:var(--ds-green)!important}
.wc-block-components-title,.wc-block-cart__totals-title{font-family:var(--ds-font-head)!important;font-style:italic;font-weight:900!important;text-transform:uppercase!important}
.wc-block-components-text-input input:focus,.wc-block-components-combobox .components-combobox-control input:focus{box-shadow:0 0 0 2px var(--ds-green)!important;border-color:var(--ds-black)!important}
.wc-block-components-product-badge{border-color:var(--ds-green)!important}
.wc-block-cart-item__image img{border-radius:8px}

/* Mein Konto */
.woocommerce-account .woocommerce{display:grid;grid-template-columns:240px 1fr;gap:40px;align-items:start}
.woocommerce-account .woocommerce>.woocommerce-notices-wrapper{grid-column:1/-1}
.woocommerce-account:not(.logged-in) .woocommerce{display:block}
.woocommerce-account .woocommerce-MyAccount-navigation,.woocommerce-account .woocommerce-MyAccount-content{float:none;width:auto}
.woocommerce-MyAccount-navigation ul{list-style:none;margin:0;padding:8px;background:var(--ds-light);border-radius:var(--ds-radius-lg)}
.woocommerce-MyAccount-navigation a{display:block;padding:11px 14px;border-radius:8px;text-decoration:none;font-weight:600}
.woocommerce-MyAccount-navigation .is-active a{background:var(--ds-black);color:var(--ds-green)}
.woocommerce-MyAccount-navigation a:hover{background:var(--ds-white)}
.woocommerce-MyAccount-navigation .is-active a:hover{background:var(--ds-black)}
@media (max-width:760px){.woocommerce-account .woocommerce{grid-template-columns:1fr}}
.woocommerce form.login,.woocommerce form.register{border:1px solid var(--ds-line);border-radius:var(--ds-radius-lg);padding:28px}
