/* PA homepage v1 styles — added 2026-05-12.
   Mobile-first. Loaded only on homepage via head.tpl conditional include.
   Companion to existing inline hero critical CSS — these styles live in
   a real .css file because they sit below the LCP fold. */

:root {
  --pa-v1-bg: #fff;
  --pa-v1-ink: #0f1721;
  --pa-v1-ink-2: #2d3748;
  --pa-v1-muted: #5a6678;
  --pa-v1-line: #e5e9ef;
  --pa-v1-accent: #c97a22;
  --pa-v1-accent-2: #a85f17;
  --pa-v1-success: #1a7f37;
  --pa-v1-radius: 10px;
  --pa-v1-shadow: 0 2px 4px rgba(15,23,33,.04), 0 8px 24px rgba(15,23,33,.06);
}

.pa-eyebrow {
  color: var(--pa-v1-accent);
  font: 600 .6875rem/1.2 inherit;
  letter-spacing: .14em;
  margin: 0 0 .5rem;
  text-transform: uppercase;
}
.pa-section-title {
  color: var(--pa-v1-ink);
  font: 700 clamp(1.375rem, 2.4vw, 1.75rem)/1.2 inherit;
  letter-spacing: -.012em;
  margin: 0 0 .375rem;
  max-width: 32ch;
}
.pa-section-sub {
  color: var(--pa-v1-muted);
  font-size: .9375rem;
  line-height: 1.55;
  margin: 0 0 1.5rem;
  max-width: 60ch;
}
.pa-link {
  color: var(--pa-v1-accent-2);
  font-weight: 600;
  text-decoration: none;
}
.pa-link:hover { text-decoration: underline; }

