/* =========================================================================
   Product page only — enqueued solely on is_product() (see inc/enqueue.php).
   Restyles WooCommerce's OWN gallery/price/variation/add-to-cart markup to
   match the design system, rather than reimplementing that logic in custom
   HTML — those controls drive real stock/variation/cart behavior and must
   stay wired to WooCommerce's JS (zoom, lightbox, AJAX add-to-cart).
   ========================================================================= */

.pdp-layout{display:grid; grid-template-columns:1fr 1fr; gap:60px; padding:36px 0 70px;}
@media (max-width:900px){ .pdp-layout{grid-template-columns:1fr; gap:32px;} }

/* ---- Gallery (WooCommerce default markup, restyled) ---- */
.woocommerce-product-gallery__wrapper{margin:0;}
.woocommerce-product-gallery__image{border-radius:var(--radius-lg); overflow:hidden; background:var(--bg-alt); margin-bottom:14px;}
.woocommerce-product-gallery__image img{width:100%; aspect-ratio:1/1; object-fit:cover;}
ul.flex-control-thumbs{display:flex; gap:10px; list-style:none; margin:0; padding:0; flex-wrap:wrap;}
ul.flex-control-thumbs li{width:76px; height:76px; list-style:none;}
ul.flex-control-thumbs img{
  width:100%; height:100%; object-fit:cover; border-radius:10px; cursor:pointer;
  border:2px solid transparent; opacity:0.75; transition:opacity .25s ease, border-color .25s ease;
}
ul.flex-control-thumbs img.flex-active, ul.flex-control-thumbs img:hover{opacity:1; border-color:var(--gold-soft);}

/* ---- Info column ---- */
.pdp-info h1{margin:10px 0 12px; font-size:clamp(30px,4vw,42px);}
.pdp-rating{margin-bottom:18px;}
.pdp-rating .star-rating{color:var(--gold); font-size:15px;}
.woocommerce-product-rating{display:flex; align-items:center; gap:10px;}
.woocommerce-review-link{font-size:12.5px; color:var(--ink-dim); text-decoration:underline;}
.pdp-short-desc{font-size:15.5px; color:var(--ink-dim); line-height:1.7; margin-bottom:22px;}
.pdp-short-desc p{margin:0 0 10px;}

.pdp-price-row{margin-bottom:8px;}
.pdp-price-row p.price, .pdp-price-row .price{font-family:var(--serif); font-size:32px; font-weight:600; color:var(--ink);}
.pdp-price-row del{opacity:0.5; font-size:0.6em; margin-right:8px;}
.pdp-price-row ins{text-decoration:none;}

.product_meta{display:none;} /* shown instead inside the "Produktdetails" tab, to avoid duplicate info */

.stock{display:inline-flex; align-items:center; gap:7px; font-size:13px; font-weight:600; margin:0 0 26px;}
.stock::before{content:""; width:8px; height:8px; border-radius:50%; background:currentColor; flex:none;}
.stock.in-stock{color:var(--success);}
.stock.out-of-stock{color:var(--error);}
.stock.on-backorder{color:var(--gold-soft);}

/* ---- Variations (weight selector) ---- */
table.variations{width:100%; margin-bottom:20px; border:0;}
table.variations tr{display:block;}
table.variations td{display:block; padding:0; border:0;}
table.variations label{font-size:12px; letter-spacing:0.08em; text-transform:uppercase; font-weight:700; color:var(--ink-dim); margin-bottom:10px; display:block;}
table.variations select{
  width:100%; max-width:280px; border:1.5px solid var(--line); border-radius:999px; padding:12px 20px;
  background:var(--stone); font-size:14px; color:var(--ink);
}
.woocommerce-variation-price{margin:14px 0;}
.woocommerce-variation-price .price{font-size:24px;}
.woocommerce-variation-availability{margin-bottom:14px;}
a.reset_variations{font-size:12px; color:var(--ink-dim); text-decoration:underline; margin-left:12px;}

