/*
 * Sintrel Theme - WooCommerce Stylesheet
 * Overrides default WooCommerce styles to match Figma design.
 * -------------------------------------------------------
 * 1. General WooCommerce resets
 * 2. Shop archive & sidebar
 * 3. Single product
 * 4. Cart
 * 5. Checkout
 * 6. My Account
 * 7. Order confirmation
 * 8. Notices / messages
 */


/* ══════════════════════════════════════════════════════════
   1. General WooCommerce resets
   ══════════════════════════════════════════════════════════ */

.woocommerce-page .entry-header { display: none; }
.woocommerce-page .sintrel-header__logo .sintrel-logo { height: 32px !important; width: auto !important; }

.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit {
  display:         inline-flex;
  align-items:     center;
  justify-content: center;
  padding:         0.5rem 1.25rem;
  font-size:       1rem;
  font-family:     var(--sintrel-font-sans);
  font-weight:     400;
  border:          1px solid var(--sintrel-black);
  background:      transparent;
  color:           var(--sintrel-black);
  border-radius:   var(--sintrel-radius-sm);
  transition:      background var(--sintrel-transition), color var(--sintrel-transition);
  cursor:          pointer;
  text-decoration: none;
}
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover {
  background: var(--sintrel-black);
  color:      var(--sintrel-white);
}
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt,
.woocommerce #respond input#submit.alt {
  background: var(--sintrel-black);
  color:      var(--sintrel-white);
}
.woocommerce a.button.alt:hover { background: #222; }

/* Quantity input */
.woocommerce .quantity input[type="number"] {
  width:         70px;
  padding:       0.375rem 0.5rem;
  border:        1px solid var(--sintrel-border);
  border-radius: var(--sintrel-radius-sm);
  text-align:    center;
  font-size:     1rem;
  -moz-appearance: textfield;
}
.woocommerce .quantity input[type="number"]::-webkit-inner-spin-button,
.woocommerce .quantity input[type="number"]::-webkit-outer-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

/* ══════════════════════════════════════════════════════════
   2. Shop archive & sidebar
   ══════════════════════════════════════════════════════════ */

.sintrel-main--shop { padding-top: 2rem; padding-bottom: 5rem; }

/* Seiten, die direkt mit dem vollflaechigen Hero starten: kein weisser
   Streifen zwischen Kopfzeile und Hero. */
.sintrel-main--flush { padding-top: 0; }

/* Shop header */
.sintrel-shop-header { margin-bottom: 2rem; }
.sintrel-shop-header__title { font-size: clamp(1.75rem,3vw,2.5rem); }
.sintrel-shop-header__desc { font-size: 1rem; color: var(--sintrel-gray-neutral); margin-top: 0.5rem; }

/* Layout: sidebar + products */
.sintrel-shop-layout {
  display: grid;
  grid-template-columns: 288px 1fr;   /* mock: w-72 sidebar */
  gap: 4rem;                           /* mock: gap-16 = 64px */
  align-items: start;
}

@media ( max-width: 1024px ) {
  .sintrel-shop-layout {
    grid-template-columns: 240px 1fr;
    gap: 2.5rem;
  }
}

@media ( max-width: 768px ) {
  .sintrel-shop-layout {
    grid-template-columns: 1fr;
    gap: 2rem;
  }
  .sintrel-shop-sidebar { position: static; }

  /* Toolbar: stack count + sort vertically */
  .sintrel-shop-toolbar {
    flex-direction: column;
    align-items: flex-start;
  }
  .woocommerce-ordering,
  .woocommerce-ordering select {
    width: 100%;
  }

  /* Product grid: 1 column on small screens */
  .woocommerce ul.products {
    grid-template-columns: 1fr !important;
  }

  /* Prevent product cards from overflowing */
  .woocommerce ul.products li.product {
    max-width: 100%;
    box-sizing: border-box;
  }
}

/* Sidebar */
.sintrel-shop-sidebar { position: sticky; top: 72px; } /* 64px nav + 8px gap */
.admin-bar .sintrel-shop-sidebar { top: 104px; } /* + 32px admin bar */
.sintrel-shop-sidebar__header {
  display:         flex;
  justify-content: space-between;
  align-items:     baseline;
  margin-bottom:   1.25rem;
  padding-bottom:  0.75rem;
  border-bottom:   1px solid var(--sintrel-border);
}
.sintrel-shop-sidebar__title { font-size: 1rem; font-weight: 700; }
.sintrel-shop-sidebar__clear { font-size: 0.875rem; color: var(--sintrel-gray-neutral); text-decoration: underline; }

/* WC widget overrides in sidebar */
.sintrel-shop-sidebar .widget { margin-bottom: 2rem; }
.sintrel-shop-sidebar .widget_title,
.sintrel-shop-sidebar .widgettitle {
  font-size:   0.875rem;
  font-weight: 700;
  margin-bottom: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}
.sintrel-shop-sidebar .woocommerce-widget-layered-nav-list,
.sintrel-shop-sidebar .product-categories {
  list-style: none; padding: 0;
}
.sintrel-shop-sidebar .woocommerce-widget-layered-nav-list li,
.sintrel-shop-sidebar .product-categories li {
  padding: 0.3rem 0;
  font-size: 0.9375rem;
  border-bottom: 1px solid var(--sintrel-border);
}
.sintrel-shop-sidebar .woocommerce-widget-layered-nav-list li a,
.sintrel-shop-sidebar .product-categories li a { color: var(--sintrel-black); }
.sintrel-shop-sidebar .woocommerce-widget-layered-nav-list li.chosen a { font-weight: 700; }

/* Toolbar */
.sintrel-shop-toolbar {
  display:         flex;
  justify-content: space-between;
  align-items:     center;
  margin-bottom:   1.5rem;
  flex-wrap:       wrap;
  gap:             0.75rem;
}
.sintrel-shop-toolbar__count {
  font-size: 0.9375rem;
  color: var(--sintrel-gray-neutral);
}
.woocommerce-ordering select {
  padding:       0.375rem 2rem 0.375rem 0.75rem;
  border:        1px solid var(--sintrel-border);
  border-radius: var(--sintrel-radius-sm);
  font-size:     0.9375rem;
  background:    var(--sintrel-white);
  appearance:    none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M12 15.663L5.867 9.928 6.133 8.867 12 13.939l5.928-5.072.265 1.061z' fill='%23000'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 0.5rem center;
}

/* WC pagination */
.woocommerce-pagination { margin-top: 2.5rem; }
.woocommerce-pagination ul { display: flex; gap: 0.375rem; flex-wrap: wrap; list-style: none; padding: 0; }
.woocommerce-pagination ul li a,
.woocommerce-pagination ul li span {
  display: inline-flex; align-items: center; justify-content: center;
  width: 36px; height: 36px;
  border: 1px solid var(--sintrel-border);
  font-size: 0.9375rem;
  color: var(--sintrel-black);
  transition: background var(--sintrel-transition);
}
.woocommerce-pagination ul li span.current,
.woocommerce-pagination ul li a:hover {
  background: var(--sintrel-black); color: var(--sintrel-white); border-color: var(--sintrel-black);
}

/* ══════════════════════════════════════════════════════════
   3. Single Product
   ══════════════════════════════════════════════════════════ */

/* Kein padding-bottom: die Seite endet mit der vollflaechigen CTA-Section,
   sonst entsteht ein weisser Streifen vor dem Footer. */
.sintrel-main--product { padding-bottom: 0; }

.woocommerce div.product { display: grid; grid-template-columns: 1fr 1fr; gap: 4rem; align-items: start; }
.woocommerce div.product .woocommerce-product-gallery { grid-column: 1; }
.woocommerce div.product .summary { grid-column: 2; }

/* Gallery */
.woocommerce-product-gallery .flex-viewport { background: var(--sintrel-gray-lighter); }
.woocommerce-product-gallery__image img { width: 100%; object-fit: cover; }
.flex-control-thumbs { display: flex; gap: 0.75rem; margin-top: 0.75rem; }
.flex-control-thumbs li { width: 80px; }
.flex-control-thumbs li img { cursor: pointer; border: 2px solid transparent; transition: border-color 0.2s; }
.flex-control-thumbs li img.flex-active { border-color: var(--sintrel-black); }

/* Summary */
.woocommerce div.product .summary .woocommerce-product-details__short-description {
  font-size: 1rem; line-height: 1.6; color: var(--sintrel-text-primary);
}

/* Product title */
.woocommerce div.product h1.product_title {
  font-size: clamp(1.5rem,2.5vw,2rem);
  font-weight: 700;
  margin-bottom: 0.25rem;
}
/* Brand */
.woocommerce div.product .woocommerce-product-details__brand {
  font-size: 0.875rem; color: var(--sintrel-gray-neutral); margin-bottom: 0.75rem;
}

/* Price */
.woocommerce div.product p.price,
.woocommerce div.product span.price {
  font-size: 1.5rem; font-weight: 600; margin-bottom: 1.5rem; display: block;
}
.woocommerce div.product p.price del { color: var(--sintrel-gray-medium); font-size: 1rem; }
.woocommerce div.product p.price ins { text-decoration: none; }

/* Variations (3 Polig / 4 Polig) */
.woocommerce div.product form.variations_form table { width: 100%; }
.woocommerce div.product form.variations_form .variations td.label {
  font-size: 0.875rem; font-weight: 600; padding-right: 1rem; white-space: nowrap;
}
.variations-select-btns { display: flex; gap: 0.5rem; flex-wrap: wrap; margin: 0.5rem 0 1.5rem; }
.variations-select-btns button {
  padding: 0.4rem 1rem;
  border: 1px solid var(--sintrel-black);
  background: var(--sintrel-black);
  color: var(--sintrel-white);
  font-size: 0.9375rem;
  border-radius: var(--sintrel-radius-sm);
  cursor: pointer;
}
.variations-select-btns button.inactive {
  background: transparent; color: var(--sintrel-gray-neutral); border-color: var(--sintrel-gray-lighter);
}

/* Qty + ATC */
.woocommerce div.product form.cart { display: flex; flex-direction: column; gap: 0.75rem; margin-bottom: 1rem; }
.woocommerce div.product form.cart .quantity { width: fit-content; }
.woocommerce div.product form.cart button[type="submit"] {
  width: 100%;
  background: var(--sintrel-black);
  color: var(--sintrel-white);
  border: 1px solid var(--sintrel-black);
  padding: 0.875rem 1.5rem;
  font-size: 1rem;
  font-weight: 600;
  justify-content: center;
}
.woocommerce div.product form.cart button[type="submit"]:hover { background: #222; }

/* Buy now link */
.sintrel-product__buy-now {
  display: block; text-align: center; text-decoration: underline;
  font-size: 1rem; margin-top: 0.5rem;
}
.sintrel-product__shipping-note {
  font-size: 0.8125rem; color: var(--sintrel-gray-neutral); text-align: center; margin-top: 0.25rem;
}

/* Product tabs */
.woocommerce-tabs {
  margin-top: 4rem;
  grid-column: 1 / -1;
  border-top: 1px solid var(--sintrel-border);
  padding-top: 2rem;
}
.woocommerce-tabs ul.tabs {
  display: flex; gap: 0; list-style: none; padding: 0;
  border-bottom: 1px solid var(--sintrel-border); margin-bottom: 2rem;
}
.woocommerce-tabs ul.tabs li {
  padding: 0.75rem 1.5rem;
  border-bottom: 2px solid transparent;
  font-size: 1rem; cursor: pointer;
}
.woocommerce-tabs ul.tabs li.active { border-bottom-color: var(--sintrel-black); font-weight: 600; }
.woocommerce-tabs ul.tabs li a { color: var(--sintrel-black); }
.woocommerce-tabs .woocommerce-Tabs-panel { font-size: 1rem; line-height: 1.75; }
.woocommerce-tabs .woocommerce-Tabs-panel h2 { font-size: 1.25rem; margin-bottom: 1rem; }
.woocommerce-tabs .woocommerce-Tabs-panel ul { list-style: disc; padding-left: 1.5rem; }
.woocommerce-tabs .woocommerce-Tabs-panel li { margin-bottom: 0.375rem; }

/* Related products */
.related.products {
  grid-column: 1 / -1;
  margin-top: 4rem;
}
.related.products h2 { font-size: clamp(2rem,3vw,2.5rem); margin-bottom: 0.5rem; }
.related.products > p { font-size: 1rem; color: var(--sintrel-gray-neutral); margin-bottom: 2rem; }

/* ══════════════════════════════════════════════════════════
   4. Cart
   ══════════════════════════════════════════════════════════ */

/* Seitenkopf --------------------------------------------------------- */
.snt-cart-page { padding: 2.5rem 0 4rem; }

.snt-cart-head {
  display:        flex;
  align-items:    baseline;
  justify-content: space-between;
  gap:            1rem;
  flex-wrap:      wrap;
  padding-bottom: 1.25rem;
  margin-bottom:  2.5rem;
  border-bottom:  1px solid var(--sintrel-border);
}
.snt-cart-head h1 {
  font-size:      clamp(1.75rem, 2.4vw, 2.25rem);
  letter-spacing: -0.01em;
}
.snt-cart-count {
  font-size: 0.875rem;
  color:     var(--sintrel-text-secondary);
}
.snt-cart-back {
  font-size: 0.875rem;
  color:     var(--sintrel-text-secondary);
}
.snt-cart-back:hover { color: var(--sintrel-black); text-decoration: underline; }

.snt-cart-wrap {
  display:               grid;
  grid-template-columns: minmax(0, 1fr) 340px;
  gap:                   3rem;
  align-items:           start;
}

/* Positionsliste ------------------------------------------------------ */
.snt-cart-table { width: 100%; border-collapse: collapse; }
.snt-cart-table thead th {
  padding:        0 0 0.75rem;
  border-bottom:  1px solid var(--sintrel-black);
  font-size:      0.6875rem;
  font-weight:    700;
  text-transform: uppercase;
  letter-spacing: 0.09em;
  color:          var(--sintrel-text-secondary);
  text-align:     left;
  white-space:    nowrap;
}
.snt-cart-table th.snt-col-qty    { text-align: center; width: 120px; }
.snt-cart-table th.snt-col-price  { text-align: right;  width: 130px; }
.snt-cart-table th.snt-col-sum    { text-align: right;  width: 150px; }
.snt-cart-table th.snt-col-remove { width: 48px; }

.snt-cart-table tbody td {
  padding:        1.5rem 0;
  border-bottom:  1px solid var(--sintrel-border);
  vertical-align: middle;
}

.snt-cart-item { display: flex; align-items: center; gap: 1.25rem; }
.snt-cart-img {
  width: 80px; height: 80px;
  flex-shrink: 0;
  border:      1px solid var(--sintrel-border);
  background:  var(--sintrel-white);
  display:     flex;
  align-items: center;
  justify-content: center;
  overflow:    hidden;
}
.snt-cart-img a { display: block; width: 100%; height: 100%; }
.snt-cart-img img { width: 100%; height: 100%; object-fit: contain; padding: 8px; }
.snt-cart-name {
  display:     block;
  font-size:   0.9375rem;
  font-weight: 600;
  line-height: 1.35;
  color:       var(--sintrel-black);
}
a.snt-cart-name:hover { color: var(--sintrel-black); text-decoration: underline; }
.snt-cart-meta {
  margin-top: 0.375rem;
  font-size:  0.75rem;
  color:      var(--sintrel-text-secondary);
}

/* Zahlen mit gleicher Ziffernbreite - Spalten fluchten sauber */
.snt-cart-table td.snt-col-price,
.snt-cart-table td.snt-col-sum,
.snt-summary-row span:last-child,
.snt-summary-total dd {
  font-variant-numeric: tabular-nums;
}
.snt-cart-table td.snt-col-price {
  text-align: right;
  font-size:  0.9375rem;
  color:      var(--sintrel-text-secondary);
  white-space: nowrap;
}
.snt-cart-table td.snt-col-sum {
  text-align:  right;
  font-size:   0.9375rem;
  font-weight: 600;
  white-space: nowrap;
}
.snt-cart-table td.snt-col-remove { text-align: right; }

/* MwSt.-Hinweis erscheint einmal in der Zusammenfassung, nicht pro Zeile */
.snt-cart-table .tax_label,
.snt-cart-table .includes_tax,
.snt-summary .tax_label,
.snt-summary .includes_tax { display: none; }

/* Menge -------------------------------------------------------------- */
.snt-qty { display: flex; align-items: stretch; width: fit-content; margin: 0 auto; }
.snt-qty-btn {
  width:      32px;
  border:     1px solid var(--sintrel-gray-lighter);
  background: var(--sintrel-white);
  color:      var(--sintrel-text-secondary);
  font-size:  1rem;
  line-height: 1;
  transition: background var(--sintrel-transition), color var(--sintrel-transition);
}
.snt-qty-btn:hover { background: var(--sintrel-gray-lightest); color: var(--sintrel-black); }
.woocommerce .snt-qty .quantity { margin: 0; }
.woocommerce .snt-qty input.qty,
.woocommerce .snt-qty input[type="number"] {
  width:       48px;
  height:      38px;
  padding:     0;
  border:      1px solid var(--sintrel-gray-lighter);
  border-left: none;
  border-right: none;
  border-radius: 0;
  text-align:  center;
  font-size:   0.9375rem;
  font-weight: 500;
  -moz-appearance: textfield;
  appearance:  textfield;
}
.snt-qty input::-webkit-inner-spin-button,
.snt-qty input::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
.snt-qty input:focus-visible,
.snt-qty-btn:focus-visible { outline: 2px solid var(--sintrel-yellow); outline-offset: -1px; }
.snt-qty-single { display: block; text-align: center; font-size: 0.9375rem; }

/* Entfernen - WooCommerce faerbt a.remove sonst rot */
.woocommerce .snt-cart-table a.remove,
.woocommerce-page .snt-cart-table a.remove {
  display:     inline-flex;
  align-items: center;
  justify-content: center;
  width:  32px;
  height: 32px;
  font-size:   1.25rem;
  font-weight: 400;
  line-height: 1;
  /* WooCommerce setzt a.remove per !important auf rot */
  color:      var(--sintrel-gray-medium) !important;
  background: none !important;
  border-radius: 0;
  transition: color var(--sintrel-transition);
}
.woocommerce .snt-cart-table a.remove:hover,
.woocommerce-page .snt-cart-table a.remove:hover {
  color:      var(--sintrel-black) !important;
  background: none !important;
  text-decoration: none;
}

/* Aktionen: Gutschein + Aktualisieren --------------------------------- */
.snt-cart-actions {
  display:         flex;
  justify-content: space-between;
  align-items:     flex-start;
  gap:             1.5rem;
  flex-wrap:       wrap;
  margin-top:      1.5rem;
}
.snt-coupon summary {
  display:     inline-block;
  font-size:   0.875rem;
  color:       var(--sintrel-text-secondary);
  cursor:      pointer;
  list-style:  none;
  padding:     0.4rem 0;
}
.snt-coupon summary::-webkit-details-marker { display: none; }
.snt-coupon summary::before { content: '+ '; }
.snt-coupon[open] summary::before { content: '– '; }
.snt-coupon summary:hover { color: var(--sintrel-black); text-decoration: underline; }
.snt-coupon-fields { display: flex; margin-top: 0.75rem; }
.woocommerce .snt-coupon-in {
  width:   190px;
  height:  40px;
  padding: 0 0.875rem;
  border:  1px solid var(--sintrel-gray-lighter);
  border-right: none;
  font-size: 0.875rem;
  border-radius: 0;
}
.snt-coupon-in:focus-visible { outline: 2px solid var(--sintrel-yellow); outline-offset: -1px; }
.snt-btn-secondary {
  height:      40px;
  padding:     0 1.25rem;
  background:  var(--sintrel-white);
  border:      1px solid var(--sintrel-black);
  color:       var(--sintrel-black);
  font-size:   0.875rem;
  font-weight: 500;
  white-space: nowrap;
  transition:  background var(--sintrel-transition), color var(--sintrel-transition);
}
.snt-btn-secondary:hover { background: var(--sintrel-black); color: var(--sintrel-white); }
.snt-btn-secondary[disabled] {
  border-color: var(--sintrel-gray-lighter);
  color:        var(--sintrel-gray-medium);
  background:   var(--sintrel-white);
  cursor:       default;
}

/* Zusammenfassung ----------------------------------------------------- */
.snt-summary {
  border:   1px solid var(--sintrel-border);
  padding:  1.75rem;
  position: sticky;
  top:      100px;
}
.snt-summary-title {
  font-size:      0.6875rem;
  font-weight:    700;
  text-transform: uppercase;
  letter-spacing: 0.09em;
  color:          var(--sintrel-text-secondary);
  padding-bottom: 0.875rem;
  margin-bottom:  1.25rem;
  border-bottom:  1px solid var(--sintrel-border);
}
.snt-summary-row {
  display:         flex;
  justify-content: space-between;
  align-items:     baseline;
  gap:             1rem;
  font-size:       0.9375rem;
  margin-bottom:   0.75rem;
}
.snt-summary-row > span:first-child { color: #52525b; }
.snt-summary-row--discount span:last-child { color: #15803d; }
.snt-summary-note {
  font-size:   0.8125rem;
  color:       var(--sintrel-text-secondary);
  line-height: 1.5;
}
.snt-summary-total {
  display:         flex;
  justify-content: space-between;
  align-items:     baseline;
  gap:             1rem;
  margin:          1.25rem 0 0;
  padding-top:     1.125rem;
  border-top:      1px solid var(--sintrel-black);
}
.snt-summary-total dt { font-size: 1rem; font-weight: 700; }
.snt-summary-total dd { margin: 0; font-size: 1.375rem; font-weight: 700; line-height: 1.2; }
.snt-summary-tax {
  margin-top: 0.5rem;
  font-size:  0.8125rem;
  color:      var(--sintrel-text-secondary);
  text-align: right;
}

.woocommerce .snt-checkout-btn,
.snt-checkout-btn {
  display:     block;
  width:       100%;
  margin-top:  1.5rem;
  padding:     0.9375rem 1rem;
  background:  var(--sintrel-black);
  border:      1px solid var(--sintrel-black);
  color:       var(--sintrel-white);
  font-size:   1rem;
  font-weight: 600;
  text-align:  center;
  text-decoration: none;
  border-radius: 0;
  transition:  background var(--sintrel-transition);
}
.woocommerce .snt-checkout-btn:hover,
.snt-checkout-btn:hover { background: #222; color: var(--sintrel-white); text-decoration: none; }

.snt-summary-help {
  margin-top:  1.5rem;
  padding-top: 1.25rem;
  border-top:  1px solid var(--sintrel-border);
  font-size:   0.8125rem;
  line-height: 1.6;
  color:       var(--sintrel-text-secondary);
}
.snt-summary-help a { color: var(--sintrel-black); font-weight: 500; }
.snt-summary-help a:hover { text-decoration: underline; }

/* Leerer Warenkorb ---------------------------------------------------- */
.snt-cart-empty { padding: 1rem 0 2rem; max-width: 480px; }
.snt-cart-empty .cart-empty { font-size: 1.0625rem; margin-bottom: 0.5rem; }
.snt-cart-empty p { color: var(--sintrel-text-secondary); }
.woocommerce .snt-cart-empty .return-to-shop { margin-top: 1.75rem; }
.woocommerce .snt-cart-empty .return-to-shop .button {
  padding:     0.8125rem 1.75rem;
  background:  var(--sintrel-black);
  border:      1px solid var(--sintrel-black);
  color:       var(--sintrel-white);
  font-weight: 500;
  border-radius: 0;
}
.woocommerce .snt-cart-empty .return-to-shop .button:hover { background: #222; }

@media (max-width: 1024px) {
  .snt-cart-wrap { grid-template-columns: minmax(0, 1fr) 300px; gap: 2rem; }
}
@media (max-width: 900px) {
  .snt-cart-wrap { grid-template-columns: 1fr; gap: 2.5rem; }
  .snt-summary { position: static; }
}
@media (max-width: 640px) {
  /* Tabelle wird zur Kartenliste */
  .snt-cart-table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); }
  .snt-cart-table tbody tr {
    display:       grid;
    grid-template-columns: 1fr auto;
    gap:           0.75rem 1rem;
    padding:       1.25rem 0;
    border-bottom: 1px solid var(--sintrel-border);
  }
  .snt-cart-table tbody td { border: none; padding: 0; }
  .snt-cart-table tbody td.snt-col-product { grid-column: 1; grid-row: 1; }
  .snt-cart-table tbody td.snt-col-remove  { grid-column: 2; grid-row: 1; }
  .snt-cart-table tbody td.snt-col-qty     { grid-column: 1; grid-row: 2; }
  .snt-cart-table tbody td.snt-col-sum     { grid-column: 2; grid-row: 2; align-self: center; }
  .snt-cart-table tbody td.snt-col-price   { display: none; }
  .snt-qty { margin: 0; }
  .snt-cart-actions { flex-direction: column; align-items: stretch; }
  .snt-btn-secondary { width: 100%; }
}

/* Cart totals */
.sintrel-cart-totals {
  border: 1px solid var(--sintrel-border);
  padding: 1.5rem;
}
.sintrel-cart-totals__title {
  font-size: 1.25rem; font-weight: 700; margin-bottom: 1.25rem;
}
.sintrel-cart-totals__table { width: 100%; border-collapse: collapse; }
.sintrel-cart-totals__table tr td,
.sintrel-cart-totals__table tr th {
  padding: 0.75rem 0;
  border-bottom: 1px solid var(--sintrel-border);
  font-size: 0.9375rem;
}
.sintrel-cart-totals__table tr:last-child td,
.sintrel-cart-totals__table tr:last-child th { border-bottom: none; }
.sintrel-cart-totals__table th { text-align: left; font-weight: 400; }
.sintrel-cart-totals__table td { text-align: right; font-weight: 600; }
.sintrel-cart-totals__table tr.order-total th,
.sintrel-cart-totals__table tr.order-total td { font-weight: 700; font-size: 1rem; }
.sintrel-cart-totals__actions { margin-top: 1.25rem; }
.sintrel-cart-totals__actions .checkout-button,
.sintrel-cart-totals__actions .wc-proceed-to-checkout a {
  display: block;
  width: 100%;
  padding: 0.875rem;
  background: var(--sintrel-black);
  color: var(--sintrel-white);
  text-align: center;
  font-size: 1rem;
  font-weight: 500;
  border: 1px solid var(--sintrel-black);
  transition: background var(--sintrel-transition);
  text-decoration: none;
}
.sintrel-cart-totals__actions .checkout-button:hover { background: #222; }

/* ══════════════════════════════════════════════════════════
   5. Checkout
   ══════════════════════════════════════════════════════════ */

.sintrel-checkout { padding: 3rem 0 5rem; }

.sintrel-checkout__login-choice {
  max-width: 480px;
  margin-bottom: 3rem;
  padding: 2rem;
  border: 1px solid var(--sintrel-border);
}
.sintrel-checkout__login-choice .sintrel-checkout__section-title {
  font-size: 1.25rem; margin-bottom: 0.75rem;
}
.sintrel-checkout__login-actions { display: flex; gap: 1rem; margin-top: 1rem; align-items: center; }

.sintrel-checkout__columns {
  display: grid;
  grid-template-columns: 1fr 380px;
  gap: 3rem;
  margin-bottom: 2rem;
}
@media (max-width: 900px) {
  .sintrel-checkout__columns { grid-template-columns: 1fr; }
}

.sintrel-checkout__section-title {
  font-size: 1.25rem; font-weight: 700;
  margin-bottom: 1.25rem;
  padding-bottom: 0.75rem;
  border-bottom: 1px solid var(--sintrel-border);
}

.sintrel-checkout__billing .woocommerce-billing-fields h3,
.sintrel-checkout__billing .woocommerce-shipping-fields h3 {
  font-size: 1.25rem; font-weight: 700;
  margin-bottom: 1.25rem; padding-bottom: 0.75rem;
  border-bottom: 1px solid var(--sintrel-border);
}

/* WC form field styles */
.woocommerce-checkout .form-row { margin-bottom: 1rem; }
.woocommerce-checkout .form-row label {
  display: block; font-size: 0.875rem; font-weight: 500; margin-bottom: 0.375rem;
}
.woocommerce-checkout .form-row input,
.woocommerce-checkout .form-row select,
.woocommerce-checkout .form-row textarea {
  width: 100%;
  padding: 0.625rem 0.75rem;
  border: 1px solid var(--sintrel-border);
  border-radius: var(--sintrel-radius-sm);
  font-size: 1rem;
  font-family: var(--sintrel-font-sans);
  background: var(--sintrel-white);
  transition: border-color var(--sintrel-transition);
}
.woocommerce-checkout .form-row input:focus,
.woocommerce-checkout .form-row select:focus { border-color: var(--sintrel-black); outline: none; }
.woocommerce-checkout .form-row-first { float: left; width: 47%; margin-right: 6%; }
.woocommerce-checkout .form-row-last  { float: right; width: 47%; }
.woocommerce-checkout .form-row-wide  { clear: both; width: 100%; }

/* Same address checkbox */
.sintrel-checkout__same-address {
  display: flex; align-items: center; gap: 0.75rem;
  font-size: 0.9375rem; margin-bottom: 1rem; cursor: pointer;
}
.sintrel-checkout__same-address input[type="checkbox"] { width: 16px; height: 16px; }

/* Shipping methods */
#shipping_method li { margin-bottom: 0.5rem; display: flex; align-items: center; gap: 0.5rem; }
#shipping_method li input[type="radio"] { width: 16px; height: 16px; }

/* Summary box */
.sintrel-checkout__summary-inner {
  position: sticky; top: 80px;
  border: 1px solid var(--sintrel-border);
  padding: 1.5rem;
}
.sintrel-checkout__summary-title {
  font-size: 1.25rem; font-weight: 700; margin-bottom: 1.25rem;
}
.woocommerce-checkout-review-order-table { width: 100%; border-collapse: collapse; }
.woocommerce-checkout-review-order-table th,
.woocommerce-checkout-review-order-table td {
  padding: 0.625rem 0; border-bottom: 1px solid var(--sintrel-border);
  font-size: 0.9375rem;
}
.woocommerce-checkout-review-order-table th { font-weight: 600; }
.woocommerce-checkout-review-order-table td { text-align: right; }
.woocommerce-checkout-review-order-table tfoot tr:last-child th,
.woocommerce-checkout-review-order-table tfoot tr:last-child td {
  font-weight: 700; font-size: 1rem; border-bottom: none;
}

/* Payment section */
.sintrel-checkout__payment { margin-top: 2rem; }
#payment { border: 1px solid var(--sintrel-border); padding: 1.5rem; }
#payment .wc_payment_methods { list-style: none; padding: 0; margin-bottom: 1.5rem; }
#payment .wc_payment_methods li { margin-bottom: 0.75rem; }
#payment .wc_payment_methods label { display: inline-flex; align-items: center; gap: 0.5rem; cursor: pointer; font-size: 0.9375rem; }
#payment #place_order {
  display: block; width: 100%;
  background: var(--sintrel-black); color: var(--sintrel-white);
  border: 1px solid var(--sintrel-black);
  padding: 0.875rem; font-size: 1rem; font-weight: 600;
  cursor: pointer; transition: background var(--sintrel-transition);
}
#payment #place_order:hover { background: #222; }
#payment .terms label { font-size: 0.875rem; }
#payment .terms input[type="checkbox"] { width: 14px; height: 14px; }

/* ══════════════════════════════════════════════════════════
   6. My Account
   ══════════════════════════════════════════════════════════ */

.woocommerce-MyAccount-navigation {
  float: left; width: 220px; margin-right: 3rem;
}
.woocommerce-MyAccount-navigation ul { list-style: none; padding: 0; }
.woocommerce-MyAccount-navigation ul li { border-bottom: 1px solid var(--sintrel-border); }
.woocommerce-MyAccount-navigation ul li a {
  display: block; padding: 0.75rem 0;
  font-size: 0.9375rem; color: var(--sintrel-black);
}
.woocommerce-MyAccount-navigation ul li a:hover { text-decoration: underline; }
.woocommerce-MyAccount-navigation ul li.is-active a { font-weight: 700; }

.woocommerce-account .woocommerce { display: block; padding: 0; }

/* ══════════════════════════════════════════════════════════
   7. Order confirmation
   ══════════════════════════════════════════════════════════ */

.sintrel-thankyou { padding: 3rem 0 5rem; }
.sintrel-thankyou__header { margin-bottom: 2rem; }
.sintrel-thankyou__intro {
  font-size: clamp(1.25rem,2.5vw,1.75rem); font-weight: 700;
  max-width: 680px; line-height: 1.35;
}
.sintrel-thankyou__card {
  max-width: 520px;
  border: 1px solid var(--sintrel-border);
  padding: 2rem;
  margin-bottom: 2rem;
}
.sintrel-thankyou__label { font-size: 0.875rem; font-weight: 600; margin-bottom: 0.75rem; text-transform: uppercase; letter-spacing: 0.04em; }
.sintrel-thankyou__item-list { list-style: none; padding: 0; }
.sintrel-thankyou__item { font-size: 0.9375rem; padding: 0.375rem 0; }
.sintrel-thankyou__item-qty { color: var(--sintrel-gray-neutral); margin-left: 0.5rem; }
.sintrel-thankyou__divider { border: none; border-top: 1px solid var(--sintrel-border); margin: 1rem 0; }
.sintrel-thankyou__row {
  display: flex; justify-content: space-between; align-items: center;
  font-size: 0.9375rem; padding: 0.375rem 0;
}
.sintrel-thankyou__row--total { font-size: 1rem; }
.sintrel-thankyou__actions { display: flex; gap: 1rem; flex-wrap: wrap; }

/* Zahlungshinweis "Kauf auf Rechnung" (inc/payment-invoice.php) */
.sintrel-invoice-note {
  margin-top: 1rem; padding: 1rem 1.25rem;
  background: var(--sintrel-gray-lightest);
  border-left: 4px solid var(--sintrel-yellow);
  font-size: 0.9375rem; line-height: 1.5;
}
.sintrel-invoice-note p:last-child { margin-bottom: 0; }

/* Rechnungs- und Lieferadresse auf der Danke-Seite und unter "Bestellung
   ansehen". Dieser Block kommt unveraendert aus WooCommerce
   (order/order-details-customer.php), das Theme ueberschreibt ihn nicht.

   WooCommerce legt die beiden Spalten mit float auf je 48 % an. Die
   Ueberschriften des Themes sind dafuer zu breit: "Rechnungsadresse" passt
   nicht in seine Spalte, laeuft rechts heraus und legt sich ueber
   "Lieferadresse" der Nachbarspalte - beide Woerter stehen dann uebereinander.

   Statt an der Schriftgroesse zu drehen wird hier der Float durch ein Raster
   ersetzt. Das ist unabhaengig davon richtig, wie gross die Ueberschrift
   spaeter einmal ist, und bricht auf schmalen Schirmen von selbst
   untereinander. */
.woocommerce .woocommerce-customer-details .woocommerce-columns--addresses {
  display:               grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap:                   2rem;
}

.woocommerce .woocommerce-customer-details .woocommerce-columns--addresses .col-1,
.woocommerce .woocommerce-customer-details .woocommerce-columns--addresses .col-2 {
  float: none;
  width: auto;
}

/* Ohne die Begrenzung reisst eine lange Adresse ohne Leerzeichen
   (Mailadressen!) die Spalte wieder auf. */
.woocommerce .woocommerce-customer-details .woocommerce-column__title {
  font-size:      1.25rem;
  margin-bottom:  0.75rem;
  overflow-wrap:  anywhere;
}

.woocommerce .woocommerce-customer-details address {
  overflow-wrap: anywhere;
}

/* ══════════════════════════════════════════════════════════
   9. Product loop – homepage / Elementor / WooCommerce blocks
   Covers: classic ul.products loop AND wc-block-grid blocks.
   ══════════════════════════════════════════════════════════ */

/* ── Classic loop: card container ── */
.woocommerce ul.products li.product {
  background: var(--sintrel-white);
  border: 1px solid var(--sintrel-border);
  transition: box-shadow 0.2s, border-color 0.2s;
}
.woocommerce ul.products li.product:hover {
  box-shadow: 0 4px 24px rgba(0,0,0,.09);
  border-color: var(--sintrel-yellow);
}

/* Image area background */
.woocommerce ul.products li.product a img {
  background: var(--sintrel-gray-lightest);
}

/* All links inside the card → black */
.woocommerce ul.products li.product a,
.woocommerce ul.products li.product a:visited {
  color: var(--sintrel-black);
}
.woocommerce ul.products li.product a:hover {
  color: var(--sintrel-black);
  text-decoration: none;
}

/* Product title */
.woocommerce ul.products li.product .woocommerce-loop-product__title {
  color: var(--sintrel-black);
  font-size: 0.9375rem;
  font-weight: 700;
  line-height: 1.3;
}

/* Price – override WooCommerce default green/teal */
.woocommerce ul.products li.product .price,
.woocommerce ul.products li.product .price .amount,
.woocommerce ul.products li.product .price .woocommerce-Price-amount {
  color: var(--sintrel-black);
  font-weight: 700;
  font-size: 1rem;
}
.woocommerce ul.products li.product .price ins {
  text-decoration: none;
  color: var(--sintrel-black);
  font-weight: 700;
}
.woocommerce ul.products li.product .price del {
  color: var(--sintrel-gray-medium);
  font-size: 0.875rem;
  font-weight: 400;
}

/* CTA button – override WooCommerce default green */
.woocommerce ul.products li.product a.button,
.woocommerce ul.products li.product .button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.45rem 1rem;
  background: var(--sintrel-black);
  color: var(--sintrel-yellow) !important;
  border: 1px solid var(--sintrel-black);
  border-radius: var(--sintrel-radius-sm);
  font-size: 0.8125rem;
  font-weight: 700;
  letter-spacing: 0.03em;
  text-decoration: none;
  transition: background 0.2s, color 0.2s, border-color 0.2s;
}
.woocommerce ul.products li.product a.button:hover,
.woocommerce ul.products li.product .button:hover {
  background: var(--sintrel-yellow) !important;
  color: var(--sintrel-black) !important;
  border-color: var(--sintrel-yellow) !important;
}

/* Global product card overrides (Elementor widgets + standard loop) */
.woocommerce .products .product a.woocommerce-loop-product__link,
.woocommerce .products .product .woocommerce-loop-product__title,
.elementor-widget-woocommerce-products .product a,
.elementor-widget-wc-products .product a { color: #000 !important; }

.woocommerce .products .product a.button,
.woocommerce .products .product .button,
.elementor-widget-woocommerce-products .product a.button,
.elementor-widget-wc-products .product a.button {
  background: #F5C300 !important;
  color: #000 !important;
  border-color: #F5C300 !important;
}
.woocommerce .products .product a.button:hover,
.elementor-widget-woocommerce-products .product a.button:hover {
  background: #000 !important;
  color: #F5C300 !important;
  border-color: #000 !important;
}

/* HFE product grid widget overrides */
.hfe-product-title a,
.hfe-product-title .hfe-loop-product__link { color: #000 !important; }

.hfe-woo-products-wrapper .hfe-product-add-to-cart .button,
.hfe-woo-products-wrapper .hfe-product-add-to-cart a.button {
  background: #F5C300 !important;
  color: #000 !important;
  border-color: #F5C300 !important;
}
.hfe-woo-products-wrapper .hfe-product-add-to-cart .button:hover,
.hfe-woo-products-wrapper .hfe-product-add-to-cart a.button:hover {
  background: #000 !important;
  color: #F5C300 !important;
  border-color: #000 !important;
}
.hfe-woo-products-wrapper .price,
.hfe-woo-products-wrapper .price .amount,
.hfe-woo-products-wrapper .price bdi,
.hfe-woo-products-wrapper .woocommerce-Price-amount,
.hfe-woo-products-wrapper .woocommerce-Price-amount bdi,
.hfe-woo-products-wrapper .hfe-product-price,
.hfe-woo-products-wrapper .hfe-product-price * { color: #F5C300 !important; }

/* Category / tag labels */
.woocommerce ul.products li.product .woocommerce-loop-category__title,
.woocommerce ul.products li.product .ast-woo-product-category {
  color: var(--sintrel-gray-neutral);
}

/* ── WooCommerce Blocks: wc-block-grid ── */
.wc-block-grid__product {
  background: var(--sintrel-white);
  border: 1px solid var(--sintrel-border);
  transition: box-shadow 0.2s, border-color 0.2s;
}
.wc-block-grid__product:hover {
  box-shadow: 0 4px 24px rgba(0,0,0,.09);
  border-color: var(--sintrel-yellow);
}

/* Block: title */
.wc-block-grid__product-title,
.wc-block-grid__product .wc-block-grid__product-title {
  color: var(--sintrel-black) !important;
  font-size: 0.9375rem;
  font-weight: 700;
}

/* Block: price */
.wc-block-grid__product-price,
.wc-block-grid__product-price .price,
.wc-block-grid__product-price .amount,
.wc-block-grid__product-price .woocommerce-Price-amount {
  color: var(--sintrel-black) !important;
  font-weight: 700;
}

/* Block: add-to-cart button */
.wc-block-grid__product .wp-block-button__link,
.wc-block-grid__product-add-to-cart .wp-block-button__link,
.wc-block-grid__product .wc-block-grid__product-add-to-cart a {
  background: var(--sintrel-black) !important;
  color: var(--sintrel-yellow) !important;
  border: 1px solid var(--sintrel-black) !important;
  border-radius: var(--sintrel-radius-sm) !important;
  font-size: 0.8125rem;
  font-weight: 700;
  text-decoration: none;
  transition: background 0.2s, color 0.2s;
}
.wc-block-grid__product .wp-block-button__link:hover,
.wc-block-grid__product-add-to-cart .wp-block-button__link:hover,
.wc-block-grid__product .wc-block-grid__product-add-to-cart a:hover {
  background: var(--sintrel-yellow) !important;
  color: var(--sintrel-black) !important;
  border-color: var(--sintrel-yellow) !important;
}

/* ══════════════════════════════════════════════════════════
   8. Notices / messages
   ══════════════════════════════════════════════════════════ */

body .woocommerce-message,
body .woocommerce-info,
body .woocommerce-error {
  padding: 0.75rem 0 !important;
  margin-bottom: 1.5rem !important;
  border: none !important;
  border-top: none !important;
  background: none !important;
  background-color: transparent !important;
  font-size: 0.9375rem !important;
  list-style: none !important;
}
/* .woocommerce-message / -info sind je ein <div> pro Meldung, .woocommerce-error
   ist ein <ul> mit einem <li> pro Meldung. Das Flex-Layout (Text links, Button
   rechts) gehoert deshalb auf das <li>, sonst stehen mehrere Fehlermeldungen
   nebeneinander statt untereinander. */
body .woocommerce-message,
body .woocommerce-info,
body .woocommerce-error > li {
  display: flex !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 0.75rem !important;
}
body .woocommerce-error > li + li {
  margin-top: 0.5rem !important;
}
body .woocommerce-message::before,
body .woocommerce-info::before,
body .woocommerce-error::before,
body .woocommerce-error > li::before {
  display: none !important;
  content: none !important;
}
body .woocommerce-message svg,
body .woocommerce-info svg,
body .woocommerce-error svg,
body .woocommerce-message img,
body .woocommerce-info img,
body .woocommerce-error img { display: none !important; }
.woocommerce-message a.button,
.woocommerce-error a.button,
.woocommerce-info a.button {
  margin-left: auto; white-space: nowrap; font-size: 0.875rem;
}

/* ─── Kalibrierzertifikat (SCS / ELCAL) auf der Produktseite ───────────── */
.snt-pd-calibration {
  border: 1px solid #e3e3e3;
  border-radius: 4px;
  padding: 1rem 1.15rem 0.75rem;
  margin: 0 0 1.25rem;
}

.snt-pd-calibration__legend {
  font-weight: 700;
  font-size: 0.95rem;
  padding: 0 0.4rem;
  text-transform: uppercase;
  letter-spacing: 0.03em;
}

.snt-pd-calibration__option {
  display: flex;
  align-items: baseline;
  gap: 0.6rem;
  padding: 0.4rem 0;
  cursor: pointer;
}

.snt-pd-calibration__option + .snt-pd-calibration__option {
  border-top: 1px solid #f2f2f2;
}

.snt-pd-calibration__label {
  flex: 1 1 auto;
}

.snt-pd-calibration__badge {
  display: inline-block;
  margin-left: 0.4rem;
  padding: 0.05rem 0.4rem;
  border-radius: 2px;
  background: #ffd400;
  color: #1a1a1a;
  font-size: 0.72rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.02em;
  vertical-align: 0.08em;
}

.snt-pd-calibration__was {
  margin-right: 0.35rem;
  color: #8a8a8a;
  font-weight: 400;
  text-decoration: line-through;
}

.snt-pd-calibration__price {
  flex: 0 0 auto;
  font-weight: 600;
  white-space: nowrap;
}

.snt-pd-calibration__hint {
  margin: 0.5rem 0 0;
  font-size: 0.85rem;
  color: #6b6b6b;
}
