/* DeutschShirt – WooCommerce styles (WooCommerce's own CSS is disabled) */

/* notices */
.woocommerce-notices-wrapper{margin-bottom:var(--sp-md)}
.woocommerce-message,.woocommerce-info,.woocommerce-error,.woocommerce-noreviews,p.no-comments{list-style:none;margin:0 0 var(--sp-lg);padding:var(--sp-md) 1.25rem;border-radius:var(--r);background:var(--sc-low);border-left:4px solid var(--primary);display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--sp-md);font-size:14px}
.woocommerce-message{border-color:var(--green);background:var(--green-bg)}
.woocommerce-error{border-color:var(--error);background:#ffdad6;display:block}
.woocommerce-message .button,.woocommerce-info .button{order:2}
.woocommerce-error li{margin:.25rem 0}

/* breadcrumb */
.breadcrumbs{font:600 12px/16px var(--f-body);letter-spacing:.04em;color:var(--tertiary);margin-bottom:var(--sp-lg)}
.breadcrumbs a{color:var(--on-surface-v)}.breadcrumbs a:hover{color:var(--primary)}
.breadcrumbs .sep{margin:0 .5rem;opacity:.5}

/* archive */
.woocommerce-products-header{text-align:center;margin-bottom:var(--sp-lg)}
.woocommerce-products-header__title{font-size:clamp(28px,4.2vw,40px);line-height:1.2;font-weight:800;letter-spacing:-.025em}
.term-description,.woocommerce-products-header .page-description{max-width:40rem;margin:.75rem auto 0;color:var(--on-surface-v)}
.woocommerce-result-count{float:left;margin:.5rem 0 var(--sp-md);font-size:13px;color:var(--tertiary)}
.woocommerce-ordering{float:right;margin:0 0 var(--sp-md)}
.woocommerce-ordering select{font-size:13px;padding:.45rem .75rem}
.shop-main ul.products{clear:both}
.woocommerce-pagination{margin-top:var(--sp-xl)}
ul.page-numbers{display:flex;flex-wrap:wrap;gap:var(--sp-xs);justify-content:center;list-style:none;background:none;box-shadow:none;padding:0;min-width:0;height:auto}
.shop-main .woocommerce-info{justify-content:center}

/* stars */
.star-rating{position:relative;display:inline-block;overflow:hidden;width:5.4em;height:1.1em;line-height:1.1;font-size:14px;letter-spacing:.1em;color:var(--sc-highest)}
.star-rating::before{content:"★★★★★";position:absolute;left:0;top:0}
.star-rating span{position:absolute;left:0;top:0;overflow:hidden;padding-top:2em;height:0;white-space:nowrap}
.star-rating span::before{content:"★★★★★";position:absolute;left:0;top:0;color:var(--primary-c)}

/* single product */
.single-product div.product{position:relative;display:grid;grid-template-columns:1fr;gap:var(--sp-xl) 3rem}
@media(min-width:768px){.single-product div.product{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start}}
.single-product div.product>.woocommerce-tabs,
.single-product div.product>.related,
.single-product div.product>.up-sells{grid-column:1/-1}
.single-product .onsale,.woocommerce span.onsale{position:absolute;top:.75rem;left:.75rem;z-index:6;background:var(--secondary);color:#fff;font:700 11px/14px var(--f-body);letter-spacing:.06em;text-transform:uppercase;padding:.25rem .6rem;border-radius:var(--r-s)}
.woocommerce-product-gallery{position:relative;margin:0}
.woocommerce-product-gallery__wrapper{margin:0;padding:0}
.woocommerce-product-gallery__image img{width:100%;height:auto;border-radius:var(--r)}
.woocommerce-product-gallery__image{background:var(--sc);border-radius:var(--r);overflow:hidden}
.woocommerce-product-gallery__trigger{position:absolute;top:.75rem;right:.75rem;z-index:9;width:2.25rem;height:2.25rem;border-radius:50%;background:#fff;box-shadow:var(--sh-md);display:flex;align-items:center;justify-content:center;font-size:15px;text-decoration:none}
.flex-control-thumbs{list-style:none;display:grid;grid-template-columns:repeat(5,1fr);gap:var(--sp-sm);margin:var(--sp-sm) 0 0;padding:0}
.flex-control-thumbs img{border-radius:var(--r-s);cursor:pointer;opacity:.6;transition:opacity .15s;background:var(--sc)}
.flex-control-thumbs img:hover,.flex-control-thumbs img.flex-active{opacity:1}
.summary.entry-summary{display:flex;flex-direction:column;gap:var(--sp-md)}
.summary .product_title{font-size:clamp(26px,3.4vw,36px);line-height:1.2;font-weight:800;letter-spacing:-.025em}
.summary .price{font:700 28px/36px var(--f-head);color:var(--primary)}
.summary .price del{font:600 16px/24px var(--f-body);color:var(--tertiary);margin-right:.5rem}
.summary .woocommerce-product-rating{display:flex;align-items:center;gap:var(--sp-sm);font-size:13px;color:var(--tertiary)}
.summary .woocommerce-product-details__short-description{color:var(--on-surface-v)}
.summary .woocommerce-product-details__short-description>*+*{margin-top:.75em}
.summary .stock{font:700 12px/16px var(--f-body);letter-spacing:.04em;color:var(--green-tx)}
.summary .stock.out-of-stock{color:var(--error)}
.summary form.cart{display:flex;flex-wrap:wrap;align-items:stretch;gap:var(--sp-sm) .75rem}
.summary form.variations_form{display:block}
.summary .woocommerce-variation-add-to-cart{display:flex;flex-wrap:wrap;gap:.75rem;align-items:stretch;margin-top:var(--sp-md)}
.summary table.variations{width:100%;border-collapse:collapse}
.summary table.variations th,.summary table.variations td{display:block;padding:0;text-align:left}
.summary table.variations th{font:700 12px/16px var(--f-body);letter-spacing:.06em;text-transform:uppercase;margin:var(--sp-sm) 0 .35rem}
.summary table.variations select{width:100%;padding:.7rem .8rem;font-weight:600}
.summary .reset_variations{display:inline-block;margin-top:.4rem;font-size:12px;color:var(--primary);text-decoration:underline}
.summary .woocommerce-variation-price .price{font-size:22px}
.quantity{display:inline-flex}
.quantity .qty{width:4.5rem;height:100%;min-height:3rem;text-align:center;font-weight:700;padding:.5rem}
.single_add_to_cart_button{flex:1 1 12rem;min-height:3rem;font-size:15px!important;padding:.9rem 1.5rem!important}
.single_add_to_cart_button.disabled,.single_add_to_cart_button:disabled{opacity:.45;cursor:not-allowed}
.product_meta{font-size:13px;color:var(--tertiary);display:flex;flex-direction:column;gap:.25rem;padding-top:var(--sp-md);border-top:1px solid var(--line)}
.product_meta a{color:var(--primary)}
.trust-list{list-style:none;display:flex;flex-direction:column;gap:var(--sp-sm);padding-top:var(--sp-sm)}
.pill{display:flex;align-items:center;gap:.5rem;padding:.55rem .85rem;border-radius:var(--r-s);font:600 12px/16px var(--f-body);letter-spacing:.04em}
.pill--green{background:var(--green-bg);box-shadow:inset 0 0 0 1px var(--green-bd);color:var(--green-tx)}
.pill--white{background:#fff;box-shadow:inset 0 0 0 1px var(--line);color:var(--on-surface)}
.pill--white .ico{color:var(--primary)}

/* tabs */
.woocommerce-tabs ul.tabs{list-style:none;display:flex;gap:var(--sp-xs);border-bottom:1px solid var(--line);margin:0 0 var(--sp-lg);padding:0;overflow-x:auto}
.woocommerce-tabs ul.tabs li a{display:block;padding:.75rem 1.1rem;font:700 14px/20px var(--f-body);color:var(--on-surface-v);border-bottom:3px solid transparent;margin-bottom:-1px;white-space:nowrap}
.woocommerce-tabs ul.tabs li.active a{color:var(--primary);border-color:var(--primary)}
.woocommerce-Tabs-panel{max-width:52rem}
.woocommerce-Tabs-panel>*+*{margin-top:1em}
.woocommerce-Tabs-panel h2{font-size:22px;margin-bottom:.5rem}
table.woocommerce-product-attributes{border-collapse:collapse;width:100%}
table.woocommerce-product-attributes th,table.woocommerce-product-attributes td{border-bottom:1px solid var(--line);padding:.7rem .5rem;text-align:left;font-size:14px}
table.woocommerce-product-attributes th{width:30%;font-weight:700}
#reviews .commentlist{list-style:none;display:flex;flex-direction:column;gap:var(--sp-md)}
#reviews .commentlist li{background:#fff;padding:var(--sp-md);border-radius:var(--r);box-shadow:var(--sh-sm)}
#reviews .comment_container{display:flex;gap:var(--sp-md)}
#reviews .comment_container img.avatar{width:44px;height:44px;border-radius:50%}
#reviews .meta{font-size:12px;color:var(--tertiary);margin:.25rem 0}
.comment-form-rating select{min-width:8rem}
p.stars a{color:var(--primary);font-size:0;display:inline-block;width:1.2em;height:1.2em;position:relative}
p.stars a::before{content:"★";font-size:20px;position:absolute;left:0;top:0;color:var(--sc-highest)}
p.stars:hover a::before,p.stars.selected a::before{color:var(--primary-c)}
p.stars a:hover~a::before{color:var(--sc-highest)}
p.stars.selected a.active~a::before{color:var(--sc-highest)}

/* related / upsells */
.related.products>h2,.up-sells>h2,.cross-sells>h2{font:700 28px/36px var(--f-head);letter-spacing:-.015em;margin-bottom:var(--sp-lg)}
.related.products,.up-sells{margin-top:var(--sp-md)}

/* tables (cart, orders) */
table.shop_table{width:100%;border-collapse:collapse;background:#fff;border-radius:var(--r);overflow:hidden;box-shadow:var(--sh-sm)}
table.shop_table th,table.shop_table td{padding:.9rem 1rem;text-align:left;border-bottom:1px solid var(--line);vertical-align:middle;font-size:14px}
table.shop_table th{font:700 12px/16px var(--f-body);letter-spacing:.06em;text-transform:uppercase;color:var(--tertiary);background:var(--sc-low)}
table.shop_table .product-thumbnail img{width:4rem;border-radius:var(--r-s)}
table.shop_table .product-name a{font-weight:700}
table.shop_table a.remove{display:inline-flex;width:1.6rem;height:1.6rem;border-radius:50%;align-items:center;justify-content:center;background:var(--sc);color:var(--secondary);font-size:18px;line-height:1}
table.shop_table a.remove:hover{background:var(--secondary);color:#fff}
.woocommerce-cart-form .actions{display:flex;flex-wrap:wrap;gap:var(--sp-sm);justify-content:space-between}
.woocommerce-cart-form .coupon{display:flex;gap:var(--sp-sm);flex-wrap:wrap}
.cart-collaterals{margin-top:var(--sp-xl);display:flex;justify-content:flex-end}
.cart_totals{width:100%;max-width:28rem}
.cart_totals h2{font-size:22px;margin-bottom:var(--sp-md)}
.wc-proceed-to-checkout .checkout-button{display:flex;width:100%;font-size:16px;padding:1rem 1.5rem;margin-top:var(--sp-md)}
@media(max-width:767px){
 table.shop_table_responsive thead{display:none}
 table.shop_table_responsive tr{display:block;border-bottom:1px solid var(--line)}
 table.shop_table_responsive td{display:flex;justify-content:space-between;gap:1rem;border:0;text-align:right}
 table.shop_table_responsive td::before{content:attr(data-title);font-weight:700;text-align:left}
 table.shop_table_responsive td.product-remove::before,table.shop_table_responsive td.product-thumbnail::before{display:none}
}

/* forms: checkout / account */
.woocommerce form .form-row{margin:0 0 var(--sp-md)}
.woocommerce form .form-row label{display:block;font:700 12px/16px var(--f-body);letter-spacing:.04em;margin-bottom:.35rem}
.woocommerce form .form-row .required{color:var(--secondary);text-decoration:none}
.woocommerce form .form-row input.input-text,.woocommerce form .form-row select,.woocommerce form .form-row textarea{width:100%}
.woocommerce form .form-row-first,.woocommerce form .form-row-last{width:100%}
@media(min-width:640px){.woocommerce form .form-row-first,.woocommerce form .form-row-last{width:calc(50% - .5rem);float:left}.woocommerce form .form-row-last{float:right}.woocommerce form .form-row-wide,.woocommerce form .clear{clear:both}}
.woocommerce-checkout #customer_details h3,.woocommerce-checkout #order_review_heading{font:700 22px/30px var(--f-head);margin-bottom:var(--sp-md)}
.woocommerce-checkout form.checkout{display:grid;grid-template-columns:1fr;gap:var(--sp-xl)}
@media(min-width:960px){.woocommerce-checkout form.checkout{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);align-items:start}.woocommerce-checkout #order_review_heading{grid-column:2}.woocommerce-checkout #order_review{grid-column:2}.woocommerce-checkout #customer_details{grid-row:1 / span 3}}
.woocommerce-checkout #order_review{background:#fff;padding:var(--sp-lg);border-radius:var(--r);box-shadow:var(--sh-md)}
#payment{background:var(--sc-low);border-radius:var(--r);padding:var(--sp-md)}
#payment ul.payment_methods{list-style:none;display:flex;flex-direction:column;gap:var(--sp-sm);margin-bottom:var(--sp-md)}
#payment .payment_box{background:#fff;padding:var(--sp-md);border-radius:var(--r-s);margin-top:.5rem;font-size:13px}
#place_order{width:100%;font-size:16px;padding:1rem 1.5rem}
.woocommerce-privacy-policy-text{font-size:12px;color:var(--tertiary);margin-bottom:var(--sp-md)}
.woocommerce-MyAccount-navigation ul{list-style:none;display:flex;flex-wrap:wrap;gap:var(--sp-xs);margin-bottom:var(--sp-lg)}
.woocommerce-MyAccount-navigation a{display:block;padding:.55rem 1rem;border-radius:var(--r);background:#fff;font:700 13px/20px var(--f-body);box-shadow:inset 0 0 0 1px var(--line)}
.woocommerce-MyAccount-navigation .is-active a{background:var(--inverse);color:#fff;box-shadow:none}
@media(min-width:900px){.woocommerce-account .woocommerce{display:grid;grid-template-columns:14rem 1fr;gap:var(--sp-xl);align-items:start}.woocommerce-MyAccount-navigation ul{flex-direction:column}}
.woocommerce-form-login,.woocommerce-form-register,.woocommerce form.checkout_coupon{background:#fff;padding:var(--sp-lg);border-radius:var(--r);box-shadow:var(--sh-sm);margin-bottom:var(--sp-lg)}
.u-columns{display:grid;gap:var(--sp-xl);grid-template-columns:1fr}
@media(min-width:768px){.u-columns{grid-template-columns:1fr 1fr}}

/* Woo Blocks (Cart / Checkout) */
.wc-block-components-button:not(.is-link){background:var(--primary)!important;color:#fff!important;border-radius:var(--r)!important;font-weight:700}
.wc-block-components-button:not(.is-link):hover{background:var(--primary-c)!important}
.wc-block-components-text-input input,.wc-block-components-select-input select{border-radius:var(--r-s)}
.wp-block-woocommerce-cart,.wp-block-woocommerce-checkout{font-family:var(--f-body)}
.wc-block-components-product-price,.wc-block-formatted-money-amount{font-feature-settings:"tnum"}

/* mini details */
.woocommerce-store-notice{position:fixed;left:0;right:0;bottom:0;z-index:60;background:var(--inverse);color:var(--inverse-on);padding:.75rem 1rem;text-align:center;font-size:13px}
.woocommerce-store-notice a{color:var(--primary-fixed);margin-left:.5rem}
.blockUI.blockOverlay{opacity:.5!important}
