/* =========================================================================
   KuRS-Care – Shop (WooCommerce)
   Wird nur geladen, wenn WooCommerce aktiv ist.
   ========================================================================= */

/* ---------- Kopfbereich & Filter ---------- */
.kc-shop-hero{padding-bottom:clamp(32px, 4vw, 48px)}
.kc-shop-liste{padding-top:clamp(40px, 5vw, 56px)}
.chips a.chip{text-decoration:none; display:inline-flex; align-items:center}
.chip[aria-current="page"]{background:var(--plum-700); border-color:var(--plum-700); color:#fff}

/* ---------- Produktraster ---------- */
.woocommerce ul.products, .woocommerce-page ul.products{display:grid; grid-template-columns:repeat(4, minmax(0, 1fr)); gap:32px 22px; margin:0; padding:0; list-style:none}
.woocommerce ul.products::before, .woocommerce ul.products::after{display:none!important; content:none!important}
.woocommerce ul.products li.product, .woocommerce-page ul.products li.product{float:none!important; width:auto!important; margin:0!important; clear:none!important; padding:0; text-align:left; display:flex; flex-direction:column; gap:14px; min-width:0}
.woocommerce ul.products li.product .product__cover{position:relative; display:block; aspect-ratio:3/4; border-radius:var(--r-md); overflow:hidden; background:var(--paper-2); margin:0}
.woocommerce ul.products li.product .product__cover--bild img,
.kc-produkt__bild .product__cover img{position:absolute; inset:0; width:100%; height:100%; margin:0; object-fit:contain; padding:9% 10%; filter:drop-shadow(0 10px 14px rgba(36,10,29,.2)); box-shadow:none}
.woocommerce ul.products li.product .product__text a{color:inherit; text-decoration:none}
.woocommerce ul.products li.product .product__text a:hover{color:var(--plum-700)}
.woocommerce ul.products li.product h3.woocommerce-loop-product__title{font-family:var(--f-body); font-size:17.5px; font-weight:700; line-height:1.3; margin-top:4px; padding:0}
.woocommerce ul.products li.product .price{display:block; margin:0; color:var(--ink); font-family:var(--f-display); font-size:23px; font-weight:500; white-space:normal}
.woocommerce ul.products li.product .price small, .kc-produkt-seite .summary .price small{display:block; margin:2px 0 0; font-family:var(--f-body); font-size:12.5px; color:var(--ink-3); letter-spacing:0}
.woocommerce .price del{opacity:.5; font-size:.75em; margin-right:6px}
.woocommerce .price ins{text-decoration:none; font-weight:inherit; color:var(--magenta)}
.woocommerce ul.products li.product .button{margin:0}
.woocommerce ul.products li.product .added_to_cart{display:none}
.badge--sale{background:var(--magenta); color:#fff}

/* Warenkorb-Button in der Karte */
.woocommerce ul.products li.product a.button.add-btn{
  display:inline-flex; align-items:center; justify-content:center; gap:8px; width:100%; min-height:44px; padding:8px 15px; border-radius:999px;
  border:1.5px solid var(--plum-700); background:transparent; color:var(--plum-700); font:650 14px/1.2 var(--f-body); white-space:nowrap; text-align:center;
}
.woocommerce ul.products li.product a.button.add-btn:hover{background:var(--plum-700); color:#fff}
.woocommerce ul.products li.product a.button.add-btn.added{background:var(--teal); border-color:var(--teal); color:#fff}
.woocommerce ul.products li.product a.button.add-btn.loading{opacity:.6; padding-right:15px}
.woocommerce ul.products li.product a.button.add-btn::after{display:none}
.woocommerce ul.products li.product a.button.add-btn svg{width:16px; height:16px; flex:none}
.woocommerce ul.products li.product a.button.add-btn span{overflow:hidden; text-overflow:ellipsis}

@media (max-width: 1080px){ .woocommerce ul.products{grid-template-columns:repeat(3, minmax(0, 1fr))} }
@media (max-width: 760px){
  .woocommerce ul.products{grid-template-columns:repeat(2, minmax(0, 1fr)); gap:24px 14px}
  .woocommerce ul.products li.product .cover{padding:12% 10% 10%; justify-content:flex-end}
  .woocommerce ul.products li.product .cover__sub, .woocommerce ul.products li.product .cover__author, .woocommerce ul.products li.product .cover__kicker{display:none}
  .woocommerce ul.products li.product .cover__title{font-size:18px}
  .woocommerce ul.products li.product h3.woocommerce-loop-product__title{font-size:16px}
  .woocommerce ul.products li.product .price{font-size:20px}
  .woocommerce ul.products li.product a.button.add-btn{font-size:13.5px; padding:8px 10px}
}

/* ---------- Produktseite ---------- */
.kc-produkt-seite{padding-top:clamp(28px, 4vw, 48px)}
.kc-produkt-seite .crumbs{margin-bottom:28px}
.kc-produkt-seite div.product{display:grid; grid-template-columns:minmax(0, .85fr) minmax(0, 1.15fr); gap:clamp(28px, 5vw, 64px); align-items:start}
.kc-produkt-seite div.product > *{grid-column:1 / -1}
.kc-produkt-seite div.product > .kc-produkt__bild{grid-column:1; position:relative}
.kc-produkt-seite div.product > .summary{grid-column:2; float:none; width:auto; margin:0}
.kc-produkt-seite div.product div.images{float:none; width:auto; margin:0}
.kc-produkt-seite div.product div.images img{border-radius:var(--r-md)}
.kc-produkt__bild--cover{background:var(--paper-2); border-radius:var(--r-lg); padding:clamp(24px, 4vw, 44px); display:grid; place-items:center}
.kc-produkt__bild--cover .product__cover{position:relative; width:100%; max-width:340px; aspect-ratio:3/4; border-radius:var(--r-md); overflow:hidden; box-shadow:var(--shadow-2); cursor:default}
.kc-produkt__bild--cover .product__cover:hover{transform:none}
.kc-produkt__bild > .product__badges{z-index:5; top:14px; left:14px; bottom:auto}
.kc-produkt-seite .summary{display:grid; gap:14px; align-content:start}
.kc-produkt-seite .summary > *{margin:0}
.kc-produkt-seite .product_title{font-size:clamp(32px, 4vw, 44px); line-height:1.08}
.kc-produkt__sub{font-size:18px; color:var(--ink-2)}
.kc-produkt__autor{color:var(--ink-3); font-size:15.5px}
.kc-produkt__autor strong{color:var(--ink); font-weight:650}
.kc-produkt-seite .summary .price{font-family:var(--f-display); font-size:32px; color:var(--ink); margin-top:6px}
.kc-produkt-seite .woocommerce-product-details__short-description{color:var(--ink-2)}
.kc-produkt-seite form.cart{display:flex; flex-wrap:wrap; gap:12px; align-items:center; padding:18px 0; border-block:1px solid var(--line)}
.kc-produkt-seite form.cart div.quantity{float:none; margin:0}
.kc-produkt-seite form.cart .button{float:none}
.kc-produkt-seite .product_meta{font-size:14px; color:var(--ink-3); display:grid; gap:4px}
.kc-produkt-seite .product_meta a{color:var(--plum-700)}
.kc-produkt-seite .stock{font-weight:650}
.kc-produkt-seite .stock.in-stock{color:var(--teal-ink)}
.kc-produkt-seite .stock.out-of-stock{color:#B42318}

/* Reiter Beschreibung / Zusätzliche Informationen */
.woocommerce div.product .woocommerce-tabs{margin-top:clamp(24px, 4vw, 40px)}
.woocommerce div.product .woocommerce-tabs ul.tabs{display:flex; flex-wrap:wrap; gap:8px; padding:0; margin:0 0 24px; border:0; overflow:visible}
.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{margin:0; padding:0; border:1.5px solid var(--line-strong); border-radius:999px; background:var(--white)}
.woocommerce div.product .woocommerce-tabs ul.tabs li a{display:block; padding:9px 18px; color:var(--ink-2); font-weight:600; font-size:15px}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active{background:var(--plum-700); border-color:var(--plum-700)}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a{color:#fff}
.woocommerce div.product .woocommerce-tabs .panel{max-width:780px; margin:0}
.woocommerce div.product .woocommerce-tabs .panel > h2:first-child{display:none}
.woocommerce table.shop_attributes{border-top:1px solid var(--line)}
.woocommerce table.shop_attributes th, .woocommerce table.shop_attributes td{padding:10px 12px; border-bottom:1px solid var(--line); font-style:normal; background:none}
.woocommerce div.product .related, .woocommerce div.product .upsells{margin-top:clamp(40px, 6vw, 72px)}
.woocommerce div.product .related > h2, .woocommerce div.product .upsells > h2{font-size:clamp(26px, 3vw, 34px); margin-bottom:24px}

@media (max-width: 860px){
  .kc-produkt-seite div.product{grid-template-columns:1fr}
  .kc-produkt-seite div.product > .kc-produkt__bild, .kc-produkt-seite div.product > .summary{grid-column:1}
  .kc-produkt__bild--cover .product__cover{max-width:220px}
}

/* ---------- Allgemeine WooCommerce-Elemente ---------- */
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button, .woocommerce #respond input#submit,
.woocommerce a.button.alt, .woocommerce button.button.alt, .woocommerce input.button.alt{
  display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:48px; padding:12px 24px; border-radius:999px; border:1.5px solid var(--plum-700);
  background:var(--plum-700); color:#fff; font:650 15.5px/1.2 var(--f-body); text-decoration:none
}
.woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce input.button:hover,
.woocommerce a.button.alt:hover, .woocommerce button.button.alt:hover, .woocommerce input.button.alt:hover{background:var(--plum-600); border-color:var(--plum-600); color:#fff}
.woocommerce button.button:disabled, .woocommerce button.button:disabled[disabled], .woocommerce button.button.alt.disabled{background:var(--line-strong); border-color:var(--line-strong); color:#fff; opacity:1}
.woocommerce .quantity .qty{width:72px; min-height:48px; border-radius:999px; border:1.5px solid var(--line-strong); text-align:center; font:600 16px/1 var(--f-body)}

.woocommerce-message, .woocommerce-info, .woocommerce-error, .woocommerce-noreviews, p.no-comments{
  border:0; border-radius:12px; padding:14px 18px 14px 48px; background:var(--teal-soft); color:var(--teal-ink); font-size:15px; margin:0 0 24px; list-style:none
}
.woocommerce-info{background:var(--paper-2); color:var(--ink-2)}
.woocommerce-error{background:#FDECEA; color:#8A1C12}
.woocommerce-message::before, .woocommerce-info::before, .woocommerce-error::before{top:14px; left:18px; color:inherit}
.woocommerce-message .button, .woocommerce-info .button{min-height:38px; padding:8px 16px; font-size:14px; float:right}
.woocommerce-message a:not(.button), .woocommerce-info a:not(.button){color:inherit; font-weight:650}

.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea, .woocommerce form .form-row select,
.woocommerce-page form .form-row input.input-text, .woocommerce .select2-container .select2-selection--single{
  min-height:46px; padding:10px 14px; border-radius:10px; border:1.5px solid var(--line-strong); background:var(--white); font:16px/1.4 var(--f-body); color:var(--ink)
}
.woocommerce form .form-row label{font-weight:600; font-size:14.5px; color:var(--ink-2)}
.woocommerce form .form-row input.input-text:focus, .woocommerce form .form-row textarea:focus{outline:2px solid var(--magenta-soft); border-color:var(--magenta)}

.woocommerce table.shop_table{border-radius:var(--r-md); border-color:var(--line); border-collapse:separate; background:var(--white)}
.woocommerce table.shop_table th{font-weight:700; color:var(--ink-2)}
.woocommerce table.shop_table td, .woocommerce table.shop_table th{border-color:var(--line); padding:14px 16px}
.woocommerce a.remove{color:var(--ink-3)!important}
.woocommerce a.remove:hover{background:#B42318; color:#fff!important}
.woocommerce-cart .cart-collaterals .cart_totals, .woocommerce-checkout #order_review{background:var(--white)}
.woocommerce nav.woocommerce-pagination{margin-top:40px}
.woocommerce nav.woocommerce-pagination ul{border:0; display:inline-flex; gap:6px}
.woocommerce nav.woocommerce-pagination ul li{border:0}
.woocommerce nav.woocommerce-pagination ul li a, .woocommerce nav.woocommerce-pagination ul li span{padding:0 12px; min-width:42px; height:42px; display:inline-grid; place-items:center; border-radius:999px; border:1.5px solid var(--line-strong)}
.woocommerce nav.woocommerce-pagination ul li span.current{background:var(--plum-700); border-color:var(--plum-700); color:#fff}
.woocommerce-account .woocommerce-MyAccount-navigation ul{display:grid; gap:4px; padding:0; list-style:none}
.woocommerce-account .woocommerce-MyAccount-navigation li a{display:block; padding:10px 14px; border-radius:10px; color:var(--ink-2); text-decoration:none; font-weight:600}
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a{background:var(--paper-2); color:var(--plum-700)}

/* Warenkorb & Kasse als Blöcke (Standard in neueren WooCommerce-Versionen) */
.wc-block-components-button:not(.is-link), .wc-block-cart__submit-button, .wc-block-components-checkout-place-order-button{background:var(--plum-700)!important; color:#fff!important; border-radius:999px!important; font-family:var(--f-body); font-weight:650}
.wc-block-components-button:not(.is-link):hover{background:var(--plum-600)!important}
.wc-block-components-text-input input, .wc-block-components-combobox .wc-block-components-combobox-control input, .wc-block-components-select select{border-radius:10px!important}
.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout{font-family:var(--f-body)}
.wc-block-components-product-name{color:var(--ink)!important; font-weight:650}
.kc-wc-seite .wc-block-components-sidebar-layout{margin-top:0}
.shop-info span a{color:var(--plum-700); font-weight:600}
.kc-produkt-seite .crumbs{font-size:14px; color:var(--ink-3)}
.kc-produkt-seite .crumbs a{color:var(--ink-3); text-decoration:none}
.kc-produkt-seite .crumbs a:hover{color:var(--plum-700)}
.kc-produkt-seite .crumbs span{margin-inline:8px; color:var(--line-strong)}
.woocommerce div.product .woocommerce-tabs ul.tabs li a{text-decoration:none}
.kc-produkt-seite .summary .kc-preis-hinweis{margin-top:-10px; font-size:13px; color:var(--ink-3)}
.kc-produkt-seite .summary .kc-preis-hinweis small{font-size:inherit}