/* ---- Add to cart (quantity input styling is shared in shop.css — used on cart page too) ---- */
.pdp-add-to-cart-wrap form.cart{display:flex; align-items:center; gap:16px; flex-wrap:wrap; margin-bottom:28px;}
button.single_add_to_cart_button{
  display:inline-flex; align-items:center; justify-content:center; gap:10px;
  font-size:13px; font-weight:700; letter-spacing:0.12em; text-transform:uppercase;
  padding:16px 34px; border-radius:999px; background:var(--ink); color:var(--bg);
  transition:transform 0.3s var(--ease), background 0.3s ease;
  flex:1; min-width:200px;
}
button.single_add_to_cart_button:hover{background:var(--gold-soft); transform:translateY(-2px);}
button.single_add_to_cart_button.disabled{opacity:0.45; cursor:not-allowed;}
.buy-now-btn{flex:1; min-width:160px;}

.pdp-trust-mini{display:flex; flex-direction:column; gap:10px; padding-top:22px; border-top:1px solid var(--line);}
.pdp-trust-mini div{display:flex; align-items:center; gap:10px; font-size:13px; color:var(--ink-dim);}
.pdp-trust-mini svg{width:17px; height:17px; stroke:var(--green); fill:none; flex:none;}

/* ---- Tabs (custom, see woocommerce/single-product/tabs-custom.php) ---- */
.pdp-tabs{border-top:1px solid var(--line); padding-top:8px;}
.tab-nav{display:flex; gap:8px; flex-wrap:wrap; border-bottom:1px solid var(--line); margin-bottom:36px;}
.tab-btn{padding:16px 6px; margin-right:22px; font-size:13px; font-weight:700; letter-spacing:0.04em; text-transform:uppercase; color:var(--ink-dim); border-bottom:2px solid transparent; margin-bottom:-1px;}
.tab-btn.is-active{color:var(--ink); border-color:var(--gold-soft);}
.tab-panel{display:none; max-width:820px;}
.tab-panel.is-active{display:block;}
.tab-panel h3{font-size:18px; margin:22px 0 10px;}
.tab-panel h3:first-child{margin-top:0;}
.tab-panel p, .tab-panel li{font-size:14.5px; line-height:1.75; color:var(--ink-dim);}
.tab-panel ul{padding-left:2px;}
.tab-panel li{list-style:disc; margin-left:20px; margin-bottom:6px;}
.spec-table{width:100%; border-collapse:collapse; margin-top:8px;}
.spec-table tr{border-bottom:1px solid var(--line);}
.spec-table td{padding:12px 10px; font-size:14px; color:var(--ink-dim);}
.spec-table td:first-child{font-weight:600; color:var(--ink); width:220px;}
.pending-note{display:inline-block; font-size:11.5px; color:#b3401f; background:#fbeae3; border:1px dashed #d98861; padding:4px 10px; border-radius:6px; margin-top:6px;}

/* product-specific FAQ accordion reuses .faq-item/.faq-q/.faq-a already defined in shop.css */

.related-heading{margin:0 0 32px;}

@media (max-width:767px){
  body.single-product{padding-bottom:76px;} /* keeps content clear of the fixed mobile-sticky-atc bar */
}

/* ---- Reviews (WooCommerce native comments_template output) ---- */
#reviews .comment-form-rating label, #reviews .comment-form-comment label,
#reviews .comment-form-author label, #reviews .comment-form-email label{
  display:block; font-size:12.5px; font-weight:700; margin-bottom:6px;
}
#reviews input[type=text], #reviews input[type=email], #reviews textarea{
  width:100%; max-width:480px; border:1px solid var(--line); border-radius:8px; padding:12px 14px; margin-bottom:14px; background:var(--stone);
}
#reviews .form-submit input{
  display:inline-flex; font-size:13px; font-weight:700; letter-spacing:0.1em; text-transform:uppercase;
  padding:14px 30px; border-radius:999px; background:var(--ink); color:var(--bg);
}
#reviews .commentlist{list-style:none; padding:0;}
#reviews .comment_container{background:var(--stone); border:1px solid var(--line); border-radius:var(--radius-md); padding:22px; margin-bottom:16px;}
