/* ═══════════════════════════════════════════════════════
   SINGLE PRODUCT PAGE — matches Next.js ProductClient
   ═══════════════════════════════════════════════════════ */
.pp-product-page {
  background: #fff;
  min-height: 100vh;
}

/* Hide WC default elements we handle ourselves */
.pp-product-buybox .woocommerce-variation-price,
.pp-product-buybox .woocommerce-variation-availability,
.pp-product-buybox .stock,
.pp-product-page .woocommerce-breadcrumb,
.pp-product-page .woocommerce-product-gallery,
.pp-product-page .product_title,
.pp-product-page .woocommerce-product-rating,
.pp-product-page .woocommerce-tabs,
.pp-product-page > .product > .price {
  display: none !important;
}

/* ═══ NUCLEAR BUTTON OVERRIDE ═══ 
   Force golden accent on ALL single product add-to-cart buttons 
   Specificity must beat woo-style.css: .woocommerce button.button.alt {!important} */
.woocommerce.single-product .pp-product-buybox button.button.alt.single_add_to_cart_button,
.woocommerce .pp-product-page .pp-product-buybox button.button.alt,
.woocommerce .pp-product-buybox button.single_add_to_cart_button,
.woocommerce .pp-product-buybox .button.alt,
.woocommerce .pp-buybox-atc button.button.alt,
body.single-product .pp-product-page button.button.alt.single_add_to_cart_button,
.pp-product-page .pp-product-buybox button.button.alt,
.pp-product-page button.single_add_to_cart_button {
  flex: 1 !important;
  height: 48px !important;
  min-height: 48px !important;
  border-radius: 10px !important;
  background: var(--pp-accent) !important;
  background-color: var(--pp-accent) !important;
  color: #fff !important;
  padding: 0 28px !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  letter-spacing: .02em !important;
  text-transform: none !important;
  border: 0 !important;
  cursor: pointer !important;
  transition: all .2s !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  box-shadow: 0 2px 8px rgba(194,151,101,.3) !important;
  line-height: 1 !important;
}

.woocommerce.single-product .pp-product-buybox button.button.alt.single_add_to_cart_button:hover,
.woocommerce .pp-product-page .pp-product-buybox button.button.alt:hover,
.woocommerce .pp-product-buybox button.single_add_to_cart_button:hover,
.pp-product-page .pp-product-buybox button.button.alt:hover {
  filter: brightness(1.08) !important;
  background: var(--pp-accent) !important;
  background-color: var(--pp-accent) !important;
  box-shadow: 0 4px 16px rgba(194,151,101,.4) !important;
  color: #fff !important;
}

.pp-product-page .single_add_to_cart_button:active,
.pp-product-buybox .single_add_to_cart_button:active {
  transform: scale(.98) !important;
}

/* Cart icon before button text */
.pp-product-page .single_add_to_cart_button::before,
.pp-product-buybox .single_add_to_cart_button::before {
  content: '';
  display: inline-block;
  width: 18px;
  height: 18px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='white' stroke-width='2'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M3 3h2l.4 2M7 13h10l4-8H5.4M7 13L5.4 5M7 13l-2.293 2.293c-.63.63-.184 1.707.707 1.707H17m0 0a2 2 0 100 4 2 2 0 000-4zm-8 2a2 2 0 11-4 0 2 2 0 014 0z'/%3E%3C/svg%3E");
  background-size: contain;
  background-repeat: no-repeat;
  flex-shrink: 0;
}

/* Force cart form layout in buybox */
.pp-product-buybox form.cart,
.pp-buybox-atc form.cart {
  display: flex !important;
  align-items: stretch !important;
  gap: 12px !important;
  margin: 0 !important;
  flex-wrap: wrap !important;
}

/* Quantity inside buybox */
.pp-product-buybox .quantity,
.pp-buybox-atc .quantity {
  display: contents !important;
}

