/* ============================================================
   YNI SHOP — Lipasan-Design-Match v3
   Teal = primary CTAs (Lipasan-brand)
   Orange = UI-Akzente (Strips, Hover-Hints, Sort-Chevron)
   ============================================================ */

/* === LAYOUT-OVERRIDE: Sidebar weg === */
body.woocommerce-shop,
body.archive.post-type-archive-product,
body.single-product {
  background: var(--bg-deep) !important;
}

body.woocommerce-shop #right-sidebar,
body.archive.post-type-archive-product #right-sidebar,
body.single-product #right-sidebar,
body.woocommerce-shop .widget-area.is-right-sidebar,
body.archive.post-type-archive-product .widget-area.is-right-sidebar,
body.single-product .widget-area.is-right-sidebar {
  display: none !important;
  width: 0 !important;
  visibility: hidden !important;
  position: absolute !important;
  left: -9999px !important;
}

body.woocommerce-shop #primary,
body.woocommerce-shop .content-area,
body.archive.post-type-archive-product #primary,
body.archive.post-type-archive-product .content-area,
body.single-product #primary,
body.single-product .content-area {
  width: 100% !important;
  max-width: 100% !important;
  float: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

body.woocommerce-shop.right-sidebar .site-content,
body.archive.post-type-archive-product.right-sidebar .site-content,
body.single-product.right-sidebar .site-content {
  display: block !important;
  padding: 0 !important;
  background: var(--bg-deep) !important;
}

body.woocommerce-shop .inside-article,
body.archive.post-type-archive-product .inside-article,
body.single-product .inside-article {
  background: transparent !important;
  padding: 0 !important;
  border: none !important;
  box-shadow: none !important;
  max-width: none !important;
}

body.woocommerce-shop aside#block-2,
body.woocommerce-shop aside#block-3,
body.woocommerce-shop aside#block-4,
body.archive.post-type-archive-product aside#block-2,
body.archive.post-type-archive-product aside#block-3,
body.archive.post-type-archive-product aside#block-4,
body.single-product aside#block-2,
body.single-product aside#block-3,
body.single-product aside#block-4 {
  display: none !important;
}

/* === ENTRY-CONTENT (Content-Wrapper) === */
body.woocommerce-shop .entry-content,
body.archive.post-type-archive-product .entry-content {
  max-width: var(--container) !important;
  margin: 0 auto !important;
  padding: 0 24px !important;
}

/* === BREADCRUMBS === */
.woocommerce-breadcrumb {
  font-size: 11px !important;
  letter-spacing: 0.10em !important;
  text-transform: uppercase !important;
  color: var(--text-secondary) !important;
  margin: 88px 0 0 !important;
  padding: 0 !important;
  font-weight: 400 !important;
  background: none !important;
}
.woocommerce-breadcrumb a {
  color: var(--text-secondary) !important;
  text-decoration: none !important;
  border: none !important;
}
.woocommerce-breadcrumb a:hover {
  color: var(--orange) !important;
}

/* === CUSTOM SHOP HEADER (yni-shop-header markup) === */
.yni-shop-header {
  margin: 0 0 64px !important;
  padding: 32px 0 48px !important;
  border-bottom: 1px solid var(--border) !important;
  position: relative;
}

.yni-back-link {
  display: inline-block !important;
  margin: 0 0 32px !important;
  padding: 0 !important;
  font-size: 11px !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  color: var(--orange) !important;
  text-decoration: none !important;
  border: none !important;
  font-weight: 500 !important;
  transition: color 0.2s !important;
}
.yni-back-link:hover {
  color: var(--orange-dim) !important;
}

.yni-shop-title {
  font-size: clamp(40px, 6vw, 64px) !important;
  font-weight: 300 !important;
  letter-spacing: -0.025em !important;
  line-height: 1.05 !important;
  color: var(--text-primary) !important;
  margin: 12px 0 0 !important;
  padding: 0 !important;
  background: none !important;
  text-shadow: none !important;
  -webkit-text-fill-color: var(--text-primary) !important;
}

