/* Sandbox Africa V8-M11 — Reviews evidence contract and public experience */

/* Review pages must never depend on IntersectionObserver for basic content
   visibility. This also prevents full-page screenshots, crawlers and slow JS
   from capturing blank sections. */
.sandbox-v8-public.sandbox-v8-reviews-page .reveal,
.sandbox-v8-public.sandbox-v8-reviews-page .reveal-left,
.sandbox-v8-public.sandbox-v8-reviews-page .reveal-scale,
.sandbox-v8-public.sandbox-v8-review-detail-page .reveal,
.sandbox-v8-public.sandbox-v8-review-detail-page .reveal-left,
.sandbox-v8-public.sandbox-v8-review-detail-page .reveal-scale,
.sandbox-v8-public.sandbox-v8-review-submit-page .reveal,
.sandbox-v8-public.sandbox-v8-review-submit-page .reveal-left,
.sandbox-v8-public.sandbox-v8-review-submit-page .reveal-scale {
    opacity: 1 !important;
    transform: none !important;
}
.sandbox-v8-public.sandbox-v8-reviews-page .stagger > *,
.sandbox-v8-public.sandbox-v8-review-detail-page .stagger > *,
.sandbox-v8-public.sandbox-v8-review-submit-page .stagger > * {
    opacity: 1 !important;
    transform: none !important;
}

