/* Sandbox Africa V8-PUB6 — public QA and responsive hardening. */
html{scroll-padding-top:118px}
body.sandbox-v8-public{overflow-x:clip}
.sandbox-v8-public section[id],.sandbox-v8-public [id].pub3-directory-section,.sandbox-v8-public [id].pub4-marketplace-results{scroll-margin-top:118px}

/* Public content must never depend on JavaScript/intersection observers to be visible. */
.sandbox-v8-public .reveal,
.sandbox-v8-public .reveal-left,
.sandbox-v8-public .reveal-scale,
.sandbox-v8-public .stagger>*{opacity:1!important;transform:none!important}

/* Defensive content sizing across every public surface. */
.sandbox-v8-public img,.sandbox-v8-public svg,.sandbox-v8-public video{max-width:100%}
.sandbox-v8-public img{height:auto}
.sandbox-v8-public h1,.sandbox-v8-public h2,.sandbox-v8-public h3,.sandbox-v8-public p,.sandbox-v8-public a,.sandbox-v8-public strong{overflow-wrap:anywhere}
.sandbox-v8-public input,.sandbox-v8-public select,.sandbox-v8-public textarea,.sandbox-v8-public button{max-width:100%}
.sandbox-v8-public table{max-width:100%}
.sandbox-v8-public .table-responsive,.sandbox-v8-public [data-responsive-table]{overflow-x:auto;-webkit-overflow-scrolling:touch}

/* Keep public pagination attached to the result set and usable at narrow widths. */
.sandbox-v8-public .sandbox-v8-pagination{margin-top:28px}
.sandbox-v8-public .v8-pagination{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap}
.sandbox-v8-public .v8-pagination__summary{margin:0}
.sandbox-v8-public .v8-pagination__controls{max-width:100%;flex-wrap:wrap}
.sandbox-v8-public .v8-pagination__pages{flex-wrap:wrap}
.sandbox-v8-public .v8-pagination a:focus-visible,
.sandbox-v8-public .button:focus-visible,
.sandbox-v8-public .nav-link:focus-visible,
.sandbox-v8-public .menu-btn:focus-visible{outline:3px solid rgba(122,232,204,.72);outline-offset:3px}

/* Prevent cards and metadata from forcing horizontal overflow. */
.sandbox-v8-public .pub1-opportunity-grid,
.sandbox-v8-public .pub1-review-grid,
.sandbox-v8-public .pub1-product-grid,
.sandbox-v8-public .pub2-review-grid,
.sandbox-v8-public .pub3-feature-grid,
.sandbox-v8-public .pub3-opportunity-grid,
.sandbox-v8-public .pub4-market-grid,
.sandbox-v8-public .pub4-company-product-grid,
.sandbox-v8-public .pub5-opportunity-grid,
.sandbox-v8-public .pub5-outcome-grid{min-width:0}
.sandbox-v8-public .pub1-opportunity-grid>*,
.sandbox-v8-public .pub1-review-grid>*,
.sandbox-v8-public .pub1-product-grid>*,
.sandbox-v8-public .pub2-review-grid>*,
.sandbox-v8-public .pub3-feature-grid>*,
.sandbox-v8-public .pub3-opportunity-grid>*,
.sandbox-v8-public .pub4-market-grid>*,
.sandbox-v8-public .pub4-company-product-grid>*,
.sandbox-v8-public .pub5-opportunity-grid>*,
.sandbox-v8-public .pub5-outcome-grid>*{min-width:0}

/* Shared relationship labelling must remain legible rather than visually competing with the opportunity title. */
.sandbox-v8-public .pub3-relationship strong,
.sandbox-v8-public .pub5-opportunity-card strong,
.sandbox-v8-public .institutional-relationship-card strong{font-size:clamp(.86rem,1.3vw,1.02rem);line-height:1.28}

/* Empty states should collapse naturally instead of reserving feature-card heights. */
.sandbox-v8-public .empty-state,
.sandbox-v8-public .pub1-empty{min-height:0!important}

