/* Packrivo review candidate. Load after theme, homepage and buyer styles. */
@font-face { font-family: "Packrivo Inter"; src: url("./packrivo-inter-latin-v2.woff2") format("woff2"); font-style: normal; font-weight: 100 900; font-display: swap; }
:root {
  --pr-font: "Packrivo Inter", Arial, Helvetica, sans-serif;
  font-family: var(--pr-font);
}
body, button, input, select, textarea { font-family: var(--pr-font); }
h1, h2, h3, #packaging-directions h2, #packaging-directions .format-copy h3 {
  font-family: var(--pr-font); text-wrap: pretty;
}
/* Ordinary document scrolling keeps anchor, keyboard and browser recovery native. */
html:has(> body.has-contact-dock), html:has(> body.single-post) {
  height: auto !important; overflow-y: auto !important; scroll-padding-top: 96px;
}
body.has-contact-dock, body.single-post, body.has-contact-dock:has(> nav.packrivo-global-contact),
body:has(noscript > nav.packrivo-global-contact) {
  display: block !important; height: auto !important; min-height: 100vh;
  overflow: visible !important; padding-bottom: 0 !important;
}
body.has-contact-dock > .page-scroll { display: contents !important; }
/* Keep the original contact target; compact it instead of covering the content. */
body.has-contact-dock > nav.contact-dock.packrivo-global-contact,
body.has-contact-dock noscript > nav.contact-dock.packrivo-global-contact,
body noscript > nav.contact-dock.packrivo-global-contact {
  position: fixed !important; inset: auto 16px max(16px,env(safe-area-inset-bottom,0px)) auto !important;
  width: 56px !important; max-width: 56px !important; margin: 0 !important;
  padding: 0 !important; border: 0; background: transparent; border-radius: 50%;
  z-index: 40 !important; box-shadow: none !important;
}
.contact-dock.packrivo-global-contact .contact-dock-chat {
  display: flex; width: 56px; height: 56px; min-height: 56px;
  padding: 0; border-radius: 50%; box-shadow: 0 4px 16px #16322326;
}
.contact-dock.packrivo-global-contact .contact-dock-chat span {
  position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip-path: inset(50%); white-space: nowrap;
}
footer { padding-bottom: 88px; }
/* Transaction content remains visible without animation or intersection observers. */
.hero-copy, .product-detail, .product-detail > *, .page-heading, .post-header {
  animation: none !important; opacity: 1 !important; transform: none !important;
}
a, button, input, select, textarea, summary { -webkit-tap-highlight-color: #215d4720; }
:where(a, button, input, select, textarea, summary):focus-visible {
  outline: 3px solid var(--focus,#b84b28); outline-offset: 3px;
}
button, .button, .secondary, .brief-pill, .card-link { min-height: 44px; }
.button:not(.secondary) { background: var(--accent); color: var(--on-accent,#fff); }
.button:not(.secondary):hover { background: #174a38; color: #fff; }
.secondary, .button.secondary { background: transparent; color: var(--accent); }
.secondary:hover { background: var(--panel); }
/* Green is the primary action. Orange remains the focus/error accent. */
.actions .text-link, .product-detail .text-link { display: inline-flex; align-items: center; min-height: 44px; }
.helper, .product-summary-boundary, .product-support-note, figcaption, .blog-card-meta,
#packaging-directions .directions-note, #packaging-directions .direction-category {
  font-size: max(.8125rem, 13px); line-height: 1.5;
}
.crumb { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 9px; font-size: .875rem; line-height: 1.5; padding-top: 18px; margin-bottom: 18px; }
.crumb a { padding-block: 4px; }
.crumb [aria-current] { overflow-wrap: anywhere; }
.post-header { max-width: 880px; margin-bottom: 24px; }
.post-header h1 { max-width: none; font-size: clamp(1.875rem,3.2vw,3.25rem); line-height: 1.16; letter-spacing: -.035em; }
.post-cover, .post-cover.scale-article-cover { aspect-ratio: auto !important; overflow: visible !important; }
.post-cover img { height: auto !important; object-fit: contain !important; max-height: none; }
.post-cover > span { position: static; display: block; font-size: .8125rem; background: transparent; padding: 10px 0; }
.buyer-blog-discovery .blog-card-image { aspect-ratio: 3/2; }
.buyer-blog-discovery .blog-card-image img { object-fit: contain !important; }
.buyer-blog-discovery .blog-card h2 { line-height: 1.35; letter-spacing: -.015em; }
.buyer-blog-discovery .blog-card h2 a { display: block; overflow: visible; -webkit-line-clamp: unset; }
.buyer-blog-discovery .blog-card-meta { font-size: .8125rem; letter-spacing: .02em; }
.buyer-blog-discovery .blog-card-body p { font-size: .9375rem; line-height: 1.55; }
#packaging-directions .card-link, #packaging-directions .brief-pill { font-size: .875rem; }
#packaging-directions .card-link { display: inline-flex; align-items: center; }
#packaging-directions .format-copy h3 { font-size: 1rem; line-height: 1.35; }
/* At 1024 the actual navigation stays on one row, without shrinking hit targets. */
@media(min-width:861px) and (max-width:1100px) {
  .site-header { flex-wrap: nowrap; gap: 14px; min-height: 76px; padding: 12px 24px; }
  .site-header .brand-logo { width: 142px; }
  .site-header nav { order: 0; width: auto; flex-wrap: nowrap; gap: 8px; font-size: .8125rem; }
  .site-header nav > details, .site-header nav > a + a { margin: 0; }
  .site-header nav > p { gap: 8px; }
  .site-header nav > p > a { margin: 0; padding: 9px 3px; }
  .site-header nav > details.product-menu > summary { padding: 9px 5px; }
  .site-header > .button, .site-header > p > .button { padding: 10px 12px; font-size: .8125rem; white-space: nowrap; }
}
@media(max-width:860px) {
  .site-header { flex-wrap: wrap; gap: 10px; min-height: 68px; padding: 10px 20px; }
  .site-header .brand-logo { width: 142px; }
  html.enhanced-nav .site-header .nav-toggle { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 8px 14px; margin-left: auto; font: inherit; border: 1px solid var(--line); background: var(--bg); color: var(--text); border-radius: 4px; }
  html.enhanced-nav .site-header > .button, html.enhanced-nav .site-header > .header-brief-wrap { display: none; }
  html.enhanced-nav .site-header nav:not(.is-open) { display: none; }
  .site-header nav.is-open { position: absolute; inset: 100% 0 auto; display: flex; flex-direction: column; align-items: stretch; width: 100%; max-height: calc(100dvh - 68px); overflow: auto; padding: 10px 20px 20px; background: var(--bg); border-bottom: 1px solid var(--line); white-space: normal; box-shadow: 0 16px 28px #1632231a; }
  .site-header nav.is-open > p { display: flex; flex-direction: column; gap: 0; margin: 0; }
  .site-header nav.is-open > *, .site-header nav.is-open > p > a { width: 100%; margin: 0; }
  .site-header nav.is-open > a, .site-header nav.is-open > p > a, .site-header nav.is-open summary { display: flex; align-items: center; padding: 10px 4px; min-height: 44px; font-size: 1rem; }
  .site-header nav.is-open > a.mobile-nav-brief { display: flex; justify-content: center; margin-top: 12px; background: var(--accent); color: #fff; padding: 12px; }
  .site-header nav.is-open > details.product-menu .dropdown.dropdown-mega,
  .site-header nav.is-open > details.product-menu.resources-menu > .dropdown { position: static; width: 100%; max-width: 100%; padding: 12px 0; margin: 0; border: 0; background: transparent; box-shadow: none; }
  .site-header .dropdown-mega .mega-menu { grid-template-columns: 1fr; }
  .site-header .dropdown-mega .mega-categories { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .site-header .dropdown-mega .mega-aside { display: none; }
}
/* Shared contract for the rewritten homepage; product images remain uncropped. */
.pr-remediation-hero { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 40px; align-items: center; padding: 36px 0; }
.pr-remediation-hero h1 { font-size: clamp(2.25rem,4.4vw,4rem); line-height: 1.08; letter-spacing: -.045em; margin: 10px 0 16px; }
.pr-remediation-hero .hero-stage { margin: 0; }
.pr-remediation-hero .hero-stage img { display: block; width: 100%; height: auto; aspect-ratio: 3/2; object-fit: contain; }
.pr-remediation-hero .actions { display: flex; flex-wrap: wrap; gap: 10px; margin: 16px 0; }
@media(max-width:767px) {
  html { scroll-padding-top: 80px; }
  main { padding-inline: 20px; }
  .crumb { padding-top: 10px; margin: 8px 0 12px; gap: 2px 7px; }
  /* Show the full current-page label, without a duplicate oversized paragraph. */
  .packrivo-native-page .crumb > [aria-current="page"], .packrivo-native-page .crumb > span:nth-last-child(2) { display: inline; }
  .crumb [aria-current] { font-size: .8125rem; }
  .pr-remediation-hero { grid-template-columns: 1fr; gap: 14px; padding: 18px 0 24px; }
  .pr-remediation-hero h1 { max-width: none; font-size: 2.1rem; margin: 8px 0 12px; }
  .pr-remediation-hero .hero-copy > p { font-size: .9375rem; line-height: 1.5; margin: 8px 0; }
  .pr-remediation-hero .hero-stage img { aspect-ratio: 3/2; max-height: 265px; }
  .pr-remediation-hero .actions { margin: 12px 0 0; }
  .buyer-catalogue-page main > .page-heading { margin: 12px 0 14px; padding: 0; }
  .buyer-catalogue-page .page-heading h1 { font-size: 1.875rem; line-height: 1.15; }
  .buyer-catalogue-page .page-heading p { font-size: .9375rem; line-height: 1.5; }
  .buyer-catalogue-page .filters { margin: 8px 0; gap: 8px; }
  .buyer-catalogue-page .filters label { font-size: .875rem; }
  .buyer-filter-disclosure { margin: 4px 0 8px; }
  .buyer-filter-disclosure > summary { padding: 8px 0; min-height: 44px; }
  .buyer-catalogue-page .format-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
  .buyer-catalogue-page .catalogue-card p { font-size: .875rem; }
  .buyer-catalogue-page .catalogue-card figcaption { font-size: .8125rem !important; }
  .packrivo-native-page .product-detail { padding-top: 8px; gap: 16px; }
  .packrivo-native-page .product-detail > figure img { width: 100%; aspect-ratio: 3/2; height: auto; object-fit: contain; }
  .packrivo-native-page .product-detail > figure figcaption { font-size: .8125rem; line-height: 1.5; }
  .packrivo-native-page .product-detail > div > h1 { font-size: 2rem; line-height: 1.15; }
  .product-purchase-card p, .product-support-note, .product-summary-boundary { font-size: .875rem; line-height: 1.45; }
  .product-purchase-card h2 { font-size: .8125rem !important; }
  .pkpw-directory-head { padding: 12px 0; }
  .pkpw-directory-head h1 { font-size: 1.875rem; }
  .pkpw-directory-head p:last-child { font-size: 1rem; }
  .pkpw-filters { padding: 12px; }
  .pkpw-gallery { order: 0; width: 100%; }
  .pkpw-gallery-main img { aspect-ratio: 3/2; object-fit: contain; }
  .pkpw-hero-copy { order: 1; }
  .post-header { margin-bottom: 18px; }
  .post-header h1 { font-size: 1.875rem; line-height: 1.2; letter-spacing: -.025em; }
  .post-header .blog-card-meta { gap: 6px 12px; font-size: .8125rem; }
  .post-cover { margin-bottom: 24px; }
  .post-content .article-figure { margin-inline: 0; }
  #packaging-directions .direction-category { font-size: .8125rem; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior: auto; } }

/* The live catalogue is the native product workspace, not the legacy cards. */
.pkpw-catalogue .pkpw-directory-head { padding: 12px 0 18px; }
.pkpw-catalogue .pkpw-directory-head h1 { font-size: clamp(1.875rem,3.6vw,3.25rem); line-height: 1.15; }
.pkpw-catalogue .pkpw-directory-head p:last-child { font-size: 1rem; line-height: 1.5; margin: 10px 0; }
.pkpw-catalogue .pkpw-filters { padding: 12px; gap: 12px; }
.pr-catalogue-filters summary { cursor: pointer; min-height: 44px; padding: 10px 0; font-weight: 600; }
.pr-catalogue-filters label { margin-bottom: 10px; }
@media(max-width:767px) {
 .pkpw-catalogue .crumb, .pkpw-detail .crumb { padding-top: 0; margin: 8px 0 12px; }
 .pkpw-catalogue .pkpw-directory-head { padding: 0 0 10px; }
 .pkpw-catalogue .pkpw-directory-head h1 { font-size: 1.875rem; margin: 6px 0 10px; }
 .pkpw-catalogue .pkpw-directory-head p:last-child { font-size: .9375rem; line-height: 1.5; margin: 8px 0; }
 .pkpw-catalogue .pkpw-directory-head .pkpw-eyebrow { margin: 8px 0; }
 .pkpw-catalogue .pkpw-filters:has(.pr-catalogue-filters) { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 8px 10px; }
 .pkpw-catalogue .pkpw-filters:has(.pr-catalogue-filters) > label { width: auto; font-size: .875rem; }
 .pkpw-catalogue .pkpw-filters:has(.pr-catalogue-filters) > .button { width: auto; padding: 10px; font-size: .8125rem; }
 .pkpw-catalogue .pr-catalogue-filters { grid-column: 1/-1; margin: 0; font-size: .875rem; }
 .pkpw-catalogue .pr-catalogue-filters > summary { padding: 6px 0; }
 .pkpw-catalogue .pkpw-results { margin: 12px 0; font-size: .875rem; }
 .pkpw-catalogue .format-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
 .pkpw-catalogue .pkpw-card h3 { font-size: 1rem; line-height: 1.35; }
 .pkpw-catalogue .pkpw-card img { aspect-ratio: 3/2; object-fit: contain; }
 .pkpw-detail .pkpw-gallery-main img { aspect-ratio: 3/2; }
 .pkpw-detail .pkpw-thumbs { grid-template-columns: repeat(6,minmax(0,1fr)); gap: 4px; }
 .pkpw-detail .pkpw-thumbs span { font-size: .75rem; }
}
@media(min-width:768px) {
 .pkpw-filters .pr-catalogue-filters { flex: 1 1 16rem; }
 .pr-catalogue-filters > summary { display: none; }
 .pr-catalogue-filters > label { margin-bottom: 0; }
 .pr-catalogue-filters .secondary { margin-top: 8px; }
}
.pkpw-catalogue .catalogue-card { display: flex; flex-direction: column; min-width: 0; padding: 12px; }
.pkpw-catalogue .catalogue-card > * { order: 0 !important; }
.pkpw-catalogue .catalogue-card > .product-image-link,
.pkpw-catalogue .catalogue-card > figure { order: -1 !important; display: block; margin: 0 0 12px; }
.pkpw-catalogue .catalogue-card figure { margin: 0; }
.pkpw-catalogue .catalogue-card img { display: block; width: 100%; height: auto; aspect-ratio: 3/2; object-fit: contain; }
.pkpw-catalogue .catalogue-card figcaption { font-size: .8125rem; line-height: 1.45; padding-top: 8px; }
.pkpw-catalogue .catalogue-card h3 { font-size: 1.125rem; line-height: 1.35; }
.pkpw-catalogue .catalogue-card > .text-link { margin-top: auto; min-height: 44px; display: inline-flex; align-items: center; }
@media(max-width:767px) {
 .pkpw-detail .pkpw-thumbs { grid-template-columns: repeat(6,minmax(68px,1fr)); overflow-x: auto; padding: 2px 2px 8px; }
 .pkpw-detail .pkpw-thumbs span { overflow-wrap: normal; word-break: normal; }
}

/* Keep explanatory specification columns readable inside their existing scroll region. */
@media(max-width:767px){.post-content table.pr-wide-table{min-width:var(--pr-table-min,680px)!important;table-layout:auto}}

/* Existing concept walkthroughs use their own semantic table regions. */
.packrivo-native-page .table-scroll{max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain}
.packrivo-native-page .article,.packrivo-native-page .case-detail>*{min-width:0}
@media(max-width:767px){.packrivo-native-page .table-scroll table{min-width:680px}}