.pp-product-buybox .quantity input[type="number"],
.pp-buybox-atc .quantity input[type="number"] {
  width: 44px !important;
  height: 48px !important;
  text-align: center !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  color: #111827 !important;
  border: 0 !important;
  border-left: 1px solid #e5e7eb !important;
  border-right: 1px solid #e5e7eb !important;
  background: #fff !important;
  outline: none !important;
  -moz-appearance: textfield !important;
  padding: 0 !important;
}

/* Variation selectors inside buybox */
.pp-product-buybox .variations,
.pp-buybox-atc .variations {
  width: 100% !important;
  margin-bottom: 12px !important;
}

.pp-product-buybox .variations th,
.pp-product-buybox .variations td {
  display: block !important;
  padding: 0 0 8px !important;
  text-align: left !important;
}

.pp-product-buybox .variations select {
  width: 100% !important;
  min-height: 42px !important;
  border: 1px solid #e5e7eb !important;
  border-radius: 8px !important;
  padding: 0 12px !important;
  font-size: 14px !important;
  color: #111827 !important;
  background: #fff !important;
}

.pp-product-buybox .reset_variations {
  font-size: 12px !important;
  color: #9ca3af !important;
}

/* ── Breadcrumb ── */
.pp-product-breadcrumb {
  background: #fff;
  border-bottom: 1px solid #f3f4f6;
}

.pp-product-breadcrumb .pp-container {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 14px 0;
  color: #9ca3af;
  font-size: 13px;
}

.pp-product-breadcrumb a {
  color: #9ca3af;
  text-decoration: none;
  transition: color .2s;
}

.pp-product-breadcrumb a:hover {
  color: var(--pp-accent);
}

.pp-product-breadcrumb svg {
  flex-shrink: 0;
  color: #d1d5db;
}

.pp-bc-current {
  color: #374151;
  font-weight: 500;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 300px;
}

/* ── Main Grid ── */
.pp-product-main {
  padding: 40px 0 56px;
}

.pp-product-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(360px, 500px);
  gap: 40px 56px;
  align-items: start;
}

/* ── Gallery ── */
.pp-product-gallery {
  position: relative;
}

.pp-gallery-counter {
  position: absolute;
  top: 14px;
  left: 14px;
  z-index: 10;
  background: rgba(17,24,39,.7);
  color: #fff;
  padding: 4px 10px;
  border-radius: 6px;
  font-size: 12px;
  font-weight: 700;
  backdrop-filter: blur(4px);
}

.pp-product-gallery__sale {
  position: absolute;
  top: 14px;
  right: 14px;
  z-index: 10;
  background: #ef4444;
  color: #fff;
  padding: 5px 12px;
  border-radius: 6px;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .04em;
  box-shadow: 0 2px 8px rgba(239,68,68,.3);
}

.pp-product-gallery__bware {
  position: absolute;
  top: 14px;
  right: 14px;
  z-index: 10;
  background: #dc2626;
  color: #fff;
  padding: 5px 12px;
  border-radius: 4px;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .06em;
  box-shadow: 0 2px 8px rgba(220,38,38,.35);
}

.pp-product-gallery__main {
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  background: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  overflow: hidden;
  min-height: 400px;
}

.pp-product-gallery__main img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  padding: 24px;
  max-height: 580px;
}

.pp-gallery-hint {
  position: absolute;
  bottom: 10px;
  right: 14px;
  color: #9ca3af;
  font-size: 11px;
  font-style: italic;
}

.pp-product-gallery__thumbs {
  display: flex;
  gap: 10px;
  margin-top: 12px;
}

.pp-gallery-thumb {
  width: 72px;
  height: 72px;
  border: 2px solid #e5e7eb;
  border-radius: 8px;
  padding: 0;
  cursor: pointer;
  background: #fff;
  overflow: hidden;
  transition: border-color .2s ease;
  flex-shrink: 0;
}

.pp-gallery-thumb img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  padding: 6px;
}

.pp-gallery-thumb.is-active {
  border-color: var(--pp-accent);
}

.pp-gallery-thumb:hover {
  border-color: rgba(194,151,101,.5);
}

