/* ============================================================
   COMPONENTE: Guía de 8 capas (Data Governance / AI Governance)
   Namespace: .cw- (capas-widget) — no colisiona con clases existentes
   Usa las variables ya definidas en :root de assets/styles.css
   (--ink, --ink-light, --ink-muted, --ink-faint, --bg, --bg-soft,
   --bg-card, --border, --border-dark, --font-sans, --font-mono)
   ============================================================ */

.cw-root{ --cw-op:#10B981; --cw-op-dark:#059669; --cw-op-text:#065F46; --cw-op-bg:#D1FAE5;
  --cw-f:#7F77DD; --cw-f-text:#3C3489; --cw-f-bg:#EEEDFE;
  --cw-v:#D85A30; --cw-v-text:#712B13; --cw-v-bg:#FAECE7;
  --cw-agent:#7C3AED; --cw-agent-bg:#EEE9FE;
  --cw-red-bg:#FEE2E2; --cw-red-text:#991B1B;
  --cw-green-bg:#DCFCE7; --cw-green-text:#166534;
  margin: 2.5rem 0;
}
.cw-root.cw-theme-ai{ --cw-op:#4F6BF4; --cw-op-dark:#3B52D4; --cw-op-text:#1e40af; --cw-op-bg:#EEF1FE; }

.cw-intro{max-width:640px;margin-bottom:1.25rem;}
.cw-intro p{color:var(--ink-muted);font-size:.96rem;margin-bottom:.4rem;}
.cw-intro p.cw-intro-2{color:var(--ink-faint);font-size:.85rem;}

.cw-radar{display:flex;align-items:center;gap:.75rem;background:var(--bg-card);border:1.5px solid var(--border);border-left:3px solid var(--cw-op);border-radius:10px;padding:.75rem 1rem;margin-bottom:1.25rem;text-decoration:none;transition:border-color .15s, box-shadow .15s;}
.cw-radar:hover{box-shadow:0 4px 14px rgba(0,0,0,.05);}
.cw-radar-icon{font-size:1.1rem;flex-shrink:0;}
.cw-radar-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:.15rem;}
.cw-radar-label{font-family:var(--font-mono);font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--cw-op-dark);}
.cw-radar-title{font-size:.85rem;color:var(--ink);line-height:1.4;}
.cw-radar-link{font-size:.78rem;font-weight:700;color:var(--cw-op-dark);white-space:nowrap;flex-shrink:0;}
@media (max-width:560px){
  .cw-radar{flex-wrap:wrap;}
  .cw-radar-link{margin-left:calc(1.1rem + .75rem);}
}

