/* ============================================================
   Tillex — WooCommerce styling
   Restyles WooCommerce's default markup to match the Tillex
   product-card and product-detail design. Loaded only when
   WooCommerce is active (see functions.php).
   ============================================================ */

/* Archive wrapper: WooCommerce output sits inside .tlx-container from the template. */
.woocommerce-products-header,
.woocommerce-result-count,
.woocommerce-ordering { margin-bottom: 16px; }

.woocommerce-result-count { color: var(--text-muted); font-size: 14px; }
.woocommerce-ordering select {
  height: 40px; border: 1px solid var(--border-strong); border-radius: var(--radius-md);
  padding: 0 12px; font-size: 14px; background: #fff;
}

.woocommerce-breadcrumb {
  font-size: 13px; color: var(--text-muted); margin-bottom: 20px;
}
.woocommerce-breadcrumb a { color: var(--ink-600); }

/* ---- Product grid ---- */
.woocommerce ul.products,
.woocommerce-page ul.products {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
  gap: 18px;
  margin: 0 0 32px;
  padding: 0;
  list-style: none;
}
.woocommerce ul.products::before,
.woocommerce ul.products::after { content: none !important; display: none !important; }

.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
  width: auto !important;
  margin: 0 !important;
  float: none !important;
  display: flex !important;
  flex-direction: column;
  background: #fff;
  border: 1px solid var(--border-default);
  border-radius: var(--radius-md);
  overflow: hidden;
  box-shadow: var(--shadow-xs);
  padding: 0;
  transition: box-shadow var(--dur-base) var(--ease-standard);
}
.woocommerce ul.products li.product:hover { box-shadow: var(--shadow-md); }

.woocommerce ul.products li.product a.woocommerce-LoopProduct-link {
  display: flex; flex-direction: column; height: 100%;
}
.woocommerce ul.products li.product img {
  margin: 0 !important;
  aspect-ratio: 1;
  object-fit: contain;
  background: #fff;
  padding: 18px;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title {
  padding: 16px 18px 4px;
  font-size: 17px !important;
  font-weight: 700;
  color: #000;
  letter-spacing: -0.01em;
  border-top: 1px solid var(--border-default);
}
.woocommerce ul.products li.product .price { display: none; } /* catalog mode */

/* "Læs mere" / read-more link styled as a quiet CTA */
.woocommerce ul.products li.product .button,
.woocommerce a.button {
  align-self: flex-start;
  margin: 0 18px 18px;
  display: inline-flex; align-items: center; justify-content: center;
  height: var(--control-h-sm); padding: 0 16px;
  background: #fff; color: #000; border: 1px solid var(--border-strong);
  border-radius: var(--radius-md);
  font-weight: 700; font-size: 13px; text-transform: uppercase; letter-spacing: .06em;
}
.woocommerce ul.products li.product .button:hover,
.woocommerce a.button:hover { background: var(--tillex-yellow); border-color: var(--tillex-yellow); color: #000; }

/* ============================================================
   SINGLE PRODUCT
   ============================================================ */
.woocommerce div.product {
  display: flex; flex-wrap: wrap; gap: 48px; align-items: flex-start;
}
.woocommerce div.product div.images {
  flex: 1 1 340px; min-width: 280px; margin: 0;
  border: 1px solid var(--border-default); border-radius: var(--radius-md);
  overflow: hidden; background: #fff;
}
.woocommerce div.product div.images img { border-radius: 0; }
.woocommerce div.product div.summary {
  flex: 1 1 360px; min-width: 280px; margin: 0;
}
.woocommerce div.product .product_title {
  font-size: clamp(30px, 4.6vw, 48px); letter-spacing: -0.02em; font-weight: 700; margin: 6px 0 16px;
}
.woocommerce div.product p.price,
.woocommerce div.product .price { display: none; } /* catalog mode */
.woocommerce div.product .woocommerce-product-details__short-description {
  font-weight: 300; font-size: 18px; line-height: 1.6; color: var(--text-body); max-width: 56ch;
}
.woocommerce div.product form.cart,
.woocommerce div.product .stock,
.woocommerce div.product .cart { display: none; } /* catalog mode: no purchase UI */

.woocommerce div.product .product_meta {
  font-size: 13px; color: var(--text-muted); border-top: 1px solid var(--border-default);
  margin-top: 24px; padding-top: 16px;
}

/* Tabs (description / additional info) */
.woocommerce div.product .woocommerce-tabs { width: 100%; margin-top: clamp(40px, 6vw, 64px); }
.woocommerce div.product .woocommerce-tabs ul.tabs {
  border-bottom: 1px solid var(--border-default); padding: 0; margin: 0 0 24px;
}
.woocommerce div.product .woocommerce-tabs ul.tabs::before { border: 0; }
.woocommerce div.product .woocommerce-tabs ul.tabs li {
  background: transparent; border: 0; border-radius: 0; margin: 0 20px 0 0; padding: 12px 0;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after { border: 0 !important; box-shadow: none !important; }
.woocommerce div.product .woocommerce-tabs ul.tabs li a {
  font-weight: 700; font-size: 12px; letter-spacing: .1em; text-transform: uppercase; color: var(--text-muted); padding: 0;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a { color: #000; }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active {
  border-bottom: 2px solid var(--tillex-yellow);
}

/* Related products heading */
.woocommerce .related > h2, .woocommerce .upsells > h2 {
  font-size: clamp(24px, 3.4vw, 36px); margin-bottom: 24px;
}

/* Woo notices toned down (rarely shown in catalog mode) */
.woocommerce-message, .woocommerce-info { border-top-color: var(--tillex-yellow); }