/* ── Summary (Right Side) ── */
.pp-product-summary h1 {
  margin: 0 0 12px;
  color: #111827;
  font-size: clamp(24px, 3.5vw, 32px);
  font-weight: 700;
  line-height: 1.2;
}

/* Meta Row: Pills + Live viewers */
.pp-product-meta-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
  margin-bottom: 24px;
}

.pp-product-pills {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
}

.pp-pill {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 5px 10px;
  border-radius: 6px;
  font-size: 12px;
  font-weight: 600;
  text-decoration: none;
}

.pp-pill em {
  font-style: normal;
  font-size: 10px;
  opacity: .6;
}

.pp-pill--metal { background: #f1f5f9; color: #475569; }
.pp-pill--metal.pp-metal--platin { background: #f1f5f9; color: #475569; }
.pp-pill--metal.pp-metal--gold { background: #fef9c3; color: #854d0e; }
.pp-pill--metal.pp-metal--silber { background: #f3f4f6; color: #4b5563; }
.pp-pill--metal.pp-metal--palladium { background: #eff6ff; color: #1d4ed8; }

.pp-pill--weight { background: #f3f4f6; color: #4b5563; }
.pp-pill--year { background: #eff6ff; color: #2563eb; }
.pp-pill--series {
  background: rgba(194,151,101,.08);
  color: var(--pp-accent);
  transition: background .2s;
}
.pp-pill--series:hover {
  background: rgba(194,151,101,.15);
}

/* Live viewers */
.pp-product-live {
  display: flex;
  align-items: center;
  gap: 6px;
  color: #6b7280;
  font-size: 13px;
  position: relative;
  padding-left: 14px;
}

.pp-live-dot,
.pp-live-dot-ping {
  position: absolute;
  left: 0;
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background: #22c55e;
}

.pp-live-dot-ping {
  animation: pp-ping 1.5s cubic-bezier(0,.5,.5,1) infinite;
  opacity: .75;
}

@keyframes pp-ping {
  75%, 100% { transform: scale(2.2); opacity: 0; }
}

.pp-product-live strong {
  color: #374151;
}

/* ── Unified Buy Box ── */
.pp-product-buybox {
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  box-shadow: 0 1px 3px rgba(0,0,0,.04);
  overflow: hidden;
  margin-bottom: 16px;
}

.pp-buybox-price {
  padding: 20px 20px 16px;
}

.pp-pricebox-top {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  margin-bottom: 6px;
}

.pp-pricebox-left {
  display: flex;
  align-items: baseline;
  gap: 10px;
  flex-wrap: wrap;
}

.pp-price-prefix {
  color: #9ca3af;
  font-size: 18px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .05em;
}

.pp-price-main .woocommerce-Price-amount,
.pp-price-main .price,
.pp-price-main bdi {
  color: #111827;
  font-size: clamp(28px, 4vw, 38px);
  font-weight: 900;
  letter-spacing: -.02em;
  line-height: 1;
}

.pp-price-main del .woocommerce-Price-amount,
.pp-price-main del bdi {
  color: #d1d5db;
  font-size: 18px;
  font-weight: 600;
}

.pp-price-main ins {
  text-decoration: none;
}

.pp-price-sale-badge {
  display: inline-flex;
  align-items: center;
  padding: 4px 10px;
  border-radius: 6px;
  background: #ef4444;
  color: #fff;
  font-size: 12px;
  font-weight: 800;
}

/* Stock status inline */
.pp-pricebox-stock {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 13px;
  flex-shrink: 0;
  margin-bottom: 4px;
}

.pp-stock-dot {
  width: 6px;
  height: 6px;
  border-radius: 999px;
  background: #22c55e;
  flex-shrink: 0;
}

.pp-pricebox-stock.is-out .pp-stock-dot {
  background: #ef4444;
}

.pp-stock-label {
  font-weight: 600;
  color: #16a34a;
}

.pp-pricebox-stock.is-out .pp-stock-label {
  color: #dc2626;
}

.pp-stock-delivery {
  color: #9ca3af;
}

.pp-price-tax {
  margin: 0;
  color: #9ca3af;
  font-size: 12px;
}

/* Cart area inside buybox */
.pp-buybox-atc {
  padding: 0 20px 16px;
  border-top: 1px solid #f3f4f6;
  padding-top: 16px;
}

.pp-buybox-atc form.cart,
.pp-purchase-atc form.cart {
  margin: 0;
  width: 100%;
}

.pp-purchase-atc form.cart:not(.variations_form),
.pp-buybox-atc form.cart:not(.variations_form),
.pp-purchase-atc .woocommerce-variation-add-to-cart,
.pp-buybox-atc .woocommerce-variation-add-to-cart {
  display: flex !important;
  align-items: stretch;
  gap: 12px;
  width: 100%;
}

/* Quantity stepper */
.pp-qty-stepper {
  display: inline-flex;
  align-items: center;
  background: #f9fafb;
  border: 1px solid #e5e7eb;
  border-radius: 10px;
  overflow: hidden;
  flex-shrink: 0;
}

.pp-qty-btn {
  width: 40px;
  height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 0;
  background: transparent;
  color: #6b7280;
  cursor: pointer;
  transition: all .15s;
}

.pp-qty-btn:hover {
  color: #111827;
  background: #f3f4f6;
}

.pp-qty-btn:active {
  transform: scale(.9);
}

.pp-qty-btn[disabled] {
  opacity: 0.5;
  cursor: not-allowed;
}

.pp-buybox-atc .quantity input[type="number"],
.pp-purchase-atc .quantity input[type="number"],
.pp-qty-stepper input[type="number"],
.pp-qty-display {
  width: 44px !important;
  height: 48px !important;
  text-align: center;
  font-size: 14px;
  font-weight: 700;
  color: #111827;
  border: 0;
  border-left: 1px solid #e5e7eb;
  border-right: 1px solid #e5e7eb;
  background: #fff;
  outline: none;
  -moz-appearance: textfield;
  appearance: textfield;
  padding: 0;
  display: block !important;
}

/* Hidden inputs (WC variable products before variation selected) — show "1" placeholder */
.pp-qty-stepper input[type="hidden"] {
  display: none;
}

.pp-qty-stepper input.qty::-webkit-inner-spin-button,
.pp-qty-stepper input.qty::-webkit-outer-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

.pp-buybox-atc .quantity input[type="number"]::-webkit-inner-spin-button,
.pp-buybox-atc .quantity input[type="number"]::-webkit-outer-spin-button,
.pp-purchase-atc .quantity input[type="number"]::-webkit-inner-spin-button,
.pp-purchase-atc .quantity input[type="number"]::-webkit-outer-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

/* Hide the default WC quantity wrapper border */
.pp-buybox-atc .quantity,
.pp-purchase-atc .quantity {
  display: contents;
}

/* Add to Cart button — golden accent */
.pp-buybox-atc .single_add_to_cart_button,
.pp-purchase-atc .single_add_to_cart_button {
  flex: 1 1 100%;
  width: 100%;
  max-width: 100%;
  height: 48px;
  border-radius: 10px !important;
  background: var(--pp-accent) !important;
  color: #fff !important;
  padding: 0 28px !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  letter-spacing: .02em;
  border: 0 !important;
  cursor: pointer;
  transition: all .2s;
  display: flex !important;
  align-items: center;
  justify-content: center;
  gap: 8px;
  box-shadow: 0 2px 8px rgba(194,151,101,.3);
}

.pp-buybox-atc .single_add_to_cart_button:hover,
.pp-purchase-atc .single_add_to_cart_button:hover {
  filter: brightness(1.08);
  box-shadow: 0 4px 16px rgba(194,151,101,.4);
}

.pp-buybox-atc .single_add_to_cart_button:active,
.pp-purchase-atc .single_add_to_cart_button:active {
  transform: scale(.98);
}

.pp-buybox-atc .single_add_to_cart_button.is-loading,
.pp-purchase-atc .single_add_to_cart_button.is-loading {
  opacity: 0.8;
  cursor: wait;
}
.pp-buybox-atc .single_add_to_cart_button svg.pp-spinner,
.pp-purchase-atc .single_add_to_cart_button svg.pp-spinner {
  animation: pp-spin 1s linear infinite;
}
@keyframes pp-spin {
  from { transform: rotate(0deg); }
  to { transform: rotate(360deg); }
}

/* Variation selectors inside buy box */
.pp-buybox-atc .variations,
.pp-purchase-atc .variations,
.pp-buybox-atc .single_variation_wrap,
.pp-purchase-atc .single_variation_wrap {
  width: 100%;
  margin-bottom: 12px;
}

.pp-buybox-atc .variations tr,
.pp-purchase-atc .variations tr {
  display: flex;
  flex-direction: column;
  position: relative;
}

.pp-buybox-atc .variations th,
.pp-purchase-atc .variations th {
  padding: 0 0 10px;
  text-align: left;
}

.pp-buybox-atc .variations td,
.pp-purchase-atc .variations td {
  padding: 0 0 12px;
  text-align: left;
}

.pp-buybox-atc .variations th label,
.pp-purchase-atc .variations th label {
  font-size: 14px;
  font-weight: 600;
  color: #374151;
}

.pp-buybox-atc .variations select,
.pp-purchase-atc .variations select {
  width: 100%;
  min-height: 42px;
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  padding: 0 12px;
  font-size: 14px;
  color: #111827;
  background: #fff;
}

.pp-buybox-atc .reset_variations,
.pp-purchase-atc .reset_variations {
  display: flex !important; /* using important just in case WC overrides */
  position: absolute;
  top: 2px;
  right: 0;
  font-size: 12px;
  color: #9ca3af;
  text-decoration: none;
  font-weight: 500;
}
.pp-buybox-atc .reset_variations[style*="visibility: hidden"],
.pp-purchase-atc .reset_variations[style*="visibility: hidden"],
.pp-buybox-atc .reset_variations[style*="display: none"],
.pp-purchase-atc .reset_variations[style*="display: none"] {
  display: none !important;
}

/* Wishlist / Compare row */
.pp-purchase-actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  border-top: 1px solid #f3f4f6;
}

.pp-action-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 12px;
  border: 0;
  background: transparent;
  color: #6b7280;
  font-size: 13px;
  font-weight: 500;
  cursor: pointer;
  transition: all .2s;
}
/* WooCommerce Notices (Modern & Clean) */
.woocommerce-notices-wrapper {
  width: 100%;
  margin-bottom: 24px;
}

.woocommerce-message,
.woocommerce-error,
.woocommerce-info {
  padding: 0 !important;
  background: #f8fafc !important;
  border: 1px solid #e2e8f0 !important;
  border-left: 4px solid #10b981 !important;
  border-radius: 8px !important;
  color: #334155 !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05) !important;
  margin: 0 !important;
  list-style: none !important;
}

/* For <div> based notices (our AJAX-generated ones) */
div.woocommerce-message,
div.woocommerce-info {
  display: flex !important;
  align-items: center;
  flex-wrap: wrap;
  gap: 16px;
  padding: 14px 20px !important;
}

/* For <ul><li> based notices (WooCommerce core) */
ul.woocommerce-error,
ul.woocommerce-message,
ul.woocommerce-info {
  padding: 0 !important;
}

ul.woocommerce-error::before,
ul.woocommerce-message::before,
ul.woocommerce-info::before {
  display: none !important;
}

.woocommerce-error li,
.woocommerce-message li,
.woocommerce-info li {
  display: flex !important;
  align-items: center;
  flex-wrap: wrap;
  gap: 16px;
  padding: 14px 20px !important;
  list-style: none !important;
}

.woocommerce-error {
  border-left-color: #ef4444 !important;
}

.woocommerce-info {
  border-left-color: #3b82f6 !important;
}

/* Notice Button (e.g. 'Warenkorb anzeigen') — always right-aligned */
.woocommerce-message .button,
.woocommerce-error .button,
.woocommerce-info .button,
.woocommerce-message .wc-forward,
.woocommerce-error .wc-forward,
.woocommerce-info .wc-forward {
  margin-left: auto !important;
  background: #fff !important;
  color: #0f172a !important;
  border: 1px solid #cbd5e1 !important;
  padding: 8px 16px !important;
  border-radius: 6px !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  transition: all .2s !important;
  white-space: nowrap;
  line-height: 1.4 !important;
}

.woocommerce-message .button:hover,
.woocommerce-error .button:hover,
.woocommerce-info .button:hover {
  background: #f1f5f9 !important;
  border-color: #94a3b8 !important;
}


/* ═══ Related Products & Details ═══ */
.pp-product-details,
.pp-related-products {
  padding: 56px 0;
  border-top: 1px solid var(--pp-line-soft);
  background: #f9fafb;
}

/* ═══════════════════════════════════════════════
   Tabbed Product Details (Next.js ProductTabs)
   ═══════════════════════════════════════════════ */
/* ── Product Details: 2-Column Layout ── */
.pp-product-details-section {
  padding: 56px 0;
  background: #f9fafb;
  border-top: 1px solid var(--pp-line-soft);
}

.pp-details-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 380px;
  gap: 24px;
  align-items: start;
}

.pp-details-card {
  background: #fff;
  border-radius: 12px;
  border: 1px solid #e5e7eb;
  box-shadow: 0 1px 3px rgba(0,0,0,.04);
  padding: 28px 32px;
  min-width: 0;
  overflow: hidden;
}

.pp-details-card h3 {
  margin: 0 0 20px;
  color: #111827;
  font-size: 17px;
  font-weight: 700;
  display: flex;
  align-items: center;
  gap: 8px;
}

.pp-details-card h3::before {
  content: '';
  width: 3px;
  height: 17px;
  background: var(--pp-accent);
  border-radius: 2px;
  flex-shrink: 0;
}

.pp-details-right {
  display: flex;
  flex-direction: column;
  gap: 20px;
  position: sticky;
  top: 100px;
}

/* Shipping compact rows */
.pp-shipping-compact {
  display: flex;
  flex-direction: column;
  gap: 0;
}

.pp-ship-row {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 14px 0;
  border-bottom: 1px solid #f3f4f6;
}

.pp-ship-row:last-child {
  border-bottom: 0;
  padding-bottom: 0;
}

.pp-ship-row:first-child {
  padding-top: 0;
}

.pp-ship-row svg {
  flex-shrink: 0;
  opacity: .85;
}

.pp-ship-row strong {
  display: block;
  color: #111827;
  font-size: 13px;
  font-weight: 600;
}

.pp-ship-row span {
  color: #9ca3af;
  font-size: 12px;
}



.pp-product-description {
  color: #4b5563;
  line-height: 1.75;
  font-size: 15px;
  max-width: 100%;
  overflow: hidden;
  overflow-wrap: break-word;
  word-break: break-word;
}

.pp-product-description p {
  margin: 0 0 16px;
}

.pp-product-description h2 {
  margin: 24px 0 12px;
  color: #111827;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.3;
}

.pp-product-description h3 {
  margin: 20px 0 10px;
  color: #111827;
  font-size: 17px;
  font-weight: 700;
  line-height: 1.3;
}

.pp-product-description h4 {
  margin: 16px 0 8px;
  color: #111827;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.3;
}

.pp-product-description ul,
.pp-product-description ol {
  margin: 0 0 16px;
  padding-left: 24px;
}

.pp-product-description ul {
  list-style: disc;
}

.pp-product-description ol {
  list-style: decimal;
}

.pp-product-description li {
  margin-bottom: 6px;
  line-height: 1.6;
}

.pp-product-description strong,
.pp-product-description b {
  color: #111827;
  font-weight: 700;
}

.pp-product-description em,
.pp-product-description i {
  font-style: italic;
}

.pp-product-description a {
  color: var(--pp-accent);
  text-decoration: underline;
  text-decoration-color: rgba(194,151,101,.3);
  transition: text-decoration-color .2s;
}

.pp-product-description a:hover {
  text-decoration-color: var(--pp-accent);
}

.pp-product-description blockquote {
  margin: 16px 0;
  padding: 12px 20px;
  border-left: 3px solid var(--pp-accent);
  background: #f9fafb;
  color: #374151;
  font-style: italic;
}

.pp-product-description img {
  max-width: 100%;
  height: auto;
  border-radius: 8px;
  margin: 12px 0;
}

.pp-product-description table {
  width: 100%;
  max-width: 100%;
  border-collapse: collapse;
  margin: 16px 0;
  font-size: 14px;
  display: block;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

.pp-product-description th,
.pp-product-description td {
  padding: 8px 12px;
  border: 1px solid #e5e7eb;
  text-align: left;
}

.pp-product-description th {
  background: #f9fafb;
  font-weight: 700;
  color: #111827;
}

.pp-tab-highlight {
  margin: 20px 0;
  padding: 16px;
  background: #f9fafb;
  border: 1px solid #f3f4f6;
  border-radius: 8px;
}

.pp-tab-highlight h4 {
  margin: 0 0 8px;
  color: #111827;
  font-size: 14px;
  font-weight: 700;
}

.pp-tab-highlight p {
  margin: 0;
  color: #4b5563;
  font-size: 14px;
}

.pp-tab-features {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  margin-top: 20px;
}

.pp-tab-feature {
  display: flex;
  align-items: flex-start;
  gap: 8px;
}

.pp-tab-feature svg,
.pp-tab-feature .material-symbols-outlined {
  color: var(--pp-accent);
  font-size: 20px;
  margin-top: 2px;
  flex-shrink: 0;
}

.pp-tab-feature strong {
  display: block;
  color: #111827;
  font-size: 14px;
  font-weight: 600;
}

.pp-tab-feature span {
  color: #6b7280;
  font-size: 12px;
}

/* Specifications tab  */
.pp-specs-list {
  display: grid;
  gap: 8px;
}

.pp-specs-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 16px;
  background: #f9fafb;
  border: 1px solid #f3f4f6;
  border-radius: 8px;
}

.pp-specs-row span {
  color: #6b7280;
  font-size: 14px;
  font-weight: 500;
}

.pp-specs-row strong {
  color: #111827;
  font-size: 14px;
  font-weight: 700;
}

/* Specifications list (compact for sidebar) */
.pp-specs-row {
  padding: 10px 0;
  background: transparent;
  border: 0;
  border-bottom: 1px solid #f3f4f6;
  border-radius: 0;
}

.pp-specs-row:last-child {
  border-bottom: 0;
}

.pp-specs-row span {
  font-size: 13px;
}

.pp-specs-row strong {
  font-size: 13px;
  text-align: right;
}


/* Related products */
.pp-related-products .related.products > h2 {
  display: none;
}

.pp-related-products .related.products ul.products {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 16px;
  list-style: none;
  padding: 0;
  margin: 0;
}

/* ── Responsive Single Product ── */
@media (max-width: 1024px) {
  .pp-product-grid {
    grid-template-columns: 1fr;
    gap: 32px;
  }
  .pp-trust-grid {
    grid-template-columns: repeat(3, 1fr);
  }
  .pp-related-products .related.products ul.products {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media (max-width: 640px) {
  .pp-product-meta-row {
    flex-direction: column;
    align-items: flex-start;
  }
  .pp-pricebox-top {
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
  }
  .pp-product-specs {
    grid-template-columns: 1fr;
  }
  .pp-tab-features {
    grid-template-columns: 1fr;
  }
  .pp-related-products .related.products ul.products {
    grid-template-columns: repeat(2, 1fr);
  }
}





/* ═══════════════════════════════════════════════
   B-Ware Accordion (collapsed by default)
   ═══════════════════════════════════════════════ */
.pp-bware-accordion {
  margin: 0 0 24px;
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  overflow: hidden;
}

.pp-bware-accordion__toggle {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  padding: 18px 24px;
  background: none;
  border: none;
  cursor: pointer;
  font-family: inherit;
}

.pp-bware-accordion__left {
  display: flex;
  align-items: center;
  gap: 12px;
}

.pp-bware-accordion__left .material-symbols-outlined {
  font-size: 20px;
  color: #9ca3af;
}

.pp-bware-accordion__left strong {
  font-size: 14px;
  font-weight: 600;
  color: #111827;
}

.pp-bware-accordion__chevron {
  color: #9ca3af;
  transition: transform .25s ease;
  flex-shrink: 0;
}

.pp-bware-accordion__toggle.is-open .pp-bware-accordion__chevron {
  transform: rotate(180deg);
}

.pp-bware-accordion__body {
  padding: 0 24px 20px;
  border-top: 1px solid #f3f4f6;
}

.pp-bware-accordion__body p {
  margin: 16px 0 0;
  font-size: 13px;
  line-height: 1.7;
  color: #6b7280;
}

@media (max-width: 640px) {
  .pp-bware-accordion__toggle {
    padding: 14px 18px;
  }
  .pp-bware-accordion__body {
    padding: 0 18px 16px;
  }
}

/* Legacy B-Ware notice (keep for backwards compat) */
.pp-bware-notice {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  padding: 20px 24px;
  margin: 0 0 32px;
  background: linear-gradient(135deg, rgba(194,151,101,0.06), rgba(194,151,101,0.02));
  border: 1px solid rgba(194,151,101,0.2);
  border-left: 4px solid var(--pp-accent);
  border-radius: 10px;
}

.pp-bware-notice__icon {
  flex-shrink: 0;
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(194,151,101,0.12);
  border-radius: 10px;
  color: var(--pp-accent);
}

.pp-bware-notice__icon .material-symbols-outlined {
  font-size: 22px;
}

.pp-bware-notice__content strong {
  display: block;
  font-size: 14px;
  font-weight: 700;
  color: #111827;
  margin-bottom: 6px;
}

.pp-bware-notice__content p {
  margin: 0;
  font-size: 13px;
  line-height: 1.6;
  color: #6b7280;
}

@media (max-width: 640px) {
  .pp-bware-notice {
    flex-direction: column;
    gap: 12px;
    padding: 16px 18px;
  }
}


/* ═══════════════════════════════════════════════
   WooCommerce Germanized Integration
   ═══════════════════════════════════════════════ */

/* Style the Germanized legal-price-info inside buybox */
.pp-buybox-atc .legal-price-info {
  margin: 8px 0 0;
}
.pp-buybox-atc .legal-price-info p {
  margin: 0;
  font-size: 12px;
  line-height: 1.5;
  color: #6b7280;
}
.pp-buybox-atc .legal-price-info a {
  color: #6b7280;
  text-decoration: underline;
}
.pp-buybox-atc .legal-price-info a:hover {
  color: var(--pp-accent);
}

/* Hide Germanized's bottom delivery time (we show it in the stock badge) */
.pp-buybox-atc .delivery-time-info {
  display: none !important;
}

/* Hide the empty unit placeholder */
.pp-buybox-atc .product-units-wrapper[aria-hidden="true"] {
  display: none !important;
}

/* Hide defect description placeholder */
.pp-buybox-atc .defect-description[aria-hidden="true"] {
  display: none !important;
}

/* Style the pp-price-tax link */
.pp-price-tax a {
  color: inherit;
  text-decoration: underline;
  text-decoration-color: rgba(107,114,128,.4);
}
.pp-price-tax a:hover {
  color: var(--pp-accent);
  text-decoration-color: var(--pp-accent);
}