/* Eyebrow im Custom-Header */
.yni-shop-header .page-hero-eyebrow {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  margin: 0 !important;
}
.yni-shop-header .page-hero-eyebrow .eyebrow-line {
  display: inline-block !important;
  width: 32px !important;
  height: 1px !important;
  background: var(--teal) !important;
}
.yni-shop-header .page-hero-eyebrow .label {
  font-size: 11px !important;
  letter-spacing: 0.16em !important;
  text-transform: uppercase !important;
  color: var(--teal) !important;
  font-weight: 500 !important;
}

/* Subtitle nach Title */
.yni-shop-header p {
  font-size: 16px !important;
  line-height: 1.7 !important;
  color: var(--text-secondary) !important;
  margin: 16px 0 0 !important;
  max-width: 640px !important;
  font-weight: 300 !important;
}

/* Trust pills nach Subtitle */
.yni-shop-header .trust {
  display: flex;
  flex-wrap: wrap;
  gap: 24px;
  align-items: center;
  margin-top: 20px;
  font-size: 12px;
  color: var(--text-muted);
}

/* Default WC products-header ausblenden (leer) */
.woocommerce-products-header {
  display: none !important;
}

/* === RESULT COUNT + SORT === */
.woocommerce-result-count {
  font-size: 11px !important;
  letter-spacing: 0.10em !important;
  text-transform: uppercase !important;
  color: var(--text-muted) !important;
  margin: 0 0 32px !important;
  padding: 12px 0 0 !important;
  font-weight: 400 !important;
}

.woocommerce-ordering {
  float: right !important;
  margin: 0 0 32px !important;
}
.woocommerce-ordering select {
  background: var(--bg-card) !important;
  color: var(--text-primary) !important;
  border: 1px solid var(--border) !important;
  padding: 11px 40px 11px 16px !important;
  font-family: var(--font-main) !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  letter-spacing: 0.02em !important;
  cursor: pointer !important;
  appearance: none !important;
  -webkit-appearance: none !important;
  border-radius: 0 !important;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'><path fill='%23E8762A' d='M5 6L0 0h10z'/></svg>") !important;
  background-repeat: no-repeat !important;
  background-position: right 16px center !important;
  transition: border-color 0.2s !important;
  min-width: 220px;
}
.woocommerce-ordering select:hover,
.woocommerce-ordering select:focus {
  border-color: var(--orange) !important;
  outline: none !important;
}

/* === PRODUCT GRID === */
.woocommerce ul.products,
.woocommerce-shop ul.products,
.post-type-archive-product ul.products {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 24px !important;
  margin: 16px 0 80px !important;
  padding: 0 !important;
  list-style: none !important;
  clear: both !important;
}

