/* dpo-dpdp.css - page-specific visuals for /services/dpo-for-dpdp-act/
   Scoped under .dpo-services .dpo-dpdp ; relies on services.css tokens + base. */

/* keep bespoke block components left-aligned inside the centered sections */
.dpo-dpdp .dd-flow,.dpo-dpdp .dd-routes,.dpo-dpdp .dd-matrix,.dpo-dpdp .dd-dash,
.dpo-dpdp .dd-roles,.dpo-dpdp .dd-3blocks,.dpo-dpdp .dd-steps,.dpo-dpdp .dd-form,
.dpo-dpdp .dd-callout{text-align:left;}

/* ---- decision flow (hero + section 3) ---- */
.dpo-dpdp .dd-flow{display:flex;flex-direction:column;align-items:center;gap:12px;
  margin:2.2rem auto 0;max-width:780px;text-align:center;}
.dpo-dpdp .dd-flow.compact{margin-top:2rem;max-width:620px;}
.dpo-dpdp .dd-node{background:#fff;border:1px solid var(--line);border-radius:12px;
  padding:13px 18px;font-family:var(--font-display);font-weight:600;font-size:.96rem;
  color:var(--ink);max-width:540px;}
.dpo-dpdp .dd-node.q{background:var(--accent-soft);border-color:#F1D9BE;}
.dpo-dpdp .dd-node.out{background:var(--ink);color:#fff;border-color:var(--ink);}
.dpo-dpdp .dd-conn{width:2px;height:16px;background:var(--line);}
.dpo-dpdp .dd-branch{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;width:100%;}
.dpo-dpdp .dd-arm{display:flex;flex-direction:column;align-items:center;gap:10px;
  flex:1;min-width:170px;}
.dpo-dpdp .dd-lbl{font-size:.7rem;font-weight:700;letter-spacing:.09em;
  text-transform:uppercase;color:var(--muted);background:#fff;border:1px solid var(--line);
  border-radius:999px;padding:.2rem .6rem;}

/* ---- route cards ---- */
.dpo-dpdp .dd-routes{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin-top:2.2rem;}
@media(max-width:720px){.dpo-dpdp .dd-routes{grid-template-columns:1fr;}}
.dpo-dpdp .dd-route{background:#fff;border:1px solid var(--line);border-radius:var(--radius);
  padding:22px 22px 20px;border-top:3px solid var(--accent);}
.dpo-dpdp .dd-route .rk{font-size:.71rem;font-weight:700;letter-spacing:.08em;
  text-transform:uppercase;color:var(--accent-ink);margin-bottom:.45rem;}
.dpo-dpdp .dd-route h3{font-size:1.04rem;margin-bottom:.5rem;}
.dpo-dpdp .dd-route .res{font-weight:600;color:var(--ink);margin-bottom:.35rem;}
.dpo-dpdp .dd-route p{font-size:.92rem;margin-bottom:.5rem;}
.dpo-dpdp .dd-route p:last-child{margin-bottom:0;}

/* ---- functions chips ---- */
.dpo-dpdp .dd-func{display:flex;flex-wrap:wrap;gap:10px;margin:1.5rem auto 0;
  justify-content:center;max-width:880px;}
.dpo-dpdp .dd-func span{background:#fff;border:1px solid var(--line);border-radius:999px;
  padding:.5rem .95rem;font-size:.85rem;font-weight:600;color:var(--ink-2);}

/* ---- responsibility matrix + roles table (shared responsive pattern) ---- */
.dpo-dpdp .dd-matrix,.dpo-dpdp .dd-roles{width:100%;border-collapse:collapse;
  margin:1.7rem auto 0;font-size:.94rem;}
.dpo-dpdp .dd-matrix th,.dpo-dpdp .dd-matrix td,
.dpo-dpdp .dd-roles th,.dpo-dpdp .dd-roles td{border:1px solid var(--line);
  padding:12px 14px;vertical-align:top;}
.dpo-dpdp .dd-matrix thead th,.dpo-dpdp .dd-roles thead th{background:var(--paper-3);
  font-family:var(--font-display);color:var(--ink);text-align:left;font-size:.9rem;}
.dpo-dpdp .dd-matrix tbody th,.dpo-dpdp .dd-roles tbody th{background:var(--paper-2);
  font-family:var(--font-display);text-align:left;}
@media(max-width:720px){
  .dpo-dpdp .dd-matrix,.dpo-dpdp .dd-matrix tbody,.dpo-dpdp .dd-matrix tr,.dpo-dpdp .dd-matrix td,
  .dpo-dpdp .dd-roles,.dpo-dpdp .dd-roles tbody,.dpo-dpdp .dd-roles tr,.dpo-dpdp .dd-roles td{display:block;width:100%;}
  .dpo-dpdp .dd-matrix thead,.dpo-dpdp .dd-roles thead{display:none;}
  .dpo-dpdp .dd-matrix tr,.dpo-dpdp .dd-roles tr{border:1px solid var(--line);border-radius:12px;
    margin-bottom:14px;overflow:hidden;background:#fff;}
  .dpo-dpdp .dd-matrix tbody th,.dpo-dpdp .dd-roles tbody th{display:block;background:var(--ink);
    color:#fff;border:none;}
  .dpo-dpdp .dd-matrix td,.dpo-dpdp .dd-roles td{border:none;border-bottom:1px solid var(--line);
    padding:11px 14px 11px 42%;position:relative;min-height:44px;}
  .dpo-dpdp .dd-matrix td::before,.dpo-dpdp .dd-roles td::before{content:attr(data-label);
    position:absolute;left:14px;top:11px;width:36%;font-weight:700;font-size:.74rem;
    color:var(--muted);line-height:1.25;}
  .dpo-dpdp .dd-matrix td:last-child,.dpo-dpdp .dd-roles td:last-child{border-bottom:none;}
}

/* ---- core-message callout ---- */
.dpo-dpdp .dd-callout{margin:1.9rem auto 0;max-width:840px;background:var(--accent-soft);
  border:1px solid #F1D9BE;border-left:4px solid var(--gold);border-radius:12px;
  padding:18px 22px;font-family:var(--font-display);font-weight:600;color:var(--ink);font-size:1.02rem;}

/* ---- illustrative board brief ---- */
.dpo-dpdp .dd-dash{max-width:520px;margin:2rem auto 0;background:#fff;border:1px solid var(--line);
  border-radius:var(--radius);overflow:hidden;box-shadow:0 22px 44px -30px rgba(10,22,51,.5);}
.dpo-dpdp .dd-dash .dh{background:var(--ink);color:#fff;padding:15px 20px;
  font-family:var(--font-display);font-weight:700;display:flex;justify-content:space-between;
  align-items:baseline;gap:1rem;}
.dpo-dpdp .dd-dash .dh small{font-weight:500;color:#9fb0d6;font-size:.72rem;}
.dpo-dpdp .dd-dash .row{display:flex;justify-content:space-between;align-items:center;
  padding:12px 20px;border-bottom:1px solid var(--line);font-size:.94rem;color:var(--slate);}
.dpo-dpdp .dd-dash .row:last-child{border-bottom:none;}
.dpo-dpdp .dd-dash .row .v{font-family:var(--font-display);font-weight:800;font-size:1.05rem;color:var(--ink);}
.dpo-dpdp .dd-dash .v.ok{color:#15803D;}
.dpo-dpdp .dd-dash .v.warn{color:#B45309;}
.dpo-dpdp .dd-dash .v.risk{color:#B42318;}
.dpo-dpdp .dd-note{font-size:.78rem;color:var(--muted);text-align:center;margin-top:.9rem;font-style:italic;}

/* ---- external-dpo three blocks ---- */
.dpo-dpdp .dd-3blocks{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:2rem;}
@media(max-width:820px){.dpo-dpdp .dd-3blocks{grid-template-columns:1fr;}}
.dpo-dpdp .dd-3blocks .b{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:22px;}
.dpo-dpdp .dd-3blocks .b.mid{background:var(--paper-2);}
.dpo-dpdp .dd-3blocks .b h3{font-size:1rem;margin-bottom:.5rem;}
.dpo-dpdp .dd-3blocks .b p{font-size:.92rem;margin-bottom:0;}
.dpo-dpdp .dd-3blocks .b ul{margin:.2rem 0 0;padding-left:1.1rem;}
.dpo-dpdp .dd-3blocks .b li{font-size:.9rem;color:var(--slate);margin:.3rem 0;}

/* ---- why-dpoindia steps (dark section) ---- */
.dpo-dpdp .dd-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:2.2rem;}
@media(max-width:900px){.dpo-dpdp .dd-steps{grid-template-columns:repeat(2,1fr);}}
@media(max-width:560px){.dpo-dpdp .dd-steps{grid-template-columns:1fr;}}
.dpo-dpdp .dd-step{background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.14);
  border-radius:var(--radius);padding:22px;}
.dpo-dpdp .dd-step .n{font-family:var(--font-display);font-weight:800;font-size:1.4rem;color:#FF9933;}
.dpo-dpdp .dd-step h3{color:#fff;font-size:1.02rem;margin:.4rem 0 .4rem;}
.dpo-dpdp .dd-step p{color:#D9DEEC;font-size:.9rem;margin:0;}
.dpo-dpdp .dd-posn{margin:1.9rem auto 0;max-width:780px;color:#D9DEEC;text-align:center;font-size:1rem;}

/* ---- lead form ---- */
.dpo-dpdp .dd-form{max-width:660px;margin:2.2rem auto 0;background:#fff;border:1px solid var(--line);
  border-radius:var(--radius);padding:26px 26px 24px;}
.dpo-dpdp .dd-form .fg{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
@media(max-width:560px){.dpo-dpdp .dd-form .fg{grid-template-columns:1fr;}}
.dpo-dpdp .dd-form .full{grid-column:1/-1;}
.dpo-dpdp .dd-form label{display:block;font-size:.79rem;font-weight:600;color:var(--ink-2);margin:0 0 .3rem;}
.dpo-dpdp .dd-form input,.dpo-dpdp .dd-form select{width:100%;padding:.7rem .8rem;
  border:1px solid var(--line);border-radius:10px;font:inherit;font-size:.92rem;color:var(--ink);background:#fff;}
.dpo-dpdp .dd-form input:focus,.dpo-dpdp .dd-form select:focus{outline:none;border-color:var(--accent);}
.dpo-dpdp .dd-form .btn{width:100%;justify-content:center;margin-top:1.2rem;}
.dpo-dpdp .dd-form .fnote{font-size:.76rem;color:var(--muted);margin-top:.75rem;text-align:center;}

/* ---- sources / reviewed line ---- */
.dpo-dpdp .dd-src{max-width:860px;margin:1.6rem auto 0;font-size:.82rem;color:var(--muted);text-align:center;}
.dpo-dpdp .dd-src a{color:var(--accent-ink);}
.dpo-dpdp .dd-inline-links{margin-top:1.3rem;font-size:.95rem;}

/* small helpers */
.dpo-dpdp .mt0{margin-top:0;}
.dpo-dpdp .sec .wrap > .lede{margin-bottom:.4rem;}