.visually-hidden {
  position: absolute !important;
  width: 1px; height: 1px;
  padding: 0; margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

/* ===== Hero additions: search, chips, UK pill ===== */
.pa-hero__search {
  align-items: center;
  background: rgba(255,255,255,.97);
  border: 1px solid hsla(0,0%,100%,.6);
  border-radius: 999px;
  box-shadow: 0 2px 8px rgba(0,0,0,.25);
  display: flex;
  gap: .5rem;
  margin: 0 0 .75rem;
  max-width: 480px;
  padding: .25rem .25rem .25rem .875rem;
}
.pa-hero__search-icon {
  color: #5a6678;
  flex: none;
}
.pa-hero__search-input {
  background: transparent;
  border: 0;
  color: #0f1721;
  flex: 1 1 auto;
  font: 500 .9375rem/1.2 inherit;
  padding: .5rem 0;
  width: 100%;
}
.pa-hero__search-input:focus { outline: 0; }
.pa-hero__search-submit {
  align-items: center;
  background: var(--pa-v1-accent);
  border: 0;
  border-radius: 999px;
  color: #fff;
  cursor: pointer;
  display: inline-flex;
  font: 600 .8125rem/1 inherit;
  gap: .375rem;
  letter-spacing: .02em;
  padding: .625rem 1.125rem;
}
.pa-hero__search-submit:hover { background: var(--pa-v1-accent-2); }
.pa-hero__search-submit-icon { display: none; }

.pa-hero__chips {
  display: flex;
  flex-wrap: wrap;
  gap: .375rem;
  list-style: none;
  margin: 0 0 1rem;
  padding: 0;
}
.pa-chip {
  background: hsla(0,0%,100%,.12);
  border: 1px solid hsla(0,0%,100%,.22);
  border-radius: 999px;
  color: #fff;
  display: inline-block;
  font: 500 .75rem/1 inherit;
  padding: .375rem .625rem;
  text-decoration: none;
}
.pa-chip:hover {
  background: hsla(0,0%,100%,.2);
  color: #fff;
}
.pa-hero__chips--intent { margin-top: -.5rem; }
.pa-chip--intent {
  background: hsla(0,0%,100%,.04);
  border-color: hsla(0,0%,100%,.16);
  color: hsla(0,0%,100%,.85);
}

.pa-hero__uk-pill {
  align-items: center;
  background: hsla(0,0%,100%,.1);
  border: 1px solid hsla(0,0%,100%,.18);
  border-radius: 999px;
  color: #fff;
  display: inline-flex;
  gap: .375rem;
  padding: .25rem .625rem;
}
.pa-hero__uk-icon { display: inline-block; }

@media (max-width: 575.98px) {
  .pa-hero__search { max-width: none; }
  /* Icon-only submit on mobile: square ~36×36 pill */
  .pa-hero__search-submit {
    padding: 0;
    width: 36px;
    height: 36px;
    border-radius: 999px;
    justify-content: center;
    gap: 0;
    flex: 0 0 auto;
  }
  .pa-hero__search-submit-label { display: none; }
  .pa-hero__search-submit-icon { display: inline-block; }

  /* Horizontal scroller for both chip rows on mobile */
  .pa-hero__chips {
    flex-wrap: nowrap;
    overflow-x: auto;
    overflow-y: hidden;
    scrollbar-width: none;
    -ms-overflow-style: none;
    -webkit-overflow-scrolling: touch;
    gap: .375rem;
    padding-right: 1rem;
    margin-bottom: .5rem;
  }
  .pa-hero__chips::-webkit-scrollbar { display: none; }
  .pa-hero__chips .pa-chip { flex: 0 0 auto; white-space: nowrap; }
  .pa-hero__chips--intent { margin-top: 0; margin-bottom: .875rem; }

  /* Trust row: stack each span on its own line, no stray separators */
  .pa-hero__rating { flex-wrap: wrap; gap: .25rem 0; }
  .pa-hero__rating > span { flex: 0 0 100%; }
  .pa-hero__rating-stars { flex: 0 0 auto; margin-bottom: .125rem; }
  .pa-hero__rating-sep { display: none; }
}

/* ===== Trust row ===== */
.pa-trust-row {
  background: #fff;
  border-block: 1px solid var(--pa-v1-line);
  padding: 1rem 0;
}
.pa-trust-row__list {
  align-items: stretch;
  display: grid;
  gap: 0;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  list-style: none;
  margin: 0;
  padding: 0;
}
.pa-trust-row__item {
  border-right: 1px solid var(--pa-v1-line);
  padding: .25rem 1rem;
}
.pa-trust-row__item:last-child { border-right: 0; }
.pa-trust-row__link {
  align-items: center;
  color: var(--pa-v1-ink);
  display: flex;
  gap: .625rem;
  text-decoration: none;
}
.pa-trust-row__link:hover { color: var(--pa-v1-accent-2); }
.pa-trust-row__icon { color: var(--pa-v1-accent); flex: none; }
.pa-trust-row__text { font-size: .8125rem; line-height: 1.25; }
.pa-trust-row__text strong { color: var(--pa-v1-ink); display: block; font-size: .875rem; }
.pa-trust-row__sub { color: var(--pa-v1-muted); display: block; font-size: .75rem; }
@media (max-width: 991.98px) {
  .pa-trust-row__list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pa-trust-row__item:nth-child(2n) { border-right: 0; }
  .pa-trust-row__item { border-bottom: 1px solid var(--pa-v1-line); padding: .625rem .75rem; }
  .pa-trust-row__item:last-child, .pa-trust-row__item:nth-last-child(2) { border-bottom: 0; }
}
@media (max-width: 575.98px) {
  .pa-trust-row__list { grid-template-columns: 1fr; }
  .pa-trust-row__item { border-right: 0; }
}

/* ===== Bestsellers ===== */
.pa-bestsellers { padding: 2.5rem 0; }
.pa-bestsellers__head {
  align-items: end;
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  justify-content: space-between;
  margin-bottom: 1.5rem;
}
.pa-bestsellers__viewall {
  color: var(--pa-v1-accent-2);
  font-weight: 600;
  text-decoration: none;
}
.pa-bestsellers__viewall:hover { text-decoration: underline; }
/* Force the inner ps_featuredproducts hover-only Add-to-cart to be persistent */
.pa-bestsellers__products .highlighted-informations,
.pa-bestsellers__products .product-flags + .product-list-actions,
.pa-bestsellers__products .product-add-to-cart {
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
}

/* ===== Bundles ===== */
.pa-bundles { background: #f7f8fa; padding: 3rem 0; }
.pa-bundles__grid {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
@media (max-width: 991.98px) {
  .pa-bundles__grid { grid-template-columns: 1fr; }
}
.pa-bundle {
  background: #fff;
  border: 1px solid var(--pa-v1-line);
  border-radius: var(--pa-v1-radius);
  display: flex;
  flex-direction: column;
  padding: 1.25rem;
}
.pa-bundle__eyebrow {
  color: var(--pa-v1-accent);
  font: 600 .6875rem/1 inherit;
  letter-spacing: .12em;
  margin: 0 0 .375rem;
  text-transform: uppercase;
}
.pa-bundle__title {
  color: var(--pa-v1-ink);
  font: 700 1.125rem/1.2 inherit;
  margin: 0 0 .375rem;
}
.pa-bundle__desc {
  color: var(--pa-v1-muted);
  font-size: .875rem;
  line-height: 1.5;
  margin: 0 0 .75rem;
}
.pa-bundle__components {
  border-top: 1px solid var(--pa-v1-line);
  list-style: none;
  margin: 0 0 1rem;
  padding: .75rem 0 0;
}
.pa-bundle__components li {
  padding: .25rem 0;
}
.pa-bundle__components a {
  color: var(--pa-v1-ink-2);
  font-size: .875rem;
  text-decoration: none;
}
.pa-bundle__components a:hover { color: var(--pa-v1-accent-2); }
.pa-bundle__price {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
  justify-content: space-between;
  margin: auto 0 0;
}
.pa-bundle__save {
  background: #eaf5ee;
  border-radius: 4px;
  color: var(--pa-v1-success);
  font: 600 .75rem/1 inherit;
  padding: .375rem .5rem;
}
.pa-bundle__cta { flex: 1 1 auto; min-width: 140px; text-align: center; }

/* ===== Reviews ===== */
.pa-reviews { padding: 3rem 0; }
.pa-reviews__grid {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
@media (max-width: 991.98px) {
  .pa-reviews__grid { grid-template-columns: 1fr; }
}
.pa-review {
  background: #fff;
  border: 1px solid var(--pa-v1-line);
  border-radius: var(--pa-v1-radius);
  padding: 1.25rem;
}
.pa-review__stars { color: var(--pa-v1-accent); font-size: 1rem; margin: 0 0 .5rem; }
.pa-review__quote { color: var(--pa-v1-ink); font: 500 1rem/1.55 inherit; margin: 0 0 .75rem; }
.pa-review__meta { color: var(--pa-v1-muted); font-size: .8125rem; margin: 0; }
.pa-review__meta strong { color: var(--pa-v1-ink-2); }
.pa-review__verified {
  background: #eaf5ee;
  border-radius: 4px;
  color: var(--pa-v1-success);
  font: 600 .6875rem/1 inherit;
  letter-spacing: .04em;
  margin-left: .25rem;
  padding: .25rem .375rem;
  text-transform: uppercase;
}
.pa-reviews__cta { margin: 1.5rem 0 0; text-align: center; }

/* ===== Packaging proof ===== */
.pa-packaging { background: #f7f8fa; padding: 3rem 0; }
.pa-packaging__grid {
  align-items: center;
  display: grid;
  gap: 2rem;
  grid-template-columns: 1fr 1fr;
}
@media (max-width: 767.98px) {
  .pa-packaging__grid { grid-template-columns: 1fr; }
}
.pa-packaging__figure { margin: 0; }
.pa-packaging__figure img {
  border-radius: var(--pa-v1-radius);
  box-shadow: var(--pa-v1-shadow);
  display: block;
  height: auto;
  width: 100%;
}
.pa-packaging__lede {
  color: var(--pa-v1-ink-2);
  font: 500 1rem/1.55 inherit;
  margin: 0 0 1rem;
}
.pa-packaging__bullets {
  color: var(--pa-v1-ink-2);
  font-size: .9375rem;
  line-height: 1.5;
  list-style: none;
  margin: 0;
  padding: 0;
}
.pa-packaging__bullets li {
  padding-left: 1.25rem;
  position: relative;
}
.pa-packaging__bullets li:before {
  color: var(--pa-v1-success);
  content: "✓";
  font-weight: 700;
  left: 0;
  position: absolute;
}

/* ===== FAQ ===== */
.pa-faq { padding: 3rem 0; }
.pa-faq__list {
  border-top: 1px solid var(--pa-v1-line);
  margin-top: 1rem;
}
.pa-faq__item {
  border-bottom: 1px solid var(--pa-v1-line);
}
.pa-faq__q {
  align-items: center;
  color: var(--pa-v1-ink);
  cursor: pointer;
  display: flex;
  font: 600 1rem/1.4 inherit;
  justify-content: space-between;
  list-style: none;
  padding: 1rem 0;
}
.pa-faq__q::-webkit-details-marker { display: none; }
.pa-faq__q:after {
  color: var(--pa-v1-muted);
  content: "+";
  font-size: 1.25rem;
  margin-left: 1rem;
  transition: transform .15s;
}
.pa-faq__item[open] .pa-faq__q:after { content: "−"; }
.pa-faq__a {
  color: var(--pa-v1-ink-2);
  font-size: .9375rem;
  line-height: 1.65;
  padding: 0 0 1rem;
}
.pa-faq__a p { margin: 0 0 .5rem; }
.pa-faq__a a { color: var(--pa-v1-accent-2); }

/* ===== Help block ===== */
.pa-help { background: #f7f8fa; padding: 3rem 0; }
.pa-help__card {
  align-items: center;
  background: #fff;
  border: 1px solid var(--pa-v1-line);
  border-radius: var(--pa-v1-radius);
  display: grid;
  gap: 1.5rem;
  grid-template-columns: 1fr auto;
  padding: 1.5rem 1.75rem;
}
@media (max-width: 767.98px) {
  .pa-help__card { grid-template-columns: 1fr; padding: 1.25rem; }
}
.pa-help__title {
  color: var(--pa-v1-ink);
  font: 700 1.25rem/1.3 inherit;
  margin: 0 0 .5rem;
}
.pa-help__sub {
  color: var(--pa-v1-muted);
  font-size: .9375rem;
  line-height: 1.5;
  margin: 0 0 .5rem;
}
.pa-help__sla {
  color: var(--pa-v1-success);
  font: 600 .8125rem/1 inherit;
  margin: 0;
}
.pa-help__cta {
  align-items: center;
  display: inline-flex;
  gap: .5rem;
  white-space: nowrap;
}
.pa-help__icon { color: currentColor; flex: none; }

/* ===== Newsletter ===== */
.pa-newsletter { padding: 3rem 0; }
.pa-newsletter__card {
  background: linear-gradient(135deg, #0f1721, #1c2939);
  border-radius: var(--pa-v1-radius);
  color: #fff;
  padding: 2rem 1.75rem;
  text-align: center;
}
.pa-newsletter__title {
  color: #fff;
  font: 700 clamp(1.25rem, 2.4vw, 1.625rem)/1.25 inherit;
  margin: 0 0 .5rem;
}
.pa-newsletter__sub {
  color: hsla(0,0%,100%,.8);
  font-size: .9375rem;
  line-height: 1.5;
  margin: 0 auto 1.25rem;
  max-width: 56ch;
}
.pa-newsletter__form {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
  justify-content: center;
  margin: 0 auto;
  max-width: 520px;
}
.pa-newsletter__input {
  background: #fff;
  border: 0;
  border-radius: 999px;
  color: var(--pa-v1-ink);
  flex: 1 1 240px;
  font-size: .9375rem;
  padding: .75rem 1.125rem;
}
.pa-newsletter__submit { white-space: nowrap; }
.pa-newsletter__legal {
  color: hsla(0,0%,100%,.6);
  flex: 0 0 100%;
  font-size: .75rem;
  margin: .75rem 0 0;
}
.pa-newsletter__legal a { color: hsla(0,0%,100%,.85); }

/* ===== Button reset shared across new partials ===== */
.pa-btn {
  border-radius: 6px;
  display: inline-block;
  font: 600 .9375rem/1 inherit;
  letter-spacing: .01em;
  padding: .75rem 1.125rem;
  text-decoration: none;
  transition: background .15s, color .15s, border-color .15s;
}
.pa-btn--accent { background: var(--pa-v1-accent); color: #fff; }
.pa-btn--accent:hover { background: var(--pa-v1-accent-2); color: #fff; }
.pa-btn--ghost {
  background: transparent;
  border: 1px solid hsla(0,0%,100%,.6);
  color: #fff;
}
.pa-btn--ghost:hover { background: hsla(0,0%,100%,.12); color: #fff; }
.pa-btn--lg { padding: .875rem 1.5rem; }

/* ===== Patch 2026-05-20: featured products 5-up on desktop =====
   ps_featuredproducts ships with a 4-column grid at lg. Bump to 5 so the
   homepage carries one extra product per row on ≥ lg viewports. */
@media (min-width: 992px) {
  .ps-featuredproducts .products,
  .ps_featuredproducts .products {
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
    gap: 1rem;
  }
}
@media (min-width: 1400px) {
  .ps-featuredproducts .products,
  .ps_featuredproducts .products {
    gap: 1.25rem;
  }
}

/* ===== Patch 2026-05-20: manufacturer band sizing =====
   Drop grayscale/opacity that washed logos out; tighten the gap so the
   four logos sit closer together instead of drifting apart. */
.pa-mfr-band__logo {
  filter: none !important;
  opacity: 1 !important;
  width: 96px;
  height: 28px;
}
.pa-mfr-band__list {
  gap: .5rem 1rem !important;
  flex: 1 1 auto;
  justify-content: flex-start;
}
@media (min-width: 768px) {
  .pa-mfr-band__list { gap: .5rem 1.25rem !important; }
}

/* ===== T4 (2026-05-20): hero payment badge row + caveat ===== */
.pa-hero__pay{align-items:center;color:hsla(0,0%,100%,.78);display:flex;flex-wrap:wrap;font-size:.75rem;gap:.5rem .75rem;line-height:1.4;margin-top:.875rem}
.pa-hero__pay-label{color:hsla(0,0%,100%,.68);font-size:.6875rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase}
.pa-hero__pay-icons{align-items:center;display:inline-flex;gap:.375rem;list-style:none;margin:0;padding:0}
.pa-pay-mark{align-items:center;background:#fff;border-radius:3px;color:var(--pa-v1-ink);display:inline-flex;font:700 .625rem/1 inherit;gap:.25rem;height:22px;justify-content:center;letter-spacing:.03em;min-width:34px;padding:0 .375rem}
.pa-pay-mark--visa{background:#fff;color:#1a1f71;letter-spacing:.06em}
.pa-pay-mark--mc{background:#fff;color:#eb001b}
.pa-pay-mark--btc{background:#fff;color:#f7931a}
.pa-pay-mark--bank{background:#fff;color:var(--pa-v1-ink)}
.pa-hero__pay-note{color:hsla(0,0%,100%,.68);font-style:italic}
.pa-hero__pay-note a{color:#fff;text-decoration:underline;text-underline-offset:2px}
.pa-hero__pay-note a:hover,.pa-hero__pay-note a:focus-visible{color:var(--pa-v1-accent)}
@media (max-width: 575.98px){.pa-hero__pay{gap:.375rem .5rem}.pa-hero__pay-note{flex:1 0 100%;margin-top:.125rem}}

/* ── PA hero v2 (2026-06-16): right-side proof panel ───────────────────────── */
.pa-hero__panel-stats{list-style:none;margin:0 0 1.125rem;padding:0;display:grid;gap:.625rem}
.pa-hero__panel-stats li{color:hsla(0,0%,100%,.85);font-size:.875rem;line-height:1.4;padding-left:1.5rem;position:relative}
.pa-hero__panel-stats li::before{content:"\2713";position:absolute;left:0;top:0;color:var(--pa-v1-accent);font-weight:700;font-size:.9rem;line-height:1.45}
.pa-hero__panel-stats strong{color:#fff;font-weight:700}
.pa-hero__panel-pay{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem .625rem;padding-top:1.125rem;border-top:1px solid hsla(0,0%,100%,.1)}
.pa-hero__panel-pay .pa-hero__pay-label{color:hsla(0,0%,100%,.68);font-size:.6875rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase}
.pa-hero__panel-pay .pa-hero__pay-icons{flex-wrap:wrap;gap:.4rem}
.pa-pay-chip{display:inline-flex;align-items:center;background:hsla(0,0%,100%,.05);color:hsla(0,0%,100%,.9);border:1px solid hsla(0,0%,100%,.18);border-radius:999px;padding:.34rem .72rem;font-size:.75rem;font-weight:600;line-height:1;letter-spacing:.01em;white-space:nowrap}
.pa-pay-chip--btc{color:#f7a23a;border-color:hsla(33,92%,58%,.45)}
@media (max-width: 767.98px){
  .pa-hero__panel{max-width:480px}
}

/* ── PA hero v2 desktop fix (2026-06-16) ───────────────────────────────────────
   The compiled theme bundle (theme-<hash>.css) loads AFTER this file and still
   carries the OLD hero structure (overlay position:absolute;inset:0 over a
   .pa-hero__media that we deleted) — so on desktop the overlay leaves the flow and
   the hero collapses to 0 height. Override with higher specificity (.pa-hero ...)
   so the overlay stays in-flow on every breakpoint. (Also update src/scss/_pa-home.scss.) */
.pa-hero .pa-hero__overlay{position:relative;inset:auto;display:block;align-items:stretch;background:radial-gradient(118% 130% at 14% 6%,#1b2a3c 0%,#101b27 52%,#0b131c 100%)}
.pa-hero .pa-hero__inner{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);gap:2.5rem;align-items:center;padding:3rem 1rem}
@media (max-width: 767.98px){
  .pa-hero .pa-hero__inner{grid-template-columns:1fr;gap:1.5rem;padding:1.75rem 1rem 2rem}
}
