/* ============================================================
   DataTrust Widgets · Proceso
   Horizontal (con línea) / Vertical (timeline). Claro u oscuro.
   Namespaced .dtw-proc.
   ============================================================ */
.dtw-proc{
  --dtw-ink:#0D0C10;--dtw-purple:#413C58;--dtw-pink:#F54576;
  --dtw-paper:#FAFAF8;--dtw-txt-dark:#211F26;--dtw-txt-dark-muted:#6B6775;--dtw-txt-light-muted:#A7A3B2;
  --dtw-ease:cubic-bezier(.22,.61,.36,1);
  padding:80px 0;font-family:'Poppins',sans-serif;
}
.dtw-proc--light{background:var(--dtw-paper)}
.dtw-proc--dark{background:var(--dtw-ink)}
.dtw-proc__wrap{max-width:1200px;margin:0 auto;padding:0 32px}

/* Encabezado */
.dtw-proc__head{margin-bottom:52px}
.dtw-proc__eyebrow{display:inline-flex;align-items:center;gap:9px;font-size:12px;font-weight:500;letter-spacing:.2em;text-transform:uppercase;margin-bottom:14px}
.dtw-proc__eyebrow::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--dtw-pink)}
.dtw-proc--light .dtw-proc__eyebrow{color:var(--dtw-txt-dark-muted)}
.dtw-proc--dark .dtw-proc__eyebrow{color:var(--dtw-txt-light-muted)}
.dtw-proc__title{font-family:'Playfair Display',serif;font-weight:700;font-size:36px;line-height:1.12;letter-spacing:-.01em}
.dtw-proc--light .dtw-proc__title{color:var(--dtw-txt-dark)}
.dtw-proc--dark .dtw-proc__title{color:var(--dtw-paper)}

/* Ícono común */
.dtw-proc__ico{width:68px;height:68px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:30px;background:var(--dtw-pink);color:#fff;box-shadow:0 8px 22px rgba(245,69,118,.3);position:relative;z-index:2}
.dtw-proc__ico svg{width:1em;height:1em;fill:currentColor}
.dtw-proc__st-title{font-family:'Playfair Display',serif;font-weight:700;line-height:1.2}
.dtw-proc__idx{color:var(--dtw-pink)}
.dtw-proc--light .dtw-proc__st-title{color:var(--dtw-txt-dark)}
.dtw-proc--dark .dtw-proc__st-title{color:var(--dtw-paper)}
.dtw-proc__p{font-size:15.5px;line-height:1.6;font-weight:300}
.dtw-proc--light .dtw-proc__p{color:#3a3742}
.dtw-proc--dark .dtw-proc__p{color:var(--dtw-txt-light-muted)}

/* ---------- HORIZONTAL ---------- */
.dtw-proc--horizontal .dtw-proc__steps{display:grid;grid-template-columns:repeat(4,1fr);gap:26px;position:relative}
.dtw-proc--horizontal .dtw-proc__step{position:relative;text-align:left}
.dtw-proc--horizontal .dtw-proc__steps::before{content:"";position:absolute;top:34px;left:8%;right:8%;height:2px;background:linear-gradient(90deg,transparent,var(--dtw-pink),var(--dtw-pink),transparent);opacity:.35}
.dtw-proc--horizontal .dtw-proc__ico{margin-bottom:24px}
.dtw-proc--horizontal .dtw-proc__rule{height:1px;margin:0 0 18px;width:100%}
.dtw-proc--horizontal.dtw-proc--light .dtw-proc__rule{background:rgba(17,16,20,.10)}
.dtw-proc--horizontal.dtw-proc--dark .dtw-proc__rule{background:rgba(255,255,255,.12)}
.dtw-proc--horizontal .dtw-proc__st-title{font-size:20px;margin-bottom:9px}
@media(max-width:820px){
  .dtw-proc--horizontal .dtw-proc__steps{grid-template-columns:1fr 1fr;gap:34px 26px}
  .dtw-proc--horizontal .dtw-proc__steps::before{display:none}
}
@media(max-width:480px){.dtw-proc--horizontal .dtw-proc__steps{grid-template-columns:1fr}}

/* ---------- VERTICAL ---------- */
.dtw-proc--vertical .dtw-proc__steps{position:relative;max-width:720px}
.dtw-proc--vertical .dtw-proc__steps::before{content:"";position:absolute;left:33px;top:12px;bottom:12px;width:2px}
.dtw-proc--vertical.dtw-proc--light .dtw-proc__steps::before{background:rgba(245,69,118,.25)}
.dtw-proc--vertical.dtw-proc--dark .dtw-proc__steps::before{background:rgba(245,69,118,.3)}
.dtw-proc--vertical .dtw-proc__step{position:relative;display:flex;gap:26px;padding-bottom:38px}
.dtw-proc--vertical .dtw-proc__step:last-child{padding-bottom:0}
.dtw-proc--vertical .dtw-proc__ico{flex:0 0 68px}
.dtw-proc--vertical .dtw-proc__tx{padding-top:6px}
.dtw-proc--vertical .dtw-proc__st-title{font-size:21px;margin-bottom:8px}
.dtw-proc--vertical .dtw-proc__p{max-width:520px}
@media(max-width:520px){
  .dtw-proc--vertical .dtw-proc__ico{flex-basis:56px;width:56px;height:56px;font-size:25px}
  .dtw-proc--vertical .dtw-proc__steps::before{left:27px}
}

/* Padding lateral reducido en móvil (unificado a 20px) */
@media(max-width:600px){
  .dtw-proc__wrap{padding-left:20px;padding-right:20px}
}
.dtw-proc--noband{background:transparent}
