/* ============================================================
   PURENEST — Karta produktu (WooCommerce block template)
   Dopasowanie domyślnych bloków Woo do design systemu pn-site.css
   ============================================================ */

body.single-product main{
  max-width:var(--maxw);
  margin-inline:auto;
  padding-inline:var(--gutter);
  padding-block:36px clamp(70px,9vh,120px);
}

body.single-product .woocommerce-breadcrumb,
body.single-product .wc-block-breadcrumbs nav{
  font-size:11.5px; letter-spacing:.1em; text-transform:uppercase;
  color:var(--tx-mut2); margin-bottom:34px;
}
body.single-product .woocommerce-breadcrumb a,
body.single-product .wc-block-breadcrumbs a{ color:var(--tx-mut); transition:color .3s; }
body.single-product .woocommerce-breadcrumb a:hover,
body.single-product .wc-block-breadcrumbs a:hover{ color:var(--gold); }

/* ---------- gallery + summary : dwie kolumny ---------- */
body.single-product .wp-block-columns.alignwide{
  display:grid !important;
  grid-template-columns:minmax(0,560px) minmax(280px,1fr);
  gap:clamp(32px,5vw,80px);
  align-items:start;
}
body.single-product .wp-block-columns.alignwide > .wp-block-column{
  flex-basis:auto !important;
  width:auto !important;
  min-width:0;
}

/* zdjęcie produktu — jasna karta, spójna z .prod-grid na stronie głównej.
   Karta (bg/border/padding) idzie na ZEWNĘTRZNY blok, nie na __wrapper —
   WooCommerce flexslider liczy szerokości slajdów w JS przez float+inline
   width na dzieciach __wrapper; narzucenie mu display/aspect-ratio/overflow
   psuje ten mechanizm (wrapper traci wymiary, obrazek znika). */
body.single-product .wp-block-woocommerce-product-image-gallery{
  width:100%;
  background:var(--white);
  border:1px solid var(--paper-2);
  padding:clamp(20px,4vw,54px);
}
body.single-product .woocommerce-product-gallery{ width:100%; }
body.single-product .woocommerce-product-gallery__image img{
  width:100%; height:auto;
}

/* ---------- podsumowanie: tytuł / cena / opis / CTA ---------- */
body.single-product .wp-block-post-title{
  font-family:var(--display); font-weight:400; line-height:.96;
  text-transform:uppercase; color:var(--cream);
  font-size:clamp(2rem,3.6vw,3.2rem);
  margin-bottom:18px;
}
body.single-product .wp-block-woocommerce-product-price,
body.single-product .wc-block-components-product-price{
  font-family:var(--display); letter-spacing:.02em;
}
body.single-product .wc-block-components-product-price .woocommerce-Price-amount{
  color:var(--gold); font-size:clamp(1.6rem,2.4vw,2.1rem);
}
body.single-product .wp-block-post-excerpt{
  margin-top:18px; color:var(--tx-mut); font-weight:300;
  font-size:15.5px; line-height:1.75; max-width:46ch;
}

/* stan magazynowy */
body.single-product p.stock{
  margin-top:22px; font-size:11.5px; letter-spacing:.14em; text-transform:uppercase;
  color:var(--tx-mut2);
}
body.single-product p.stock.in-stock::before{
  content:""; display:inline-block; width:6px; height:6px; border-radius:50%;
  background:var(--gold); margin-right:8px; vertical-align:middle;
}

/* formularz dodania do koszyka */
body.single-product .wc-block-add-to-cart-form form.cart{
  display:flex; align-items:stretch; gap:14px; margin-top:26px; flex-wrap:wrap;
}
body.single-product .wc-block-add-to-cart-form .quantity{ display:flex; }
body.single-product .wc-block-add-to-cart-form input.qty{
  width:74px; text-align:center;
  background:transparent; border:1px solid var(--ink-line); color:var(--cream);
  font-family:var(--sans); font-size:15px;
}
body.single-product .single_add_to_cart_button{
  display:inline-flex; align-items:center; gap:12px;
  background:var(--cream); color:#0c0c0c; border:1px solid var(--cream);
  font-family:var(--sans); font-weight:600; font-size:12.5px;
  letter-spacing:.16em; text-transform:uppercase;
  padding:16px 34px; cursor:pointer;
  transition:background .45s var(--ease), color .45s var(--ease), border-color .45s var(--ease);
}
body.single-product .single_add_to_cart_button:hover{
  background:transparent; color:var(--cream); border-color:rgba(245,240,235,.32);
}

/* meta: SKU / kategoria */
body.single-product .wp-block-woocommerce-product-meta{
  margin-top:30px; padding-top:20px; border-top:1px solid var(--ink-line);
}
body.single-product .wp-block-woocommerce-product-meta .wp-block-group{
  gap:22px; flex-wrap:wrap;
}
body.single-product .wp-block-woocommerce-product-meta,
body.single-product .wp-block-woocommerce-product-meta a,
body.single-product .wp-block-post-terms__prefix{
  font-size:11.5px; letter-spacing:.08em; color:var(--tx-mut2);
}
body.single-product .wp-block-woocommerce-product-meta a{ color:var(--tx-mut); }
body.single-product .wp-block-woocommerce-product-meta a:hover{ color:var(--gold); }