@media (max-width: 1000px) {
  .woocommerce ul.products {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}
@media (max-width: 600px) {
  .woocommerce ul.products {
    grid-template-columns: 1fr !important;
  }
}

/* === PRODUCT CARD === */
.woocommerce ul.products li.product {
  width: 100% !important;
  float: none !important;
  margin: 0 !important;
  padding: 0 !important;
  background: var(--bg-card) !important;
  border: 1px solid var(--border) !important;
  border-radius: 2px !important;
  text-align: left !important;
  position: relative !important;
  overflow: hidden !important;
  transition: border-color 0.3s, transform 0.3s, background 0.3s !important;
  display: flex !important;
  flex-direction: column !important;
}

.woocommerce ul.products li.product::before {
  content: '' !important;
  position: absolute !important;
  top: 0; left: 0; right: 0 !important;
  height: 2px !important;
  background: var(--orange) !important;
  transform: scaleX(0) !important;
  transform-origin: left !important;
  transition: transform 0.3s !important;
  z-index: 2 !important;
}

.woocommerce ul.products li.product:hover {
  border-color: rgba(232, 118, 42, 0.35) !important;
  background: var(--bg-elevated) !important;
  transform: translateY(-3px) !important;
}
.woocommerce ul.products li.product:hover::before {
  transform: scaleX(1) !important;
}

/* Card-Image-Container: einheitlich anthrazit, voll-Breite, quadratisch */
.woocommerce ul.products li.product a.woocommerce-loop-product__link {
  display: block !important;
  text-decoration: none !important;
  background: #1f1f1c !important;
  padding: 0 !important;
  margin: 0 !important;
  width: 100% !important;
  aspect-ratio: 1 / 1 !important;
  position: relative !important;
  overflow: hidden !important;
}
.woocommerce ul.products li.product img {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  margin: 0 !important;
  background: #1f1f1c !important;
  display: block !important;
  padding: 16px !important;
  box-sizing: border-box !important;
  max-width: none !important;
}

/* Card-Inhalte */
.woocommerce ul.products li.product .woocommerce-loop-product__title {
  font-size: 18px !important;
  font-weight: 400 !important;
  letter-spacing: -0.005em !important;
  color: var(--text-primary) !important;
  margin: 24px 24px 8px !important;
  padding: 0 !important;
  line-height: 1.3 !important;
  text-transform: none !important;
}

.woocommerce ul.products li.product .price {
  display: block !important;
  font-size: 22px !important;
  font-weight: 300 !important;
  color: var(--orange) !important;
  margin: 0 24px 24px !important;
  letter-spacing: -0.01em !important;
}
.woocommerce ul.products li.product .price ins {
  background: none !important;
  text-decoration: none !important;
  color: var(--orange) !important;
}
.woocommerce ul.products li.product .price del {
  color: var(--text-muted) !important;
  font-size: 16px !important;
  opacity: 0.7 !important;
  margin-right: 8px !important;
}

/* Card Add to Cart Button: TEAL filled */
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product a.add_to_cart_button {
  display: block !important;
  width: auto !important;
  margin: 0 24px 24px !important;
  padding: 12px 22px !important;
  font-family: var(--font-main) !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  letter-spacing: 0.10em !important;
  text-transform: uppercase !important;
  background: var(--teal) !important;
  color: #fff !important;
  border: 1px solid var(--teal) !important;
  border-radius: 0 !important;
  cursor: pointer !important;
  transition: background 0.2s, border-color 0.2s !important;
  text-decoration: none !important;
  line-height: 1.2 !important;
  text-align: center !important;
  min-height: auto !important;
  opacity: 1 !important;
}
.woocommerce ul.products li.product .button:hover,
.woocommerce ul.products li.product a.add_to_cart_button:hover {
  background: var(--teal-dim) !important;
  border-color: var(--teal-dim) !important;
  color: #fff !important;
  opacity: 1 !important;
}
.woocommerce ul.products li.product a.added_to_cart {
  display: inline-block !important;
  margin: 0 24px 24px !important;
  padding: 6px 0 !important;
  font-size: 11px !important;
  letter-spacing: 0.10em !important;
  text-transform: uppercase !important;
  color: var(--teal) !important;
  text-decoration: none !important;
  border-bottom: 1px solid var(--teal) !important;
}

/* === SINGLE PRODUCT PAGE === */
body.single-product .entry-content {
  max-width: var(--container) !important;
  margin: 0 auto !important;
  padding: 96px 24px 120px !important;
}

body.single-product .product {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 64px !important;
  align-items: start !important;
}

@media (max-width: 900px) {
  body.single-product .product {
    grid-template-columns: 1fr !important;
    gap: 32px !important;
  }
}

body.single-product .product > .woocommerce-product-gallery {
  background: #1f1f1c !important;
  padding: 24px !important;
  border: 1px solid var(--border) !important;
  width: 100% !important;
  margin: 0 !important;
  float: none !important;
}
body.single-product .product > .summary,
body.single-product .product .entry-summary {
  width: 100% !important;
  float: none !important;
  margin: 0 !important;
  padding: 0 !important;
  color: var(--text-primary) !important;
}
body.single-product .product h1.product_title {
  font-size: clamp(32px, 4.5vw, 44px) !important;
  font-weight: 300 !important;
  letter-spacing: -0.02em !important;
  margin: 0 0 16px !important;
  color: var(--text-primary) !important;
}
body.single-product .product .price,
body.single-product .product .summary .price,
body.single-product .product .entry-summary .price {
  font-size: 32px !important;
  color: var(--orange) !important;
  font-weight: 300 !important;
  margin: 0 0 28px !important;
  display: block;
}
body.single-product .product .woocommerce-product-details__short-description,
body.single-product .product .summary p,
body.single-product .product .entry-summary p {
  font-size: 15px !important;
  line-height: 1.7 !important;
  color: var(--text-secondary) !important;
  margin-bottom: 28px !important;
}

/* Quantity + Cart in einer Zeile */
body.single-product form.cart {
  display: flex !important;
  align-items: center !important;
  gap: 16px !important;
  margin: 0 0 32px !important;
}
body.single-product .quantity input[type="number"] {
  background: var(--bg-card) !important;
  color: var(--text-primary) !important;
  border: 1px solid var(--border) !important;
  padding: 14px 8px !important;
  width: 80px !important;
  height: auto !important;
  font-family: var(--font-main) !important;
  font-size: 14px !important;
  border-radius: 0 !important;
  text-align: center !important;
}

/* Single-Product Add-to-Cart Button — Override existing teal rule
   Wir behalten teal, aber kraeftiger */
body.single-product .woocommerce div.product form.cart .single_add_to_cart_button,
body.single-product .single_add_to_cart_button {
  background: var(--teal) !important;
  color: #fff !important;
  border: 1px solid var(--teal) !important;
  border-radius: 0 !important;
  padding: 16px 36px !important;
  font-family: var(--font-main) !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  letter-spacing: 0.10em !important;
  text-transform: uppercase !important;
  transition: background 0.2s, border-color 0.2s !important;
  height: auto !important;
  line-height: 1 !important;
  cursor: pointer !important;
  opacity: 1 !important;
}
body.single-product .woocommerce div.product form.cart .single_add_to_cart_button:hover,
body.single-product .single_add_to_cart_button:hover {
  background: var(--teal-dim) !important;
  border-color: var(--teal-dim) !important;
  opacity: 1 !important;
}

body.single-product .product_meta {
  font-size: 11px !important;
  letter-spacing: 0.10em !important;
  text-transform: uppercase !important;
  color: var(--text-muted) !important;
  margin-top: 32px !important;
  padding-top: 24px !important;
  border-top: 1px solid var(--border) !important;
}
body.single-product .product_meta a {
  color: var(--orange) !important;
  text-decoration: none !important;
}

/* === NOTICES === */
.woocommerce-notices-wrapper .woocommerce-message,
.woocommerce-notices-wrapper .woocommerce-info,
.woocommerce-notices-wrapper .woocommerce-error {
  background: var(--bg-card) !important;
  color: var(--text-primary) !important;
  border-left: 3px solid var(--teal) !important;
  padding: 16px 24px !important;
  margin-bottom: 24px !important;
  border-radius: 0 !important;
  list-style: none !important;
}
.woocommerce-notices-wrapper a.button {
  background: transparent !important;
  color: var(--teal) !important;
  border: 1px solid var(--teal) !important;
  padding: 8px 16px !important;
  font-size: 11px !important;
  letter-spacing: 0.10em !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  border-radius: 0 !important;
}
.woocommerce-notices-wrapper a.button:hover {
  background: var(--teal) !important;
  color: #fff !important;
}

/* === PAGINATION === */
.woocommerce-pagination {
  margin-top: 56px !important;
  text-align: center;
}
.woocommerce-pagination .page-numbers {
  list-style: none;
  display: inline-flex;
  gap: 4px;
  padding: 0;
  margin: 0;
}
.woocommerce-pagination .page-numbers li a,
.woocommerce-pagination .page-numbers li span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 40px;
  height: 40px;
  padding: 0 12px;
  background: var(--bg-card);
  border: 1px solid var(--border);
  color: var(--text-secondary);
  text-decoration: none;
  font-size: 13px;
  transition: border-color 0.2s, color 0.2s;
}
.woocommerce-pagination .page-numbers li a:hover {
  border-color: var(--orange);
  color: var(--orange);
}
.woocommerce-pagination .page-numbers li span.current {
  border-color: var(--orange);
  color: var(--orange);
}

/* === CART/CHECKOUT TABLES === */
.woocommerce table.shop_table {
  border: 1px solid var(--border) !important;
  background: var(--bg-card) !important;
  color: var(--text-primary) !important;
  border-collapse: collapse !important;
}
.woocommerce table.shop_table th,
.woocommerce table.shop_table td {
  border-color: var(--border) !important;
  padding: 16px !important;
  background: transparent !important;
  color: var(--text-primary) !important;
}
.woocommerce table.shop_table th {
  font-size: 11px !important;
  letter-spacing: 0.10em !important;
  text-transform: uppercase !important;
  color: var(--text-secondary) !important;
}