.sandbox-v8-public .v8-review-form-section + .v8-review-form-section {
    margin-top: 34px;
    padding-top: 28px;
    border-top: 1px solid rgba(255,255,255,.09);
}
.sandbox-v8-public .v8-review-form-section h2 {
    margin: 7px 0 12px;
    font-size: clamp(1.9rem,3.2vw,3rem);
}
.sandbox-v8-public .v8-submit-intro {
    max-width: 760px;
    margin: 0 0 18px;
    font-size: 13px;
    line-height: 1.7;
    opacity: .8;
}
.sandbox-v8-public .v8-review-form label em {
    font-style: normal;
    font-size: 9px;
    letter-spacing: .05em;
    text-transform: uppercase;
    opacity: .68;
    margin-left: 5px;
}
.sandbox-v8-public .v8-review-form label small {
    display: block;
    margin-top: 5px;
    font-size: 10.5px;
    opacity: .65;
}
.sandbox-v8-public .v8-submit-alert {
    padding: 13px 16px;
    border-radius: 10px;
    font-size: 13px;
    margin-bottom: 18px;
}
.sandbox-v8-public .v8-submit-alert.is-success { background: rgba(95,163,158,.14); color: #85d9cf; }
.sandbox-v8-public .v8-submit-alert.is-error { background: rgba(226,104,95,.14); color: #f09a92; }
.sandbox-v8-public .v8-submit-alert ul { margin: 8px 0 0; padding-left: 18px; }
.sandbox-v8-public .v8-screenshot-upload {
    padding: 17px;
    border: 1px dashed rgba(95,163,158,.45);
    border-radius: 13px;
    background: rgba(95,163,158,.04);
}
.sandbox-v8-public .v8-screenshot-upload > span {
    display: block;
    margin: 8px 0;
    font-size: 11px;
    line-height: 1.55;
    opacity: .72;
}
.sandbox-v8-public .v8-screenshot-selection {
    font-size: 11px;
    color: #85d9cf;
    margin-top: 8px;
}
.sandbox-v8-public .v8-screenshot-captions {
    display: grid;
    gap: 10px;
    margin: 10px 0 18px;
}
.sandbox-v8-public .v8-screenshot-caption {
    padding: 13px;
    border: 1px solid rgba(255,255,255,.08);
    border-radius: 11px;
    background: rgba(255,255,255,.018);
}
.sandbox-v8-public .v8-screenshot-caption > span {
    display: block;
    margin-bottom: 8px;
    font-size: 11px;
    font-weight: 700;
    color: #d7e3e2;
}
.sandbox-v8-public .v8-checkpoint-workbook { display: grid; gap: 18px; }
.sandbox-v8-public .v8-checkpoint-step {
    padding: 18px;
    border: 1px solid rgba(95,163,158,.18);
    border-radius: 15px;
    background: rgba(95,163,158,.025);
}
.sandbox-v8-public .v8-checkpoint-step h3 {
    margin-bottom: 12px;
    font-size: 15px;
    letter-spacing: -.02em;
}
.sandbox-v8-public .v8-checkpoint-input {
    display: grid;
    grid-template-columns: minmax(0,1.15fr) minmax(150px,.5fr) minmax(0,1.35fr);
    gap: 12px;
    align-items: start;
    padding: 14px 0;
    border-top: 1px solid rgba(255,255,255,.07);
}
.sandbox-v8-public .v8-checkpoint-input:first-of-type { border-top: 0; }
.sandbox-v8-public .v8-checkpoint-copy strong { display: block; margin-bottom: 5px; }
.sandbox-v8-public .v8-checkpoint-copy p { font-size: 11.5px; line-height: 1.55; }
.sandbox-v8-public .v8-submit-consents { display: grid; gap: 10px; margin: 18px 0; }
.sandbox-v8-public .v8-submit-consents label {
    display: flex;
    gap: 10px;
    align-items: flex-start;
    padding: 12px;
    border: 1px solid rgba(255,255,255,.08);
    border-radius: 10px;
}
.sandbox-v8-public .v8-submit-consents input { width: auto; margin-top: 3px; }
.sandbox-v8-public .v8-submit-consents span { font-size: 12px; line-height: 1.55; }
.sandbox-v8-public .v8-review-submit-button { width: 100%; justify-content: center; margin-top: 8px; }
.sandbox-v8-public .v8-review-submit-aside h3 { margin: 8px 0 16px; font-size: 1.25rem; }

/* Public review detail */
.sandbox-v8-public .v8-review-detail-summary {
    display: grid;
    grid-template-columns: minmax(0,1.1fr) minmax(280px,.9fr);
    gap: 18px;
}
.sandbox-v8-public .v8-review-fact-grid {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 10px;
    margin-top: 16px;
}
.sandbox-v8-public .v8-review-fact-grid > div {
    padding: 13px;
    border: 1px solid rgba(255,255,255,.075);
    border-radius: 11px;
    background: rgba(255,255,255,.018);
}
.sandbox-v8-public .v8-review-fact-grid small {
    display: block;
    margin-bottom: 5px;
    color: #89bdb6;
    text-transform: uppercase;
    letter-spacing: .07em;
    font-size: 9px;
}
.sandbox-v8-public .v8-review-fact-grid p { font-size: 12px; line-height: 1.55; }
.sandbox-v8-public .v8-review-evidence-grid {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 13px;
    margin-top: 18px;
}
.sandbox-v8-public .v8-review-evidence-shot {
    overflow: hidden;
    border: 1px solid rgba(255,255,255,.08);
    border-radius: 12px;
    background: rgba(255,255,255,.02);
}
.sandbox-v8-public .v8-review-evidence-shot img {
    width: 100%;
    aspect-ratio: 16/9;
    object-fit: cover;
    background: #07110f;
}
.sandbox-v8-public .v8-review-evidence-shot div { padding: 11px 12px 13px; }
.sandbox-v8-public .v8-review-evidence-shot strong { display: block; font-size: 11px; margin-bottom: 5px; }
.sandbox-v8-public .v8-review-evidence-shot p { font-size: 11px; line-height: 1.55; }
.sandbox-v8-public .v8-review-checkpoint-row {
    display: grid;
    grid-template-columns: 16px minmax(0,1fr) auto;
    gap: 10px;
    align-items: start;
    padding: 13px 0;
    border-top: 1px solid rgba(255,255,255,.08);
}
.sandbox-v8-public .v8-review-checkpoint-row:first-child { border-top: 0; }
.sandbox-v8-public .v8-review-checkpoint-row p { margin-top: 4px; font-size: 12px; line-height: 1.6; }
.sandbox-v8-public .v8-review-checkpoint-state {
    padding: 4px 7px;
    border: 1px solid rgba(255,255,255,.1);
    border-radius: 999px;
    font-size: 9px;
    text-transform: uppercase;
    letter-spacing: .05em;
}
.sandbox-v8-public .v8-review-source-note {
    padding: 14px 16px;
    border-left: 3px solid #d9a056;
    background: rgba(217,160,86,.05);
    font-size: 11px;
    line-height: 1.6;
    color: #aeb9c5;
}
.sandbox-v8-public .v8-review-claim-panel {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    padding: 20px;
    border: 1px solid rgba(95,163,158,.24);
    border-radius: 16px;
    background: rgba(95,163,158,.04);
}
.sandbox-v8-public .v8-review-claim-panel p { max-width: 720px; font-size: 12.5px; }

/* Public review directory */
.sandbox-v8-public.sandbox-v8-reviews-page .v8-readiness-section { padding-top: 34px; }
.sandbox-v8-public.sandbox-v8-reviews-page .v8-readiness-heading {
    display: flex; align-items: end; justify-content: space-between; gap: 30px; margin-bottom: 18px;
}
.sandbox-v8-public.sandbox-v8-reviews-page .v8-readiness-heading p { max-width: 620px; font-size: 13px; opacity: .72; }
.sandbox-v8-public.sandbox-v8-reviews-page .v8-readiness-grid { display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:14px; }
.sandbox-v8-public.sandbox-v8-reviews-page .v8-readiness-card { padding: 20px; border: 1px solid rgba(255,255,255,.08); border-radius: 14px; background: rgba(255,255,255,.025); }
.sandbox-v8-public.sandbox-v8-reviews-page .v8-readiness-card.is-sa { border-color: rgba(95,163,158,.45); background: rgba(95,163,158,.06); }
.sandbox-v8-public.sandbox-v8-reviews-page .v8-readiness-card > small { display:block;font-size:10px;letter-spacing:.07em;text-transform:uppercase;opacity:.65; }
.sandbox-v8-public.sandbox-v8-reviews-page .v8-readiness-card > strong { display:block;font-size:35px;line-height:1;margin:14px 0 9px; }
.sandbox-v8-public.sandbox-v8-reviews-page .v8-readiness-card > strong span { font-size:15px;opacity:.5; }
.sandbox-v8-public.sandbox-v8-reviews-page .v8-readiness-card > p { font-size:12px;min-height:36px;margin:0 0 12px; }
.sandbox-v8-public.sandbox-v8-reviews-page .v8-readiness-card > em { display:block;font-style:normal;font-size:10.5px;opacity:.6; }
.sandbox-v8-public.sandbox-v8-reviews-page .v8-tier-row { display:grid;grid-template-columns:90px 1fr 24px;align-items:center;gap:8px;margin-top:9px;font-size:9px; }
.sandbox-v8-public.sandbox-v8-reviews-page .v8-tier-row i { height:5px;background:rgba(255,255,255,.08);border-radius:10px;overflow:hidden; }
.sandbox-v8-public.sandbox-v8-reviews-page .v8-tier-row i b { display:block;height:100%;background:#5fa39e; }
.sandbox-v8-public.sandbox-v8-reviews-page .v8-tier-row em { font-style:normal;text-align:right; }
.sandbox-v8-public.sandbox-v8-reviews-page .v8-readiness-method { font-size:10.5px;opacity:.58;margin:13px 0 0; }
.sandbox-v8-public.sandbox-v8-reviews-page .v8-review-excerpt { margin:12px 0;padding:10px 12px;border-left:2px solid rgba(95,163,158,.8);background:rgba(255,255,255,.025);border-radius:0 8px 8px 0; }
.sandbox-v8-public.sandbox-v8-reviews-page .v8-review-excerpt small { display:block;margin-bottom:4px;font-size:10px;letter-spacing:.06em;text-transform:uppercase;opacity:.7; }
.sandbox-v8-public.sandbox-v8-reviews-page .v8-review-excerpt p { margin:0;font-size:12.5px;line-height:1.5; }
.sandbox-v8-public.sandbox-v8-reviews-page .v8-reviewer-line { font-size:10.5px;opacity:.7;margin:10px 0; }
.sandbox-v8-public.sandbox-v8-reviews-page .v8-review-standard-line { display:inline-flex;align-items:center;width:max-content;max-width:100%;margin:4px 0 10px;padding:4px 8px;border-radius:999px;font-size:9px;letter-spacing:.05em;text-transform:uppercase;border:1px solid rgba(255,255,255,.1);color:#9fb1ae; }
.sandbox-v8-public.sandbox-v8-reviews-page .v8-review-standard-line.is-full { border-color:rgba(95,163,158,.34);background:rgba(95,163,158,.07);color:#85d9cf; }
.sandbox-v8-public.sandbox-v8-reviews-page .v8-review-standard-line.is-legacy { border-color:rgba(217,160,86,.24);background:rgba(217,160,86,.04);color:#d9b87d; }
.sandbox-v8-public.sandbox-v8-reviews-page .v8-filter-main { grid-template-columns:minmax(220px,2fr) minmax(160px,1fr) minmax(160px,1fr) auto!important; }

@media (max-width: 980px) {
    .sandbox-v8-public .v8-checkpoint-input { grid-template-columns: 1fr; }
    .sandbox-v8-public .v8-review-detail-summary { grid-template-columns: 1fr; }
    .sandbox-v8-public.sandbox-v8-reviews-page .v8-readiness-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .sandbox-v8-public.sandbox-v8-reviews-page .v8-readiness-heading { align-items:flex-start;flex-direction:column; }
    .sandbox-v8-public.sandbox-v8-reviews-page .v8-filter-main { grid-template-columns:1fr 1fr!important; }
}
@media (max-width: 700px) {
    .sandbox-v8-public .v8-review-evidence-grid,
    .sandbox-v8-public .v8-review-fact-grid { grid-template-columns: 1fr; }
    .sandbox-v8-public .v8-review-claim-panel { align-items: flex-start; flex-direction: column; }
}
@media (max-width: 620px) {
    .sandbox-v8-public.sandbox-v8-reviews-page .v8-readiness-grid { grid-template-columns:1fr; }
    .sandbox-v8-public.sandbox-v8-reviews-page .v8-filter-main { grid-template-columns:1fr!important; }
}
