.pp-main{width:min(1400px,92vw);margin:0 auto}

.pp-crumbs{
  padding:36px 0 0;
  font-family:Arial,Helvetica,sans-serif;
  font-size:11px;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--muted);
}
.pp-crumbs a{color:inherit}
.pp-crumbs a:hover{opacity:.6}

.pp-hero{
  display:grid;
  grid-template-columns:1.25fr 1fr;
  gap:56px;
  align-items:start;
  padding:26px 0 60px;
}
.pp-title{
  margin:0 0 18px;
  font-size:clamp(48px,5.5vw,84px);
  font-weight:400;
  line-height:.92;
  letter-spacing:-.055em;
}
.pp-cross{
  font-family:Arial,Helvetica,sans-serif;
  font-size:12px;
  letter-spacing:.14em;
  color:var(--muted);
  margin-bottom:28px;
}
.pp-description{
  max-width:540px;
  font-size:15px;
  line-height:1.75;
}
.pp-description p{margin:0 0 1em}

.pp-addtocart{margin-top:34px}
.pp-addtocart .price{
  display:block;
  font-family:Arial,Helvetica,sans-serif;
  font-size:12px;
  letter-spacing:.1em;
  color:var(--muted);
  margin-bottom:14px;
}
.pp-addtocart .quantity{display:none}
.pp-addtocart table.variations{width:100%;border:0;margin:0 0 16px}
.pp-addtocart table.variations tr{display:block;margin-bottom:12px}
.pp-addtocart table.variations th,
.pp-addtocart table.variations td{display:block;padding:0;border:0}
.pp-addtocart table.variations th{
  font-family:Arial,Helvetica,sans-serif;
  font-size:10px;
  letter-spacing:.2em;
  text-transform:uppercase;
  color:var(--muted);
  margin-bottom:8px;
}
.pp-addtocart table.variations select{
  width:100%;
  max-width:320px;
  border:1px solid var(--line);
  background:var(--paper);
  color:var(--ink);
  padding:14px 16px;
  font-family:Arial,Helvetica,sans-serif;
  font-size:12px;
  letter-spacing:.08em;
  text-transform:uppercase;
  cursor:pointer;
}
.pp-addtocart .reset_variations{
  display:inline-block;
  margin-left:10px;
  font-family:Arial,Helvetica,sans-serif;
  font-size:11px;
  color:var(--muted);
}
.pp-addtocart .woocommerce-variation-price{
  font-family:Arial,Helvetica,sans-serif;
  font-size:13px;
  margin:6px 0 14px;
}
.pp-addtocart .woocommerce-variation-availability{
  font-family:Arial,Helvetica,sans-serif;
  font-size:11px;
  color:var(--muted);
  margin-bottom:14px;
}
.pp-addtocart button.single_add_to_cart_button{
  border:1px solid var(--ink);
  background:var(--ink);
  color:var(--green-ink);
  padding:16px 32px;
  font-family:Arial,Helvetica,sans-serif;
  font-size:12px;
  letter-spacing:.16em;
  text-transform:uppercase;
  cursor:pointer;
  transition:background-color .2s ease,color .2s ease,border-color .2s ease;
}
.pp-addtocart button.single_add_to_cart_button:hover{background:var(--green);border-color:var(--green)}
.pp-addtocart button.single_add_to_cart_button.disabled{opacity:.35;cursor:not-allowed}

