/* pfoundry replica overrides - kept deliberately tiny.
   The account/sign-in gate depends on user accounts this replica does not
   have; its script is not shipped, so its markup must never show. */
.pf-gate { display: none !important; }
/* The root layout wraps tenant content; let the page tree lay out as if
   it were a direct child of <body>. */
.pf-doc { display: contents; }

/* ---- One site-wide column (wider than the theme's 1200px) ---- */
:root, body {
  --pf-max: 1376px;
  --pf-gutter: clamp(16px, 4vw, 32px);
  --pf-col: min(var(--pf-max), calc(100vw - 2 * var(--pf-gutter)));
  --wp--style--global--wide-size: var(--pf-max);
}

/* No announcement bar above the hero. */
.pf-announce { display: none !important; }
.pf-nav { top: 0 !important; }

/* Nav: logo and last button line up with the column edges; once scrolled it
   gets a near-solid backdrop so links stay readable over photos. */
.pf-nav-inner {
  max-width: none !important;
  width: calc(var(--pf-col) + 36px) !important;
  padding-left: 18px !important; padding-right: 18px !important;
}
.is-scrolled .pf-nav-inner {
  background: rgba(247, 243, 238, 0.94) !important;
  -webkit-backdrop-filter: blur(18px) saturate(1.2); backdrop-filter: blur(18px) saturate(1.2);
}

/* Hero photo: contained to the column, rounded. */
.home main > .wp-block-cover.alignfull {
  width: var(--pf-col) !important; max-width: none !important;
  margin: 96px auto 0 !important; border-radius: 24px; overflow: hidden;
}
@media (min-width: 782px) {
  .home main > .wp-block-cover.alignfull { min-height: min(720px, 80vh) !important; }
  .home .pf-hero-band { padding-left: 56px !important; padding-right: 56px !important; }
}

/* Section containers onto the column (outer box only; inner padding kept). */
.pf-tstrip__list, .pf-catalog, .pf-us-statement, .pf-vial-sticky, .pf-quality-links,
.pf-ship__card, .pf-home-faq, .pf-footer > .alignwide, .pf-box, .pf-story__wrap,
.pf-shop-head, .pf-box-promo, .pf-shop-formats, .pf-shop-grid {
  width: var(--pf-col) !important; max-width: none !important;
  margin-left: auto !important; margin-right: auto !important; box-sizing: border-box;
}
.pf-catalog { padding-left: 0 !important; padding-right: 0 !important; }
.pf-box { padding-left: 0 !important; padding-right: 0 !important; }
.pf-home-faq, .pf-story__wrap { padding-left: 0 !important; padding-right: 0 !important; }

/* Trust strip as four feature tiles. */
.pf-tstrip.pf-tstrip--tiles { border: 0 !important; padding: 32px 0 8px !important; background: none !important; }
.pf-tstrip--tiles .pf-tstrip__list {
  display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px;
  list-style: none; padding: 0 !important; border: 0 !important;
}
.pf-tstrip--tiles li { display: block !important; margin: 0; padding: 0 !important; border: 0 !important; }
.pf-tstrip--tiles .pf-tile {
  display: flex; align-items: flex-start; gap: 14px; height: 100%; box-sizing: border-box;
  padding: 20px 22px; border-radius: 16px; text-decoration: none; color: #2A2622;
  background: #FCFAF8; border: 1px solid #E5DED4;
  transition: border-color .2s ease, transform .2s ease, box-shadow .2s ease;
}
.pf-tstrip--tiles .pf-tile:hover { border-color: hsl(24 72% 50% / .45); transform: translateY(-2px); box-shadow: 0 10px 24px #231e1a12; }
.pf-tile__icon {
  flex: none; display: grid; place-items: center; width: 40px; height: 40px; border-radius: 12px;
  background: hsl(24 72% 50% / .1); color: hsl(24 80% 34%);
}
.pf-tile__icon svg { width: 22px; height: 22px; }
.pf-tile__text { display: flex; flex-direction: column; gap: 4px; }
.pf-tile__text strong { font: 600 16px/1.3 "Hanken Grotesk", sans-serif; letter-spacing: -0.01em; }
.pf-tile__text small { font: 400 13.5px/1.45 "Hanken Grotesk", sans-serif; color: #696059; }
@media (max-width: 1000px) { .pf-tstrip--tiles .pf-tstrip__list { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 520px) {
  .pf-tstrip--tiles .pf-tstrip__list { gap: 10px; }
  .pf-tstrip--tiles .pf-tile { flex-direction: column; gap: 10px; padding: 16px; }
  .pf-tile__text small { display: none; }
}

/* Alignment pass 2 */
.pf-tstrip--tiles .pf-tile, .pf-tile__text { text-align: left !important; }
.pf-vial-sticky { padding-left: 0 !important; padding-right: 0 !important; }
.pf-vial-stage { width: 100% !important; max-width: none !important; margin-left: 0 !important; margin-right: 0 !important; }
.pf-quality-section { padding-left: 0 !important; padding-right: 0 !important; }
.pf-quality-kicker { width: var(--pf-col) !important; max-width: none !important; margin-left: auto !important; margin-right: auto !important; }
.pf-footer > hr, .pf-footer > .has-global-padding {
  width: var(--pf-col) !important; max-width: none !important; margin-left: auto !important; margin-right: auto !important;
}
.pf-footer > .alignwide { margin-left: auto !important; margin-right: auto !important; }
.pf-footer-pay { flex-wrap: wrap; justify-content: flex-end; max-width: 100%; }
.pf-footer-pay > * { flex: none; }

/* Alignment pass 3: product + cGMP/cleanroom + research */
main > .wp-block-columns.alignwide, .pf-tabs-inner, .pf-stacks-inner, .pf-res-further {
  width: var(--pf-col) !important; max-width: none !important;
  margin-left: auto !important; margin-right: auto !important; box-sizing: border-box;
}
.pf-tabs-section, .pf-stacks-section, .pf-res-further { padding-left: 0 !important; padding-right: 0 !important; }
.pfct-intro { padding-left: max(var(--pf-gutter), calc((100vw - var(--pf-max)) / 2)) !important;
              padding-right: max(var(--pf-gutter), calc((100vw - var(--pf-max)) / 2)) !important; }
.pf-box-hero { padding-left: 48px !important; }