/* diagnóstico */
.cw-diag{background:var(--bg-card);border:1.5px solid var(--border);border-radius:16px;padding:1.5rem 1.75rem;margin:0 0 1.25rem;}
.cw-diag-title{font-family:var(--font-mono);font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--cw-op-dark);margin-bottom:1rem;}
.cw-diag-q{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.7rem 0;border-bottom:1px solid var(--border);flex-wrap:wrap;}
.cw-diag-q:last-child{border-bottom:none;}
.cw-diag-q p{font-size:.88rem;font-weight:500;flex:1 1 320px;margin:0;}
.cw-diag-opts{display:flex;gap:.5rem;}
.cw-opt{padding:.4rem .9rem;border-radius:8px;border:1.5px solid var(--border-dark);background:transparent;font-size:.82rem;font-weight:600;color:var(--ink-light);cursor:pointer;font-family:var(--font-sans);transition:.15s;}
.cw-opt:hover{border-color:var(--cw-op);}
.cw-opt.cw-sel-yes{background:var(--cw-op-bg);border-color:var(--cw-op);color:var(--cw-op-text);}
.cw-opt.cw-sel-no{background:var(--cw-red-bg);border-color:#DC2626;color:var(--cw-red-text);}
.cw-diag-reset{margin-top:1rem;background:none;border:none;font-size:.78rem;color:var(--ink-faint);text-decoration:underline;cursor:pointer;font-family:var(--font-sans);}

/* interruptor de agentes (solo AI Governance) */
.cw-agent-toggle{display:flex;align-items:center;gap:.6rem;background:var(--bg-card);border:1.5px solid var(--border);border-radius:12px;padding:.9rem 1.1rem;margin-bottom:1.25rem;}
.cw-agent-toggle p{font-size:.84rem;color:var(--ink-light);flex:1;margin:0;}
.cw-switch{position:relative;width:38px;height:22px;flex-shrink:0;}
.cw-switch input{opacity:0;width:0;height:0;position:absolute;}
.cw-slider{position:absolute;cursor:pointer;inset:0;background:var(--border-dark);border-radius:999px;transition:.2s;}
.cw-slider:before{content:"";position:absolute;width:16px;height:16px;left:3px;top:3px;background:#fff;border-radius:50%;transition:.2s;}
.cw-switch input:checked + .cw-slider{background:var(--cw-agent);}
.cw-switch input:checked + .cw-slider:before{transform:translateX(16px);}

/* torre visual */
.cw-pyramid-wrap{background:var(--bg-card);border:1.5px solid var(--border);border-radius:16px;padding:1.1rem 1rem .3rem;margin-bottom:1.25rem;}
.cw-pyr-band{cursor:pointer;transition:opacity .15s;}
.cw-pyr-band:hover{opacity:.85;}
.cw-pyramid-caption{text-align:center;font-size:.76rem;color:var(--ink-faint);margin-top:.3rem;padding-bottom:.8rem;}

.cw-legend{display:flex;gap:1.25rem;flex-wrap:wrap;margin:0 0 1.25rem;font-size:.78rem;color:var(--ink-muted);}
.cw-legend span{display:inline-flex;align-items:center;gap:.4rem;}
.cw-dot{width:9px;height:9px;border-radius:50%;display:inline-block;}

/* torre acordeón */
.cw-tower{display:flex;flex-direction:column;gap:.6rem;}
.cw-layer{border-radius:14px;border:1.5px solid var(--border);background:var(--bg-card);overflow:hidden;transition:box-shadow .2s;}
.cw-layer.cw-pending{box-shadow:0 0 0 2px var(--cw-layer-color, var(--cw-op)) inset;}
.cw-layer-head{display:flex;align-items:center;gap:.9rem;padding:1rem 1.25rem;cursor:pointer;-webkit-tap-highlight-color:transparent;}
.cw-layer-num{font-family:var(--font-mono);font-size:.72rem;font-weight:700;color:#fff;width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.cw-layer-txt{flex:1;min-width:0;}
.cw-layer-name{font-size:.98rem;font-weight:600;color:var(--ink);}
.cw-layer-block{font-size:.75rem;color:var(--ink-muted);}
.cw-layer-agent{display:inline-block;margin-left:.4rem;font-family:var(--font-mono);font-size:.64rem;font-weight:700;color:var(--cw-agent);background:var(--cw-agent-bg);padding:.1rem .4rem;border-radius:999px;vertical-align:middle;}
.cw-layer-status{font-family:var(--font-mono);font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:.25rem .55rem;border-radius:999px;flex-shrink:0;white-space:nowrap;}
.cw-status-ok{background:var(--cw-op-bg);color:var(--cw-op-text);}
.cw-status-pending{background:var(--cw-layer-bg);color:var(--cw-layer-text);}
.cw-status-neutral{background:var(--bg-soft);color:var(--ink-muted);}
.cw-chevron{width:18px;height:18px;flex-shrink:0;color:var(--ink-faint);transition:transform .2s;}
.cw-layer.cw-open .cw-chevron{transform:rotate(180deg);}
.cw-layer-body{max-height:0;overflow:hidden;transition:max-height .3s ease;}
.cw-layer.cw-open .cw-layer-body{max-height:1000px;}
.cw-layer-body-in{padding:0 1.25rem 1.25rem;border-top:1px solid var(--border);}
.cw-layer-desc{font-size:.86rem;color:var(--ink-light);padding:1rem 0 1rem;margin:0;}

/* comparador sin/con */
.cw-compare{background:var(--bg-soft);border:1px solid var(--border);border-radius:12px;padding:.9rem 1rem;margin-bottom:.9rem;}
.cw-compare-switch{display:flex;gap:.4rem;margin-bottom:.7rem;}
.cw-compare-btn{flex:1;padding:.4rem;border-radius:8px;border:1.5px solid var(--border-dark);background:var(--bg-card);font-size:.76rem;font-weight:700;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.03em;cursor:pointer;color:var(--ink-muted);transition:.15s;}
.cw-compare-btn.cw-active-no{background:var(--cw-red-bg);border-color:#DC2626;color:var(--cw-red-text);}
.cw-compare-btn.cw-active-yes{background:var(--cw-green-bg);border-color:#16A34A;color:var(--cw-green-text);}
.cw-compare-text{font-size:.86rem;color:var(--ink-light);margin:0;}

/* demo de firma (RBAC / clasificador de riesgo) */
.cw-demo{border:1.5px dashed var(--cw-op);border-radius:12px;padding:1rem;margin-bottom:.9rem;background:var(--cw-op-bg);}
.cw-demo-label{font-family:var(--font-mono);font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--cw-op-text);margin-bottom:.7rem;}
.cw-demo select{width:100%;padding:.55rem .7rem;border-radius:8px;border:1.5px solid var(--border-dark);font-size:.86rem;font-family:var(--font-sans);background:var(--bg-card);color:var(--ink);margin-bottom:.7rem;}
.cw-rbac-grid{display:grid;grid-template-columns:120px repeat(3,1fr);gap:.35rem;font-size:.76rem;}
.cw-rbac-grid .cw-hcell{font-weight:700;color:var(--ink);padding:.3rem .2rem;text-align:center;}
.cw-rbac-grid .cw-rcell{font-weight:600;color:var(--ink);padding:.4rem .3rem;display:flex;align-items:center;}
.cw-rbac-cell{border-radius:6px;padding:.4rem .2rem;text-align:center;cursor:pointer;font-weight:700;border:1px solid var(--border);background:var(--bg-card);user-select:none;}
.cw-rbac-cell.cw-on{background:var(--cw-green-bg);color:var(--cw-green-text);border-color:#16A34A;}
.cw-rbac-cell.cw-off{background:var(--cw-red-bg);color:var(--cw-red-text);border-color:#DC2626;}
.cw-risk-result{display:flex;align-items:center;gap:.6rem;padding:.7rem .9rem;border-radius:10px;font-size:.86rem;font-weight:600;}
.cw-risk-inaceptable{background:var(--cw-red-bg);color:var(--cw-red-text);}
.cw-risk-alto{background:#FEF3C7;color:#92400E;}
.cw-risk-limitado{background:var(--cw-op-bg);color:var(--cw-op-text);}
.cw-risk-minimo{background:var(--cw-green-bg);color:var(--cw-green-text);}
.cw-demo-caption{font-size:.78rem;color:var(--ink-muted);margin-top:.7rem;}

/* enlaces discretos a la tienda */
.cw-shop{border-top:1px dashed var(--border);padding-top:.8rem;margin-top:.3rem;}
.cw-shop-label{font-size:.72rem;color:var(--ink-faint);margin-bottom:.4rem;}
.cw-shop-links{display:flex;flex-direction:column;gap:.3rem;}
.cw-shop-links a{font-size:.83rem;color:var(--cw-op-dark);text-decoration:none;display:flex;justify-content:space-between;gap:.6rem;}
.cw-shop-links a:hover{text-decoration:underline;}
.cw-shop-links .cw-p{color:var(--ink-faint);font-family:var(--font-mono);font-size:.76rem;white-space:nowrap;}
.cw-shop-links .cw-agent-item{color:var(--cw-agent);}
.cw-shop-links a.cw-soon, .cw-shop-links span.cw-soon{color:var(--ink-faint);cursor:default;font-style:italic;}
.cw-shop-empty{font-size:.82rem;color:var(--ink-muted);font-style:italic;margin:0;}

.cw-layer-pack{margin-top:.9rem;padding:1rem 1.1rem;background:var(--cw-op-bg);border:1.5px dashed var(--cw-op);border-radius:10px;}
.cw-layer-pack-label{font-family:var(--font-mono);font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--cw-op-dark);margin-bottom:.35rem;}
.cw-layer-pack-name{font-size:.92rem;font-weight:700;color:var(--ink);margin-bottom:.3rem;}
.cw-layer-pack-desc{font-size:.82rem;color:var(--ink-muted);margin-bottom:.7rem;line-height:1.5;}
.cw-layer-pack-bottom{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap;}
.cw-layer-pack-price{font-size:.95rem;font-weight:700;color:var(--ink);}
.cw-layer-pack-old{font-size:.8rem;color:var(--ink-faint);text-decoration:line-through;margin-right:.35rem;}
.cw-layer-pack-cta{padding:.5rem .9rem;border-radius:8px;background:var(--cw-op);color:#fff;font-size:.82rem;font-weight:700;text-decoration:none;white-space:nowrap;}
.cw-layer-pack-soon{font-size:.78rem;font-weight:700;color:var(--ink-faint);font-style:italic;}

/* resumen final */
.cw-summary{margin-top: 0;}
.cw-summary-card{border-radius:14px;padding:1.25rem 1.5rem;margin:1.25rem 0;border:1.5px solid var(--border);}
.cw-summary-ok{background:var(--cw-green-bg);border-color:#16A34A;}

.cw-next-step{margin-top:1.1rem;padding-top:1.1rem;border-top:1px dashed #16A34A66;}
.cw-next-label{font-family:var(--font-mono);font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--cw-green-text);margin-bottom:.4rem;}
.cw-next-title{font-size:.94rem;font-weight:700;color:var(--ink);margin-bottom:.3rem;}
.cw-next-desc{font-size:.85rem;color:var(--ink-light);margin-bottom:.8rem;line-height:1.5;}
.cw-next-cta{display:inline-block;padding:.55rem 1rem;border-radius:8px;background:#16A34A;color:#fff;font-size:.85rem;font-weight:700;text-decoration:none;}
.cw-next-cta:hover{background:#15803d;}
.cw-summary-pending{background:var(--bg-card);border-color:var(--cw-op);box-shadow:0 0 0 1.5px var(--cw-op) inset;}
.cw-summary-head{display:flex;align-items:flex-start;gap:.75rem;}
.cw-summary-icon{font-size:1.1rem;line-height:1.3;flex-shrink:0;}
.cw-summary-pending .cw-summary-icon{color:var(--cw-op);}
.cw-summary-title{font-size:1.02rem;font-weight:700;color:var(--ink);}
.cw-summary-sub{font-size:.86rem;color:var(--ink-muted);margin:.25rem 0 0;}
.cw-summary-items{display:flex;flex-direction:column;gap:.35rem;margin:1rem 0 0;padding-top:.9rem;border-top:1px dashed var(--border);}
.cw-summary-items a{font-size:.85rem;color:var(--ink-light);text-decoration:none;display:flex;justify-content:space-between;gap:.6rem;}
.cw-summary-items a:hover{color:var(--cw-op-dark);text-decoration:underline;}
.cw-summary-pack{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-top:1.1rem;padding-top:1.1rem;border-top:1px solid var(--border);}
.cw-summary-pack-name{font-size:.94rem;font-weight:700;color:var(--ink);}
.cw-summary-pack-note{font-size:.8rem;color:var(--ink-muted);margin-top:.15rem;}
.cw-summary-pack-cta{padding:.55rem 1rem;border-radius:8px;background:var(--cw-op);color:#fff;font-size:.85rem;font-weight:700;text-decoration:none;white-space:nowrap;}
.cw-summary-pack-cta:hover{background:var(--cw-op-dark);}

@media (max-width:640px){
  .cw-diag-q{flex-direction:column;align-items:flex-start;}
}