.pp-photo{
  aspect-ratio:1/1;
  height:auto;
  max-height:72vh;
  min-height:380px;
  border:1px solid var(--line);
  overflow:hidden;
  position:relative;
  background:#171815;
}
.pp-photo img{width:100%;height:100%;object-fit:cover;display:block}
.pp-photo-fallback{
  position:absolute;inset:0;
  background:
    radial-gradient(ellipse at 55% 28%,rgba(235,235,221,.9) 0 8%,transparent 9%),
    radial-gradient(ellipse at 46% 38%,rgba(116,128,96,.9) 0 10%,transparent 11%),
    radial-gradient(ellipse at 62% 48%,rgba(66,80,58,.95) 0 13%,transparent 14%),
    linear-gradient(145deg,#171815,#4b5144 46%,#151713);
}
.pp-photo:after{
  content:attr(data-label);
  position:absolute;
  right:16px;bottom:14px;
  color:#eee;
  font-family:Arial,Helvetica,sans-serif;
  font-size:10px;
  letter-spacing:.2em;
  text-transform:uppercase;
  opacity:.75;
}

.pp-section{
  border-top:1px solid var(--line);
  margin-top:20px;
  display:grid;
  grid-template-columns:0.62fr 1.38fr;
}
.pp-cell{min-height:360px;padding:34px 32px;border-right:1px solid var(--line)}
.pp-cell:last-child{border-right:0}
.pp-label{
  font-family:Arial,Helvetica,sans-serif;
  font-size:11px;
  letter-spacing:.22em;
  text-transform:uppercase;
  margin-bottom:30px;
}

.pp-facts{display:grid;grid-template-columns:1fr;gap:18px}
.pp-fact span{
  display:block;
  font-family:Arial,Helvetica,sans-serif;
  font-size:10px;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--muted);
  margin-bottom:6px;
}
.pp-fact strong{font-weight:400;font-size:15px}

.pp-ped-empty{color:var(--muted);font-size:14px}

.pp-pedigree-wrap{position:relative}
.pp-pedigree{position:relative;width:100%;max-width:760px;height:190px}
.pp-pedigree.pp-has-gp{height:320px}

.pp-node{
  position:absolute;
  width:130px;
  min-width:130px;
  border:1px solid var(--line);
  background:var(--paper);
  text-align:center;
  padding:9px 10px;
  font-family:Arial,Helvetica,sans-serif;
  font-size:10px;
  line-height:1.3;
  letter-spacing:.03em;
  opacity:0;
  transform:translateX(-50%) translateY(8px) scale(.98);
  transition:opacity .5s cubic-bezier(.22,1,.36,1),transform .5s cubic-bezier(.22,1,.36,1);
  z-index:2;
  pointer-events:none;
}
.pp-node span{display:block;color:var(--muted);margin-top:4px;font-size:9px}
.pp-pedigree-wrap:hover .pp-node,
.pp-pedigree-wrap:focus-within .pp-node{opacity:1;transform:translateX(-50%) translateY(0) scale(1)}

.pp-node.pp-root{
  left:50%;top:0;
  transform:translate(-50%,0) scale(1);
  width:145px;min-width:145px;
  border-color:var(--ink);
  opacity:1;
}
.pp-node.pp-p1{left:16.45%;top:105px}
.pp-node.pp-p2{left:83.55%;top:105px}
.pp-node.pp-g1{left:5.92%;top:246px}
.pp-node.pp-g2{left:26.97%;top:246px}
.pp-node.pp-g3{left:73.03%;top:246px}
.pp-node.pp-g4{left:94.08%;top:246px}

.pp-ped-lines{position:absolute;inset:0;width:100%;height:100%;overflow:visible;z-index:1}
.pp-ped-lines path{
  fill:none;
  stroke:var(--ink);
  stroke-width:1;
  opacity:0;
  transition:opacity .4s ease .1s;
}
.pp-pedigree-wrap:hover .pp-ped-lines path,
.pp-pedigree-wrap:focus-within .pp-ped-lines path{opacity:.35}

.pp-ped-help{
  margin-top:10px;
  font-family:Arial,Helvetica,sans-serif;
  font-size:10px;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--muted);
  text-align:center;
}

@media(max-width:900px){
  .pp-hero{grid-template-columns:1fr;gap:30px}
  .pp-photo{aspect-ratio:auto;height:400px}
  .pp-section{grid-template-columns:1fr}
  .pp-cell{border-right:0;border-bottom:1px solid var(--line)}
  .pp-cell:last-child{border-bottom:0}
  .pp-pedigree{transform:scale(.86);transform-origin:top left}
}
