/* PISCO series product page - catalogue layout in RFQ mode.
   Colours come from Astra's own global palette so this stays in sync with the
   site design system instead of hard-coding a second one. */

.pss{
  --pss-accent: var(--ast-global-color-0, #0067FF);
  --pss-accent-dk: var(--ast-global-color-1, #005EE9);
  --pss-ink: var(--ast-global-color-2, #0F172A);
  --pss-body: var(--ast-global-color-3, #364151);
  --pss-tint: var(--ast-global-color-4, #E7F6FF);
  --pss-surface: var(--ast-global-color-5, #FFFFFF);
  --pss-rule: #d8e2ec;
  --pss-rule-soft: #e9eff5;
  --pss-muted: #6b7a8a;
  --pss-mono: "IBM Plex Mono", ui-monospace, SFMono-Regular, Consolas, monospace;
}

/* In enquiry mode there is no price and no shipping promise to make, so suppress
   the empty price paragraph and Astra's shipping label rather than leaving gaps
   and a claim we cannot stand behind. */
.pss .summary p.price,
.pss .summary .ast-shipping-text,
.pss .summary .stock{display:none;}

/* ---------- eyebrow: brand + series code ---------- */
.pss-eyebrow{
  display:flex; flex-wrap:wrap; align-items:center; gap:10px;
  font-size:13px; letter-spacing:.06em; text-transform:uppercase;
  color:var(--pss-muted); margin:0 0 6px;
}
.pss-eyebrow .pss-code{
  font-family:var(--pss-mono); font-weight:600; letter-spacing:.04em;
  color:var(--pss-accent-dk); background:var(--pss-tint);
  border:1px solid var(--pss-rule); border-radius:3px; padding:1px 7px;
}
.pss-eyebrow .pss-brand{font-weight:700; color:var(--pss-ink); letter-spacing:.1em;}

/* ---------- model codes covered by the series ---------- */
.pss-lineup{
  display:flex; flex-wrap:wrap; gap:6px; margin:0 0 18px; padding:0; list-style:none;
}
.pss-lineup li{
  font-family:var(--pss-mono); font-size:13px; font-weight:500;
  border:1px solid var(--pss-rule); border-radius:3px;
  padding:2px 8px; color:var(--pss-ink); background:var(--pss-surface);
}

/* ---------- summary bullets ---------- */
.pss-bullets{margin:0 0 20px; padding-left:1.15em;}
.pss-bullets li{margin-bottom:6px; line-height:1.6;}

/* ---------- quick facts strip ---------- */
.pss-facts{
  display:grid; gap:1px; background:var(--pss-rule);
  border:1px solid var(--pss-rule); border-radius:4px; overflow:hidden;
  grid-template-columns:repeat(auto-fit, minmax(140px,1fr));
  margin:0 0 20px;
}
.pss-facts div{background:var(--pss-surface); padding:10px 13px;}
.pss-facts dt{
  font-size:11.5px; letter-spacing:.08em; text-transform:uppercase;
  color:var(--pss-muted); margin:0 0 2px;
}
.pss-facts dd{
  margin:0; font-family:var(--pss-mono); font-size:14px; font-weight:500;
  color:var(--pss-ink); font-variant-numeric:tabular-nums;
}

/* ---------- RFQ panel (stands in for price + add to cart) ---------- */
.pss-rfq{
  border:1px solid var(--pss-rule); border-left:3px solid var(--pss-accent);
  border-radius:4px; background:var(--pss-surface);
  padding:18px 20px; margin:0 0 18px;
}
.pss-rfq .pss-rfq-lbl{
  display:block; font-size:11.5px; letter-spacing:.1em; text-transform:uppercase;
  color:var(--pss-muted); margin-bottom:4px;
}
.pss-rfq p{margin:0 0 14px; color:var(--pss-body); font-size:15px; line-height:1.6;}
.pss-rfq-actions{display:flex; flex-wrap:wrap; gap:10px;}
.pss-btn{
  display:inline-flex; align-items:center; gap:8px;
  font-weight:600; font-size:15px; line-height:1;
  padding:13px 20px; border-radius:4px; text-decoration:none;
  border:1px solid transparent; cursor:pointer;
}
.pss-btn-primary{background:var(--pss-accent); color:#fff;}
.pss-btn-primary:hover,.pss-btn-primary:focus{background:var(--pss-accent-dk); color:#fff;}
.pss-btn-line{background:#06C755; color:#fff;}
.pss-btn-line:hover,.pss-btn-line:focus{background:#05a948; color:#fff;}
.pss-btn-ghost{background:var(--pss-surface); color:var(--pss-ink); border-color:var(--pss-rule);}
.pss-btn-ghost:hover,.pss-btn-ghost:focus{border-color:var(--pss-accent); color:var(--pss-accent-dk);}
.pss-btn:focus-visible{outline:2px solid var(--pss-accent); outline-offset:2px;}

/* ---------- download column ---------- */
.pss-dl{margin:0 0 18px; padding:0; list-style:none; border-top:1px solid var(--pss-rule-soft);}
.pss-dl li{border-bottom:1px solid var(--pss-rule-soft);}
.pss-dl a{
  display:flex; align-items:center; gap:9px; padding:10px 2px;
  font-size:14.5px; font-weight:500; text-decoration:none; color:var(--pss-accent-dk);
}
.pss-dl a:hover{text-decoration:underline;}
.pss-dl svg{flex:none; width:16px; height:16px;}

/* ---------- image disclaimer ---------- */
.pss-img-note{
  display:flex; gap:8px; align-items:flex-start;
  font-size:13px; line-height:1.5; color:var(--pss-muted); margin-top:10px;
}
.pss-img-note svg{flex:none; width:15px; height:15px; margin-top:2px;}

/* ---------- sticky bar ---------- */
.pss-sticky{
  position:fixed; left:0; right:0; bottom:0; z-index:99;
  display:none; gap:18px; align-items:center;
  padding:10px 20px; background:var(--pss-surface);
  border-top:1px solid var(--pss-rule);
  box-shadow:0 -2px 12px rgba(15,23,42,.08);
}
.pss-sticky.is-on{display:flex;}
.pss-sticky img{width:46px; height:46px; object-fit:contain; flex:none;}
.pss-sticky-txt{min-width:0; flex:1;}
.pss-sticky-txt b{
  display:block; font-size:14.5px; line-height:1.3; color:var(--pss-ink);
  overflow:hidden; text-overflow:ellipsis; white-space:nowrap;
}
.pss-sticky-txt span{font-family:var(--pss-mono); font-size:12.5px; color:var(--pss-muted);}
.pss-sticky .pss-btn{padding:11px 17px; font-size:14.5px;}
@media (max-width:600px){
  .pss-sticky{gap:11px; padding:9px 13px;}
  .pss-sticky img{display:none;}
  .pss-sticky .pss-btn-ghost{display:none;}
}

/* ---------- tabs ---------- */
/* Astra floats the gallery left and the summary right, and WooCommerce prints the
   after-summary content as their next sibling - without clearing, the datasheet
   starts level with the top of the summary column and overlaps it. */
.pss-tabwrap{clear:both; display:block;}

.pss-tabs{
  display:flex; flex-wrap:wrap; gap:0; margin:44px 0 0;
  border-bottom:2px solid var(--pss-accent); padding:0; list-style:none;
}
.pss-tabs button{
  appearance:none; border:1px solid var(--pss-rule); border-bottom:0;
  background:var(--pss-surface); color:var(--pss-body);
  font:inherit; font-size:15px; font-weight:600;
  padding:11px 20px; margin-right:6px; cursor:pointer;
  border-radius:4px 4px 0 0;
}
.pss-tabs button[aria-selected="true"]{
  background:var(--pss-accent); border-color:var(--pss-accent); color:#fff;
}
.pss-tabs button:focus-visible{outline:2px solid var(--pss-accent); outline-offset:2px;}
.pss-panel{padding:26px 0 0;}
.pss-panel[hidden]{display:none;}
.pss-panel h3{
  font-size:19px; margin:34px 0 10px; color:var(--pss-ink); line-height:1.3;
}
.pss-panel h3:first-child{margin-top:0;}
.pss-panel > p{color:var(--pss-body); line-height:1.7; max-width:70ch;}

/* ---------- spec / dimension tables ---------- */
.pss-tscroll{
  overflow-x:auto; border:1px solid var(--pss-rule); border-radius:4px;
  background:var(--pss-surface); margin:14px 0 8px;
  -webkit-overflow-scrolling:touch;
}
.pss-tscroll table{border-collapse:collapse; width:100%; margin:0; font-size:14.5px;}
.pss-tscroll th,.pss-tscroll td{
  padding:10px 14px; text-align:left; vertical-align:top;
  border-bottom:1px solid var(--pss-rule-soft); border-right:1px solid var(--pss-rule-soft);
}
.pss-tscroll th:last-child,.pss-tscroll td:last-child{border-right:0;}
.pss-tscroll tr:last-child th,.pss-tscroll tr:last-child td{border-bottom:0;}
.pss-tscroll tbody th{
  background:#f6f9fc; font-weight:600; color:var(--pss-ink);
  width:34%; min-width:170px;
}
.pss-tscroll thead th{
  background:var(--pss-tint); font-weight:600; color:var(--pss-ink);
  border-bottom:1px solid var(--pss-rule); white-space:nowrap;
}
.pss-tscroll td{color:var(--pss-body);}
.pss-val{font-family:var(--pss-mono); font-variant-numeric:tabular-nums;}
.pss-tnote{font-size:13px; color:var(--pss-muted); margin:0 0 22px; line-height:1.6;}
.pss-tnote ol{margin:4px 0 0; padding-left:1.4em;}

/* ---------- shape groups ---------- */
.pss-shapes{
  display:grid; gap:1px; background:var(--pss-rule);
  border:1px solid var(--pss-rule); border-radius:4px; overflow:hidden;
  grid-template-columns:repeat(auto-fill, minmax(250px,1fr));
  margin:14px 0 8px; padding:0; list-style:none;
}
.pss-shapes li{background:var(--pss-surface); padding:14px 16px; margin:0;}
.pss-shapes b{
  display:block; font-size:15.5px; color:var(--pss-ink); margin-bottom:3px; line-height:1.35;
}
.pss-shapes .pss-n{
  font-family:var(--pss-mono); font-size:12px; font-weight:600;
  color:var(--pss-accent-dk); display:block; margin-bottom:5px;
}
.pss-shapes span.pss-d{display:block; font-size:13.5px; color:var(--pss-muted); line-height:1.55;}

/* ---------- warning block ---------- */
.pss-warn{
  border:1px solid #f0d9a8; border-left:3px solid #d79a1e;
  background:#fdf8ec; border-radius:4px; padding:15px 18px; margin:18px 0 22px;
}
.pss-warn b{display:block; color:#7a5406; margin-bottom:6px; font-size:15px;}
.pss-warn ol,.pss-warn ul{margin:0; padding-left:1.3em; font-size:14.5px; color:#5c4408;}
.pss-warn li{margin-bottom:5px; line-height:1.6;}

/* keep the fixed bar from covering the end of the page */
body.pss-has-sticky{padding-bottom:78px;}
