/* =============================================================
   Base compartida de las secciones modulares.
   La cargan todos los módulos (dependen de este archivo).
   ============================================================= */
.psec-builder {
  --ps-primary:      #0e159c;
  --ps-primary-dark: #0a1078;
  --ps-ink:          #1c2450;
  --ps-text:         #4a4e69;
  --ps-muted:        #8a8fa3;
  --ps-border:       #e6e7f1;
  --ps-soft:         #f5f6fb;
  --ps-green:        #16a34a;
  --ps-red:          #e0554b;
  --ps-amber:        #f5a623;
  font-family: 'Open Sans', sans-serif;
  color: var(--ps-text);
}

.psec { padding: 48px 0; }
.psec .wrap { max-width: 1080px; margin: 0 auto; padding: 0 20px; }

.psec-eyebrow {
  display: inline-block;
  font-size: .76rem; font-weight: 700; letter-spacing: .1em;
  text-transform: uppercase; color: var(--ps-muted); margin-bottom: 12px;
}
.psec-title { font-size: 1.95rem; line-height: 1.2; font-weight: 700; color: var(--ps-ink); margin: 0 0 24px; }
.psec-title--center { text-align: center; }

/* Iconos */
.psec-ico { width: 20px; height: 20px; flex: 0 0 auto; }
.psec-ico--check { color: var(--ps-green); }
.psec-ico--x { color: var(--ps-red); }
.psec-ico--arrow { width: 18px; height: 18px; }

/* Estrellas */
.psec-stars { display: inline-flex; gap: 2px; }
.psec-star { width: 18px; height: 18px; fill: #d9dbe6; }
.psec-star.is-on { fill: var(--ps-amber); }

/* Botones */
.psec-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  height: 50px; padding: 0 26px; border-radius: 8px;
  font-size: 1rem; font-weight: 700; text-decoration: none; cursor: pointer;
  border: 2px solid transparent; transition: all .18s ease;
}
.psec-btn--primary { background: var(--ps-primary); color: #fff; }
.psec-btn--primary:hover { background: var(--ps-primary-dark); color: #fff; }
.psec-btn--ghost { background: #fff; color: var(--ps-primary); border-color: var(--ps-primary); }
.psec-btn--ghost:hover { background: var(--ps-primary); color: #fff; }

/* Responsive base */
@media (max-width: 860px) {
  .psec { padding: 36px 0; }
  .psec-title { font-size: 1.5rem; }
}
