/* ── DPDP gap analysis (pages/dpdp-gap-analysis-<sector>.php). Loads after readiness.css and
   readiness-check.css and adds the fourth answer (Not Applicable) and the three-part report. ── */
.ga-page .ga-applies { margin-top: 14px; font-size: 14.5px; }

/* Response options legend */
.ga-legend { display: flex; flex-wrap: wrap; gap: 8px; padding: 22px 28px 0; }
.ga-legend span { padding: 7px 13px; border-radius: 999px; background: rgba(255,255,255,.8); color: #3c3d38; font-size: 12.5px; }
.ga-legend b { color: var(--hd-ink); font-weight: 600; }
.ga-legend-yes b { color: var(--green); }
.ga-legend-partly b { color: var(--amber); }
.ga-legend-no b { color: var(--red); }

/* Four answers per question. The gap sits on the floated legend, because a cleared element's
   top margin is swallowed when the question runs to two lines. */
.ga-page .readiness-question legend { padding-bottom: 17px; }
.ga-page .readiness-options { clear: both; margin-top: 0; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.ga-page .readiness-option-na input:checked + span { color: #5e6863; box-shadow: 0 0 0 2px #b9bfbb; }
.ga-page .readiness-option-na input:checked + span { background: #edf0ee; }
.answer-na { background: #edf0ee; color: #5e6863; }

/* 1. Score */
.ga-score-grid { display: grid; gap: 14px; }
/* Overall score: one row of ring, score and the four answer counts. */
.ga-overall { align-items: center; gap: 22px; }
.ga-overall .mini-ring { width: 96px; height: 96px; }
.ga-overall .mini-ring::before { width: 76px; height: 76px; }
.ga-overall .mini-ring b { font-size: 22px; font-weight: 400; }
.ga-counts { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 0 auto; padding: 0; list-style: none; color: rgba(255,255,255,.75); font-size: 13px; }
.ga-counts li { display: flex; align-items: center; gap: 8px; padding: 8px 14px; border-radius: 999px; background: rgba(255,255,255,.08); white-space: nowrap; }
.ga-counts b { color: #fff; font-weight: 500; }
.ga-dot { width: 9px; height: 9px; flex: 0 0 auto; border-radius: 3px; }
.ga-dot-yes { background: var(--chart-green); }
.ga-dot-partly { background: var(--chart-amber); }
.ga-dot-no { background: var(--chart-red); }
.ga-dot-na { background: rgba(255,255,255,.4); }
.ga-sections .readiness-preview-bars > div { grid-template-columns: minmax(180px, 360px) 1fr 48px; }
.ga-sections .readiness-preview-bars span { color: #3c3d38; font-weight: 500; line-height: 1.35; white-space: normal; }
.ga-sections .readiness-preview-bars b { background: var(--hd-accent-hover); }
.ga-sections .readiness-preview-bars em { text-align: right; }
.ga-sections .is-na em, .ga-sections .is-na span { color: var(--hd-muted); }

/* 2. Gaps */
.ga-page .ga-gap { grid-template-columns: 110px 1fr; }
.ga-page .ga-gap .readiness-answer-pill { justify-self: start; }
.ga-page .ga-gap h3 { line-height: 1.45; }
.ga-risk span { display: block; margin-bottom: 2px; color: var(--red); font-size: 10px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }

/* 3. Actions */
.ga-actions { display: grid; gap: 12px; margin: 0; padding: 0; list-style: none; counter-reset: ga-action; }
.ga-actions li {
  position: relative;
  padding: 20px 23px 20px 70px;
  border: 1px solid rgba(255,255,255,.78);
  border-radius: 26px;
  background: rgba(255,255,255,.62);
  -webkit-backdrop-filter: blur(14px) saturate(150%);
  backdrop-filter: blur(14px) saturate(150%);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.9), 0 10px 30px rgba(38,43,50,.05);
  counter-increment: ga-action;
}
.ga-actions li::before { content: counter(ga-action); position: absolute; top: 20px; left: 23px; display: grid; width: 32px; height: 32px; place-items: center; border-radius: 50%; background: var(--hd-accent); color: var(--hd-ink); font-size: 13px; font-weight: 500; }
.ga-actions small { color: var(--hd-muted); font-size: 11px; font-weight: 500; text-transform: uppercase; letter-spacing: .04em; }
.ga-actions p { margin: 4px 0 0; color: var(--hd-ink); line-height: 1.6; }
.ga-tool-link { display: inline-flex; align-items: center; gap: 6px; margin-top: 10px; padding: 7px 14px; border-radius: 999px; background: var(--hd-accent); color: var(--hd-ink); font-size: 13px; font-weight: 500; text-decoration: none; transition: background .15s; }
.ga-tool-link:hover { background: var(--hd-accent-hover); }

@media (max-width: 900px) {
  .ga-overall { flex-wrap: wrap; }
  .ga-counts { margin-left: 0; }
}

@media (max-width: 620px) {
  .ga-page .readiness-options { grid-template-columns: 1fr 1fr; }
  .ga-legend { padding: 18px 18px 0; }
  .ga-page .ga-gap { grid-template-columns: 1fr; }
  .ga-sections .readiness-preview-bars > div { grid-template-columns: 1fr 42px; }
  .ga-sections .readiness-preview-bars span { grid-column: 1 / -1; white-space: normal; }
  .ga-actions li { padding: 18px 18px 18px 60px; }
  .ga-actions li::before { left: 16px; top: 18px; }
}

/* Printed only: names the report above the client's name. */
.ga-print-title { display: none; }

@page { margin: 14mm 12mm; }

@media print {
  .ga-tool-link,
  .ga-page .readiness-dashboard-actions,
  .ga-page .readiness-help-cta { display: none !important; }
  /* A client's report sits in the workspace: print only the report, full width, without the left menu. */
  .ga-page .module1-sidebar,
  .ga-page .cookie-notice { display: none !important; }
  .ga-page .module1-app,
  .ga-page .module1-app.ws-collapsed { display: block; padding: 0; }
  .ga-page .module1-main { width: auto; }
  /* The page card's rounded, clipped corners would cut into the first line on the sheet. */
  .ga-page .hd-shell,
  .ga-page .module1-main { border-radius: 0 !important; overflow: visible !important; }
  .ga-page .readiness-page { width: 100%; margin: 0; padding: 0; }
  .ga-page .readiness-dashboard-head { margin-top: 0; }
  .ga-page .ga-print-title { display: block; margin: 0 0 6px; color: #55575b; font-size: 15px; font-weight: 500; }
  .ga-page .readiness-section-head { break-after: avoid; }
  .ga-page .ga-score-grid,
  .ga-page .ga-overall { break-inside: avoid; }
  .ga-page .ga-overall,
  .ga-page .ga-counts li,
  .ga-page .readiness-preview-bars b,
  .ga-page .readiness-answer-pill,
  .ga-page .mini-ring { -webkit-print-color-adjust: exact; print-color-adjust: exact; }
  /* readiness-check.css prints cards white; the overall score card keeps its dark background and white text. */
  .ga-page .ga-overall { background: #20211f !important; color: #fff; }
  .ga-page .ga-overall .mini-ring::before { background: #20211f; }
  .ga-page .ga-sections,
  .ga-page .readiness-action-card { background: #fff; -webkit-backdrop-filter: none; backdrop-filter: none; box-shadow: none; border: 1px solid #e6e5e0; }
  .ga-actions li { background: #fff; -webkit-backdrop-filter: none; backdrop-filter: none; box-shadow: none; break-inside: avoid; }
  .ga-page .ga-gap { break-inside: avoid; }
}
