/*
Theme Name: Tür-Profi Sicherheitstechnik
Theme URI: https://tuerprofi-delbrueck.de/
Author: Tür-Profi Sicherheitstechnik
Description: Maßgeschneidertes WooCommerce-Theme für Tür-Profi Sicherheitstechnik in Delbrück. Überarbeitete Shop- und Warenkorboptik mit hoher Lesbarkeit.
Version: 1.1.5
Requires at least: 6.5
Requires PHP: 8.1
Text Domain: tuerprofi
*/
:root{
  --tp-yellow:#f7b900;
  --tp-yellow-hover:#ffc928;
  --tp-charcoal:#181d22;
  --tp-charcoal-2:#232930;
  --tp-nav:#3f454c;
  --tp-bg:#2f353c;
  --tp-bg-soft:#6d747d;
  --tp-panel:#252b31;
  --tp-panel-2:#343b43;
  --tp-white:#fff;
  --tp-paper:#f7f7f6;
  --tp-paper-2:#eceeed;
  --tp-ink:#161a1e;
  --tp-text:#f5f6f7;
  --tp-muted:#c2c8ce;
  --tp-border:#4c545d;
  --tp-light-border:#d7dade;
  --radius:12px;
  --shadow:0 18px 45px rgba(0,0,0,.17)
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;background:var(--tp-bg);color:var(--tp-text);line-height:1.58;-webkit-font-smoothing:antialiased}a{color:var(--tp-yellow);text-decoration:none}a:hover{text-decoration:none;color:var(--tp-yellow-hover)}img{max-width:100%;height:auto}.wrap{width:min(1440px,calc(100% - 64px));margin-inline:auto}.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* Header */
.site-header{position:sticky;top:0;z-index:100;background:var(--tp-charcoal);box-shadow:0 3px 18px rgba(0,0,0,.2)}
.tp-header-main{background:linear-gradient(135deg,#151a1f,#20262c)}
.tp-header-grid{min-height:98px;display:grid;grid-template-columns:auto minmax(260px,470px) 1fr;gap:34px;align-items:center}
.brand{display:flex;align-items:center;gap:14px;color:#fff!important;font-weight:900;font-size:1.55rem;letter-spacing:.02em;white-space:nowrap}.brand img{width:64px;height:64px;object-fit:contain;border-radius:50%}.brand span small{display:block;color:#d7dde2;font-size:.74rem;font-weight:650;letter-spacing:.03em}
.tp-product-search{position:relative}.tp-product-search input{width:100%;height:48px;border:1px solid #69717a;border-radius:7px;background:#171c21;color:#fff;padding:0 52px 0 18px;font-size:1rem}.tp-product-search input::placeholder{color:#f0f2f4}.tp-product-search button{position:absolute;right:4px;top:4px;width:42px;height:40px;background:transparent;color:#fff!important;border:0;border-radius:7px;font-size:1.65rem;min-height:0;padding:0}
.tp-header-actions{display:flex;align-items:center;justify-content:flex-end;gap:24px}.tp-header-actions a{color:#fff!important}.tp-contact-action,.tp-icon-action{display:flex;align-items:center;gap:10px}.tp-contact-action strong,.tp-icon-action strong{display:block;font-size:.96rem;white-space:nowrap}.tp-contact-action small{display:block;color:#d5d9dd;font-size:.78rem}.tp-action-icon{font-size:1.55rem;color:var(--tp-yellow);line-height:1}.tp-cart-action{position:relative}.tp-cart-count{position:absolute;top:-12px;left:18px;display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 5px;border-radius:999px;background:var(--tp-yellow);color:#111;font-weight:900;font-size:.72rem}
.tp-header-nav{background:linear-gradient(90deg,#393f46,#4b5158);border-top:1px solid #525961}.main-nav{display:flex;align-items:center;gap:0;min-height:54px}.main-nav a{color:#fff!important;font-weight:700;font-size:.92rem;padding:16px 24px;white-space:nowrap}.main-nav a:hover{background:rgba(255,255,255,.06)}.main-nav .shop-link{margin-left:auto;background:var(--tp-yellow);color:#111!important;padding:16px 34px}.main-nav .shop-link:hover{background:var(--tp-yellow-hover)}.menu-toggle{display:none;border:1px solid #5d6670;background:#22282e;color:#fff;border-radius:8px;padding:10px 13px;font-weight:800}

/* Main site */
.hero{padding:74px 0 50px;background:radial-gradient(circle at 85% 20%,rgba(247,185,0,.17),transparent 35%),linear-gradient(135deg,#20262c,#2d343b)}.eyebrow{color:var(--tp-yellow);font-weight:850;text-transform:uppercase;letter-spacing:.12em;font-size:.78rem}.hero-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:48px;align-items:center}.hero h1{font-size:clamp(2.2rem,5vw,4.5rem);line-height:1.02;margin:.25em 0}.hero p{font-size:1.16rem;color:var(--tp-muted);max-width:760px}.hero-card{background:linear-gradient(160deg,#353d45,#20262c);border:1px solid #525b64;padding:26px;border-radius:18px;box-shadow:var(--shadow)}.hero-card img{display:block;width:170px;margin:auto}.chips{display:flex;gap:10px;flex-wrap:wrap;margin:22px 0}.chip{border:1px solid #59626b;background:#242a30;color:#eef1f3;padding:8px 12px;border-radius:999px;font-size:.9rem}.buttons{display:flex;gap:12px;flex-wrap:wrap}.btn,.button,button,input[type=submit],.wp-element-button{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:10px 17px;border-radius:8px;border:1px solid transparent;font-weight:800;cursor:pointer;background:var(--tp-yellow);color:#111!important;text-decoration:none!important}.btn:hover,.button:hover,button:hover,input[type=submit]:hover,.wp-element-button:hover{background:var(--tp-yellow-hover)}.btn.secondary{background:#343a41;border-color:#656d75;color:#fff!important}.section{padding:64px 0}.section.alt{background:#282e34}.section h2{font-size:clamp(1.7rem,3.5vw,2.8rem);line-height:1.15;margin:.2em 0 .5em}.lead{font-size:1.08rem;color:var(--tp-muted);max-width:850px}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:28px}.card{background:#30373e;border:1px solid #4f5860;border-radius:var(--radius);padding:24px;box-shadow:0 5px 25px rgba(0,0,0,.12)}.card h3{margin-top:0;font-size:1.25rem}.card p{color:#e1e5e8}.card .arrow{font-weight:800}.feature-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:center}.media-card{background:#353c43;padding:10px;border:1px solid #525b63;border-radius:16px}.media-card img{width:100%;display:block;border-radius:10px}.trust{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:30px}.trust div{background:#323940;border:1px solid #535b63;padding:16px;border-radius:10px;text-align:center}.trust strong{display:block;color:var(--tp-yellow);font-size:1.05rem}.breadcrumbs{padding:18px 0;color:#d4d8db;font-size:.88rem}.content{max-width:920px}.content h1{font-size:clamp(2.1rem,4vw,3.6rem);line-height:1.08}.content h2{margin-top:1.5em}.service-hero{padding:34px 0 48px}.service-body{padding-bottom:70px}.notice{padding:16px 18px;border-left:4px solid var(--tp-yellow);background:#333a41;border-radius:8px;color:#eef1f3}.contact-box{display:grid;grid-template-columns:1fr 1fr;gap:24px;background:#30373e;border:1px solid #505860;border-radius:14px;padding:26px}.hours{margin:0;padding:0;list-style:none}.hours li{display:flex;justify-content:space-between;border-bottom:1px solid #505860;padding:8px 0}

/* Forms */
.tp-form label{display:block;font-weight:700;margin-top:13px}.tp-form input,.tp-form textarea,.tp-form select,.woocommerce input.input-text,.woocommerce textarea,.woocommerce select{width:100%;background:#fff;color:#15191d;border:1px solid #cfd3d7;border-radius:7px;padding:12px}.tp-form textarea{min-height:150px}.tp-form .hp{position:absolute!important;left:-10000px!important}.tp-message{padding:14px;border-radius:8px;margin-bottom:15px}.tp-message.ok{background:#1f4a29}.tp-message.err{background:#5b2929}

/* WooCommerce global canvas */
body.woocommerce-page,body.woocommerce{background:linear-gradient(135deg,#666e77 0%,#9ba1a8 52%,#737b84 100%);color:#111}
body.woocommerce-page main,body.woocommerce main{min-height:56vh}.woocommerce .woocommerce-breadcrumb{color:#eef1f3;margin:0 0 26px}.woocommerce .woocommerce-breadcrumb a{color:#fff}.woocommerce h1,.woocommerce h2,.woocommerce h3,.woocommerce h4{color:#15191d}.woocommerce-page .wrap>h1,.woocommerce-page .wrap>.woocommerce-products-header h1{color:#fff}.woocommerce ul.products{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.woocommerce ul.products::before,.woocommerce ul.products::after{display:none}.woocommerce ul.products li.product{width:auto!important;float:none!important;margin:0!important;background:#f8f8f7;border:1px solid #d4d7da;border-radius:10px;padding:16px;box-shadow:0 8px 25px rgba(0,0,0,.1);color:#15191d}.woocommerce ul.products li.product img{border-radius:8px}.woocommerce ul.products li.product .woocommerce-loop-product__title{color:#15191d;font-weight:800}.woocommerce ul.products li.product .price,.woocommerce div.product p.price,.woocommerce div.product span.price{color:#d89f00!important;font-weight:900}.woocommerce div.product{padding:24px 0}.woocommerce div.product .product_title{font-size:clamp(2rem,4vw,3.2rem)}.woocommerce div.product div.images,.woocommerce div.product div.summary{background:#f7f7f6;border:1px solid #d7dade;border-radius:12px;padding:22px;color:#15191d}.woocommerce div.product div.images img{border-radius:9px}.woocommerce div.product .summary .woocommerce-product-details__short-description{color:#333a40}.woocommerce div.product form.cart .variations label,.woocommerce div.product form.cart label{color:#15191d}.woocommerce div.product .woocommerce-tabs,.woocommerce div.product .related.products{margin-top:40px}.woocommerce div.product .woocommerce-tabs{background:#f7f7f6;border-radius:12px;padding:22px;color:#15191d}.woocommerce div.product .woocommerce-tabs ul.tabs::before{border-bottom-color:#d5d8db}.woocommerce div.product .woocommerce-tabs ul.tabs li{background:#e9ebed;border-color:#d5d8db}.woocommerce div.product .woocommerce-tabs ul.tabs li.active{background:#fff}.woocommerce div.product .woocommerce-tabs ul.tabs li a{color:#161a1e}.woocommerce div.product .related.products h2{color:#fff}.woocommerce-message,.woocommerce-info{background:#f8f8f7;color:#15191d;border-top-color:var(--tp-yellow);border-radius:8px}.woocommerce-error{background:#fff;color:#6b1f1f;border-top-color:#b32d2e}.tp-montage-box{margin:18px 0;padding:16px;background:#f1f2f2;border:1px solid #d6d9db;border-radius:8px;color:#161a1e}.tp-montage-box label{font-weight:800}.tp-montage-note{font-size:.9rem;color:#4b535a}

/* Classic cart */
.woocommerce-cart .woocommerce{display:grid;grid-template-columns:minmax(0,2.15fr) minmax(310px,.9fr);gap:20px;align-items:start}.woocommerce-cart .woocommerce> .woocommerce-notices-wrapper,.woocommerce-cart .woocommerce> .woocommerce-message,.woocommerce-cart .woocommerce> .woocommerce-info{grid-column:1/-1}.woocommerce-cart .woocommerce-cart-form{grid-column:1;background:#f8f8f7;border:1px solid #d3d6d9;border-radius:10px;padding:0;overflow:hidden;box-shadow:var(--shadow)}.woocommerce-cart .cart-collaterals{grid-column:2;grid-row:2}.woocommerce-cart .cart-collaterals .cart_totals{width:100%;float:none;background:linear-gradient(145deg,#333a42,#3f464e);border:1px solid #555e67;border-radius:10px;padding:22px;color:#fff;box-shadow:var(--shadow)}.woocommerce-cart .cart-collaterals .cart_totals h2{color:#fff;margin-top:0;font-size:1.55rem;border-bottom:1px solid #5c646c;padding-bottom:16px}.woocommerce-cart .cart-collaterals .cart_totals table{border-collapse:collapse}.woocommerce-cart .cart-collaterals .cart_totals table th,.woocommerce-cart .cart-collaterals .cart_totals table td{color:#fff;border-top:1px solid #59616a;padding:14px 0}.woocommerce-cart .cart-collaterals .cart_totals .order-total th,.woocommerce-cart .cart-collaterals .cart_totals .order-total td{font-size:1.22rem}.woocommerce-cart .wc-proceed-to-checkout a.checkout-button{background:var(--tp-yellow)!important;color:#111!important;border-radius:7px;padding:16px 18px;font-size:1.08rem}.woocommerce-cart table.shop_table{margin:0;border:0;border-radius:0;background:#fff;color:#15191d}.woocommerce-cart table.shop_table thead{background:#e7e9eb}.woocommerce-cart table.shop_table th{color:#20252a;border:0;padding:13px 16px}.woocommerce-cart table.shop_table td{border-top:1px solid #dde0e2;padding:18px 16px;vertical-align:middle}.woocommerce-cart table.shop_table .product-thumbnail img{width:106px;border-radius:7px;background:#fff}.woocommerce-cart table.shop_table .product-name a{color:#161a1e;font-weight:800}.woocommerce-cart table.shop_table .variation{font-size:.88rem;color:#4b5359}.woocommerce-cart table.shop_table .variation dt{font-weight:500}.woocommerce-cart table.shop_table .product-price,.woocommerce-cart table.shop_table .product-subtotal{font-weight:800;white-space:nowrap}.woocommerce-cart table.shop_table .product-remove a.remove{display:inline-flex!important;align-items:center;justify-content:center;width:36px;height:36px;min-width:36px;border:1px solid #c9cdd1;border-radius:7px;background:#fff;color:#1c2125!important;font-size:1.65rem;line-height:1;opacity:1!important}.woocommerce-cart table.shop_table .product-remove a.remove:hover{background:#f5e4e4;color:#a11e1e!important;border-color:#d6a5a5}.woocommerce-cart .actions{background:#f4f5f5}.woocommerce-cart .coupon input.input-text{background:#fff!important;color:#111!important;min-width:220px}.woocommerce-cart .button{border-radius:7px}.woocommerce-cart .cart-empty,.woocommerce-cart .return-to-shop{grid-column:1/-1}

/* Quantity controls */
.tp-quantity{display:inline-flex!important;align-items:stretch;width:auto!important;max-width:none!important}.tp-quantity input.qty{width:58px!important;min-width:58px!important;height:42px!important;margin:0!important;padding:0 5px!important;border-radius:0!important;border-left:0!important;border-right:0!important;text-align:center;background:#fff!important;color:#15191d!important;-moz-appearance:textfield}.tp-quantity input.qty::-webkit-outer-spin-button,.tp-quantity input.qty::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.tp-qty-btn{width:38px!important;height:42px!important;min-height:42px!important;padding:0!important;border:1px solid #c8cdd1!important;border-radius:0!important;background:#fff!important;color:#15191d!important;font-size:1.35rem!important;font-weight:500!important}.tp-qty-minus{border-radius:7px 0 0 7px!important}.tp-qty-plus{border-radius:0 7px 7px 0!important}.tp-qty-btn:hover{background:#edf0f2!important}

/* WooCommerce Blocks cart */
.woocommerce-cart .wc-block-cart{color:#15191d}.woocommerce-cart .wc-block-cart-items{background:#f8f8f7;border:1px solid #d3d6d9;border-radius:10px;overflow:hidden}.woocommerce-cart .wc-block-cart-items__header{background:#e7e9eb}.woocommerce-cart .wc-block-cart-items__row{border-bottom:1px solid #d9dde0}.woocommerce-cart .wc-block-cart-item__product a{color:#15191d;font-weight:800}.woocommerce-cart .wc-block-cart-item__remove-link{color:#7b1f1f!important;text-decoration:underline}.woocommerce-cart .wc-block-cart__sidebar{background:linear-gradient(145deg,#333a42,#3f464e);color:#fff;border-radius:10px;padding:22px;align-self:start}.woocommerce-cart .wc-block-components-totals-wrapper,.woocommerce-cart .wc-block-components-totals-item{border-color:#59616a}.woocommerce-cart .wc-block-cart__sidebar *{color:inherit}.woocommerce-cart .wc-block-components-button{background:var(--tp-yellow);color:#111!important;border-radius:7px}

/* Checkout */
.woocommerce-checkout .woocommerce{color:#15191d}.woocommerce-checkout form.checkout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(320px,.8fr);gap:20px;align-items:start}.woocommerce-checkout #customer_details{background:#f8f8f7;border:1px solid #d3d6d9;border-radius:10px;padding:22px}.woocommerce-checkout #order_review_heading{grid-column:2;margin:0;background:#343b43;color:#fff;padding:20px 22px 0;border-radius:10px 10px 0 0}.woocommerce-checkout #order_review{grid-column:2;background:#343b43;border:1px solid #555e67;border-top:0;border-radius:0 0 10px 10px;padding:18px 22px;color:#fff}.woocommerce-checkout #order_review table,.woocommerce-checkout #order_review th,.woocommerce-checkout #order_review td{color:#fff;border-color:#59616a}.woocommerce-checkout #payment{background:#2d333a;color:#fff}.woocommerce-checkout #payment div.payment_box{background:#454d55;color:#fff}.woocommerce-checkout #payment div.payment_box::before{border-bottom-color:#454d55}.woocommerce-checkout #place_order{width:100%;background:var(--tp-yellow);color:#111!important;font-size:1.05rem;border-radius:7px}.woocommerce-checkout .woocommerce-billing-fields h3,.woocommerce-checkout .woocommerce-shipping-fields h3{color:#15191d}

/* Account */
.woocommerce-account .woocommerce{background:#f8f8f7;border-radius:10px;padding:22px;color:#15191d}.woocommerce-account .woocommerce-MyAccount-navigation a{color:#15191d}.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a{color:#b88300;font-weight:800}

/* Trust strip + footer */
.tp-commerce-trust{background:#f7f6f2;border-top:1px solid #d8d8d5;color:#20252a;padding:24px 0}.tp-commerce-trust-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0}.tp-commerce-trust-grid>div{display:flex;align-items:center;gap:15px;padding:8px 28px;border-right:1px solid #ddd}.tp-commerce-trust-grid>div:last-child{border-right:0}.tp-commerce-trust p{margin:0}.tp-commerce-trust strong{display:block;font-size:.95rem}.tp-commerce-trust small{display:block;color:#555e65;font-size:.84rem}.tp-trust-icon{font-size:1.65rem;color:#b68500}
.site-footer{border-top:1px solid #454c53;background:#15191f;padding:42px 0 90px;color:#c5cbd0}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:28px}.footer-logo{display:flex;gap:14px;align-items:center;color:white;font-weight:800}.footer-logo img{width:55px}.site-footer a{color:#e4c158}.mobile-bar{display:none}

@media(max-width:1180px){.wrap{width:min(100% - 36px,1440px)}.tp-header-grid{grid-template-columns:auto 1fr auto;gap:20px}.tp-product-search{grid-column:1/-1;grid-row:2;margin-bottom:16px}.tp-header-main{padding-top:8px}.main-nav a{padding-inline:13px}.tp-contact-action small{display:none}}
@media(max-width:900px){.tp-header-grid{display:flex;min-height:74px}.brand{font-size:1.18rem}.brand img{width:48px;height:48px}.tp-product-search,.tp-header-actions{display:none}.menu-toggle{display:block;margin-left:auto}.tp-header-nav{background:#30363c}.main-nav{display:none}.site-header.open .main-nav{display:flex;position:absolute;left:0;right:0;top:74px;flex-direction:column;align-items:stretch;background:#252b31;border-bottom:1px solid #4a525a;padding:12px 18px;min-height:0}.site-header.open .main-nav a{padding:12px 8px}.site-header.open .main-nav .shop-link{margin-left:0;text-align:center;border-radius:6px}.hero-grid,.feature-grid,.contact-box,.footer-grid{grid-template-columns:1fr}.grid{grid-template-columns:1fr 1fr}.trust{grid-template-columns:1fr 1fr}.hero{padding-top:48px}.woocommerce ul.products{grid-template-columns:repeat(2,minmax(0,1fr))!important}.woocommerce-cart .woocommerce,.woocommerce-checkout form.checkout{display:block}.woocommerce-cart .cart-collaterals{margin-top:20px}.woocommerce-checkout #order_review_heading{margin-top:20px}.tp-commerce-trust-grid{grid-template-columns:1fr 1fr}.tp-commerce-trust-grid>div:nth-child(2){border-right:0}.tp-commerce-trust-grid>div{border-bottom:1px solid #ddd}.mobile-bar{position:fixed;bottom:0;left:0;right:0;z-index:110;background:#1c2227;border-top:1px solid #4a525a;display:grid;grid-template-columns:repeat(3,1fr);padding:8px}.mobile-bar a{color:#fff;text-align:center;font-weight:750;font-size:.82rem;padding:8px 4px}.mobile-bar strong{display:block;color:var(--tp-yellow)}}
@media(max-width:600px){.wrap{width:min(100% - 22px,1440px)}.grid{grid-template-columns:1fr}.trust{grid-template-columns:1fr 1fr}.woocommerce ul.products{grid-template-columns:1fr!important}.hero h1{font-size:2.5rem}.section{padding:46px 0}.site-footer{padding-bottom:100px}.brand span small{font-size:.62rem}.woocommerce-cart table.shop_table_responsive tr td.product-thumbnail{display:block;text-align:left!important}.woocommerce-cart table.shop_table_responsive tr td.product-thumbnail::before{display:none}.woocommerce-cart table.shop_table_responsive tr td{background:#fff}.woocommerce-cart table.shop_table_responsive tr{border-bottom:8px solid #e3e5e6}.woocommerce-cart table.shop_table .product-thumbnail img{width:84px}.tp-commerce-trust-grid{grid-template-columns:1fr}.tp-commerce-trust-grid>div{border-right:0}.woocommerce div.product div.images,.woocommerce div.product div.summary{padding:14px}}

/* v1.1.1 – Cart spacing/readability refinements */
@media (min-width: 901px){
  .woocommerce-cart .wrap{width:min(1500px,calc(100% - 44px));}
  .woocommerce-cart .woocommerce{
    grid-template-columns:minmax(680px,1fr) 340px;
    column-gap:38px;
    row-gap:24px;
  }
  .woocommerce-cart .cart-collaterals{min-width:0;}
}

.woocommerce-cart .woocommerce-cart-form{
  background:#fff;
  border-radius:12px;
}
.woocommerce-cart table.shop_table{
  width:100%!important;
  table-layout:auto!important;
  background:#fff!important;
}
.woocommerce-cart table.shop_table thead tr,
.woocommerce-cart table.shop_table tbody tr,
.woocommerce-cart table.shop_table tbody td{
  background:#fff!important;
}
.woocommerce-cart table.shop_table thead th{
  background:#e9ecef!important;
  color:#1b2025!important;
  font-size:.79rem;
  text-transform:uppercase;
  letter-spacing:.02em;
  padding:14px 12px!important;
}
.woocommerce-cart table.shop_table td{
  padding:22px 12px!important;
}
.woocommerce-cart table.shop_table tbody tr:not(:last-child) td{
  border-bottom:1px solid #d9dde1!important;
}

/* Give every cart function its own predictable column. */
.woocommerce-cart table.shop_table th.product-remove,
.woocommerce-cart table.shop_table td.product-remove{width:52px!important;min-width:52px!important;text-align:center!important;}
.woocommerce-cart table.shop_table th.product-thumbnail,
.woocommerce-cart table.shop_table td.product-thumbnail{width:92px!important;min-width:92px!important;}
.woocommerce-cart table.shop_table th.product-name,
.woocommerce-cart table.shop_table td.product-name{width:auto!important;min-width:250px!important;}
.woocommerce-cart table.shop_table th.product-price,
.woocommerce-cart table.shop_table td.product-price{width:105px!important;min-width:105px!important;text-align:right!important;}
.woocommerce-cart table.shop_table th.product-quantity,
.woocommerce-cart table.shop_table td.product-quantity{width:150px!important;min-width:150px!important;text-align:center!important;}
.woocommerce-cart table.shop_table th.product-subtotal,
.woocommerce-cart table.shop_table td.product-subtotal{width:112px!important;min-width:112px!important;text-align:right!important;}

.woocommerce-cart table.shop_table .product-thumbnail img{
  width:78px!important;
  height:78px!important;
  object-fit:contain;
  border:1px solid #e1e4e7;
  padding:4px;
}
.woocommerce-cart table.shop_table .product-name{
  line-height:1.45;
}
.woocommerce-cart table.shop_table .product-name a{
  display:block;
  margin-bottom:5px;
  font-size:.96rem;
  line-height:1.4;
}
.woocommerce-cart table.shop_table .product-name,
.woocommerce-cart table.shop_table .product-name p,
.woocommerce-cart table.shop_table .product-name small,
.woocommerce-cart table.shop_table .product-name .variation,
.woocommerce-cart table.shop_table .product-name .variation dt,
.woocommerce-cart table.shop_table .product-name .variation dd,
.woocommerce-cart table.shop_table .product-name .delivery-time-info,
.woocommerce-cart table.shop_table .product-name .wc-gzd-cart-info{
  color:#444b52!important;
}
.woocommerce-cart table.shop_table .product-name .variation{
  margin-top:5px!important;
}

/* Quantity controls: one clean, non-wrapping control. */
.woocommerce-cart td.product-quantity .quantity,
.woocommerce-cart td.product-quantity .tp-quantity{
  display:inline-flex!important;
  flex-wrap:nowrap!important;
  align-items:center!important;
  justify-content:center!important;
  width:134px!important;
  min-width:134px!important;
  max-width:134px!important;
  margin:0 auto!important;
  padding:0!important;
  gap:0!important;
  overflow:visible!important;
}
.woocommerce-cart td.product-quantity .tp-quantity input.qty{
  flex:0 0 56px!important;
  width:56px!important;
  min-width:56px!important;
  max-width:56px!important;
  height:42px!important;
  border:1px solid #c9ced3!important;
  border-left:0!important;
  border-right:0!important;
  background:#fff!important;
  color:#15191d!important;
  padding:0!important;
  text-align:center!important;
  box-shadow:none!important;
}
.woocommerce-cart td.product-quantity .tp-qty-btn{
  flex:0 0 39px!important;
  width:39px!important;
  min-width:39px!important;
  max-width:39px!important;
  height:42px!important;
  margin:0!important;
  padding:0!important;
  line-height:40px!important;
  white-space:nowrap!important;
  box-shadow:none!important;
}
.woocommerce-cart table.shop_table .product-remove a.remove{
  margin:0 auto!important;
  font-size:0!important;
  border-color:#d8b5b5!important;
  color:#8f1f24!important;
}
.woocommerce-cart table.shop_table .product-remove a.remove::before{
  content:"×";
  font-size:1.55rem;
  line-height:1;
}

.woocommerce-cart .cart-collaterals .cart_totals{
  position:sticky;
  top:176px;
  padding:24px!important;
  border-radius:12px!important;
}
.woocommerce-cart .cart-collaterals .cart_totals table th{
  width:62%;
  padding-right:15px!important;
}
.woocommerce-cart .cart-collaterals .cart_totals table td{
  width:38%;
  text-align:right!important;
}
.woocommerce-cart .cart-collaterals .cart_totals .woocommerce-shipping-methods,
.woocommerce-cart .cart-collaterals .cart_totals .woocommerce-shipping-destination{
  font-size:.84rem;
}

/* The cart should become stacked before the table gets cramped. */
@media (max-width: 1120px) and (min-width: 901px){
  .woocommerce-cart .woocommerce{
    grid-template-columns:1fr;
  }
  .woocommerce-cart .woocommerce-cart-form,
  .woocommerce-cart .cart-collaterals{
    grid-column:1;
  }
  .woocommerce-cart .cart-collaterals{
    grid-row:auto;
    margin-top:4px;
  }
  .woocommerce-cart .cart-collaterals .cart_totals{
    position:static;
    max-width:620px;
    margin-left:auto;
  }
}

@media (max-width: 760px){
  .woocommerce-cart table.shop_table_responsive thead{display:none!important;}
  .woocommerce-cart table.shop_table_responsive tbody tr{
    display:grid!important;
    grid-template-columns:82px minmax(0,1fr) auto;
    gap:8px 14px;
    padding:16px!important;
    background:#fff!important;
    border-bottom:8px solid #e3e6e8!important;
  }
  .woocommerce-cart table.shop_table_responsive tbody tr td{
    display:block!important;
    width:auto!important;
    min-width:0!important;
    padding:0!important;
    border:0!important;
    text-align:left!important;
  }
  .woocommerce-cart table.shop_table_responsive tbody tr td::before{display:none!important;}
  .woocommerce-cart table.shop_table_responsive td.product-thumbnail{grid-column:1;grid-row:1 / span 3;}
  .woocommerce-cart table.shop_table_responsive td.product-name{grid-column:2 / 4;grid-row:1;}
  .woocommerce-cart table.shop_table_responsive td.product-price{grid-column:2;grid-row:2;font-weight:800;}
  .woocommerce-cart table.shop_table_responsive td.product-quantity{grid-column:2;grid-row:3;text-align:left!important;}
  .woocommerce-cart table.shop_table_responsive td.product-subtotal{grid-column:3;grid-row:2;text-align:right!important;font-size:1rem;}
  .woocommerce-cart table.shop_table_responsive td.product-remove{grid-column:3;grid-row:3;align-self:center;justify-self:end;}
  .woocommerce-cart td.product-quantity .quantity,
  .woocommerce-cart td.product-quantity .tp-quantity{margin:0!important;}
}


/* v1.1.2 – final cart redesign to match approved visual reference */
body.woocommerce-cart{
  background:#f3f4f5!important;
  color:#171b1f!important;
}
body.woocommerce-cart main{
  background:linear-gradient(180deg,#f4f5f6 0%,#eef0f2 100%)!important;
}
body.woocommerce-cart .breadcrumbs,
body.woocommerce-cart .woocommerce-breadcrumb{
  color:#48515a!important;
}
body.woocommerce-cart .breadcrumbs a,
body.woocommerce-cart .woocommerce-breadcrumb a{
  color:#20262c!important;
}
body.woocommerce-cart .wrap>h1,
body.woocommerce-cart .entry-title{
  color:#14191e!important;
  font-size:clamp(2.2rem,3vw,3rem)!important;
  margin-bottom:28px!important;
}

@media (min-width:1121px){
  .woocommerce-cart .wrap{
    width:min(1540px,calc(100% - 64px))!important;
  }
  .woocommerce-cart .woocommerce{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) 408px!important;
    gap:34px!important;
    align-items:start!important;
  }
}

.woocommerce-cart .woocommerce-cart-form{
  background:#fff!important;
  border:1px solid #d9dde1!important;
  border-radius:10px!important;
  overflow:hidden!important;
  box-shadow:0 6px 24px rgba(25,31,36,.06)!important;
}
.woocommerce-cart table.shop_table{
  background:#fff!important;
  color:#171b1f!important;
  border:0!important;
}
.woocommerce-cart table.shop_table thead th{
  background:#f5f6f7!important;
  color:#15191d!important;
  font-size:.78rem!important;
  font-weight:800!important;
  padding:14px 16px!important;
  border-bottom:1px solid #d9dde1!important;
}
.woocommerce-cart table.shop_table td{
  background:#fff!important;
  color:#171b1f!important;
  padding:18px 16px!important;
  border-top:0!important;
  border-bottom:1px solid #e1e4e7!important;
  vertical-align:middle!important;
}
.woocommerce-cart table.shop_table tbody tr:last-child td{
  border-bottom:0!important;
}

/* Spacious product image column */
.woocommerce-cart table.shop_table th.product-thumbnail,
.woocommerce-cart table.shop_table td.product-thumbnail{
  width:130px!important;
  min-width:130px!important;
  padding-left:20px!important;
  padding-right:16px!important;
}
.woocommerce-cart table.shop_table .product-thumbnail img{
  display:block!important;
  width:104px!important;
  height:82px!important;
  object-fit:contain!important;
  background:#fff!important;
  border:1px solid #e1e4e7!important;
  border-radius:6px!important;
  padding:5px!important;
  margin:0!important;
}
.woocommerce-cart table.shop_table th.product-name,
.woocommerce-cart table.shop_table td.product-name{
  min-width:330px!important;
  padding-left:8px!important;
  padding-right:24px!important;
}
.woocommerce-cart table.shop_table .product-name a{
  color:#12171b!important;
  font-weight:800!important;
  font-size:.98rem!important;
  line-height:1.35!important;
  margin-bottom:5px!important;
}
.woocommerce-cart table.shop_table .product-name,
.woocommerce-cart table.shop_table .product-name p,
.woocommerce-cart table.shop_table .product-name small,
.woocommerce-cart table.shop_table .product-name .variation,
.woocommerce-cart table.shop_table .product-name .variation dt,
.woocommerce-cart table.shop_table .product-name .variation dd{
  color:#303840!important;
}

/* Germanized delivery time: deliberate, readable accent */
.woocommerce-cart table.shop_table .delivery-time-info,
.woocommerce-cart table.shop_table .wc-gzd-cart-info,
.woocommerce-cart table.shop_table .product-name .delivery-time-info,
.woocommerce-cart table.shop_table .product-name .wc-gzd-cart-info{
  color:#d71920!important;
  font-weight:700!important;
  opacity:1!important;
}
.woocommerce-cart table.shop_table .delivery-time-info *,
.woocommerce-cart table.shop_table .wc-gzd-cart-info *{
  color:#d71920!important;
}

.woocommerce-cart table.shop_table th.product-price,
.woocommerce-cart table.shop_table td.product-price{
  width:108px!important;
  min-width:108px!important;
  text-align:right!important;
  font-weight:800!important;
}
.woocommerce-cart table.shop_table th.product-quantity,
.woocommerce-cart table.shop_table td.product-quantity{
  width:145px!important;
  min-width:145px!important;
  text-align:center!important;
}
.woocommerce-cart table.shop_table th.product-subtotal,
.woocommerce-cart table.shop_table td.product-subtotal{
  width:120px!important;
  min-width:120px!important;
  text-align:right!important;
  font-weight:850!important;
}
.woocommerce-cart table.shop_table th.product-remove,
.woocommerce-cart table.shop_table td.product-remove{
  width:62px!important;
  min-width:62px!important;
  text-align:center!important;
  padding-left:8px!important;
  padding-right:16px!important;
}

/* Quantity control as a single clean widget */
.woocommerce-cart td.product-quantity .quantity,
.woocommerce-cart td.product-quantity .tp-quantity{
  display:inline-flex!important;
  flex-wrap:nowrap!important;
  width:124px!important;
  min-width:124px!important;
  max-width:124px!important;
  height:40px!important;
  margin:0 auto!important;
  border:1px solid #cfd4d9!important;
  border-radius:6px!important;
  overflow:hidden!important;
  background:#fff!important;
}
.woocommerce-cart td.product-quantity .tp-quantity input.qty{
  width:48px!important;
  min-width:48px!important;
  max-width:48px!important;
  height:38px!important;
  border:0!important;
  border-left:1px solid #d7dbe0!important;
  border-right:1px solid #d7dbe0!important;
  background:#fff!important;
  color:#111!important;
  font-weight:700!important;
}
.woocommerce-cart td.product-quantity .tp-qty-btn{
  width:37px!important;
  min-width:37px!important;
  max-width:37px!important;
  height:38px!important;
  line-height:38px!important;
  border:0!important;
  border-radius:0!important;
  background:#fff!important;
  color:#111!important;
  font-size:1.25rem!important;
}
.woocommerce-cart td.product-quantity .tp-qty-btn:hover{
  background:#f0f2f4!important;
}

/* Clear delete action */
.woocommerce-cart table.shop_table .product-remove a.remove{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:34px!important;
  height:34px!important;
  border:0!important;
  border-radius:6px!important;
  background:transparent!important;
  color:#1b2025!important;
  font-size:0!important;
}
.woocommerce-cart table.shop_table .product-remove a.remove::before{
  content:"🗑"!important;
  font-size:1.05rem!important;
  line-height:1!important;
  filter:grayscale(1) contrast(1.2);
}
.woocommerce-cart table.shop_table .product-remove a.remove:hover{
  background:#f7e6e6!important;
}

/* Summary card */
.woocommerce-cart .cart-collaterals{
  min-width:0!important;
}
.woocommerce-cart .cart-collaterals .cart_totals{
  position:sticky!important;
  top:174px!important;
  width:100%!important;
  margin:0!important;
  padding:24px!important;
  background:linear-gradient(145deg,#323941,#3b434b)!important;
  border:1px solid #48525b!important;
  border-radius:10px!important;
  box-shadow:0 8px 28px rgba(20,26,31,.12)!important;
  color:#fff!important;
}
.woocommerce-cart .cart-collaterals .cart_totals h2{
  font-size:1.35rem!important;
  text-transform:uppercase!important;
  letter-spacing:.01em!important;
  padding-bottom:14px!important;
  margin-bottom:8px!important;
}
.woocommerce-cart .cart-collaterals .cart_totals table th,
.woocommerce-cart .cart-collaterals .cart_totals table td{
  color:#fff!important;
  padding:14px 0!important;
}
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button{
  width:100%!important;
  background:var(--tp-yellow)!important;
  color:#111!important;
  font-size:1.08rem!important;
  font-weight:900!important;
  border-radius:7px!important;
  padding:16px 18px!important;
}

/* "Continue shopping" button and actions */
.woocommerce-cart .actions{
  background:#fff!important;
  padding:16px!important;
}
.woocommerce-cart .return-to-shop .button,
.woocommerce-cart .continue-shopping .button{
  background:#fff!important;
  color:#171b1f!important;
  border:1px solid #cdd2d7!important;
}

/* Keep the table usable before switching to mobile cards. */
@media (max-width:1250px) and (min-width:901px){
  .woocommerce-cart .wrap{width:min(1180px,calc(100% - 36px))!important;}
  .woocommerce-cart .woocommerce{grid-template-columns:1fr!important;}
  .woocommerce-cart .woocommerce-cart-form,
  .woocommerce-cart .cart-collaterals{grid-column:1!important;}
  .woocommerce-cart .cart-collaterals{margin-top:18px!important;}
  .woocommerce-cart .cart-collaterals .cart_totals{
    position:static!important;
    max-width:560px!important;
    margin-left:auto!important;
  }
}

@media (max-width:900px){
  body.woocommerce-cart{background:#f3f4f5!important;}
  .woocommerce-cart .woocommerce-cart-form{border-radius:8px!important;}
  .woocommerce-cart .cart-collaterals .cart_totals{position:static!important;}
}


/* v1.1.3 – WooCommerce Cart: Desktop-Breite aus schmalem Seitencontainer lösen.
   Entspricht der im Frontend getesteten Customizer-Regel. */
@media (min-width:1100px){
  body.woocommerce-cart .wp-block-woocommerce-cart.alignwide{
    width:min(1400px,calc(100vw - 80px))!important;
    max-width:none!important;
    position:relative;
    left:50%;
    margin-left:-50vw!important;
    margin-right:-50vw!important;
    transform:translateX(calc(50vw - 50%));
  }
}


/* v1.1.5 – Checkout/Bestellbestätigung: ruhige, helle Erfolgsseite.
   E-Mail-Ausgaben bleiben bewusst WooCommerce/Germanized-nativ. */
body.woocommerce-order-received,
body.woocommerce-order-received main{
  background:#f3f4f5!important;
  color:#171b1f!important;
}
body.woocommerce-order-received .breadcrumbs,
body.woocommerce-order-received .woocommerce-breadcrumb{
  color:#515a63!important;
}
body.woocommerce-order-received .breadcrumbs a,
body.woocommerce-order-received .woocommerce-breadcrumb a{
  color:#20262c!important;
}
body.woocommerce-order-received .service-hero{
  padding-bottom:28px!important;
}
body.woocommerce-order-received .service-hero .content,
body.woocommerce-order-received .service-body .content{
  max-width:1180px!important;
}
body.woocommerce-order-received .service-hero h1,
body.woocommerce-order-received .entry-title{
  color:#15191d!important;
  font-size:clamp(2.25rem,4vw,3.55rem)!important;
  margin-bottom:0!important;
}
body.woocommerce-order-received .woocommerce{
  color:#171b1f!important;
}
body.woocommerce-order-received .woocommerce-order{
  display:grid;
  gap:22px;
}
body.woocommerce-order-received .woocommerce-notice--success,
body.woocommerce-order-received .woocommerce-thankyou-order-received{
  margin:0!important;
  padding:18px 20px!important;
  background:#fff!important;
  border:1px solid #d8dde1!important;
  border-left:4px solid var(--tp-yellow)!important;
  border-radius:10px!important;
  color:#171b1f!important;
  font-size:1.08rem!important;
  box-shadow:0 5px 20px rgba(25,31,36,.05)!important;
}
body.woocommerce-order-received ul.woocommerce-order-overview{
  display:grid!important;
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
  gap:0!important;
  margin:0!important;
  padding:0!important;
  background:#fff!important;
  border:1px solid #d8dde1!important;
  border-radius:10px!important;
  overflow:hidden!important;
  box-shadow:0 5px 20px rgba(25,31,36,.05)!important;
}
body.woocommerce-order-received ul.woocommerce-order-overview li{
  float:none!important;
  width:auto!important;
  margin:0!important;
  padding:18px!important;
  border-right:1px solid #e1e4e7!important;
  color:#59636c!important;
  font-size:.72rem!important;
  line-height:1.35!important;
  text-transform:uppercase!important;
  letter-spacing:.04em!important;
}
body.woocommerce-order-received ul.woocommerce-order-overview li:last-child{
  border-right:0!important;
}
body.woocommerce-order-received ul.woocommerce-order-overview li strong{
  display:block!important;
  margin-top:5px!important;
  color:#15191d!important;
  font-size:1rem!important;
  line-height:1.35!important;
  text-transform:none!important;
  letter-spacing:0!important;
}
body.woocommerce-order-received .woocommerce-bacs-bank-details,
body.woocommerce-order-received .woocommerce-order-details,
body.woocommerce-order-received .woocommerce-customer-details{
  margin:0!important;
  padding:22px 24px!important;
  background:#fff!important;
  border:1px solid #d8dde1!important;
  border-radius:10px!important;
  color:#171b1f!important;
  box-shadow:0 5px 20px rgba(25,31,36,.05)!important;
}
body.woocommerce-order-received .woocommerce-bacs-bank-details h2,
body.woocommerce-order-received .woocommerce-order-details h2,
body.woocommerce-order-received .woocommerce-customer-details h2,
body.woocommerce-order-received .woocommerce-bacs-bank-details h3{
  color:#15191d!important;
  margin-top:0!important;
}
body.woocommerce-order-received ul.wc-bacs-bank-details{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:12px!important;
  margin:14px 0 0!important;
  padding:0!important;
}
body.woocommerce-order-received ul.wc-bacs-bank-details li{
  float:none!important;
  width:auto!important;
  margin:0!important;
  padding:14px 16px!important;
  background:#f6f7f8!important;
  border:1px solid #e0e3e6!important;
  border-radius:8px!important;
  color:#56606a!important;
}
body.woocommerce-order-received ul.wc-bacs-bank-details li strong{
  display:block!important;
  margin-top:4px!important;
  color:#15191d!important;
  font-size:1rem!important;
}
body.woocommerce-order-received table.woocommerce-table--order-details{
  margin:0!important;
  border:1px solid #dfe3e6!important;
  border-radius:8px!important;
  overflow:hidden!important;
  background:#fff!important;
}
body.woocommerce-order-received table.woocommerce-table--order-details th,
body.woocommerce-order-received table.woocommerce-table--order-details td{
  color:#171b1f!important;
  background:#fff!important;
  border-color:#e1e4e7!important;
  padding:13px 14px!important;
}
body.woocommerce-order-received table.woocommerce-table--order-details thead th{
  background:#f4f5f6!important;
  font-weight:800!important;
}
body.woocommerce-order-received .woocommerce-customer-details address{
  min-height:100%!important;
  padding:16px!important;
  background:#f6f7f8!important;
  border:1px solid #e0e3e6!important;
  border-radius:8px!important;
  color:#171b1f!important;
  line-height:1.6!important;
}
body.woocommerce-order-received .woocommerce-columns--addresses{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:18px!important;
}
body.woocommerce-order-received .woocommerce-column{
  width:auto!important;
  float:none!important;
  margin:0!important;
}
body.woocommerce-order-received .woocommerce-order-details a,
body.woocommerce-order-received .woocommerce-customer-details a{
  color:#8a6700!important;
}

@media (max-width:900px){
  body.woocommerce-order-received ul.woocommerce-order-overview{
    grid-template-columns:1fr 1fr!important;
  }
  body.woocommerce-order-received ul.woocommerce-order-overview li{
    border-bottom:1px solid #e1e4e7!important;
  }
  body.woocommerce-order-received ul.wc-bacs-bank-details,
  body.woocommerce-order-received .woocommerce-columns--addresses{
    grid-template-columns:1fr!important;
  }
}
@media (max-width:560px){
  body.woocommerce-order-received ul.woocommerce-order-overview{
    grid-template-columns:1fr!important;
  }
  body.woocommerce-order-received ul.woocommerce-order-overview li{
    border-right:0!important;
  }
  body.woocommerce-order-received .woocommerce-bacs-bank-details,
  body.woocommerce-order-received .woocommerce-order-details,
  body.woocommerce-order-received .woocommerce-customer-details{
    padding:16px!important;
  }
}
