/* v0.47 — Compartir profesional, admin editorial y edición visual. */

/* Compartir: iconos SVG reales y mejor consistencia */
.share-action span svg {
  width: 19px;
  height: 19px;
  fill: currentColor;
}
.share-action-whatsapp span { background: linear-gradient(135deg, #128c7e, #25d366); }
.share-action-facebook span { background: linear-gradient(135deg, #29487d, #1877f2); }
.share-action-telegram span { background: linear-gradient(135deg, #1d84c6, #37aee2); }
.share-action-x span { background: #111827; }
.share-action-mail span { background: linear-gradient(135deg, #293b7a, #5a4690); }
.share-action-copy span { background: linear-gradient(135deg, #4b5563, #29336f); }
.share-action-native span svg { fill: #293b7a; }

/* Enlaces pequeños tipo Ver todos / Ver calendario / Ver vacantes */
.portal-home .card-heading > a,
.portal-card .card-heading > a,
.section-heading > a,
.text-link {
  display: inline-flex;
  align-items: center;
  gap: .42rem;
  white-space: nowrap;
  line-height: 1.15;
}
.portal-home .card-heading > a,
.portal-card .card-heading > a {
  min-height: 42px;
  padding: .62rem .84rem;
  border: 1px solid rgba(94, 74, 156, .16);
  border-radius: 999px;
  color: #4f3f93;
  background: linear-gradient(180deg, #fbf9ff 0%, #f0ecff 100%);
  font-weight: 900;
  box-shadow: 0 10px 22px rgba(53, 45, 104, .06);
  transition: transform .18s ease, box-shadow .18s ease, background .18s ease, border-color .18s ease;
}
.portal-home .card-heading > a:hover,
.portal-card .card-heading > a:hover {
  color: #382b75;
  border-color: rgba(94, 74, 156, .28);
  background: #fff;
  transform: translateY(-1px);
  box-shadow: 0 14px 28px rgba(53, 45, 104, .1);
}
.portal-home .events-card-expanded,
.portal-home .jobs-card-expanded,
.portal-home .programs-card-expanded {
  display: flex;
  flex-direction: column;
}
.portal-home .events-visual-grid { flex: 1 1 auto; }
.portal-home .events-wide-cta,
.portal-home .jobs-footer-button { margin-top: auto; }

/* Admin dashboard más compacto */
.admin-hero-guide-compact {
  margin-bottom: .85rem;
  padding: clamp(1rem, 2.6vw, 1.35rem);
}
.admin-hero-guide-compact h2 { font-size: clamp(1.45rem, 3vw, 2.05rem); }
.admin-metrics-v47 {
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: .72rem;
  margin-bottom: .85rem;
}
.admin-metrics-v47 article {
  min-height: 124px;
  padding: .86rem;
}
.admin-metrics-v47 article strong { font-size: 1.85rem; }
.admin-dashboard-grid-v47 {
  display: grid;
  gap: 1rem;
  align-items: start;
  margin-bottom: 1rem;
}
@media (min-width: 1040px) {
  .admin-dashboard-grid-v47 { grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr); }
}
.admin-task-list {
  display: grid;
  gap: .65rem;
  margin: .5rem 0 0;
  padding: 0;
  list-style: none;
}
.admin-task-list li {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: .75rem;
  align-items: center;
  padding: .76rem;
  border: 1px solid #edf1f7;
  border-radius: 15px;
  background: linear-gradient(180deg, #fff 0%, #fbfcff 100%);
}
.admin-task-list li > span {
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  border-radius: 12px;
  color: #fff;
  background: linear-gradient(135deg, #293b7a, #5a4690);
  font-weight: 900;
}
.admin-task-list strong,
.admin-task-list small { display: block; }
.admin-task-list strong { color: #17244d; }
.admin-task-list small { margin-top: .12rem; color: #68758e; line-height: 1.35; }
.admin-task-list a {
  padding: .48rem .7rem;
  border-radius: 999px;
  color: #4f3f93;
  background: #f1edff;
  font-weight: 900;
}
.admin-list-tight { gap: .48rem; }
.admin-list-tight > div { padding: .6rem !important; }
.admin-mini-separator { height: 1px; margin: .7rem 0; background: #edf1f7; }
.admin-helper-panel-v47 { margin-top: .2rem; }

/* Multimedia guiada */
.admin-media-usage-grid {
  display: grid;
  gap: .75rem;
  margin-bottom: 1rem;
}
@media (min-width: 800px) {
  .admin-media-usage-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
.admin-media-usage-grid article {
  padding: .95rem;
  border: 1px solid #dfe6f2;
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 10px 24px rgba(23,36,78,.055);
}
.admin-media-usage-grid span {
  display: grid;
  place-items: center;
  width: 36px;
  height: 36px;
  margin-bottom: .55rem;
  border-radius: 12px;
  color: #4f3f93;
  background: #f0edff;
  font-weight: 900;
}
.admin-media-usage-grid strong { display: block; color: #17244d; }
.admin-media-usage-grid p { margin: .25rem 0 0; color: #68758e; font-size: .86rem; line-height: 1.45; }
.media-grid-guided article { align-items: start; }

/* Perfiles: flujo SEFECO */
.admin-callout-profile-flow {
  display: grid;
  gap: .25rem;
  margin-bottom: 1rem;
}
.admin-callout-profile-flow span {
  color: #68758e;
  line-height: 1.5;
}
.inline-status-form-friendly {
  display: grid;
  grid-template-columns: minmax(160px, .9fr) minmax(220px, 1.2fr) auto;
  gap: .45rem;
}
@media (max-width: 900px) {
  .inline-status-form-friendly { grid-template-columns: 1fr; }
}

/* Editor visual tipo Word */
.rich-editor-source {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  opacity: 0 !important;
  pointer-events: none !important;
}
.rich-editor {
  border: 1px solid #d9e2f0;
  border-radius: 17px;
  overflow: hidden;
  background: #fff;
  box-shadow: 0 10px 22px rgba(23, 36, 78, .045);
}
.rich-editor-toolbar {
  display: flex;
  flex-wrap: wrap;
  gap: .38rem;
  padding: .55rem;
  border-bottom: 1px solid #e8edf6;
  background: linear-gradient(180deg, #fbfcff 0%, #f6f7fb 100%);
}
.rich-editor-button {
  min-height: 34px;
  padding: .38rem .58rem;
  border: 1px solid #dfe6f2;
  border-radius: 10px;
  color: #29336f;
  background: #fff;
  font-size: .78rem;
  font-weight: 850;
}
.rich-editor-button:hover,
.rich-editor-button:focus-visible {
  border-color: rgba(79,63,147,.35);
  background: #f1edff;
}
.rich-editor-button-muted { color: #68758e; }
.rich-editor-surface {
  min-height: 220px;
  padding: .95rem;
  color: #17244d;
  line-height: 1.65;
  outline: none;
}
.rich-editor-surface:focus {
  box-shadow: inset 0 0 0 3px rgba(103,80,184,.12);
}
.rich-editor-surface p { margin: 0 0 .8rem; }
.rich-editor-surface h2,
.rich-editor-surface h3 { margin: .9rem 0 .45rem; color: #17244d; line-height: 1.18; }
.rich-editor-surface ul,
.rich-editor-surface ol { margin: .4rem 0 .8rem; padding-left: 1.4rem; }
.rich-editor-surface a { color: #4f3f93; font-weight: 850; text-decoration: underline; }

/* Edición visual de imágenes */
.admin-editor-grid-visual { align-items: start; }
.admin-editor-main .helper-text { max-width: 720px; }
.admin-media-edit-panel { display: grid; gap: 1rem; }
.admin-image-preview-card {
  overflow: hidden;
  border: 1px solid #dfe6f2;
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 12px 26px rgba(23,36,78,.06);
}
.admin-image-preview-card img {
  width: 100%;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  background: #edf1f7;
}
.admin-image-preview-card p {
  margin: 0;
  padding: .78rem .9rem;
  color: #68758e;
  font-size: .84rem;
  line-height: 1.4;
}
.admin-editor-help-card {
  padding: .9rem;
  border: 1px solid #e2e7f2;
  border-radius: 15px;
  color: #68758e;
  background: #f9f7ff;
}
.admin-editor-help-card strong { color: #29336f; }
.admin-editor-help-card p { margin: .25rem 0 0; line-height: 1.45; }

@media (max-width: 760px) {
  .admin-task-list li { grid-template-columns: auto 1fr; }
  .admin-task-list a { grid-column: 2; justify-self: start; }
}

.admin-edit-profile-link {
  margin-bottom: .45rem;
}
.admin-category-checks {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
  margin-top: .35rem;
}
.admin-category-checks label {
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  padding: .55rem .7rem;
  border: 1px solid #dfe6f2;
  border-radius: 999px;
  color: #29336f;
  background: #fbfcff;
  font-weight: 850;
}
.admin-category-checks input {
  width: 16px;
  height: 16px;
}