@media(max-width:1100px){
  .sandbox-v8-public .pub1-hero-grid,
  .sandbox-v8-public .pub1-two-column,
  .sandbox-v8-public .pub2-review-detail-grid,
  .sandbox-v8-public .pub2-submit-grid,
  .sandbox-v8-public .pub3-opportunity-hero-grid,
  .sandbox-v8-public .pub4-product-detail-grid,
  .sandbox-v8-public .pub4-company-grid,
  .sandbox-v8-public .pub5-hero-grid,
  .sandbox-v8-public .pub5-two-col{grid-template-columns:minmax(0,1fr)!important}
  .sandbox-v8-public .pub3-opportunity-hero-proof,
  .sandbox-v8-public .pub2-review-aside,
  .sandbox-v8-public .pub2-submit-aside,
  .sandbox-v8-public .pub4-company-aside{position:static!important;top:auto!important}
}

@media(max-width:860px){
  html{scroll-padding-top:92px}
  .sandbox-v8-public section[id]{scroll-margin-top:92px}
  .sandbox-v8-public .pub1-proof-grid,
  .sandbox-v8-public .pub1-engine-grid,
  .sandbox-v8-public .pub1-mandate-grid,
  .sandbox-v8-public .pub2-method-grid,
  .sandbox-v8-public .pub2-record-layers,
  .sandbox-v8-public .pub3-pathway-grid,
  .sandbox-v8-public .pub4-provenance-grid,
  .sandbox-v8-public .pub5-proof-strip,
  .sandbox-v8-public .pub5-process-track{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}

@media(max-width:700px){
  .sandbox-v8-public .subhero,.sandbox-v8-public .pub1-hero,.sandbox-v8-public .pub5-hero{min-height:0!important}
  .sandbox-v8-public .section{padding-top:46px;padding-bottom:46px}
  .sandbox-v8-public .pub1-proof-grid,
  .sandbox-v8-public .pub1-engine-grid,
  .sandbox-v8-public .pub1-mandate-grid,
  .sandbox-v8-public .pub1-review-grid,
  .sandbox-v8-public .pub1-opportunity-grid,
  .sandbox-v8-public .pub1-product-grid,
  .sandbox-v8-public .pub2-review-grid,
  .sandbox-v8-public .pub2-method-grid,
  .sandbox-v8-public .pub2-record-layers,
  .sandbox-v8-public .pub2-evidence-grid,
  .sandbox-v8-public .pub2-provenance-grid,
  .sandbox-v8-public .pub3-pathway-grid,
  .sandbox-v8-public .pub3-feature-grid,
  .sandbox-v8-public .pub3-opportunity-grid,
  .sandbox-v8-public .pub4-market-grid,
  .sandbox-v8-public .pub4-company-product-grid,
  .sandbox-v8-public .pub4-provenance-grid,
  .sandbox-v8-public .pub5-proof-strip,
  .sandbox-v8-public .pub5-process-track,
  .sandbox-v8-public .pub5-opportunity-grid,
  .sandbox-v8-public .pub5-outcome-grid,
  .sandbox-v8-public .pub5-capital-example-grid{grid-template-columns:minmax(0,1fr)!important}
  .sandbox-v8-public .actions{align-items:stretch}
  .sandbox-v8-public .actions .button{width:100%;justify-content:center}
  .sandbox-v8-public .pub3-card-actions,.sandbox-v8-public .pub4-card-actions{align-items:stretch;flex-direction:column}
  .sandbox-v8-public .pub3-card-actions .button,.sandbox-v8-public .pub4-card-actions .button{width:100%;justify-content:center}
  .sandbox-v8-public .v8-pagination{align-items:stretch;flex-direction:column}
  .sandbox-v8-public .v8-pagination__controls{width:100%;justify-content:center}
  .sandbox-v8-public .v8-pagination__summary{text-align:center}
  .sandbox-v8-public .v8-pagination__position{width:100%;text-align:center}
  .sandbox-v8-public .pub3-pagination-wrap,.sandbox-v8-public .pub4-pagination-wrap{align-items:stretch;flex-direction:column}
}

@media(max-width:480px){
  .sandbox-v8-public .v8-pagination__pages{order:3;width:100%;justify-content:center}
  .sandbox-v8-public .v8-pagination__control{flex:1;justify-content:center}
  .sandbox-v8-public .pub2-form-stepper{overflow-x:auto;scrollbar-width:thin}
  .sandbox-v8-public .pub3-filter-tabs{overflow-x:auto;flex-wrap:nowrap;-webkit-overflow-scrolling:touch}
}