/* ---------- zakładki: opis / dodatkowe / opinie ---------- */
body.single-product .wp-block-woocommerce-product-details{
  margin-top:clamp(60px,8vh,100px);
  border-top:1px solid var(--ink-line);
  padding-top:44px;
}
body.single-product .wp-block-woocommerce-product-details [role="tablist"],
body.single-product .wp-block-woocommerce-product-details ul.tabs{
  display:flex; gap:34px; list-style:none; border-bottom:1px solid var(--ink-line);
  margin-bottom:34px; flex-wrap:wrap;
}
body.single-product .wp-block-woocommerce-product-details [role="tab"]{
  font-size:11.5px; letter-spacing:.16em; text-transform:uppercase;
  color:var(--tx-mut); padding-bottom:16px; cursor:pointer;
}
body.single-product .wp-block-woocommerce-product-details [role="tab"][aria-selected="true"]{
  color:var(--cream); border-bottom:2px solid var(--gold);
}
body.single-product .wp-block-woocommerce-product-details h2{
  font-family:var(--display); text-transform:uppercase; color:var(--cream);
  font-size:1.6rem; margin-bottom:16px;
}
body.single-product .wp-block-woocommerce-product-details p{
  color:var(--tx-mut); font-weight:300; line-height:1.8; max-width:70ch;
}
body.single-product .wp-block-woocommerce-product-details table{
  border-collapse:collapse; font-size:14px; color:var(--tx-mut);
}
body.single-product .wp-block-woocommerce-product-details table th,
body.single-product .wp-block-woocommerce-product-details table td{
  border:1px solid var(--ink-line); padding:10px 16px; text-align:left;
}

/* ---------- produkty powiązane ---------- */
body.single-product .wp-block-woocommerce-product-collection{
  margin-top:clamp(60px,8vh,100px);
}
body.single-product .wp-block-woocommerce-product-collection > h2,
body.single-product .wp-block-woocommerce-product-collection .wp-block-heading{
  font-family:var(--display); text-transform:uppercase; color:var(--cream);
  font-size:clamp(1.8rem,3vw,2.6rem); margin-bottom:28px;
}
body.single-product .wc-block-product-template{
  display:grid !important;
  grid-template-columns:repeat(auto-fill,minmax(200px,1fr));
  gap:1px; background:var(--paper-2); border:1px solid var(--paper-2);
}
body.single-product .wc-block-product-template > li{ width:auto !important; }
body.single-product .wc-block-product{
  background:var(--white); padding:20px; display:flex; flex-direction:column; gap:10px;
}
body.single-product .wc-block-components-product-image img{ object-fit:contain; }
body.single-product .wc-block-product .wp-block-post-title,
body.single-product .wc-block-product h3{
  font-family:var(--display); text-transform:uppercase; font-size:16px; color:var(--tx-d);
}
body.single-product .wc-block-product .wc-block-components-product-price .woocommerce-Price-amount{
  color:var(--tx-d); font-size:15px;
}
body.single-product .wc-block-components-product-button .wp-element-button{
  width:100%; background:transparent; color:var(--tx-d); border:1px solid var(--tx-d);
  font-family:var(--sans); font-weight:600; font-size:11px; letter-spacing:.1em;
  text-transform:uppercase; padding:10px; cursor:pointer;
  transition:background .3s, color .3s;
}
body.single-product .wc-block-components-product-button .wp-element-button:hover{
  background:var(--tx-d); color:var(--white);
}

/* ---------- responsywność ---------- */
@media (max-width:860px){
  body.single-product .wp-block-columns.alignwide{
    grid-template-columns:1fr;
  }
  body.single-product .wp-block-woocommerce-product-image-gallery{ max-width:480px; margin-inline:auto; }
}
@media (max-width:560px){
  body.single-product .wc-block-add-to-cart-form form.cart{ flex-direction:column; align-items:stretch; }
  body.single-product .single_add_to_cart_button{ justify-content:center; }
  body.single-product .wp-block-woocommerce-product-details [role="tablist"],
  body.single-product .wp-block-woocommerce-product-details ul.tabs{ gap:20px; }
}

/* ---------- galeria: rząd miniatur pod głównym zdjęciem ---------- */
body.single-product .flex-control-nav.flex-control-thumbs{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:16px;
  padding:0;
  list-style:none;
}
body.single-product .flex-control-thumbs li{
  display:block;
  float:none;
  width:72px;
  height:auto;
  margin:0;
}
body.single-product .flex-control-thumbs img{
  display:block;
  width:100%;
  height:auto;
  cursor:pointer;
  opacity:.55;
  border:1px solid var(--paper-2);
  transition:opacity .3s, border-color .3s;
}
body.single-product .flex-control-thumbs img:hover{ opacity:.85; }
body.single-product .flex-control-thumbs img.flex-active{
  opacity:1;
  border-color:var(--gold);
}
