/*
Theme Name: Colegio PSIMZA UI26
Theme URI: https://licitometro.ar/psiweb20/
Author: Ultima Milla / PSICOLE
Description: Tema editorial UI26 para el Colegio Profesional de Psicologas/os de Mendoza. Usa paginas, posts, loops nativos y conexion visual con PSICOLE.
Version: 0.1.0
Text Domain: colegio-psimza-ui26
*/

@font-face {
  font-family: Inter;
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("assets/fonts/2c55a0e60120577a-s.0-dom-5bn10r2.woff2") format("woff2");
  unicode-range: U+460-52F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}

/* Oportunidades laborales */
.cpm-opportunities {
  display: grid;
  gap: 32px;
}

.cpm-opportunities__intro {
  display: grid;
  max-width: 860px;
  gap: 14px;
  color: #334155;
  font-size: 18px;
  line-height: 1.65;
}

.cpm-opportunities__intro p {
  margin: 0;
}

.cpm-opportunities__intro a,
.cpm-opportunity-card a {
  color: var(--cpm-purple);
  font-weight: 700;
  text-decoration: underline;
  text-decoration-thickness: 0.08em;
  text-underline-offset: 0.18em;
}

.cpm-opportunities__head {
  display: grid;
  gap: 6px;
  padding-top: 8px;
}

.cpm-opportunities__head h2 {
  margin: 0;
  color: var(--cpm-ink);
  font-size: 32px;
  line-height: 1.08;
  letter-spacing: -0.03em;
}

.cpm-opportunity-list {
  display: grid;
  gap: 18px;
}

.cpm-opportunity-card {
  display: grid;
  grid-template-columns: minmax(210px, 0.34fr) minmax(0, 1fr);
  overflow: hidden;
  border: 1px solid rgba(226, 232, 240, 0.9);
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 16px 38px rgba(15, 23, 42, 0.055);
}

.cpm-opportunity-card__meta {
  display: grid;
  align-content: start;
  gap: 10px;
  padding: 28px;
  background: linear-gradient(135deg, rgba(66, 30, 109, 0.08), rgba(4, 104, 190, 0.055));
}

.cpm-opportunity-card__meta span {
  color: var(--cpm-blue);
  font-size: 16px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.cpm-opportunity-card__meta strong {
  color: #1e293b;
  font-size: 18px;
  line-height: 1.3;
}

.cpm-opportunity-card__body {
  display: grid;
  gap: 20px;
  padding: 28px;
}

.cpm-opportunity-card h3 {
  margin: 0;
  color: var(--cpm-ink);
  font-size: 28px;
  line-height: 1.12;
  letter-spacing: -0.025em;
}

.cpm-opportunity-card dl {
  display: grid;
  gap: 0;
  margin: 0;
}

.cpm-opportunity-card dl > div {
  display: grid;
  grid-template-columns: minmax(145px, 0.24fr) minmax(0, 1fr);
  gap: 18px;
  padding: 15px 0;
  border-top: 1px solid rgba(226, 232, 240, 0.86);
}

.cpm-opportunity-card dt {
  color: #475569;
  font-size: 16px;
  font-weight: 700;
}

.cpm-opportunity-card dd {
  margin: 0;
  color: #334155;
  font-size: 16px;
  line-height: 1.58;
}

.cpm-opportunity-card__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.cpm-opportunity-card__actions a {
  display: inline-flex;
  min-height: 42px;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(66, 30, 109, 0.22);
  border-radius: 999px;
  padding: 10px 16px;
  background: rgba(66, 30, 109, 0.055);
  text-decoration: none;
  transition: transform 150ms ease, border-color 150ms ease, background 150ms ease;
}

.cpm-opportunity-card__actions a:hover,
.cpm-opportunity-card__actions a:focus-visible {
  border-color: rgba(66, 30, 109, 0.42);
  background: rgba(66, 30, 109, 0.1);
  transform: translateY(-1px);
  outline: 0;
}

@media (max-width: 760px) {
  .cpm-opportunity-card {
    grid-template-columns: 1fr;
    border-radius: 16px;
  }

  .cpm-opportunity-card__meta,
  .cpm-opportunity-card__body {
    padding: 22px;
  }

  .cpm-opportunity-card dl > div {
    grid-template-columns: 1fr;
    gap: 6px;
  }
}

@font-face {
  font-family: Inter;
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("assets/fonts/9c72aa0f40e4eef8-s.1y4-pdgsjb-pw.woff2") format("woff2");
  unicode-range: U+301, U+400-45F, U+490-491, U+4B0-4B1, U+2116;
}

@font-face {
  font-family: Inter;
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("assets/fonts/ad66f9afd8947f86-s.3lvt2whj97whp.woff2") format("woff2");
  unicode-range: U+1F??;
}

@font-face {
  font-family: Inter;
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("assets/fonts/5476f68d60460930-s.2uwcyprjm3xu3.woff2") format("woff2");
  unicode-range: U+370-377, U+37A-37F, U+384-38A, U+38C, U+38E-3A1, U+3A3-3FF;
}

@font-face {
  font-family: Inter;
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("assets/fonts/2bbe8d2671613f1f-s.0k62hbripvv8p.woff2") format("woff2");
  unicode-range: U+102-103, U+110-111, U+128-129, U+168-169, U+1A0-1A1, U+1AF-1B0, U+300-301, U+303-304, U+308-309, U+323, U+329, U+1EA0-1EF9, U+20AB;
}

@font-face {
  font-family: Inter;
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("assets/fonts/1bffadaabf893a1e-s.3-6t-g6q0vh0a.woff2") format("woff2");
  unicode-range: U+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: Inter;
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("assets/fonts/83afe278b6a6bb3c-s.p.2bn3s6zvc0dyp.woff2") format("woff2");
  unicode-range: U+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: "Inter Fallback";
  src: local("Arial");
  ascent-override: 90.44%;
  descent-override: 22.52%;
  line-gap-override: 0%;
  size-adjust: 107.12%;
}

:root {
  --cpm-purple: #421e6d;
  --cpm-red: #be2c47;
  --cpm-orange: #f1541b;
  --cpm-yellow: #d8b404;
  --cpm-green: #03a56a;
  --cpm-blue: #0468be;
  --cpm-gray: #edeeef;
  --cpm-bg: #f9fafb;
  --cpm-ink: #111827;
  --cpm-muted: #64748b;
  --cpm-border: #e5e7eb;
  --cpm-radius: 8px;
  --cpm-shadow-card: 0 12px 32px rgba(15, 23, 42, 0.055);
  --cpm-shadow-float: 0 16px 42px rgba(15, 23, 42, 0.07);
  --cpm-shadow-media: 0 20px 50px rgba(15, 23, 42, 0.075);
  --cpm-shadow-dock: 0 -6px 24px rgba(15, 23, 42, 0.07);
}

* {
  box-sizing: border-box;
}

body {
  margin: 0;
  background: var(--cpm-bg);
  color: var(--cpm-ink);
  font-family: Inter, "Inter Fallback";
  font-size: 16px;
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

a {
  color: inherit;
  text-decoration: none;
}

img {
  display: block;
  max-width: 100%;
}

.cpm-container {
  width: min(100% - 32px, 1180px);
  margin: 0 auto;
  padding-inline: 24px;
}

.cpm-header {
  position: sticky;
  z-index: 40;
  top: 0;
  background: transparent;
}

.cpm-topbar {
  border-bottom: 2px solid var(--cpm-yellow);
  background: var(--cpm-purple);
  color: rgba(255, 255, 255, 0.82);
}

.cpm-topbar__inner {
  display: flex;
  min-height: 32px;
  align-items: center;
  justify-content: space-between;
  gap: 22px;
  font-size: 12px;
}

.cpm-topbar__group {
  display: flex;
  align-items: center;
  gap: 18px;
  min-width: 0;
}

.cpm-topbar__group span,
.cpm-topbar__group a {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  white-space: nowrap;
}

.cpm-topbar svg {
  width: 13px;
  height: 13px;
  flex: 0 0 auto;
  color: var(--cpm-yellow);
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
}

.cpm-topbar a:hover {
  color: #fff;
}

.cpm-header__main {
  border-bottom: 1px solid var(--cpm-border);
  background: rgba(255, 255, 255, 0.96);
  backdrop-filter: blur(12px);
}

.cpm-header__inner {
  display: flex;
  min-height: 68px;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
}

.cpm-logo {
  display: inline-flex;
  align-items: center;
}

.cpm-logo img {
  width: 188px;
  min-width: 188px;
  height: auto;
}

.cpm-nav {
  display: flex;
  align-items: center;
  gap: 4px;
  color: #334155;
  font-weight: 700;
}

.cpm-nav a {
  border-radius: var(--cpm-radius);
  padding: 8px 11px;
  font-size: 14px;
  line-height: 1.2;
  white-space: nowrap;
  transition: background 160ms ease, color 160ms ease;
}

.cpm-nav a:hover,
.cpm-nav .current-menu-item > a,
.cpm-nav a.is-active {
  background: color-mix(in srgb, var(--cpm-purple) 8%, white);
  color: var(--cpm-purple);
}

.cpm-actions {
  display: flex;
  align-items: center;
  gap: 8px;
}

.cpm-button {
  display: inline-flex;
  min-height: 40px;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  gap: 8px;
  border-radius: var(--cpm-radius);
  border: 1px solid var(--cpm-border);
  padding: 8px 16px;
  font-weight: 700;
  white-space: nowrap;
  transition: transform 160ms ease, box-shadow 160ms ease, background 160ms ease;
}

.cpm-button:hover {
  transform: translateY(-1px);
  box-shadow: 0 6px 18px rgba(15, 23, 42, 0.08);
}

.cpm-button svg {
  width: 16px;
  height: 16px;
  flex: 0 0 auto;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
}

.cpm-button--primary {
  border-color: var(--cpm-purple);
  background: var(--cpm-purple);
  color: white;
}

.cpm-button--soft {
  border-color: transparent;
  background: color-mix(in srgb, var(--cpm-blue) 10%, white);
  color: var(--cpm-blue);
}

.cpm-button--ghost {
  border-color: color-mix(in srgb, var(--cpm-ink) 12%, transparent);
  background: white;
  color: var(--cpm-ink);
}

.cpm-button--ghost:hover {
  border-color: color-mix(in srgb, var(--cpm-purple) 22%, transparent);
  background: color-mix(in srgb, var(--cpm-purple) 5%, white);
  color: var(--cpm-purple);
}

.cpm-button--light {
  border-color: transparent;
  background: #fff;
  color: var(--cpm-purple);
}

.cpm-button--ghost-light {
  border-color: rgba(255, 255, 255, 0.28);
  background: rgba(255, 255, 255, 0.08);
  color: #fff;
}

.cpm-button--ghost-light:hover {
  background: rgba(255, 255, 255, 0.16);
}

.cpm-search-trigger {
  display: none;
  min-height: 38px;
  align-items: center;
  gap: 8px;
  border: 1px solid var(--cpm-border);
  border-radius: var(--cpm-radius);
  background: #fff;
  color: #475569;
  padding: 0 10px;
  font: inherit;
  font-size: 13px;
  font-weight: 700;
  cursor: pointer;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
  transition: border-color 160ms ease, box-shadow 160ms ease, color 160ms ease;
}

.cpm-search-trigger:hover {
  border-color: color-mix(in srgb, var(--cpm-purple) 25%, var(--cpm-border));
  color: var(--cpm-purple);
  box-shadow: 0 8px 22px rgba(15, 23, 42, 0.08);
}

.cpm-search-trigger span {
  color: var(--cpm-purple);
  font-size: 18px;
  line-height: 1;
}

.cpm-search-trigger kbd {
  border: 1px solid var(--cpm-border);
  border-radius: 5px;
  padding: 1px 4px;
  color: #94a3b8;
  font-size: 10px;
  font-family: inherit;
  font-weight: 700;
}

.cpm-login-link {
  display: inline-flex;
  min-height: 38px;
  align-items: center;
  gap: 6px;
  border-radius: var(--cpm-radius);
  padding: 0 10px;
  color: #111827;
  font-size: 14px;
  font-weight: 700;
  white-space: nowrap;
  transition: background 160ms ease, color 160ms ease;
}

.cpm-login-link:hover {
  background: #f8fafc;
  color: var(--cpm-purple);
}

.cpm-menu-toggle {
  display: none;
  width: 40px;
  height: 40px;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--cpm-border);
  border-radius: var(--cpm-radius);
  background: #fff;
  color: #334155;
  font: inherit;
  font-weight: 700;
}

.cpm-link {
  color: var(--cpm-purple);
  font-weight: 700;
}

.screen-reader-text {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(1px, 1px, 1px, 1px);
  white-space: nowrap;
}

.cpm-ui26-hero {
  position: relative;
  overflow: hidden;
  background: var(--cpm-purple);
  color: #fff;
}

.cpm-ui26-hero__media,
.cpm-ui26-hero__overlay {
  position: absolute;
  inset: 0;
}

.cpm-ui26-hero__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0.35;
}

.cpm-ui26-hero__overlay {
  background: rgba(66, 30, 109, 0.86);
}

.cpm-ui26-hero__rule {
  position: relative;
  z-index: 1;
  height: 3px;
  background: var(--cpm-yellow);
}

.cpm-ui26-hero__inner {
  position: relative;
  z-index: 2;
  min-height: 520px;
  display: flex;
  align-items: center;
  padding-top: 60px;
  padding-bottom: 72px;
}

.cpm-ui26-hero__copy {
  max-width: 672px;
}

.cpm-ui26-kicker {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 18px;
}

.cpm-ui26-kicker span {
  width: 34px;
  height: 1px;
  background: var(--cpm-yellow);
}

.cpm-ui26-kicker p {
  margin: 0;
  color: var(--cpm-yellow);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}

.cpm-ui26-kicker--dark span {
  background: var(--cpm-blue);
}

.cpm-ui26-kicker--dark p {
  color: var(--cpm-purple);
}

.cpm-ui26-hero h1 {
  margin: 0;
  max-width: 660px;
  color: #fff;
  font-size: 52px;
  line-height: 1.08;
  letter-spacing: 0;
}

.cpm-ui26-hero__lead {
  max-width: 610px;
  margin: 20px 0 0;
  color: rgba(255, 255, 255, 0.84);
  font-size: 18px;
  line-height: 1.56;
}

.cpm-ui26-search {
  display: flex;
  width: min(100%, 580px);
  margin-top: 22px;
  gap: 8px;
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.96);
  padding: 7px;
  box-shadow: var(--cpm-shadow-float);
}

.cpm-ui26-search__icon {
  display: inline-flex;
  width: 24px;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  color: #94a3b8;
}

.cpm-ui26-search__icon svg {
  width: 20px;
  height: 20px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
}

.cpm-ui26-search input {
  min-width: 0;
  flex: 1;
  border: 0;
  background: transparent;
  padding: 0 10px;
  color: var(--cpm-ink);
  font: inherit;
  outline: 0;
}

.cpm-ui26-search button {
  min-height: 38px;
  border: 0;
  border-radius: 8px;
  background: var(--cpm-purple);
  color: #fff;
  padding: 0 20px;
  font-weight: 700;
  cursor: pointer;
}

.cpm-ui26-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 20px;
}

.cpm-ui26-hero__actions--dark {
  margin-top: 28px;
}

.cpm-ui26-stats {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
  max-width: 580px;
  margin: 28px 0 0;
  padding-top: 22px;
  border-top: 1px solid rgba(255, 255, 255, 0.13);
}

.cpm-ui26-stats div {
  position: relative;
}

.cpm-ui26-stats div::before {
  content: "";
  position: absolute;
  top: -27px;
  left: 0;
  width: 34px;
  height: 4px;
  border-radius: 999px;
  background: var(--cpm-yellow);
}

.cpm-ui26-stats dt {
  color: #fff;
  font-size: 28px;
  font-weight: 700;
  line-height: 1;
}

.cpm-ui26-stats dd {
  margin: 7px 0 0;
  color: rgba(255, 255, 255, 0.65);
  font-size: 14px;
}

.cpm-ui26-quick-wrap {
  position: relative;
  z-index: 4;
  margin-top: -28px;
}

.cpm-ui26-quick {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 14px;
  overflow: hidden;
  border: 1px solid var(--cpm-border);
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.98);
  padding: 20px 28px 22px;
  box-shadow: var(--cpm-shadow-card);
}

.cpm-ui26-quick__item {
  display: flex;
  min-height: 116px;
  flex-direction: column;
  align-items: flex-start;
  gap: 12px;
  border-radius: 9px;
  padding: 10px 2px;
  transition: background 160ms ease, transform 160ms ease, box-shadow 160ms ease;
}

.cpm-ui26-quick__item:last-child {
  border-right: 0;
}

.cpm-ui26-quick__item:hover {
  background: color-mix(in srgb, var(--cpm-purple) 3%, white);
  transform: translateY(-1px);
  box-shadow: none;
}

.cpm-ui26-quick__icon {
  display: inline-flex;
  width: 40px;
  height: 40px;
  align-items: center;
  justify-content: center;
  border-radius: 12px;
  font-weight: 700;
}

.cpm-ui26-quick__icon svg {
  width: 20px;
  height: 20px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.cpm-ui26-quick__item--violet .cpm-ui26-quick__icon {
  background: var(--cpm-gray);
  color: var(--cpm-purple);
}

.cpm-ui26-quick__item--green .cpm-ui26-quick__icon {
  background: color-mix(in srgb, var(--cpm-green) 12%, white);
  color: var(--cpm-green);
}

.cpm-ui26-quick__item--orange .cpm-ui26-quick__icon {
  background: color-mix(in srgb, var(--cpm-orange) 12%, white);
  color: var(--cpm-orange);
}

.cpm-ui26-quick__item--blue .cpm-ui26-quick__icon {
  background: color-mix(in srgb, var(--cpm-blue) 12%, white);
  color: var(--cpm-blue);
}

.cpm-ui26-quick strong {
  display: block;
  color: var(--cpm-ink);
  font-size: 16px;
  font-weight: 700;
  line-height: 1.2;
}

.cpm-ui26-quick small {
  display: block;
  margin-top: 5px;
  color: #64748b;
  font-size: 13px;
  line-height: 1.38;
}

.cpm-section--tint {
  border-top: 1px solid var(--cpm-border);
  border-bottom: 1px solid var(--cpm-border);
  background: color-mix(in srgb, var(--cpm-gray) 58%, white);
}

.cpm-section__head--compact {
  align-items: center;
  border-bottom: 1px solid var(--cpm-border);
  padding-bottom: 18px;
}

.cpm-ui26-services {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 22px;
  margin-top: 42px;
}

.cpm-ui26-service {
  display: flex;
  min-height: 100%;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid var(--cpm-border);
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 2px 0 rgba(15, 23, 42, 0.02);
  transition: border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}

.cpm-ui26-service:hover {
  border-color: color-mix(in srgb, var(--cpm-purple) 24%, var(--cpm-border));
  box-shadow: 0 18px 42px rgba(15, 23, 42, 0.08);
  transform: translateY(-2px);
}

.cpm-ui26-service figure {
  position: relative;
  margin: 0;
  overflow: hidden;
  aspect-ratio: 16 / 10;
  background: var(--cpm-gray);
}

.cpm-ui26-service img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 500ms ease;
}

.cpm-ui26-service:hover img {
  transform: scale(1.04);
}

.cpm-ui26-service figure::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(15, 23, 42, 0.55), transparent 55%);
}

.cpm-ui26-service figcaption {
  position: absolute;
  z-index: 2;
  bottom: 14px;
  left: 14px;
  color: rgba(255, 255, 255, 0.92);
  font-size: 36px;
  font-weight: 700;
}

/* Editorial corrections requested in "Pagina web.pdf" - June 2026. */
.cpm-ui26-service figcaption,
.cpm-tramite-card__top > strong {
  display: none;
}

.cpm-ui26-news-featured-section {
  border-top: 1px solid color-mix(in srgb, var(--cpm-border) 72%, transparent);
}

.cpm-ui26-news-featured {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(320px, 0.75fr);
  gap: 22px;
  align-items: stretch;
}

.cpm-ui26-news-main,
.cpm-ui26-news-secondary a {
  color: inherit;
  text-decoration: none;
}

.cpm-ui26-news-main {
  display: grid;
  grid-template-columns: minmax(260px, 0.52fr) minmax(0, 0.48fr);
  overflow: hidden;
  border: 1px solid var(--cpm-border);
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 22px 54px rgba(15, 23, 42, 0.06);
}

.cpm-ui26-news-main figure,
.cpm-ui26-news-main img {
  height: 100%;
}

.cpm-ui26-news-main figure {
  margin: 0;
  overflow: hidden;
}

.cpm-ui26-news-main img {
  width: 100%;
  min-height: 300px;
  object-fit: cover;
  transition: transform 220ms ease;
}

.cpm-ui26-news-main > div {
  display: grid;
  align-content: center;
  gap: 12px;
  padding: 28px;
}

.cpm-ui26-news-main p,
.cpm-ui26-news-secondary em {
  margin: 0;
  color: var(--cpm-blue);
  font-size: 15px;
  font-weight: 700;
  line-height: 1.25;
}

.cpm-ui26-news-main h3 {
  margin: 0;
  font-size: clamp(26px, 2.35rem, 40px);
  line-height: 1.05;
}

.cpm-ui26-news-main time,
.cpm-ui26-news-main span {
  color: #475569;
  font-size: 16px;
  line-height: 1.5;
}

.cpm-ui26-news-secondary {
  display: grid;
  gap: 12px;
}

.cpm-ui26-news-secondary a {
  display: grid;
  grid-template-columns: 112px minmax(0, 1fr);
  gap: 16px;
  align-items: center;
  border: 1px solid var(--cpm-border);
  border-radius: 12px;
  background: #fff;
  padding: 12px;
  transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

.cpm-ui26-news-secondary img {
  width: 112px;
  height: 84px;
  border-radius: 9px;
  object-fit: cover;
}

.cpm-ui26-news-secondary span {
  display: grid;
  gap: 6px;
}

.cpm-ui26-news-secondary strong {
  color: var(--cpm-ink);
  font-size: 17px;
  line-height: 1.2;
}

.cpm-ui26-news-main:hover img {
  transform: scale(1.035);
}

.cpm-ui26-news-secondary a:hover {
  border-color: color-mix(in srgb, var(--cpm-purple) 22%, var(--cpm-border));
  box-shadow: 0 14px 34px rgba(15, 23, 42, 0.07);
  transform: translateY(-1px);
}

.cpm-tramite-card__actions {
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
  margin-top: auto;
}

.cpm-tramite-card__link {
  display: inline-flex;
  min-height: 40px;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--cpm-border);
  border-radius: 8px;
  color: var(--cpm-ink);
  font-weight: 700;
  text-decoration: none;
  transition: border-color 160ms ease, color 160ms ease, transform 160ms ease;
}

.cpm-tramite-card__link:hover {
  border-color: color-mix(in srgb, var(--cpm-purple) 26%, var(--cpm-border));
  color: var(--cpm-purple);
  transform: translateY(-1px);
}

.cpm-body-grid__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: auto;
}

.cpm-body-grid__secondary {
  margin-top: 0;
}

.cpm-ui26-service > div {
  display: flex;
  flex: 1;
  flex-direction: column;
  padding: 20px;
}

.cpm-ui26-service h3 {
  margin: 0;
  font-size: 20px;
  line-height: 1.2;
}

.cpm-ui26-service p {
  margin: 10px 0 0;
  color: #64748b;
  font-size: 15px;
  line-height: 1.6;
}

.cpm-ui26-service span {
  margin-top: auto;
  padding-top: 18px;
  color: var(--cpm-purple);
  font-weight: 700;
}

.cpm-ui26-service--contact {
  justify-content: space-between;
  border-color: transparent;
  background: var(--cpm-purple);
  color: #fff;
  padding: 26px;
}

.cpm-ui26-service--contact p {
  color: rgba(255, 255, 255, 0.78);
}

.cpm-ui26-autogestion {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 34px;
  overflow: hidden;
  border-radius: 18px;
  background: var(--cpm-purple);
  color: #fff;
  padding: 52px;
  box-shadow: 0 18px 44px rgba(66, 30, 109, 0.18);
}

.cpm-ui26-autogestion::before,
.cpm-ui26-final::before {
  content: "";
  position: absolute;
  inset: 0;
  opacity: 0.16;
  background-image: radial-gradient(rgba(255, 255, 255, 0.9) 1px, transparent 1px);
  background-size: 22px 22px;
}

.cpm-ui26-autogestion > *,
.cpm-ui26-final > * {
  position: relative;
  z-index: 1;
}

.cpm-ui26-pill {
  display: inline-flex;
  margin: 0 0 16px;
  border: 1px solid rgba(255, 255, 255, 0.35);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.12);
  padding: 5px 12px;
  font-size: 13px;
  font-weight: 700;
}

.cpm-ui26-autogestion h2,
.cpm-ui26-final h2 {
  margin: 0;
  max-width: 720px;
  color: #fff;
  font-size: 44px;
  line-height: 1.08;
  letter-spacing: 0;
}

.cpm-ui26-autogestion p:not(.cpm-ui26-pill),
.cpm-ui26-final p {
  max-width: 720px;
  color: rgba(255, 255, 255, 0.8);
  font-size: 17px;
}

.cpm-ui26-autogestion__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  justify-content: flex-end;
}

.cpm-ui26-news-agenda {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(360px, 0.85fr);
  gap: 54px;
  align-items: start;
}

.cpm-ui26-news-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
  margin-top: 24px;
}

.cpm-ui26-news-card {
  display: flex;
  height: 100%;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid var(--cpm-border);
  border-radius: 12px;
  background: #fff;
  transition: box-shadow 180ms ease, transform 180ms ease;
}

.cpm-ui26-news-card:hover,
.cpm-ui26-course:hover {
  box-shadow: 0 18px 40px rgba(15, 23, 42, 0.08);
  transform: translateY(-2px);
}

.cpm-ui26-news-card figure {
  position: relative;
  margin: 0;
  aspect-ratio: 16 / 10;
  overflow: hidden;
}

.cpm-ui26-news-card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.cpm-ui26-news-card figcaption {
  position: absolute;
  top: 12px;
  left: 12px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.94);
  padding: 4px 10px;
  color: #111827;
  font-size: 12px;
  font-weight: 700;
}

.cpm-ui26-news-card div {
  padding: 18px;
}

.cpm-ui26-news-card time {
  color: #64748b;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.cpm-ui26-news-card h3 {
  margin: 8px 0 0;
  font-size: 18px;
  line-height: 1.24;
}

.cpm-ui26-news-card p {
  margin: 10px 0 0;
  color: #64748b;
  font-size: 15px;
}

.cpm-ui26-course-list {
  display: grid;
  gap: 14px;
  margin-top: 24px;
}

.cpm-ui26-course {
  display: grid;
  gap: 10px;
  border: 1px solid var(--cpm-border);
  border-radius: 12px;
  background: #fff;
  padding: 18px;
  transition: box-shadow 180ms ease, transform 180ms ease;
}

.cpm-ui26-course__meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.cpm-ui26-course__meta span,
.cpm-ui26-course__meta strong {
  display: inline-flex;
  border-radius: 999px;
  padding: 4px 10px;
  font-size: 12px;
  font-weight: 700;
}

.cpm-ui26-course__meta span {
  background: color-mix(in srgb, var(--cpm-purple) 10%, white);
  color: var(--cpm-purple);
}

.cpm-ui26-course__meta strong {
  background: color-mix(in srgb, var(--cpm-green) 10%, white);
  color: var(--cpm-green);
}

.cpm-ui26-course h3 {
  margin: 0;
  font-size: 18px;
}

.cpm-ui26-course p {
  margin: 0;
  color: #64748b;
  font-size: 15px;
}

.cpm-ui26-course small {
  color: var(--cpm-purple);
  font-size: 14px;
  font-weight: 700;
}

.cpm-ui26-directory-preview {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(380px, 0.7fr);
  gap: 64px;
  align-items: center;
}

.cpm-ui26-trust {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
  max-width: 640px;
  margin: 34px 0 0;
  padding-top: 24px;
  border-top: 1px solid var(--cpm-border);
}

.cpm-ui26-trust dt {
  color: var(--cpm-ink);
  font-size: 20px;
  font-weight: 700;
}

.cpm-ui26-trust dd {
  margin: 4px 0 0;
  color: #64748b;
  font-size: 13px;
}

.cpm-ui26-directory-box {
  display: grid;
  gap: 14px;
  border: 1px solid var(--cpm-border);
  border-radius: 14px;
  background: #fff;
  padding: 28px;
  box-shadow: 0 20px 45px rgba(15, 23, 42, 0.08);
}

.cpm-ui26-directory-box p {
  margin: 0;
  color: #64748b;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.cpm-ui26-directory-box input,
.cpm-ui26-directory-box select {
  min-height: 46px;
  width: 100%;
  border: 1px solid var(--cpm-border);
  border-radius: 8px;
  background: #fff;
  padding: 0 14px;
  color: var(--cpm-ink);
  font: inherit;
}

.cpm-ui26-directory-box > div {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.cpm-ui26-final {
  position: relative;
  overflow: hidden;
  background: var(--cpm-purple);
  color: #fff;
}

.cpm-ui26-final__grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(320px, 0.55fr);
  gap: 48px;
  align-items: center;
  padding: 76px 0;
}

.cpm-ui26-final__card {
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.08);
  padding: 28px;
}

.cpm-ui26-final__card h3 {
  margin: 0 0 14px;
  color: #fff;
}

.cpm-hero {
  border-bottom: 1px solid var(--cpm-border);
  background: white;
}

.cpm-hero__grid {
  display: grid;
  grid-template-columns: minmax(0, 0.92fr) minmax(320px, 0.72fr);
  gap: 48px;
  align-items: center;
  padding: 64px 0;
}

.cpm-eyebrow {
  margin: 0 0 14px;
  color: var(--cpm-blue);
  font-weight: 700;
}

.cpm-hero__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 12px;
}

.cpm-hero__icon {
  display: inline-grid;
  width: 46px;
  height: 46px;
  place-items: center;
  border-radius: 8px;
  background: color-mix(in srgb, var(--cpm-purple) 8%, #fff);
  color: var(--cpm-purple);
}

.cpm-hero__icon svg {
  width: 22px;
  height: 22px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
}

.cpm-title {
  margin: 0;
  max-width: 820px;
  font-size: 48px;
  line-height: 1;
  letter-spacing: 0;
}

.cpm-lede {
  max-width: 720px;
  margin: 24px 0 0;
  color: #475569;
  font-size: 20px;
  line-height: 1.55;
}

.cpm-hero--compact .cpm-hero__grid {
  padding: 40px 0;
}

.cpm-hero--contacto .cpm-hero__grid {
  padding: 54px 0;
}

.cpm-hero--no-image .cpm-hero__grid {
  grid-template-columns: minmax(0, 860px);
}

.cpm-hero--compact .cpm-title {
  max-width: 680px;
  font-size: 30px;
  line-height: 1.2;
}

.cpm-hero--compact .cpm-lede {
  max-width: 700px;
  margin-top: 14px;
  font-size: 18px;
  line-height: 1.55;
}

.cpm-hero__image {
  overflow: hidden;
  border-radius: 14px;
  background: var(--cpm-gray);
  box-shadow: var(--cpm-shadow-media);
}

.cpm-hero__image img {
  aspect-ratio: 16 / 10;
  width: 100%;
  object-fit: cover;
}

.cpm-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 28px;
}

.cpm-action-band-wrap {
  border-bottom: 1px solid var(--cpm-border);
  background: #fff;
  padding: 22px 0;
}

.cpm-action-band {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 0;
  overflow: hidden;
  border: 1px solid var(--cpm-border);
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 16px 42px rgba(15, 23, 42, 0.06);
}

.cpm-action-band a {
  display: grid;
  gap: 5px;
  min-height: 96px;
  align-content: center;
  border-right: 1px solid var(--cpm-border);
  padding: 18px;
  transition: background 160ms ease, color 160ms ease, transform 160ms ease;
}

.cpm-action-band a:last-child {
  border-right: 0;
}

.cpm-action-band a:hover {
  background: color-mix(in srgb, var(--cpm-blue) 7%, white);
  color: var(--cpm-blue);
  transform: translateY(-1px);
}

.cpm-action-band span {
  color: var(--cpm-ink);
  font-size: 17px;
  font-weight: 700;
  line-height: 1.15;
}

.cpm-action-band small {
  color: #64748b;
  font-size: 15px;
  font-weight: 500;
  line-height: 1.35;
}

.cpm-section {
  padding: 56px 0;
}

.cpm-section--white {
  background: white;
}

.cpm-section__head {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 28px;
}

.cpm-section__title {
  margin: 0;
  font-size: 40px;
  line-height: 1.05;
  letter-spacing: 0;
}

.cpm-section__description {
  max-width: 720px;
  margin: 12px 0 0;
  color: #475569;
  font-size: 18px;
}

.cpm-content--wide {
  max-width: 100%;
}

.cpm-service-index {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}

.cpm-service-index article {
  display: grid;
  overflow: hidden;
  border: 1px solid var(--cpm-border);
  border-radius: 12px;
  background: #fff;
  transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

.cpm-service-index article:hover {
  border-color: color-mix(in srgb, var(--cpm-purple) 28%, var(--cpm-border));
  box-shadow: 0 18px 46px rgba(15, 23, 42, 0.07);
  transform: translateY(-2px);
}

.cpm-service-index img {
  width: 100%;
  aspect-ratio: 16 / 9;
  object-fit: cover;
}

.cpm-service-index article > div {
  display: grid;
  gap: 8px;
  padding: 18px;
}

.cpm-service-index span {
  display: inline-flex;
  width: 34px;
  height: 34px;
  align-items: center;
  justify-content: center;
  border-radius: 8px;
  background: color-mix(in srgb, var(--cpm-yellow) 20%, white);
  color: var(--cpm-purple);
  font-weight: 700;
}

.cpm-service-index h3,
.cpm-sede-strip h3 {
  margin: 0;
  font-size: 22px;
  line-height: 1.18;
}

.cpm-service-index p,
.cpm-sede-strip p {
  margin: 0;
  color: #475569;
  font-size: 16px;
}

.cpm-home-split {
  display: grid;
  grid-template-columns: minmax(0, 0.92fr) minmax(360px, 0.72fr);
  gap: 48px;
  align-items: start;
}

.cpm-sede-strip {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}

.cpm-sede-strip article {
  overflow: hidden;
  border: 1px solid var(--cpm-border);
  border-radius: 12px;
  background: #fff;
}

.cpm-sede-strip img {
  width: 100%;
  aspect-ratio: 16 / 10;
  object-fit: cover;
}

.cpm-sede-strip h3,
.cpm-sede-strip p {
  padding-inline: 18px;
}

.cpm-sede-strip h3 {
  padding-top: 18px;
}

.cpm-sede-strip p {
  padding-bottom: 18px;
}

.cpm-template-grid {
  display: grid;
  grid-template-columns: minmax(0, 0.74fr) minmax(320px, 0.26fr);
  gap: 42px;
  align-items: start;
}

.cpm-panel {
  border: 1px solid var(--cpm-border);
  border-radius: 12px;
  background: #fff;
  padding: 24px;
}

.cpm-panel h2,
.cpm-panel h3 {
  margin-top: 0;
}

.cpm-document-list {
  display: grid;
  gap: 0;
  border-top: 1px solid var(--cpm-border);
}

.cpm-document-list a,
.cpm-document-list article {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 24px;
  align-items: center;
  border-bottom: 1px solid var(--cpm-border);
  padding: 18px 0;
}

.cpm-document-list h3 {
  margin: 0;
  font-size: 20px;
}

.cpm-document-list p {
  margin: 7px 0 0;
  color: #475569;
}

.cpm-document-list--links .cpm-document-link {
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr) auto;
  gap: 16px;
  align-items: center;
  text-decoration: none;
}

.cpm-document-link__icon {
  display: grid;
  width: 40px;
  height: 40px;
  place-items: center;
  border-radius: 12px;
  background: #eef6ff;
  color: var(--cpm-blue);
  font-weight: 700;
}

.cpm-document-link__body {
  display: grid;
  gap: 5px;
  min-width: 0;
}

.cpm-document-link__body strong {
  color: #111827;
  font-size: 17px;
  line-height: 1.28;
}

.cpm-document-link__body em {
  color: #64748b;
  font-size: 16px;
  font-style: normal;
  line-height: 1.45;
}

.cpm-document-link__cta {
  color: var(--cpm-purple);
  font-weight: 700;
  white-space: nowrap;
}

.cpm-document-list--links .cpm-document-link:hover .cpm-document-link__body strong,
.cpm-document-list--links .cpm-document-link:focus-visible .cpm-document-link__body strong {
  color: var(--cpm-purple);
}

@media (max-width: 720px) {
  .cpm-document-list--links .cpm-document-link {
    grid-template-columns: 40px minmax(0, 1fr);
    gap: 12px;
    align-items: start;
    padding: 18px 0;
  }

  .cpm-document-link__cta {
    grid-column: 2;
    justify-self: start;
    margin-top: 4px;
  }
}

.cpm-panel .cpm-panel__action {
  width: auto;
  min-height: 38px;
  margin-top: 14px;
  padding: 8px 12px;
  justify-content: flex-start;
  border-radius: 10px;
  font-size: 15px;
  font-weight: 700;
  white-space: normal;
  text-align: left;
}

.cpm-panel .cpm-panel__action:hover,
.cpm-panel .cpm-panel__action:focus-visible {
  background: color-mix(in srgb, var(--cpm-blue) 14%, white);
  color: var(--cpm-blue);
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--cpm-blue) 22%, transparent);
}

.cpm-post-list {
  display: grid;
  gap: 0;
  border-top: 1px solid var(--cpm-border);
  border-bottom: 1px solid var(--cpm-border);
}

.cpm-post-row {
  display: grid;
  grid-template-columns: 132px minmax(0, 1fr) 150px;
  gap: 24px;
  align-items: center;
  padding: 24px 0;
  border-bottom: 1px solid var(--cpm-border);
}

.cpm-post-row:last-child {
  border-bottom: 0;
}

.cpm-post-row__image {
  overflow: hidden;
  border-radius: var(--cpm-radius);
  background: var(--cpm-gray);
}

.cpm-post-row__image img {
  aspect-ratio: 1 / 1;
  width: 100%;
  object-fit: cover;
}

.cpm-post-row__image--empty {
  display: grid;
  min-height: 132px;
  place-items: center;
  color: var(--cpm-blue);
}

.cpm-post-row__image--empty svg {
  width: 30px;
  height: 30px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
}

.cpm-post-row__category {
  margin: 0 0 6px;
  color: var(--cpm-blue);
  font-weight: 700;
}

.cpm-post-row h2,
.cpm-post-row h3 {
  margin: 0;
  font-size: 22px;
  line-height: 1.16;
}

.cpm-post-row p {
  margin: 10px 0 0;
  color: #475569;
}

.cpm-post-row time {
  color: var(--cpm-muted);
  font-weight: 600;
}

.cpm-post-row__link {
  display: inline-flex;
  min-height: 38px;
  align-items: center;
  justify-content: center;
  margin-top: 14px;
  border: 1px solid var(--cpm-border);
  border-radius: 8px;
  padding: 0 14px;
  color: var(--cpm-ink);
  font-weight: 700;
  text-decoration: none;
  transition: border-color 160ms ease, color 160ms ease, transform 160ms ease;
}

@media (hover: hover) {
  .cpm-post-row__link:hover,
  .cpm-post-row h2 a:hover {
    color: var(--cpm-purple);
  }

  .cpm-post-row__link:hover {
    border-color: color-mix(in srgb, var(--cpm-purple) 24%, var(--cpm-border));
    transform: translateY(-1px);
  }
}

.cpm-content {
  max-width: 780px;
  color: #334155;
  font-size: 18px;
  line-height: 1.8;
}

.cpm-content a {
  color: var(--cpm-blue);
  font-weight: 700;
  overflow-wrap: anywhere;
  word-break: break-word;
}

.cpm-content h2,
.cpm-content h3,
.cpm-content h4 {
  color: var(--cpm-ink);
  line-height: 1.18;
}

.cpm-content img {
  margin: 32px 0;
  border-radius: var(--cpm-radius);
}

.cpm-template-grid > *,
.cpm-content,
.cpm-panel {
  min-width: 0;
}

.cpm-archive-head {
  border-bottom: 1px solid var(--cpm-border);
  background: color-mix(in srgb, var(--cpm-gray) 42%, white);
}

.cpm-archive-head .cpm-container {
  padding-top: 40px;
  padding-bottom: 42px;
}

.cpm-breadcrumb {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 12px;
  color: #64748b;
  font-size: 16px;
  line-height: 1.4;
}

.cpm-breadcrumb a:hover {
  color: var(--cpm-purple);
}

.cpm-breadcrumb-strip {
  position: relative;
  z-index: 2;
  border-bottom: 1px solid color-mix(in srgb, var(--cpm-border) 70%, transparent);
  background: color-mix(in srgb, white 88%, var(--cpm-gray));
}

.cpm-breadcrumb-strip .cpm-container {
  padding-top: 10px;
  padding-bottom: 10px;
}

.cpm-breadcrumb--global {
  margin: 0;
  flex-wrap: nowrap;
  overflow: hidden;
  color: #64748b;
  font-size: 16px;
  font-weight: 600;
  white-space: nowrap;
}

.cpm-breadcrumb--global a {
  color: #64748b;
  text-decoration: none;
  transition: color 160ms ease;
}

.cpm-breadcrumb--global a:hover,
.cpm-breadcrumb--global a:focus-visible {
  color: var(--cpm-purple);
}

.cpm-breadcrumb--global span[aria-current="page"] {
  min-width: 0;
  overflow: hidden;
  color: var(--cpm-text);
  font-weight: 700;
  text-overflow: ellipsis;
}

.cpm-breadcrumb__separator {
  flex: 0 0 auto;
  color: #94a3b8;
  font-weight: 500;
}

.cpm-breadcrumb:not(.cpm-breadcrumb--global) {
  display: none;
}

.cpm-archive-head__row {
  display: flex;
  max-width: 920px;
  align-items: center;
  gap: 16px;
}

.cpm-archive-head__row--with-action {
  max-width: none;
  justify-content: space-between;
}

.cpm-archive-head__row--with-action > div {
  flex: 1;
}

.cpm-archive-head__icon {
  display: inline-flex;
  width: 48px;
  height: 48px;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  border-radius: 12px;
  background: color-mix(in srgb, var(--cpm-purple) 8%, white);
  color: var(--cpm-purple);
}

.cpm-archive-head__icon svg {
  width: 24px;
  height: 24px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.cpm-archive-head__eyebrow {
  margin: 0 0 3px;
  color: var(--cpm-blue);
  font-size: 16px;
  font-weight: 700;
}

.cpm-archive-head h1 {
  margin: 0;
  color: var(--cpm-ink);
  font-size: 30px;
  line-height: 1.2;
  letter-spacing: 0;
}

.cpm-archive-head p:not(.cpm-archive-head__eyebrow) {
  max-width: 760px;
  margin: 5px 0 0;
  color: #475569;
  font-size: 16px;
  line-height: 1.5;
}

.cpm-directory-shell,
.cpm-tramites-shell {
  background: var(--cpm-bg);
  padding: 40px 0 58px;
}

.cpm-tramites-search {
  position: relative;
  width: min(100%, 580px);
  margin-top: 24px;
}

.cpm-tramites-search svg {
  position: absolute;
  top: 50%;
  left: 14px;
  width: 20px;
  height: 20px;
  fill: none;
  stroke: #64748b;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
  transform: translateY(-50%);
  pointer-events: none;
}

.cpm-tramites-search input {
  width: 100%;
  min-height: 44px;
  border: 1px solid var(--cpm-border);
  border-radius: 8px;
  background: #fff;
  color: var(--cpm-ink);
  font: inherit;
  font-size: 16px;
  outline: 0;
  padding: 0 14px 0 44px;
}

.cpm-tramites-search input:focus {
  border-color: color-mix(in srgb, var(--cpm-purple) 38%, var(--cpm-border));
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--cpm-purple) 10%, transparent);
}

.cpm-tramites-title {
  margin: 0 0 18px;
  color: var(--cpm-ink);
  font-size: 20px;
  line-height: 1.2;
}

.cpm-tramites-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}

.cpm-tramite-card {
  display: flex;
  min-height: 100%;
  flex-direction: column;
  border: 1px solid var(--cpm-border);
  border-radius: 10px;
  background: #fff;
  padding: 20px;
  transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

.cpm-tramite-card:hover {
  border-color: color-mix(in srgb, var(--cpm-purple) 20%, var(--cpm-border));
  box-shadow: 0 14px 34px rgba(15, 23, 42, 0.07);
  transform: translateY(-1px);
}

.cpm-tramite-card[hidden] {
  display: none;
}

.cpm-tramite-card__top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 16px;
}

.cpm-tramite-card__icon {
  display: inline-flex;
  width: 44px;
  height: 44px;
  align-items: center;
  justify-content: center;
  border-radius: 12px;
}

.cpm-tramite-card__icon svg {
  width: 21px;
  height: 21px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.cpm-tramite-card__top strong {
  color: #e5e7eb;
  font-size: 24px;
  line-height: 1;
}

.cpm-tramite-card--blue .cpm-tramite-card__icon {
  background: color-mix(in srgb, var(--cpm-blue) 10%, white);
  color: var(--cpm-blue);
}

.cpm-tramite-card--violet .cpm-tramite-card__icon {
  background: color-mix(in srgb, var(--cpm-purple) 9%, white);
  color: var(--cpm-purple);
}

.cpm-tramite-card--green .cpm-tramite-card__icon {
  background: color-mix(in srgb, var(--cpm-green) 10%, white);
  color: var(--cpm-green);
}

.cpm-tramite-card--orange .cpm-tramite-card__icon {
  background: color-mix(in srgb, var(--cpm-orange) 10%, white);
  color: var(--cpm-orange);
}

.cpm-tramite-card--red .cpm-tramite-card__icon {
  background: color-mix(in srgb, var(--cpm-red) 10%, white);
  color: var(--cpm-red);
}

.cpm-tramite-card h3 {
  margin: 0 0 6px;
  color: var(--cpm-ink);
  font-size: 18px;
  line-height: 1.22;
}

.cpm-tramite-card p {
  margin: 0;
  color: #475569;
  font-size: 14px;
  line-height: 1.45;
}

.cpm-tramite-card ul {
  display: grid;
  gap: 5px;
  margin: 14px 0 18px;
  padding: 0;
  list-style: none;
}

.cpm-tramite-card li {
  position: relative;
  padding-left: 14px;
  color: #64748b;
  font-size: 13px;
  line-height: 1.35;
}

.cpm-tramite-card li::before {
  content: "›";
  position: absolute;
  left: 0;
  color: #94a3b8;
}

.cpm-tramite-card__cta {
  display: inline-flex;
  min-height: 36px;
  align-items: center;
  justify-content: center;
  margin-top: auto;
  border-radius: 8px;
  background: color-mix(in srgb, var(--cpm-purple) 7%, white);
  color: var(--cpm-purple);
  font-size: 14px;
  font-weight: 700;
  transition: background 160ms ease, color 160ms ease;
}

.cpm-tramite-card__cta:hover {
  background: var(--cpm-purple);
  color: #fff;
}

.cpm-tramite-card li a {
  display: inline;
  min-height: 0;
  margin-top: 0;
  border-radius: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  font-weight: 500;
  text-decoration: none;
}

.cpm-tramite-card li a:hover {
  background: transparent;
  color: var(--cpm-purple);
  text-decoration: underline;
  text-underline-offset: 3px;
}

.cpm-prof-single {
  background: var(--cpm-bg);
}

.cpm-prof-single__hero {
  overflow: hidden;
  border-bottom: 1px solid var(--cpm-border);
  background:
    radial-gradient(circle at 78% 18%, rgba(66, 30, 109, 0.055), transparent 28%),
    color-mix(in srgb, var(--cpm-gray) 42%, white);
}

.cpm-prof-single__hero .cpm-container {
  padding-top: 38px;
  padding-bottom: 42px;
}

.cpm-prof-single__breadcrumb {
  margin-bottom: 22px;
}

.cpm-prof-single__intro {
  display: flex;
  align-items: center;
  gap: 24px;
}

.cpm-prof-single__avatar {
  display: inline-flex;
  width: 96px;
  height: 96px;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  border-radius: 16px;
  background: var(--cpm-purple);
  box-shadow: 0 14px 30px rgba(66, 30, 109, 0.18);
  color: #fff;
  font-size: 30px;
  font-weight: 700;
  letter-spacing: 0;
}

.cpm-prof-single__avatar img {
  display: block;
  width: 100%;
  height: 100%;
  border-radius: inherit;
  object-fit: cover;
}

.cpm-prof-single__identity {
  min-width: 0;
}

.cpm-verified-badge {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  border-radius: 999px;
  background: color-mix(in srgb, var(--cpm-green) 10%, white);
  color: #047857;
  font-size: 12px;
  font-weight: 600;
  line-height: 1;
  padding: 7px 11px;
}

.cpm-prof-single svg {
  width: 1em;
  height: 1em;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.cpm-prof-single h1 {
  max-width: 780px;
  margin: 12px 0 0;
  color: var(--cpm-ink);
  font-size: 30px;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0;
  text-wrap: balance;
}

.cpm-prof-single__specialty {
  margin: 10px 0 0;
  color: #64748b;
  font-size: 17px;
  line-height: 1.45;
}

.cpm-prof-single__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 20px;
  margin-top: 14px;
  color: #64748b;
  font-size: 15px;
}

.cpm-prof-single__meta span,
.cpm-prof-single__actions .cpm-button,
.cpm-contact-item,
.cpm-profile-card--verified dt {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.cpm-prof-single__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 24px;
}

.cpm-button--quiet {
  min-height: 38px;
  border-color: var(--cpm-border);
  background: #fff;
  color: var(--cpm-ink);
  font-size: 14px;
  font-weight: 700;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
}

.cpm-button--quiet:hover {
  border-color: color-mix(in srgb, var(--cpm-purple) 22%, var(--cpm-border));
  background: #fff;
  color: var(--cpm-purple);
}

.cpm-prof-single__body {
  padding: 42px 0 62px;
}

.cpm-prof-single__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(360px, 0.8fr);
  gap: 28px;
  align-items: start;
}

.cpm-prof-single__main,
.cpm-prof-single__aside {
  display: grid;
  gap: 18px;
}

.cpm-profile-card {
  position: relative;
  overflow: hidden;
  border: 1px solid var(--cpm-border);
  border-radius: 12px;
  background: #fff;
  padding: 24px;
  color: #334155;
}

.cpm-profile-card--primary {
  border-top-color: var(--cpm-purple);
  box-shadow: inset 0 2px 0 var(--cpm-purple);
}

.cpm-profile-card h2 {
  margin: 0;
  color: var(--cpm-ink);
  font-size: 22px;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0;
}

.cpm-profile-card p {
  margin: 14px 0 0;
  max-width: 68ch;
  color: #475569;
  font-size: 16px;
  line-height: 1.65;
}

.cpm-profile-card strong {
  color: var(--cpm-ink);
  font-weight: 600;
}

.cpm-profile-card__eyebrow {
  margin: 0 0 8px;
  color: #64748b;
  font-size: 16px;
  font-weight: 560;
  letter-spacing: 0.16em;
  line-height: 1.2;
  text-transform: uppercase;
}

.cpm-chip-row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 18px;
}

.cpm-chip-row span {
  border-radius: 999px;
  background: color-mix(in srgb, var(--cpm-gray) 80%, white);
  color: #475569;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.2;
  padding: 7px 11px;
}

.cpm-profile-facts {
  display: grid;
  margin: 22px 0 0;
  border-top: 1px solid var(--cpm-border);
}

.cpm-profile-facts div {
  display: grid;
  grid-template-columns: minmax(110px, 0.38fr) minmax(0, 1fr);
  gap: 18px;
  align-items: center;
  border-bottom: 1px solid var(--cpm-border);
  padding: 13px 0;
}

.cpm-profile-facts dt {
  color: #64748b;
  font-size: 15px;
}

.cpm-profile-facts dd {
  margin: 0;
  color: var(--cpm-ink);
  font-size: 15px;
  font-weight: 600;
  text-align: right;
}

.cpm-contact-list {
  display: grid;
  gap: 10px;
  margin-top: 18px;
}

.cpm-contact-item {
  min-height: 62px;
  border: 1px solid var(--cpm-border);
  border-radius: 8px;
  background: color-mix(in srgb, var(--cpm-gray) 55%, white);
  color: var(--cpm-ink);
  padding: 11px 12px;
  transition: border-color 160ms ease, background 160ms ease, transform 160ms ease;
}

.cpm-contact-item:hover {
  border-color: color-mix(in srgb, var(--cpm-purple) 24%, var(--cpm-border));
  background: #fff;
  transform: translateY(-1px);
}

.cpm-contact-item > span:first-child {
  display: inline-flex;
  width: 38px;
  height: 38px;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  border-radius: 8px;
  background: color-mix(in srgb, var(--cpm-purple) 8%, white);
  color: var(--cpm-purple);
}

.cpm-contact-item small {
  display: block;
  margin-bottom: 2px;
  color: #64748b;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: 1.1;
  text-transform: uppercase;
}

.cpm-contact-item strong {
  display: block;
  overflow: hidden;
  color: var(--cpm-ink);
  font-size: 15px;
  font-weight: 600;
  line-height: 1.25;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.cpm-profile-card--contact address {
  display: flex;
  gap: 8px;
  margin: 18px 0 0;
  border-top: 1px solid var(--cpm-border);
  color: #64748b;
  font-size: 15px;
  font-style: normal;
  line-height: 1.45;
  padding-top: 16px;
}

.cpm-profile-card--verified {
  border-color: transparent;
  background: var(--cpm-purple);
  color: #fff;
}

.cpm-profile-card--verified > div:first-child {
  display: flex;
  align-items: center;
  gap: 10px;
}

.cpm-profile-card--verified > div:first-child > svg {
  width: 20px;
  height: 20px;
  color: #fff;
}

.cpm-profile-card--verified h2 {
  color: #fff;
  font-size: 18px;
}

.cpm-profile-card--verified p {
  color: rgba(255, 255, 255, 0.82);
  font-size: 15px;
}

.cpm-profile-card--verified dl {
  display: grid;
  gap: 8px;
  margin: 18px 0 0;
}

.cpm-profile-card--verified dl div {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
}

.cpm-profile-card--verified dt {
  color: rgba(255, 255, 255, 0.72);
  font-size: 13px;
}

.cpm-profile-card--verified dt svg {
  color: var(--cpm-green);
}

.cpm-profile-card--verified dd {
  margin: 0;
  color: #fff;
  font-size: 13px;
  font-weight: 700;
}

.cpm-prof-related {
  margin-top: 4px;
}

.cpm-prof-related__head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 18px;
  border-bottom: 1px solid var(--cpm-border);
  padding-bottom: 12px;
}

.cpm-prof-related__head h2 {
  margin: 0;
  color: var(--cpm-ink);
  font-size: 18px;
  letter-spacing: 0;
}

.cpm-prof-related__head a {
  color: var(--cpm-purple);
  font-size: 14px;
  font-weight: 700;
}

.cpm-prof-related__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin-top: 14px;
}

.cpm-prof-related__item {
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr);
  column-gap: 10px;
  row-gap: 2px;
  align-items: center;
  border: 1px solid var(--cpm-border);
  border-radius: 10px;
  background: #fff;
  padding: 12px;
  transition: border-color 160ms ease, transform 160ms ease, box-shadow 160ms ease;
}

.cpm-prof-related__item:hover {
  border-color: color-mix(in srgb, var(--cpm-purple) 22%, var(--cpm-border));
  box-shadow: 0 10px 22px rgba(15, 23, 42, 0.05);
  transform: translateY(-1px);
}

.cpm-prof-related__item span {
  grid-row: span 2;
  display: inline-flex;
  width: 38px;
  height: 38px;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: var(--cpm-purple);
  color: #fff;
  font-size: 13px;
  font-weight: 700;
}

.cpm-prof-related__item strong {
  overflow: hidden;
  color: var(--cpm-ink);
  font-size: 13px;
  line-height: 1.2;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.cpm-prof-related__item small {
  color: #64748b;
  font-size: 12px;
}

.cpm-post-single {
  background: var(--cpm-bg);
}

.cpm-post-single__hero {
  border-bottom: 1px solid var(--cpm-border);
  background: #fff;
}

.cpm-post-single__hero .cpm-container {
  padding-top: 34px;
  padding-bottom: 44px;
}

.cpm-post-single__breadcrumb {
  margin-bottom: 28px;
  overflow-wrap: anywhere;
}

.cpm-post-single__hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(380px, 0.82fr);
  gap: 52px;
  align-items: center;
}

.cpm-post-single__hero--document .cpm-post-single__hero-grid {
  grid-template-columns: minmax(0, 0.96fr) minmax(340px, 0.64fr);
}

.cpm-post-single__eyebrow {
  margin: 0 0 14px;
  color: var(--cpm-blue);
  font-size: 14px;
  font-weight: 700;
  line-height: 1.2;
}

.cpm-post-single h1 {
  max-width: 660px;
  margin: 0;
  color: var(--cpm-ink);
  font-size: 48px;
  font-weight: 700;
  line-height: 1.08;
  letter-spacing: 0;
  text-wrap: balance;
  overflow-wrap: anywhere;
}

.cpm-post-single__excerpt {
  max-width: 620px;
  margin: 20px 0 0;
  color: #475569;
  font-size: 18px;
  line-height: 1.68;
  text-wrap: pretty;
}

.cpm-post-single__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
  margin-top: 28px;
  color: #64748b;
  font-size: 16px;
}

.cpm-post-single__meta span {
  border-radius: 8px;
  background: color-mix(in srgb, var(--cpm-gray) 78%, white);
  color: #334155;
  font-weight: 600;
  padding: 5px 10px;
  overflow-wrap: anywhere;
}

.cpm-post-single__media {
  overflow: hidden;
  margin: 0;
  border-radius: 10px;
  background: var(--cpm-gray);
  box-shadow: var(--cpm-shadow-media);
}

.cpm-post-single__media img {
  width: 100%;
  max-height: 390px;
  aspect-ratio: 4 / 3;
  object-fit: cover;
}

.cpm-post-single__notice {
  border: 1px solid var(--cpm-border);
  border-radius: 10px;
  background: color-mix(in srgb, var(--cpm-gray) 36%, white);
  padding: 22px;
}

.cpm-post-single__notice strong {
  display: block;
  color: var(--cpm-ink);
  font-size: 18px;
  line-height: 1.25;
}

.cpm-post-single__notice p {
  margin: 10px 0 0;
  color: #475569;
  font-size: 16px;
  line-height: 1.55;
}

.cpm-post-single__body {
  padding: 48px 0 70px;
}

.cpm-post-single__grid {
  display: grid;
  grid-template-columns: minmax(0, 760px) minmax(280px, 320px);
  gap: 44px;
  align-items: start;
  justify-content: center;
}

.cpm-post-single__article {
  max-width: none;
  box-sizing: border-box;
  width: 100%;
  min-width: 0;
  border: 1px solid var(--cpm-border);
  border-radius: 10px;
  background: #fff;
  padding: clamp(26px, 4vw, 48px);
  font-size: 17px;
  line-height: 1.78;
  box-shadow: 0 12px 30px rgba(15, 23, 42, 0.03);
  overflow-wrap: anywhere;
}

.cpm-post-single__article > :first-child {
  margin-top: 0;
}

.cpm-post-single__article table {
  display: block;
  width: 100% !important;
  max-width: 100%;
  overflow-x: auto;
  border-collapse: collapse;
  border: 0;
  margin: 26px 0;
}

.cpm-post-single__article td,
.cpm-post-single__article th {
  border: 0;
  border-bottom: 1px solid var(--cpm-border);
  padding: 12px 14px;
  vertical-align: top;
}

.cpm-post-single__article tr:first-child td,
.cpm-post-single__article tr:first-child th {
  background: color-mix(in srgb, var(--cpm-gray) 70%, white);
  color: var(--cpm-ink);
  font-weight: 700;
}

.cpm-post-single__article p[style*="text-align: center"] {
  text-align: center !important;
}

.cpm-post-single__aside {
  position: sticky;
  top: 112px;
  display: grid;
  gap: 16px;
}

.cpm-post-sidebox {
  border: 1px solid var(--cpm-border);
  border-radius: 10px;
  background: #fff;
  padding: 20px;
}

.cpm-post-sidebox h2 {
  margin: 0;
  color: var(--cpm-ink);
  font-size: 19px;
  line-height: 1.2;
}

.cpm-post-sidebox p {
  margin: 12px 0 0;
  color: #475569;
  font-size: 16px;
  line-height: 1.55;
}

.cpm-post-sidebox > a {
  display: inline-flex;
  width: 100%;
  min-height: 38px;
  align-items: center;
  justify-content: center;
  margin-top: 18px;
  border: 1px solid var(--cpm-border);
  border-radius: 8px;
  background: #fff;
  color: var(--cpm-ink);
  font-size: 16px;
  font-weight: 700;
  transition: border-color 160ms ease, color 160ms ease, transform 160ms ease;
}

.cpm-post-sidebox > a:hover {
  border-color: color-mix(in srgb, var(--cpm-purple) 24%, var(--cpm-border));
  color: var(--cpm-purple);
  transform: translateY(-1px);
}

.cpm-post-sidebox--related > div {
  display: grid;
  gap: 14px;
  margin-top: 14px;
}

.cpm-post-sidebox--related a {
  display: grid;
  gap: 3px;
  border-top: 1px solid var(--cpm-border);
  padding-top: 13px;
}

.cpm-post-sidebox--related span {
  color: var(--cpm-blue);
  font-size: 16px;
  font-weight: 700;
}

.cpm-post-sidebox--related strong {
  color: var(--cpm-ink);
  font-size: 16px;
  line-height: 1.32;
}

.cpm-post-sidebox--related small {
  color: #64748b;
  font-size: 16px;
}

.cpm-formation-page {
  background: var(--cpm-bg);
}

.cpm-formation-feature {
  display: grid;
  grid-template-columns: minmax(0, 0.92fr) minmax(360px, 0.72fr);
  gap: 42px;
  align-items: center;
}

.cpm-formation-feature h2 {
  max-width: 680px;
  margin: 0;
  color: var(--cpm-ink);
  font-size: 40px;
  line-height: 1.04;
  letter-spacing: 0;
}

.cpm-formation-feature p {
  max-width: 680px;
  margin: 18px 0 0;
  color: #475569;
  font-size: 18px;
  line-height: 1.65;
}

.cpm-formation-feature dl {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  margin: 26px 0;
}

.cpm-formation-feature dl div {
  border-radius: 10px;
  background: color-mix(in srgb, var(--cpm-gray) 72%, white);
  padding: 12px;
}

.cpm-formation-feature dt {
  color: #64748b;
  font-size: 16px;
  font-weight: 600;
}

.cpm-formation-feature dd {
  margin: 5px 0 0;
  color: var(--cpm-ink);
  font-size: 16px;
  font-weight: 700;
}

.cpm-formation-feature figure {
  overflow: hidden;
  margin: 0;
  border-radius: 12px;
  background: var(--cpm-gray);
  box-shadow: 0 20px 50px rgba(15, 23, 42, 0.08);
}

.cpm-formation-feature img {
  width: 100%;
  aspect-ratio: 16 / 10;
  object-fit: cover;
}

.cpm-formation-list {
  display: grid;
  border-top: 1px solid var(--cpm-border);
}

.cpm-formation-row {
  display: grid;
  grid-template-columns: 96px 132px minmax(0, 1fr) auto;
  gap: 24px;
  align-items: center;
  border-bottom: 1px solid var(--cpm-border);
  padding: 24px 0;
}

.cpm-formation-row__date {
  color: var(--cpm-green);
  font-weight: 700;
  line-height: 1.05;
  text-transform: uppercase;
}

.cpm-formation-row__date strong {
  display: block;
  font-size: 20px;
}

.cpm-formation-row__date span {
  display: block;
  margin-top: 2px;
  font-size: 16px;
}

.cpm-formation-row img {
  width: 132px;
  height: 88px;
  border-radius: 10px;
  object-fit: cover;
}

.cpm-formation-row p {
  margin: 0 0 6px;
  color: var(--cpm-blue);
  font-size: 16px;
  font-weight: 700;
}

.cpm-formation-row h3 {
  margin: 0;
  color: var(--cpm-ink);
  font-size: 22px;
  line-height: 1.18;
}

.cpm-formation-row span {
  display: block;
  max-width: 720px;
  margin-top: 8px;
  color: #475569;
  font-size: 16px;
  line-height: 1.55;
}

.cpm-formation-row > a {
  color: var(--cpm-purple);
  font-weight: 700;
  white-space: nowrap;
}

.cpm-activity-single {
  background: var(--cpm-bg);
}

.cpm-activity-single__hero {
  border-bottom: 1px solid var(--cpm-border);
  background: #fff;
}

.cpm-activity-single__hero .cpm-container {
  padding-top: 34px;
  padding-bottom: 42px;
}

.cpm-activity-single__grid {
  display: grid;
  grid-template-columns: minmax(0, 0.98fr) minmax(360px, 0.72fr);
  gap: 48px;
  align-items: center;
  margin-top: 28px;
}

.cpm-activity-single h1 {
  max-width: 760px;
  margin: 0;
  color: var(--cpm-ink);
  font-size: 30px;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0;
  text-wrap: balance;
}

.cpm-activity-single__lede {
  max-width: 680px;
  margin: 18px 0 0;
  color: #475569;
  font-size: 18px;
  line-height: 1.62;
}

.cpm-activity-single__chips {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 24px;
}

.cpm-activity-single__chips span {
  border-radius: 999px;
  background: color-mix(in srgb, var(--cpm-gray) 76%, white);
  color: #334155;
  font-size: 16px;
  font-weight: 700;
  padding: 7px 12px;
}

.cpm-activity-single__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 26px;
}

.cpm-activity-single figure {
  overflow: hidden;
  margin: 0;
  border-radius: 12px;
  background: var(--cpm-gray);
  box-shadow: 0 20px 50px rgba(15, 23, 42, 0.08);
}

.cpm-activity-single figure img {
  width: 100%;
  aspect-ratio: 16 / 10;
  object-fit: cover;
}

.cpm-activity-cover {
  position: relative;
  max-width: 976px;
  margin: 42px auto 0;
  isolation: isolate;
}

.cpm-activity-single .cpm-activity-cover {
  margin: 42px auto 0;
  border-radius: 8px;
  box-shadow: none;
}

.cpm-activity-cover::after {
  position: absolute;
  inset: 0;
  z-index: 1;
  content: "";
  background:
    linear-gradient(180deg, rgba(15, 23, 42, 0.02) 12%, rgba(15, 23, 42, 0.70) 100%),
    linear-gradient(90deg, rgba(15, 23, 42, 0.46), rgba(15, 23, 42, 0.05) 58%);
  pointer-events: none;
}

.cpm-activity-cover img {
  display: block;
  width: 100%;
  max-height: 420px;
  aspect-ratio: 16 / 7;
  object-fit: cover;
}

.cpm-activity-cover figcaption {
  position: absolute;
  inset: auto 0 0;
  z-index: 2;
  padding: clamp(24px, 4vw, 42px);
}

.cpm-activity-cover__kicker {
  position: absolute;
  top: 22px;
  left: 22px;
  z-index: 2;
  width: fit-content;
  max-width: calc(100% - 44px);
  margin: 0;
}

.cpm-activity-cover__kicker {
  margin: 0 0 12px;
  color: #fff;
  font-size: 16px;
  font-weight: 700;
  letter-spacing: 0.02em;
}

.cpm-activity-cover h1 {
  max-width: 820px;
  color: #fff;
  font-size: 30px;
  font-weight: 700;
  line-height: 1.2;
  text-shadow: 0 2px 20px rgba(15, 23, 42, 0.28);
}

.cpm-activity-cover__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 18px;
}

.cpm-activity-cover__meta span {
  display: inline-flex;
  min-height: 34px;
  align-items: center;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.9);
  color: var(--cpm-purple);
  font-size: 16px;
  font-weight: 700;
  padding: 6px 12px;
}

.cpm-activity-summary {
  display: none;
  max-width: 976px;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
  margin: 24px auto 0;
}

.cpm-activity-summary p {
  max-width: 700px;
  margin: 0;
  color: #475569;
  font-size: 18px;
  line-height: 1.62;
}

.cpm-activity-single__body {
  padding: 0 0 72px;
  background: #fff;
}

.cpm-activity-single__content-grid {
  display: grid;
  max-width: 976px;
  grid-template-columns: minmax(0, 1fr);
  gap: 34px;
  align-items: start;
  justify-content: center;
}

.cpm-activity-single__article {
  max-width: 976px;
  padding: 0;
  border: 0;
  background: transparent;
}

.cpm-activity-single__lead {
  margin: 0;
  color: #334155;
  font-size: 17px;
  line-height: 1.62;
}

.cpm-activity-mobile-facts {
  display: none;
}

.cpm-activity-single__panel {
  position: static;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 22px 32px;
  align-items: start;
  border: 1px solid var(--cpm-border);
  border-radius: 10px;
  background: color-mix(in srgb, var(--cpm-gray) 54%, white);
  padding: 22px;
}

.cpm-activity-single__panel h2 {
  grid-column: 1 / -1;
  margin: 0 0 16px;
  color: var(--cpm-ink);
  font-size: 20px;
}

.cpm-activity-single__panel dl {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px 20px;
  margin: 0;
}

.cpm-activity-single__panel dl div {
  border-top: 0;
  padding: 0;
}

.cpm-activity-single__panel dt {
  color: #64748b;
  font-size: 16px;
  font-weight: 600;
}

.cpm-activity-single__panel dd {
  margin: 5px 0 0;
  color: var(--cpm-ink);
  font-size: 16px;
  font-weight: 700;
}

.cpm-activity-single__panel > a {
  display: flex;
  min-height: 42px;
  align-items: center;
  justify-content: center;
  margin-top: 0;
  border-radius: 8px;
  background: var(--cpm-purple);
  color: #fff;
  font-weight: 700;
}

.cpm-activity-detail-section {
  margin-top: 32px;
  padding-top: 28px;
  border-top: 1px solid var(--cpm-border);
}

.cpm-activity-detail-section h2 {
  margin: 0 0 14px;
  color: var(--cpm-ink);
  font-size: 22px;
  line-height: 1.22;
}

.cpm-activity-detail-section ul {
  display: grid;
  gap: 6px;
  margin: 0;
  padding-left: 0;
  list-style: none;
}

.cpm-activity-detail-section li::before {
  content: "- ";
}

.cpm-activity-detail-section li,
.cpm-activity-detail-section p {
  color: #334155;
  font-size: 17px;
  line-height: 1.68;
}

.cpm-activity-speakers {
  display: grid;
  gap: 12px;
}

.cpm-activity-speakers > div {
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr);
  gap: 13px;
  align-items: start;
  border-radius: 10px;
  background: color-mix(in srgb, var(--cpm-gray) 62%, white);
  padding: 14px;
}

.cpm-activity-speakers span {
  display: inline-flex;
  width: 44px;
  height: 44px;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: color-mix(in srgb, var(--cpm-purple) 12%, white);
  color: var(--cpm-purple);
  font-weight: 700;
}

.cpm-activity-speakers h3 {
  margin: 0;
  color: var(--cpm-ink);
  font-size: 17px;
  line-height: 1.25;
}

.cpm-activity-speakers p {
  margin: 5px 0 0;
  color: #475569;
  font-size: 16px;
  line-height: 1.55;
}

.cpm-activity-sessions {
  display: grid;
  gap: 10px;
}

.cpm-activity-sessions > div {
  display: grid;
  grid-template-columns: 90px minmax(0, 1fr);
  gap: 10px 18px;
  align-items: baseline;
  border-top: 1px solid var(--cpm-border);
  padding: 13px 0;
}

.cpm-activity-sessions strong {
  color: var(--cpm-blue);
  font-size: 16px;
}

.cpm-activity-sessions span,
.cpm-activity-sessions small {
  color: #334155;
  font-size: 16px;
  line-height: 1.5;
}

.cpm-activity-sessions small {
  grid-column: 2;
  color: #64748b;
}

.cpm-activity-price {
  min-width: 220px;
  margin-top: 16px;
  border-radius: 10px;
  background: color-mix(in srgb, var(--cpm-purple) 7%, white);
  padding: 14px;
}

.cpm-activity-price strong {
  display: block;
  color: var(--cpm-purple);
  font-size: 24px;
  line-height: 1.1;
}

.cpm-activity-price span,
.cpm-activity-capacity {
  display: block;
  margin-top: 6px;
  color: #475569;
  font-size: 16px;
  line-height: 1.45;
}

.cpm-activity-capacity {
  border-radius: 999px;
  background: color-mix(in srgb, var(--cpm-green) 10%, white);
  color: var(--cpm-green);
  font-weight: 700;
  padding: 8px 12px;
}

.cpm-login-panel {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 28px;
  align-items: center;
}

.cpm-login-panel h1 {
  margin: 0;
  color: var(--cpm-ink);
  font-size: 20px;
  font-weight: 700;
  line-height: 1.4;
}

.cpm-login-panel p:not(.cpm-eyebrow) {
  max-width: 660px;
  margin: 10px 0 0;
  color: #475569;
  font-size: 16px;
  line-height: 1.55;
}

.cpm-login-panel__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.cpm-footer {
  background: var(--cpm-purple);
  color: white;
  padding: 0;
}

.cpm-footer .cpm-container {
  width: min(100% - 48px, 1180px);
}

.cpm-footer__newsletter {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(320px, 448px);
  gap: 28px;
  align-items: center;
  border-bottom: 1px solid rgba(255, 255, 255, 0.12);
  padding: 38px 0;
}

.cpm-footer__newsletter h2 {
  margin: 0;
  color: white;
  font-size: 28px;
  line-height: 1.18;
}

.cpm-footer__newsletter p {
  margin: 8px 0 0;
  color: rgba(255, 255, 255, 0.7);
  font-size: 16px;
  line-height: 1.45;
}

.cpm-footer__form {
  display: flex;
  gap: 8px;
  align-items: center;
}

.cpm-footer__form input {
  min-height: 44px;
  min-width: 0;
  flex: 1;
  border: 1px solid rgba(255, 255, 255, 0.22);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.1);
  color: white;
  font: inherit;
  font-size: 16px;
  padding: 0 13px;
}

.cpm-footer__form input::placeholder {
  color: rgba(255, 255, 255, 0.48);
}

.cpm-footer__form button {
  min-height: 44px;
  border: 0;
  border-radius: 8px;
  background: white;
  color: var(--cpm-purple);
  cursor: pointer;
  font: inherit;
  font-size: 16px;
  font-weight: 700;
  padding: 0 20px;
}

.cpm-footer__grid {
  display: grid;
  grid-template-columns: minmax(260px, 1.2fr) repeat(3, minmax(160px, 0.72fr));
  gap: 40px;
  align-items: start;
  padding: 54px 0 48px;
}

.cpm-footer__brand img {
  width: 210px;
  max-width: 100%;
  height: auto;
  filter: brightness(0) invert(1);
}

.cpm-footer__brand p {
  margin: 18px 0 0;
  max-width: 330px;
  color: rgba(255, 255, 255, 0.72);
  font-size: 16px;
  line-height: 1.58;
}

.cpm-footer__brand address {
  display: grid;
  gap: 8px;
  margin-top: 18px;
  color: rgba(255, 255, 255, 0.72);
  font-style: normal;
  font-size: 16px;
  line-height: 1.45;
}

.cpm-footer__brand address a,
.cpm-footer__nav a,
.cpm-footer__bottom a {
  color: inherit;
  text-decoration: none;
}

.cpm-footer__social {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  margin-top: 26px;
}

.cpm-footer__social a {
  display: inline-flex;
  min-height: 40px;
  align-items: center;
  justify-content: center;
  padding: 0 14px;
  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.06);
  color: rgba(255, 255, 255, 0.86);
  font-size: 16px;
  font-weight: 700;
  text-decoration: none;
  letter-spacing: 0;
  transition: background 160ms ease, color 160ms ease, border-color 160ms ease;
}

.cpm-footer__nav {
  display: grid;
  gap: 11px;
}

.cpm-footer__nav h2 {
  margin: 0 0 7px;
  color: rgba(255, 255, 255, 0.92);
  font-size: 16px;
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: 1.25;
  text-transform: uppercase;
}

.cpm-footer__nav a {
  color: rgba(255, 255, 255, 0.72);
  font-size: 16px;
  line-height: 1.42;
  transition: color 160ms ease;
}

.cpm-footer__bottom {
  display: flex;
  flex-wrap: wrap;
  gap: 12px 24px;
  justify-content: space-between;
  border-top: 1px solid rgba(255, 255, 255, 0.12);
  padding: 18px 0 20px;
  color: rgba(255, 255, 255, 0.62);
  font-size: 16px;
  line-height: 1.45;
}

.cpm-footer__bottom span {
  display: inline-flex;
  gap: 8px;
  align-items: center;
}

.cpm-footer__bottom svg {
  width: 16px;
  height: 16px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
}

.cpm-footer__bottom nav {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
}

.cpm-mobile-dock {
  display: none;
}

@media (hover: hover) {
  .cpm-footer__nav a:hover,
  .cpm-footer__brand address a:hover,
  .cpm-footer__bottom a:hover {
    color: white;
  }

  .cpm-footer__social a:hover {
    border-color: white;
    background: white;
    color: var(--cpm-purple);
  }

  .cpm-footer__form button:hover {
    background: rgba(255, 255, 255, 0.9);
  }
}

@media (min-width: 1536px) {
  .cpm-search-trigger {
    display: inline-flex;
  }
}

@media (max-width: 1220px) {
  .cpm-search-trigger {
    display: none;
  }
}

@media (max-width: 1080px) {
  .cpm-login-link {
    display: none;
  }

  .cpm-logo img {
    width: 188px;
    min-width: 188px;
  }

  .cpm-nav a {
    padding-inline: 9px;
  }

  .cpm-tramites-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 980px) {
  .cpm-nav {
    display: none;
  }

  .cpm-menu-toggle {
    display: inline-flex;
  }
}

@media (max-width: 900px) {
  .cpm-container {
    width: min(100% - 32px, 1180px);
    padding-inline: 0;
  }

  .cpm-header .cpm-container {
    width: min(100% - 32px, 1180px);
  }

  .cpm-topbar {
    display: none;
  }

  .cpm-header__inner {
    min-height: 60px;
  }

  .cpm-logo img {
    width: 154px;
    min-width: 154px;
  }

  .cpm-actions {
    gap: 8px;
  }

  .cpm-actions .cpm-button--primary {
    min-height: 42px;
    padding-inline: 14px;
    font-size: 14px;
  }

  .cpm-hero__grid,
  .cpm-post-row,
  .cpm-home-split,
  .cpm-template-grid,
  .cpm-tramites-grid {
    grid-template-columns: 1fr;
  }

  .cpm-hero__grid {
    gap: 18px;
    padding: 26px 0;
  }

  .cpm-title {
    font-size: 36px;
    line-height: 1.11;
    letter-spacing: 0;
  }

  .cpm-lede {
    margin-top: 16px;
    font-size: 17px;
    line-height: 1.55;
  }

  .cpm-hero--compact .cpm-title {
    font-size: 24px;
    line-height: 1.33;
  }

  .cpm-hero__image img {
    max-height: 96px;
    aspect-ratio: 16 / 5;
  }

  .cpm-archive-head .cpm-container {
    padding-top: 30px;
    padding-bottom: 32px;
  }

  .cpm-archive-head__row,
  .cpm-archive-head__row--with-action {
    align-items: flex-start;
    flex-direction: column;
  }

  .cpm-archive-head h1 {
    font-size: 30px;
    line-height: 1.2;
  }

  .cpm-archive-head--directory h1 {
    font-size: 24px;
    line-height: 1.33;
  }

  .cpm-archive-head--directory .cpm-archive-head__row {
    align-items: flex-start;
    flex-direction: row;
    gap: 16px;
  }

  .cpm-prof-single__hero .cpm-container {
    padding-top: 30px;
    padding-bottom: 34px;
  }

  .cpm-prof-single__intro {
    flex-direction: column;
    align-items: flex-start;
    gap: 14px;
  }

  .cpm-prof-single__avatar {
    width: 76px;
    height: 76px;
    border-radius: 14px;
    font-size: 24px;
  }

  .cpm-prof-single h1 {
    font-size: 24px;
    line-height: 1.33;
    letter-spacing: 0;
  }

  .cpm-prof-single__grid,
  .cpm-prof-related__grid {
    grid-template-columns: 1fr;
  }

  .cpm-prof-single__body {
    padding: 30px 0 46px;
  }

  .cpm-post-single__hero .cpm-container {
    padding-top: 28px;
    padding-bottom: 34px;
  }

  .cpm-post-single__hero-grid,
  .cpm-post-single__hero--document .cpm-post-single__hero-grid,
  .cpm-post-single__grid {
    grid-template-columns: 1fr;
    gap: 24px;
  }

  .cpm-post-single__breadcrumb {
    margin-bottom: 22px;
  }

  .cpm-post-single h1 {
    font-size: 36px;
    line-height: 1.12;
    letter-spacing: 0;
  }

  .cpm-post-single__excerpt {
    font-size: 17px;
    line-height: 1.58;
  }

  .cpm-post-single__media img {
    max-height: 300px;
  }

  .cpm-post-single__body {
    padding: 30px 0 46px;
  }

  .cpm-post-single__article {
    padding: 22px;
    font-size: 16px;
    line-height: 1.7;
  }

  .cpm-post-single__aside {
    position: static;
  }

  .cpm-formation-feature,
  .cpm-activity-single__grid,
  .cpm-activity-single__content-grid {
    grid-template-columns: 1fr;
    gap: 24px;
  }

  .cpm-formation-feature h2,
  .cpm-activity-single h1 {
    font-size: 24px;
    line-height: 1.33;
    letter-spacing: 0;
  }

  .cpm-formation-feature dl {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .cpm-formation-row {
    grid-template-columns: 72px minmax(0, 1fr);
    gap: 14px;
  }

  .cpm-formation-row img {
    display: none;
  }

  .cpm-formation-row > a {
    grid-column: 2;
  }

  .cpm-activity-single__hero .cpm-container {
    padding-top: 28px;
    padding-bottom: 34px;
  }

  .cpm-activity-cover {
    margin-top: 20px;
  }

  .cpm-activity-cover img {
    max-height: none;
    aspect-ratio: 4 / 3;
  }

  .cpm-activity-cover figcaption {
    padding: 22px;
  }

  .cpm-activity-cover h1 {
    font-size: 24px;
    line-height: 1.33;
    letter-spacing: 0;
  }

  .cpm-activity-cover__meta {
    gap: 8px;
    margin-top: 14px;
  }

  .cpm-activity-summary {
    display: none;
    margin-top: 18px;
  }

  .cpm-activity-summary p {
    font-size: 16px;
    line-height: 1.6;
  }

  .cpm-activity-single__body {
    padding: 24px 0 44px;
  }

  .cpm-activity-single__article,
  .cpm-activity-single__panel {
    padding: 22px;
  }

  .cpm-activity-single__article {
    padding: 0;
  }

  .cpm-activity-single__lead {
    font-size: 16px;
    line-height: 1.48;
  }

  .cpm-activity-mobile-facts {
    display: grid;
    gap: 12px;
    margin: 8px 0 18px;
  }

  .cpm-activity-mobile-facts dl {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    margin: 0;
  }

  .cpm-activity-mobile-facts dl div {
    border: 1px solid color-mix(in srgb, var(--cpm-border) 70%, transparent);
    border-radius: 10px;
    background: color-mix(in srgb, var(--cpm-gray) 46%, white);
    padding: 12px 14px;
  }

  .cpm-activity-mobile-facts dt {
    color: #64748b;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.2;
  }

  .cpm-activity-mobile-facts dd {
    margin: 3px 0 0;
    color: var(--cpm-ink);
    font-size: 16px;
    font-weight: 700;
    line-height: 1.25;
  }

  .cpm-activity-mobile-facts__cta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    border: 1px solid color-mix(in srgb, var(--cpm-border) 70%, transparent);
    border-radius: 10px;
    background: #fff;
    padding: 12px 14px;
  }

  .cpm-activity-mobile-facts__cta span {
    color: #047857;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.2;
  }

  .cpm-activity-mobile-facts__cta a {
    display: inline-flex;
    min-height: 38px;
    align-items: center;
    border-radius: 8px;
    background: var(--cpm-purple);
    color: #fff;
    font-size: 16px;
    font-weight: 700;
    line-height: 1;
    padding: 0 14px;
  }

  .cpm-activity-detail-section {
    margin-top: 18px;
    padding-top: 18px;
    border-top-color: color-mix(in srgb, var(--cpm-border) 54%, transparent);
  }

  .cpm-activity-detail-section h2 {
    margin-bottom: 8px;
    font-size: 18px;
    line-height: 1.25;
  }

  .cpm-activity-detail-section ul {
    gap: 2px;
    padding-left: 0;
    list-style: none;
  }

  .cpm-activity-detail-section li::before {
    content: "- ";
  }

  .cpm-activity-detail-section li,
  .cpm-activity-detail-section p {
    font-size: 16px;
    line-height: 1.45;
  }

  .cpm-activity-single__panel {
    grid-template-columns: 1fr;
    padding: 18px;
  }

  .cpm-activity-single__panel dl {
    grid-template-columns: 1fr;
  }

  .cpm-activity-sessions > div {
    grid-template-columns: 1fr;
    gap: 4px;
  }

  .cpm-activity-sessions small {
    grid-column: auto;
  }

  .cpm-activity-single__panel {
    display: none;
    position: static;
  }

  .cpm-profile-card {
    padding: 20px;
  }

  .cpm-profile-facts div {
    grid-template-columns: 1fr;
    gap: 3px;
  }

  .cpm-profile-facts dd {
    text-align: left;
  }

  .cpm-directory-shell,
  .cpm-tramites-shell {
    padding: 30px 0 44px;
  }

  .cpm-action-band {
    grid-template-columns: 1fr;
  }

  .cpm-action-band a {
    min-height: auto;
    border-right: 0;
    border-bottom: 1px solid var(--cpm-border);
  }

  .cpm-service-index,
  .cpm-sede-strip {
    grid-template-columns: 1fr;
  }

  .cpm-post-row {
    gap: 14px;
  }

  .cpm-ui26-hero__inner {
    min-height: auto;
    padding-top: 34px;
    padding-bottom: 64px;
  }

  .cpm-ui26-hero h1 {
    max-width: 360px;
    font-size: 36px;
    line-height: 1.08;
    letter-spacing: 0;
  }

  .cpm-ui26-kicker {
    gap: 10px;
    margin-bottom: 16px;
  }

  .cpm-section__head {
    align-items: flex-start;
    flex-direction: column;
    gap: 16px;
  }

  .cpm-ui26-kicker p {
    max-width: 300px;
    font-size: 12px;
    line-height: 1.55;
    letter-spacing: 0.16em;
  }

  .cpm-ui26-hero__lead {
    max-width: 350px;
    font-size: 16px;
    line-height: 1.58;
  }

  .cpm-ui26-search {
    width: 100%;
    margin-top: 22px;
    padding: 6px;
  }

  .cpm-ui26-search input {
    font-size: 15px;
    padding-inline: 8px;
  }

  .cpm-ui26-search button {
    padding-inline: 14px;
  }

  .cpm-ui26-hero__actions {
    display: grid;
    grid-template-columns: auto auto;
    max-width: 100%;
    gap: 10px 8px;
    align-items: center;
    justify-content: start;
  }

  .cpm-ui26-hero__actions .cpm-button {
    min-height: 40px;
    padding-inline: 12px;
    font-size: 14px;
  }

  .cpm-ui26-hero__actions .cpm-button:first-child {
    grid-column: 1 / -1;
    width: max-content;
  }

  .cpm-ui26-stats {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    margin-top: 24px;
    padding-top: 18px;
  }

  .cpm-ui26-stats dt {
    font-size: 24px;
  }

  .cpm-ui26-stats dd {
    font-size: 12px;
    line-height: 1.3;
  }

  .cpm-ui26-quick,
  .cpm-ui26-services,
  .cpm-ui26-news-agenda,
  .cpm-ui26-news-grid,
  .cpm-ui26-directory-preview,
  .cpm-ui26-final__grid,
  .cpm-ui26-trust,
  .cpm-ui26-directory-box > div {
    grid-template-columns: 1fr;
  }

  .cpm-ui26-quick-wrap {
    margin-top: -32px;
  }

  .cpm-ui26-quick {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    padding: 14px;
  }

  .cpm-ui26-quick__item {
    min-height: 118px;
    border-right: 0;
    border-bottom: 0;
    padding: 10px;
  }

  .cpm-ui26-quick__item:last-child {
    border-bottom: 0;
  }

  .cpm-ui26-quick strong {
    font-size: 14px;
  }

  .cpm-ui26-quick small {
    font-size: 12px;
  }

  .cpm-ui26-autogestion {
    flex-direction: column;
    align-items: flex-start;
    padding: 30px;
  }

  .cpm-ui26-autogestion__actions {
    justify-content: flex-start;
  }
}

/* V10110: approved content corrections from "Pagina web.pdf". Keep these last
   because this stylesheet has legacy visual-audit layers appended over time. */
main .cpm-ui26-service figcaption,
main .cpm-tramite-card__top > strong {
  display: none !important;
}

@media (max-width: 900px) {
  .cpm-ui26-news-featured {
    grid-template-columns: 1fr;
  }

  .cpm-ui26-news-main {
    grid-template-columns: 1fr;
  }

  .cpm-ui26-news-main img {
    min-height: 220px;
  }

  .cpm-ui26-news-secondary a {
    grid-template-columns: 96px minmax(0, 1fr);
  }

  .cpm-ui26-news-secondary img {
    width: 96px;
    height: 76px;
  }
}

/* Institutional WordPress parity */
.cpm-institutional-page .cpm-section {
  scroll-margin-top: calc(var(--cpm-sticky-header-offset, 104px) + 86px);
}

.cpm-institutional-page #organismos,
.cpm-institutional-page #gobierno {
  scroll-margin-top: calc(var(--cpm-sticky-header-offset, 104px) + 86px);
}

.cpm-institutional-subnav {
  position: sticky;
  top: var(--cpm-sticky-header-offset, 104px);
  z-index: 36;
  border-top: 1px solid color-mix(in srgb, var(--cpm-border) 70%, transparent);
  border-bottom: 1px solid color-mix(in srgb, var(--cpm-border) 78%, transparent);
  background: rgba(255, 255, 255, 0.96);
  backdrop-filter: blur(14px);
  box-shadow: 0 12px 26px rgba(15, 23, 42, 0.04);
}

.cpm-institutional-subnav .cpm-container {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: 22px;
  padding-top: 14px;
  padding-bottom: 14px;
}

.cpm-institutional-subnav span {
  color: var(--cpm-muted);
  font-size: 1rem;
  font-weight: 700;
}

.cpm-institutional-subnav nav {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
  overflow-x: auto;
  scrollbar-width: none;
}

.cpm-institutional-subnav nav::-webkit-scrollbar {
  display: none;
}

.cpm-institutional-subnav a {
  flex: 0 0 auto;
  border-radius: 999px;
  padding: 9px 13px;
  color: var(--cpm-text);
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.2;
  text-decoration: none;
  transition: background 160ms ease, color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

.cpm-institutional-subnav a:hover,
.cpm-institutional-subnav a:focus-visible {
  background: color-mix(in srgb, var(--cpm-purple) 8%, white);
  color: var(--cpm-purple);
  transform: translateY(-1px);
}

.cpm-institutional-subnav a.is-active,
.cpm-institutional-subnav a[aria-current="true"] {
  background: var(--cpm-purple);
  color: #fff;
  box-shadow: 0 8px 18px rgba(66, 30, 109, 0.16);
}

.cpm-institutional-subnav a.is-active:hover,
.cpm-institutional-subnav a[aria-current="true"]:hover,
.cpm-institutional-subnav a.is-active:focus-visible,
.cpm-institutional-subnav a[aria-current="true"]:focus-visible {
  background: color-mix(in srgb, var(--cpm-purple) 92%, #000);
  color: #fff;
}

body.cpm-institutional-subnav-stuck .cpm-first-account-cta,
body.cpm-institutional-subnav-stuck .cpm-whatsapp {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateY(8px);
}

.cpm-page-editorial .cpm-rich-text {
  max-width: 860px;
  color: var(--cpm-text);
  font-size: 1.0625rem;
  line-height: 1.72;
}

.cpm-page-editorial .cpm-rich-text > *:first-child {
  margin-top: 0;
}

.cpm-page-editorial .cpm-rich-text > *:last-child {
  margin-bottom: 0;
}

.cpm-page-editorial .cpm-rich-text h2,
.cpm-page-editorial .cpm-rich-text h3 {
  color: var(--cpm-ink);
  line-height: 1.18;
}

.cpm-page-editorial .cpm-rich-text a {
  color: var(--cpm-blue);
  font-weight: 700;
}

.cpm-institutional-split {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(40px, 5vw, 72px);
}

.cpm-institutional-split article > h2,
.cpm-history-wrap .cpm-section__title,
.cpm-faq-wrap .cpm-section__title {
  font-size: 32px;
  line-height: 1.14;
  letter-spacing: 0;
  margin: 10px 0 14px;
}

.cpm-institutional-split article > p {
  max-width: 62ch;
  color: var(--cpm-muted);
  font-size: 1rem;
  line-height: 1.65;
}

.cpm-institutional-list {
  margin-top: 28px;
  border-top: 1px solid var(--cpm-border);
}

.cpm-institutional-list a {
  display: grid;
  grid-template-columns: minmax(160px, 0.72fr) minmax(0, 1fr);
  gap: 20px;
  padding: 16px 0;
  border-bottom: 1px solid var(--cpm-border);
  color: inherit;
}

.cpm-institutional-list a:hover strong {
  color: var(--cpm-purple);
}

.cpm-institutional-list strong {
  color: var(--cpm-ink);
  font-size: 1.0625rem;
}

.cpm-institutional-list span {
  color: var(--cpm-muted);
  font-size: 1rem;
  line-height: 1.55;
}

.cpm-institutional-split blockquote,
.cpm-history-wrap blockquote {
  margin: 32px 0 0;
  padding: 22px 26px;
  border-left: 4px solid var(--cpm-purple);
  border-radius: 0 12px 12px 0;
  background: rgba(237, 238, 239, 0.72);
  color: var(--cpm-ink);
  font-size: 1.0625rem;
  font-weight: 600;
  line-height: 1.65;
}

.cpm-authority-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
  margin-top: 42px;
}

.cpm-authority-grid article {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 18px;
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 1px 0 rgba(15, 23, 42, 0.08), 0 14px 34px rgba(15, 23, 42, 0.04);
}

.cpm-authority-grid article > span {
  display: grid;
  place-items: center;
  width: 56px;
  height: 56px;
  border-radius: 999px;
  background: var(--cpm-purple);
  color: #fff;
  font-weight: 700;
}

.cpm-authority-grid small {
  display: block;
  color: var(--cpm-muted);
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.35;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.cpm-authority-grid h3 {
  margin: 4px 0;
  color: var(--cpm-ink);
  font-size: 1.0625rem;
  line-height: 1.25;
}

.cpm-authority-grid p {
  margin: 0;
  color: var(--cpm-muted);
  font-size: 1rem;
}

.cpm-metrics-grid,
.cpm-benefit-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
  margin-top: 44px;
}

.cpm-body-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
  margin-top: 44px;
}

.cpm-body-grid article,
.cpm-metrics-grid article {
  padding: 24px;
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 1px 0 rgba(15, 23, 42, 0.08);
}

.cpm-body-grid article {
  display: flex;
  flex-direction: column;
}

.cpm-body-grid h3 {
  margin: 0 0 10px;
  font-size: 1.125rem;
}

.cpm-body-grid p {
  margin: 0 0 18px;
  color: var(--cpm-muted);
  line-height: 1.65;
}

.cpm-body-grid a,
.cpm-benefit-grid a {
  display: inline-flex;
  align-items: center;
  min-height: 32px;
  color: var(--cpm-blue);
  font-weight: 700;
}

.cpm-body-grid__actions a {
  justify-content: center;
  border: 1px solid var(--cpm-border);
  border-radius: 10px;
  padding: 8px 12px;
  background: #fff;
  color: var(--cpm-purple);
  line-height: 1.1;
  text-decoration: none;
  transition: background 160ms ease, border-color 160ms ease, color 160ms ease, transform 160ms ease;
}

.cpm-body-grid__actions a:hover,
.cpm-body-grid__actions a:focus-visible {
  border-color: color-mix(in srgb, var(--cpm-purple) 34%, var(--cpm-border));
  background: color-mix(in srgb, var(--cpm-purple) 8%, #fff);
  color: var(--cpm-purple);
  transform: translateY(-1px);
}

.cpm-metrics-grid strong {
  display: block;
  color: var(--cpm-ink);
  font-size: 48px;
  letter-spacing: 0;
  line-height: 1;
}

.cpm-metrics-grid span {
  display: block;
  margin-top: 12px;
  color: var(--cpm-muted);
  font-size: 1rem;
  line-height: 1.45;
}

.cpm-document-table {
  margin-top: 32px;
  overflow: hidden;
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 1px 0 rgba(15, 23, 42, 0.1);
}

.cpm-document-table__row,
.cpm-document-table a {
  display: grid;
  grid-template-columns: 88px minmax(0, 1fr) minmax(180px, 0.45fr) 34px;
  align-items: center;
  gap: 20px;
  padding: 18px 22px;
  border-bottom: 1px solid var(--cpm-border);
  color: inherit;
  text-decoration: none;
}

.cpm-document-table__row:last-child,
.cpm-document-table a:last-child {
  border-bottom: 0;
}

.cpm-document-table article.cpm-document-table__row {
  grid-template-columns: 88px minmax(0, 1fr) minmax(180px, 0.45fr) 34px;
}

.cpm-document-table__row::after {
  content: "";
  width: 34px;
  height: 34px;
}

.cpm-document-table a.cpm-document-table__row {
  cursor: pointer;
  transition: background-color 0.18s ease, color 0.18s ease, transform 0.18s ease, box-shadow 0.18s ease;
}

.cpm-document-table a.cpm-document-table__row::after {
  content: "↗";
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: color-mix(in srgb, var(--cpm-purple) 7%, #fff);
  color: var(--cpm-purple);
  font-size: 18px;
  font-weight: 700;
  line-height: 1;
  opacity: 0.72;
  transition: background-color 0.18s ease, color 0.18s ease, transform 0.18s ease, opacity 0.18s ease;
}

.cpm-document-table a.cpm-document-table__row:hover,
.cpm-document-table a.cpm-document-table__row:focus-visible {
  background: color-mix(in srgb, var(--cpm-purple) 5%, #fff);
  box-shadow: inset 3px 0 0 var(--cpm-purple);
  color: var(--cpm-purple);
  outline: none;
}

.cpm-document-table a.cpm-document-table__row:hover strong,
.cpm-document-table a.cpm-document-table__row:focus-visible strong {
  color: var(--cpm-purple);
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 4px;
}

.cpm-document-table a.cpm-document-table__row:hover::after,
.cpm-document-table a.cpm-document-table__row:focus-visible::after {
  background: var(--cpm-purple);
  color: #fff;
  opacity: 1;
  transform: translateX(2px);
}

.cpm-document-table span {
  width: max-content;
  border-radius: 999px;
  background: #eef6ff;
  padding: 6px 12px;
  color: var(--cpm-blue);
  font-weight: 700;
}

.cpm-document-table strong {
  color: var(--cpm-ink);
  font-size: 1.0625rem;
}

.cpm-document-table em {
  color: var(--cpm-muted);
  font-style: normal;
  font-size: 1rem;
}

.cpm-benefit-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.cpm-benefit-grid article {
  overflow: hidden;
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 1px 0 rgba(15, 23, 42, 0.08), 0 20px 42px rgba(15, 23, 42, 0.05);
}

.cpm-benefit-grid img {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 9;
  object-fit: cover;
}

.cpm-benefit-grid div {
  padding: 22px;
}

.cpm-benefit-grid h3 {
  margin: 0 0 10px;
  font-size: 1.15rem;
}

.cpm-benefit-grid p {
  margin: 0 0 18px;
  color: var(--cpm-muted);
  line-height: 1.65;
}

.cpm-history-timeline {
  display: grid;
  gap: 22px;
  margin-top: 44px;
}

.cpm-history-timeline article {
  display: grid;
  grid-template-columns: 120px minmax(0, 1fr);
  gap: 24px;
  align-items: start;
  padding: 0 0 24px;
  border-bottom: 1px solid var(--cpm-border);
}

.cpm-history-timeline article:last-child {
  border-bottom: 0;
}

.cpm-history-timeline strong {
  color: var(--cpm-purple);
  font-size: 2rem;
  letter-spacing: 0;
}

.cpm-history-timeline h3 {
  margin: 0 0 8px;
  font-size: 1.25rem;
}

.cpm-history-timeline p {
  max-width: 72ch;
  margin: 0;
  color: var(--cpm-muted);
  line-height: 1.7;
}

.cpm-history-copy {
  max-width: 940px;
  margin-top: 36px;
}

.cpm-history-copy p {
  max-width: 82ch;
  margin: 0 0 18px;
  color: var(--cpm-ink-2);
  font-size: 1.0625rem;
  line-height: 1.78;
}

.cpm-history-copy .cpm-history-highlight {
  margin-top: 28px;
  padding: 24px 28px;
  border-left: 4px solid var(--cpm-purple);
  border-radius: 0 14px 14px 0;
  background: #f8f5fb;
  color: var(--cpm-ink);
  font-weight: 650;
}

.cpm-faq-list {
  margin-top: 36px;
  overflow: hidden;
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 1px 0 rgba(15, 23, 42, 0.1);
}

.cpm-faq-list details {
  border-bottom: 1px solid var(--cpm-border);
}

.cpm-faq-list details:last-child {
  border-bottom: 0;
}

.cpm-faq-list summary {
  cursor: pointer;
  padding: 20px 24px;
  color: var(--cpm-ink);
  font-size: 1.0625rem;
  font-weight: 700;
}

.cpm-faq-list details[open] summary,
.cpm-faq-list summary:hover {
  background: rgba(237, 238, 239, 0.62);
}

.cpm-faq-list p {
  max-width: 78ch;
  margin: 0;
  padding: 0 24px 22px;
  color: var(--cpm-muted);
  font-size: 1rem;
  line-height: 1.7;
}

.cpm-course-catalog-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 22px;
  margin-top: 38px;
}

.cpm-course-catalog-grid article {
  overflow: hidden;
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 1px 0 rgba(15, 23, 42, 0.08), 0 18px 42px rgba(15, 23, 42, 0.05);
}

.cpm-course-catalog-grid img {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 9;
  object-fit: cover;
}

.cpm-course-catalog-grid div {
  padding: 22px;
}

.cpm-course-catalog-grid p {
  margin: 0 0 10px;
  color: var(--cpm-blue);
  font-size: 1rem;
  font-weight: 700;
}

.cpm-course-catalog-grid h3 {
  margin: 0;
  color: var(--cpm-ink);
  font-size: 1.25rem;
  line-height: 1.2;
}

.cpm-course-catalog-grid span {
  display: block;
  margin-top: 12px;
  color: var(--cpm-muted);
  font-size: 1rem;
  line-height: 1.65;
}

.cpm-course-catalog-grid a {
  display: inline-flex;
  margin-top: 18px;
  color: var(--cpm-purple);
  font-weight: 700;
}

.cpm-institutional-final .cpm-container {
  display: grid;
  grid-template-columns: minmax(0, 0.95fr) minmax(360px, 0.82fr);
  gap: 48px;
  align-items: center;
}

.cpm-institutional-final h2 {
  max-width: 620px;
  margin: 0;
  color: var(--cpm-ink);
  font-size: 42px;
  line-height: 1.05;
  letter-spacing: 0;
}

.cpm-institutional-final p:not(.cpm-eyebrow) {
  max-width: 650px;
  margin: 18px 0 0;
  color: var(--cpm-muted);
  font-size: 18px;
  line-height: 1.65;
}

.cpm-institutional-final nav {
  display: grid;
  border-top: 1px solid var(--cpm-border);
}

.cpm-institutional-final nav a {
  display: flex;
  min-height: 64px;
  align-items: center;
  justify-content: space-between;
  border-bottom: 1px solid var(--cpm-border);
  color: var(--cpm-ink);
  font-size: 18px;
  font-weight: 700;
  text-decoration: none;
}

.cpm-institutional-final nav a::after {
  color: var(--cpm-purple);
  content: "→";
  font-size: 22px;
}

.cpm-institutional-final nav a:hover {
  color: var(--cpm-purple);
}

@media (max-width: 980px) {
  .cpm-institutional-split,
  .cpm-authority-grid,
  .cpm-body-grid,
  .cpm-metrics-grid,
  .cpm-benefit-grid,
  .cpm-course-catalog-grid,
  .cpm-institutional-final .cpm-container {
    grid-template-columns: 1fr;
  }

  .cpm-document-table__row,
  .cpm-document-table a,
  .cpm-history-timeline article,
  .cpm-institutional-list a {
    grid-template-columns: 1fr;
  }

  .cpm-document-table__row::after,
  .cpm-document-table a.cpm-document-table__row::after {
    justify-self: start;
  }
}

@media (max-width: 720px) {
  .cpm-institutional-page .cpm-section,
  .cpm-institutional-page #organismos,
  .cpm-institutional-page #gobierno {
    scroll-margin-top: calc(var(--cpm-sticky-header-offset, 70px) + 116px);
  }

  .cpm-institutional-subnav {
    top: var(--cpm-sticky-header-offset, 70px);
  }

  .cpm-institutional-subnav .cpm-container {
    display: block;
    padding-top: 12px;
    padding-bottom: 12px;
  }

  .cpm-institutional-subnav span {
    display: block;
    margin-bottom: 10px;
  }

  .cpm-institutional-subnav nav {
    margin-right: calc(var(--cpm-container-padding) * -1);
    padding-right: var(--cpm-container-padding);
    scroll-padding-inline: var(--cpm-container-padding);
  }

  .cpm-institutional-subnav a {
    padding: 9px 12px;
  }
}

@media (max-width: 520px) {
  .cpm-actions .cpm-button--primary {
    display: none;
  }
}

/* VNext parity pass: keep UI26 compact but remove under-scaled text and hard truncation. */
.cpm-nav a,
.cpm-button,
.cpm-login-link,
.cpm-search-trigger,
.cpm-archive-head__eyebrow,
.cpm-archive-head p:not(.cpm-archive-head__eyebrow),
.cpm-tramites-search input,
.cpm-tramite-card p,
.cpm-tramite-card li,
.cpm-tramite-card a,
.cpm-prof-single__meta,
.cpm-button--quiet,
.cpm-profile-card__eyebrow,
.cpm-profile-facts dt,
.cpm-profile-facts dd,
.cpm-contact-item small,
.cpm-contact-item strong,
.cpm-profile-card--verified p,
.cpm-profile-card--verified dt,
.cpm-profile-card--verified dd,
.cpm-prof-related__head a,
.cpm-prof-related__item span,
.cpm-prof-related__item strong,
.cpm-prof-related__item small,
.cpm-post-single__eyebrow,
.cpm-ui26-kicker p,
.cpm-ui26-search input,
.cpm-ui26-search button,
.cpm-ui26-hero__actions .cpm-button,
.cpm-ui26-stats dd,
.cpm-ui26-quick strong,
.cpm-ui26-quick small,
.cpm-ui26-pill,
.cpm-ui26-news-card figcaption,
.cpm-ui26-news-card time,
.cpm-ui26-news-card p,
.cpm-ui26-course__meta span,
.cpm-ui26-course__meta strong,
.cpm-ui26-course p,
.cpm-ui26-course small,
.cpm-ui26-trust dd,
.cpm-ui26-directory-box p,
.cpm-ui26-service p,
.cpm-content h5,
.cpm-content h5 strong,
.cpm-post-single__article h5,
.cpm-post-single__article h5 strong {
  font-size: 16px;
}

.cpm-verified-badge {
  font-size: 12px;
  font-weight: 600;
  padding: 7px 11px;
}

.cpm-chip-row span {
  font-size: 13px;
  font-weight: 600;
  padding: 7px 11px;
}

.cpm-nav {
  gap: 2px;
}

.cpm-nav a {
  padding: 8px 9px;
}

.cpm-prof-related__item {
  grid-template-columns: 42px minmax(0, 1fr);
}

.cpm-prof-related__item span {
  width: 42px;
  height: 42px;
}

.cpm-prof-related__item strong,
.cpm-prof-related__item small,
.cpm-contact-item strong {
  overflow: visible;
  text-overflow: clip;
  white-space: normal;
}

.psicole-directory--ui26 .psicole-prof-card__facts dd {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.cpm-ui26-quick__item {
  border-right-color: color-mix(in srgb, var(--cpm-border) 55%, transparent);
}

.cpm-ui26-quick__item:hover,
.cpm-action-band a:hover,
.cpm-tramite-card:hover,
.psicole-directory--ui26 .psicole-prof-card:hover,
.cpm-prof-related__item:hover {
  outline: 0;
}

.cpm-button,
.cpm-ui26-search,
.cpm-ui26-service,
.cpm-ui26-news-card,
.cpm-ui26-course,
.cpm-ui26-directory-box,
.cpm-ui26-final__card {
  border-width: 0;
}

.cpm-button:not(.cpm-button--primary):not(.cpm-button--ghost-light),
.cpm-ui26-search,
.cpm-ui26-directory-box input,
.cpm-ui26-directory-box select {
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--cpm-border) 70%, transparent);
}

.cpm-ui26-service,
.cpm-ui26-news-card,
.cpm-ui26-course,
.cpm-ui26-directory-box,
.cpm-ui26-final__card {
  box-shadow: 0 12px 32px rgba(15, 23, 42, 0.055);
}

.cpm-ui26-hero__inner,
.cpm-ui26-hero__copy,
.cpm-ui26-stats,
.cpm-ui26-stats div,
.cpm-ui26-stats dd {
  min-width: 0;
}

.cpm-ui26-stats dd {
  overflow-wrap: normal;
  word-break: normal;
  hyphens: none;
  text-wrap: balance;
}

@media (max-width: 640px) {
  .cpm-ui26-stats {
    grid-template-columns: minmax(124px, 1.1fr) minmax(82px, 0.8fr) minmax(124px, 1.1fr);
  }

  .cpm-ui26-stats dd {
    line-height: 1.28;
    text-wrap: wrap;
  }
}

.cpm-profile-card--contact address {
  font-size: 16px;
}

/* Header chrome follows the approved compact production scale; content text keeps the >=16px rule. */
.cpm-header .cpm-nav {
  gap: 4px;
}

.cpm-header .cpm-nav a,
.cpm-header .cpm-login-link,
.cpm-header .cpm-search-trigger,
.cpm-header .cpm-actions .cpm-button {
  font-size: 14px;
  font-weight: 600;
  line-height: 20px;
}

.cpm-header .cpm-nav a {
  padding: 8px 11px;
}

.cpm-header .cpm-actions .cpm-button {
  min-height: 36px;
  padding: 8px 14px;
}

@media (max-width: 900px) {
  .cpm-hero__grid {
    grid-template-columns: 1fr;
  }

  .cpm-hero--mobile-padded .cpm-hero__grid {
    padding: 58px 0 54px;
  }

  .cpm-hero--contacto .cpm-hero__grid {
    padding: 60px 0 59px;
  }

  .cpm-hero__image {
    display: none;
  }

  .cpm-actions .cpm-button--primary,
  .cpm-ui26-hero__actions .cpm-button,
  .cpm-ui26-search input {
    font-size: 16px;
  }

  .cpm-ui26-kicker p {
    font-size: 16px;
    letter-spacing: 0.08em;
  }

  .cpm-ui26-quick strong,
  .cpm-ui26-quick small,
  .cpm-ui26-stats dd {
    font-size: 16px;
  }
}

@media (max-width: 374px) {
  .cpm-ui26-stats {
    grid-template-columns: 1fr;
  }
}

.cpm-ui26-search:focus-within,
.cpm-filter-search:focus-within,
.cpm-news-search:focus-within,
.psicole-directory--ui26 .psicole-filter-search:focus-within {
  border-color: color-mix(in srgb, var(--cpm-purple) 42%, var(--cpm-border));
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--cpm-purple) 12%, transparent);
}

@media (max-width: 900px) {
  .cpm-mobile-dock a {
    min-width: 0;
    color: #64748b;
    font-size: 12px;
    font-weight: 600;
    line-height: 1.15;
    overflow-wrap: anywhere;
  }

  .cpm-mobile-dock span {
    font-size: 18px;
  }

  .cpm-consultorio-empty {
    gap: 16px;
    padding: 36px 24px 32px;
  }

  .cpm-consultorio-empty__icon svg {
    width: 64px;
    height: 64px;
    stroke-width: 1.8;
  }

  .cpm-consultorio-empty p {
    max-width: 310px;
    margin-inline: auto;
    color: var(--cpm-blue);
  }
}

/* VNext parity refinements: compact archives, document singles and PSICOLE-style access screens. */
.cpm-post-single__top,
.cpm-activity-single__top {
  border-bottom: 1px solid var(--cpm-border);
  background: #fff;
}

.cpm-activity-single__top {
  border-bottom: 0;
}

.cpm-post-single__top .cpm-container,
.cpm-activity-single__top .cpm-container {
  padding-top: 28px;
  padding-bottom: 34px;
}

.cpm-post-single__intro,
.cpm-activity-single__introgrid header {
  max-width: 760px;
}

.cpm-post-single__top .cpm-breadcrumb,
.cpm-activity-single__top .cpm-breadcrumb {
  margin-bottom: 22px;
}

.cpm-post-single__top h1 {
  font-size: 48px;
  line-height: 1.06;
}

.cpm-post-single__media {
  max-width: 760px;
  margin-top: 30px;
  box-shadow: none;
}

.cpm-post-single__media img {
  max-height: 360px;
  aspect-ratio: 16 / 9;
}

.cpm-post-single__notice {
  max-width: 760px;
  margin-top: 26px;
  box-shadow: none;
}

.cpm-post-single__article,
.cpm-activity-single__article,
.cpm-activity-single__panel,
.cpm-post-sidebox {
  box-shadow: none;
}

.cpm-post-single__article,
.cpm-post-single__article * {
  min-width: 0;
  max-width: 100%;
  overflow-wrap: anywhere;
  word-break: break-word;
}

.cpm-post-single__article > *,
.cpm-post-single__article li,
.cpm-post-single__article p,
.cpm-post-single__article h2,
.cpm-post-single__article h3,
.cpm-post-single__article h4,
.cpm-post-single__article h5,
.cpm-post-single__article span,
.cpm-post-single__article strong,
.cpm-post-single__article b,
.cpm-post-single__article a {
  width: auto;
  min-width: 0;
  max-width: 100%;
  overflow-wrap: anywhere;
  word-break: break-word;
}

.cpm-post-single__article a {
  display: inline;
}

.cpm-post-single__article ul,
.cpm-post-single__article ol {
  box-sizing: border-box;
  padding-left: 1.25rem;
}

.cpm-post-single__article li {
  min-width: 0;
}

.cpm-activity-single__introgrid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(300px, 0.62fr);
  gap: 36px;
  align-items: start;
}

.cpm-activity-single__introgrid header > p:not(.cpm-activity-cover__kicker) {
  max-width: 680px;
  margin: 18px 0 0;
  color: #475569;
  font-size: 18px;
  line-height: 1.62;
}

.cpm-activity-single__media {
  margin-top: 0;
  box-shadow: none;
}

.cpm-activity-single__media img {
  max-height: 260px;
  aspect-ratio: 16 / 9;
}

.cpm-activity-cover__kicker {
  color: var(--cpm-blue);
}

.cpm-activity-cover {
  overflow: hidden;
  border-radius: 8px;
  box-shadow: none;
}

.cpm-activity-cover .cpm-activity-cover__kicker {
  display: inline-flex;
  min-height: 28px;
  align-items: center;
  border-radius: 999px;
  background: #eff6ff;
  color: #1d4ed8;
  font-size: 16px;
  font-weight: 700;
  line-height: 1;
  padding: 0 10px;
}

.cpm-activity-cover h1 {
  margin: 0;
}

.cpm-activity-cover__meta span {
  border: 1px solid var(--cpm-border);
  background: color-mix(in srgb, var(--cpm-gray) 78%, white);
  color: #334155;
}

.cpm-catalog-head {
  border-bottom: 1px solid var(--cpm-border);
  background: #fff;
}

.cpm-catalog-head .cpm-container {
  padding-top: 28px;
  padding-bottom: 28px;
}

.cpm-catalog-head__grid {
  display: flex;
  gap: 16px;
  align-items: center;
  margin-top: 16px;
}

.cpm-catalog-head__icon {
  display: inline-flex;
  width: 48px;
  height: 48px;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  border-radius: 12px;
  background: color-mix(in srgb, var(--cpm-purple) 10%, white);
  color: var(--cpm-purple);
}

.cpm-catalog-head__icon svg,
.cpm-filter-search svg {
  width: 22px;
  height: 22px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
}

.cpm-catalog-head h1 {
  margin: 0;
  color: var(--cpm-ink);
  font-size: 30px;
  font-weight: 700;
  line-height: 1.15;
  letter-spacing: 0;
}

.cpm-catalog-head p {
  max-width: 760px;
  margin: 6px 0 0;
  color: #475569;
  font-size: 16px;
  line-height: 1.55;
}

.cpm-filter-bar {
  position: sticky;
  top: 103px;
  z-index: 20;
  border-bottom: 1px solid var(--cpm-border);
  background: rgba(255, 255, 255, 0.94);
  backdrop-filter: blur(12px);
}

.cpm-filter-bar .cpm-container {
  padding-top: 12px;
  padding-bottom: 12px;
}

.cpm-filter-bar__row {
  display: flex;
  gap: 12px;
  align-items: center;
}

.cpm-filter-search {
  display: flex;
  min-height: 44px;
  flex: 1;
  align-items: center;
  gap: 10px;
  border: 1px solid var(--cpm-border);
  border-radius: 8px;
  background: #fff;
  color: #64748b;
  padding: 0 12px;
}

.cpm-filter-search input {
  width: 100%;
  min-width: 0;
  border: 0;
  background: transparent;
  color: var(--cpm-ink);
  font: inherit;
  font-size: 16px;
  outline: 0;
}

.cpm-filter-select,
.cpm-filter-check {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  gap: 10px;
  border: 1px solid var(--cpm-border);
  border-radius: 8px;
  background: #fff;
  color: #334155;
  font: inherit;
  font-size: 16px;
  font-weight: 500;
  padding: 0 14px;
  white-space: nowrap;
}

.cpm-filter-select {
  min-width: 220px;
  cursor: pointer;
}

.cpm-filter-select svg {
  width: 20px;
  height: 20px;
  color: #475569;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
}

.cpm-filter-check {
  border-color: transparent;
  background: transparent;
  padding: 0;
}

.cpm-filter-check input {
  width: 16px;
  height: 16px;
  accent-color: var(--cpm-purple);
}

.cpm-filter-check span {
  color: #334155;
  font-size: 16px;
  font-weight: 500;
}

.cpm-filter-count {
  display: block;
  margin-top: 4px;
  color: #475569;
  font-size: 16px;
  font-weight: 700;
  line-height: 1;
  white-space: nowrap;
}

.cpm-catalog-body {
  padding: 34px 0 56px;
}

.cpm-course-catalog-grid--archive {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-top: 0;
}

.cpm-course-catalog-grid--archive article[hidden] {
  display: none;
}

.cpm-course-catalog-grid .cpm-course-card {
  display: grid;
  grid-template-rows: auto 1fr auto;
  min-height: 100%;
  overflow: hidden;
  border: 1px solid color-mix(in srgb, var(--cpm-border) 82%, transparent);
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 12px 34px rgba(15, 23, 42, 0.055);
  transition: transform 160ms ease, box-shadow 160ms ease, border-color 160ms ease;
}

@media (hover: hover) {
  .cpm-course-catalog-grid .cpm-course-card:hover {
    transform: translateY(-2px);
    border-color: color-mix(in srgb, var(--cpm-purple) 18%, var(--cpm-border));
    box-shadow: 0 18px 44px rgba(15, 23, 42, 0.09);
  }
}

.cpm-course-card div,
.cpm-course-card dl,
.cpm-course-card dd {
  padding: 0;
}

.cpm-course-catalog-grid .cpm-course-card__image {
  position: relative;
  display: block;
  min-height: 0;
  margin: 0;
  color: #fff;
  overflow: hidden;
}

.cpm-course-catalog-grid .cpm-course-card__image::after {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(15, 23, 42, 0) 42%, rgba(15, 23, 42, 0.42));
  content: "";
  pointer-events: none;
}

.cpm-course-catalog-grid .cpm-course-card__image img {
  width: 100%;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  transition: transform 200ms ease;
}

@media (hover: hover) {
  .cpm-course-catalog-grid .cpm-course-card:hover .cpm-course-card__image img {
    transform: scale(1.025);
  }
}

.cpm-course-card__badge,
.cpm-course-card__capacity {
  position: absolute;
  z-index: 1;
  display: inline-flex;
  min-height: 28px;
  align-items: center;
  border-radius: 999px;
  font-size: 16px;
  font-weight: 600;
  line-height: 1;
  margin: 0;
  padding: 0 9px;
}

.cpm-course-card__badge {
  top: 14px;
  left: 14px;
  background: #eff6ff;
  color: #1d4ed8;
}

.cpm-course-catalog-grid .cpm-course-card__badge {
  display: inline-flex;
  margin-top: 0;
  color: #1d4ed8;
  line-height: 1;
}

.cpm-course-card__capacity {
  top: 14px;
  right: 14px;
}

.cpm-course-card__capacity--available {
  background: transparent;
  color: #fff;
  text-shadow: 0 1px 8px rgba(15, 23, 42, 0.55);
}

.cpm-course-card__capacity--state {
  background: rgba(255, 255, 255, 0.92);
  color: #334155;
}

.cpm-course-catalog-grid .cpm-course-card__body {
  display: grid;
  gap: 10px;
  padding: 18px 20px 14px;
}

.cpm-course-catalog-grid .cpm-course-card h2 {
  margin: 0;
  color: var(--cpm-ink);
  font-size: 19px;
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: 0;
}

.cpm-course-catalog-grid .cpm-course-card h2 a {
  display: inline;
  margin: 0;
  color: inherit;
}

.cpm-course-catalog-grid .cpm-course-card h2 a:hover {
  color: var(--cpm-purple);
}

.cpm-course-catalog-grid .cpm-course-card p {
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  margin: 0;
  color: #475569;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.42;
}

.cpm-course-card__meta {
  display: grid;
  gap: 6px;
  margin: 2px 0 0;
  padding-top: 2px;
}

.cpm-course-card__meta-row {
  display: flex;
  min-width: 0;
  align-items: center;
  gap: 8px;
  color: #64748b;
  font-size: 16px;
  line-height: 1.25;
}

.cpm-course-card__meta-row svg {
  width: 16px;
  height: 16px;
  flex: 0 0 auto;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
}

.cpm-course-card__meta-row span {
  min-width: 0;
  overflow-wrap: anywhere;
}

.cpm-course-catalog-grid .cpm-course-card__footer {
  display: flex;
  min-height: 58px;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  border-top: 1px solid color-mix(in srgb, var(--cpm-border) 78%, transparent);
  padding: 12px 20px 15px;
}

.cpm-course-catalog-grid .cpm-course-card__footer strong {
  display: block;
  color: var(--cpm-ink);
  font-size: 18px;
  line-height: 1.1;
}

.cpm-course-catalog-grid .cpm-course-card__footer span {
  display: block;
  margin: 2px 0 0;
  color: #64748b;
  font-size: 16px;
  line-height: 1.25;
}

.cpm-course-catalog-grid .cpm-course-card__footer a {
  display: inline-flex;
  min-height: 34px;
  align-items: center;
  border-radius: 8px;
  background: color-mix(in srgb, var(--cpm-purple) 9%, white);
  color: var(--cpm-purple);
  font-size: 16px;
  font-weight: 600;
  margin: 0;
  padding: 0 12px;
  white-space: nowrap;
}

.cpm-course-catalog-grid .cpm-course-card__footer a:hover {
  background: var(--cpm-purple);
  color: #fff;
}

.cpm-contact-directory {
  display: grid;
  min-width: 0;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 22px;
}

.cpm-agenda-head__row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
}

.cpm-agenda-head .cpm-button {
  gap: 10px;
}

.cpm-agenda-board {
  background: var(--cpm-bg);
  padding: 48px 0 56px;
}

.cpm-agenda-board__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.55fr) minmax(320px, 1fr);
  gap: 32px;
  align-items: start;
}

.cpm-agenda-board h2 {
  margin: 0 0 16px;
  color: var(--cpm-ink);
  font-size: 20px;
  font-weight: 700;
  line-height: 1.25;
}

.cpm-agenda-events,
.cpm-agenda-courses > div {
  display: grid;
  gap: 12px;
}

.cpm-agenda-event,
.cpm-agenda-course {
  display: grid;
  min-width: 0;
  border: 1px solid color-mix(in srgb, var(--cpm-border) 80%, transparent);
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 2px 8px rgba(15, 23, 42, 0.045);
}

.cpm-agenda-event {
  grid-template-columns: 66px minmax(0, 1fr);
  gap: 18px;
  align-items: center;
  padding: 16px;
}

.cpm-agenda-event time {
  display: grid;
  width: 64px;
  height: 64px;
  place-items: center;
  align-content: center;
  border-radius: 8px;
  background: var(--cpm-purple);
  color: #fff;
  line-height: 1;
}

.cpm-agenda-event time strong {
  font-size: 24px;
  font-weight: 700;
}

.cpm-agenda-event time span {
  margin-top: 4px;
  font-size: 16px;
  font-weight: 600;
}

.cpm-agenda-event p {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  margin: 0 0 4px;
}

.cpm-agenda-event p span,
.cpm-agenda-course > span {
  display: inline-flex;
  min-height: 26px;
  align-items: center;
  border-radius: 999px;
  background: color-mix(in srgb, var(--cpm-purple) 9%, white);
  color: var(--cpm-purple);
  font-size: 16px;
  font-weight: 700;
  padding: 0 9px;
}

.cpm-agenda-event p small {
  color: #64748b;
  font-size: 16px;
}

.cpm-agenda-event h3,
.cpm-agenda-course strong {
  margin: 0;
  color: var(--cpm-ink);
  font-size: 18px;
  font-weight: 700;
  line-height: 1.25;
}

.cpm-agenda-event address {
  margin-top: 5px;
  color: #64748b;
  font-size: 16px;
  font-style: normal;
  line-height: 1.35;
}

.cpm-agenda-course {
  position: relative;
  gap: 8px;
  padding: 18px 44px 18px 18px;
}

.cpm-agenda-course::after {
  position: absolute;
  top: 22px;
  right: 18px;
  color: #64748b;
  content: "›";
  font-size: 24px;
  line-height: 1;
}

.cpm-agenda-course small {
  color: #64748b;
  font-size: 16px;
  line-height: 1.35;
}

@media (hover: hover) {
  .cpm-agenda-event:hover,
  .cpm-agenda-course:hover {
    border-color: color-mix(in srgb, var(--cpm-purple) 18%, var(--cpm-border));
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.075);
  }
}

.cpm-contact-directory__item {
  display: grid;
  min-width: 0;
  gap: 20px;
  border: 1px solid var(--cpm-border);
  border-radius: 10px;
  background: #fff;
  padding: 24px;
}

.cpm-contact-directory__item:last-child {
  border-bottom: 1px solid var(--cpm-border);
}

.cpm-contact-directory * {
  min-width: 0;
}

.cpm-contact-directory__heading {
  display: grid;
  gap: 12px;
  align-items: start;
}

.cpm-contact-directory__heading p {
  margin: 0;
  color: var(--cpm-blue);
  font-size: 16px;
  font-weight: 700;
  line-height: 1.25;
}

.cpm-contact-directory__heading h2 {
  margin: 0;
  color: var(--cpm-ink);
  font-size: 24px;
  font-weight: 700;
  line-height: 1.2;
}

.cpm-contact-directory__heading a,
.cpm-contact-actions a {
  color: var(--cpm-blue);
  font-size: 16px;
  font-weight: 700;
  white-space: nowrap;
}

.cpm-contact-directory dl {
  display: grid;
  min-width: 0;
  grid-template-columns: 1fr;
  gap: 10px;
  margin: 0;
}

.cpm-contact-directory dt {
  color: #64748b;
  font-size: 16px;
  font-weight: 600;
}

.cpm-contact-directory dd {
  margin: 3px 0 0;
  color: #1f2937;
  font-size: 16px;
  line-height: 1.34;
  overflow-wrap: break-word;
}

.cpm-contact-actions {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
  margin-top: 28px;
}

.cpm-contact-actions article {
  border: 1px solid var(--cpm-border);
  border-radius: 12px;
  background: #fff;
  padding: 22px;
}

.cpm-contact-actions h2 {
  margin: 0;
  color: var(--cpm-ink);
  font-size: 20px;
  line-height: 1.2;
}

.cpm-contact-actions p {
  margin: 10px 0 18px;
  color: #475569;
  font-size: 16px;
  line-height: 1.55;
}

.cpm-login-screen {
  display: grid;
  min-height: calc(100vh - 220px);
  place-items: center;
  background: var(--cpm-bg);
  padding: 48px 20px;
}

.cpm-login-stack {
  width: min(100%, 440px);
}

.cpm-consultorio-page {
  background: var(--cpm-bg);
  padding: 46px 20px 62px;
}

.cpm-login-card,
.cpm-consultorio-empty {
  width: min(100%, 440px);
  border: 1px solid var(--cpm-border);
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 20px 60px rgba(15, 23, 42, 0.08);
  overflow: hidden;
}

.cpm-login-back {
  display: inline-flex;
  min-height: 40px;
  align-items: center;
  margin: 0 0 12px 0;
  color: #475569;
  font-size: 16px;
  font-weight: 600;
}

.cpm-login-card {
  padding: 0;
}

.cpm-login-card__head {
  display: flex;
  gap: 14px;
  align-items: center;
  background: var(--cpm-purple);
  color: #fff;
  padding: 20px 24px;
}

.cpm-login-card__head > span,
.cpm-consultorio-empty__icon {
  display: inline-flex;
  width: 44px;
  height: 44px;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  border-radius: 12px;
}

.cpm-login-card__head > span {
  background: rgba(255, 255, 255, 0.16);
}

.cpm-login-card__head svg,
.cpm-consultorio-empty__icon svg {
  width: 24px;
  height: 24px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
}

  .cpm-login-card h1 {
  margin: 0;
  color: #fff;
  font-size: 20px;
  line-height: 1.4;
}

.cpm-login-card__head p {
  margin: 3px 0 0;
  color: rgba(255, 255, 255, 0.78);
  font-size: 16px;
  line-height: 1.4;
}

.cpm-login-form {
  display: grid;
  gap: 13px;
  padding: 22px 24px 20px;
}

.cpm-login-form h2 {
  margin: 0;
  color: var(--cpm-ink);
  font-size: 20px;
  line-height: 1.2;
}

.cpm-login-form p {
  margin: 5px 0 0;
  color: #64748b;
  font-size: 16px;
  line-height: 1.45;
}

.cpm-login-form label {
  display: grid;
  gap: 6px;
  color: #334155;
  font-size: 16px;
  font-weight: 600;
}

.cpm-login-form input {
  min-height: 42px;
  border: 1px solid var(--cpm-border);
  border-radius: 8px;
  background: #fff;
  color: var(--cpm-ink);
  font: inherit;
  font-size: 16px;
  padding: 0 12px;
}

.cpm-login-help {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  border-top: 1px solid var(--cpm-border);
  padding-top: 13px;
}

.cpm-login-help a {
  color: var(--cpm-purple);
  font-size: 16px;
  font-weight: 600;
}

.cpm-login-trust {
  display: grid;
  grid-template-columns: 20px minmax(0, 1fr);
  gap: 10px;
  align-items: start;
  border-top: 1px solid var(--cpm-border);
  background: transparent;
  padding: 13px 0 0;
}

.cpm-login-trust span {
  display: inline-flex;
  width: 20px;
  height: 20px;
  align-items: center;
  justify-content: center;
  color: var(--cpm-green);
}

.cpm-login-trust span svg {
  width: 18px;
  height: 18px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
}

.cpm-consultorio-empty h2 {
  color: var(--cpm-ink);
  font-size: 18px;
  line-height: 1.25;
}

.cpm-login-trust p,
.cpm-consultorio-empty p {
  margin: 0;
  color: #475569;
  font-size: 16px;
  line-height: 1.34;
}

.cpm-consultorio-empty {
  display: grid;
  width: min(100%, 736px);
  gap: 14px;
  justify-items: center;
  text-align: center;
  margin: 0 auto;
  border-color: color-mix(in srgb, var(--cpm-blue) 22%, var(--cpm-border));
  background: color-mix(in srgb, var(--cpm-blue) 8%, white);
  box-shadow: none;
  padding: 34px 30px;
}

.cpm-consultorio-empty__icon {
  width: 72px;
  height: 72px;
  background: transparent;
  color: var(--cpm-blue);
}

.cpm-consultorio-empty__icon svg {
  width: 58px;
  height: 58px;
  stroke-width: 1.7;
}

.cpm-consultorio-empty h2 {
  margin: 0;
  color: var(--cpm-blue);
  font-size: 24px;
}

.cpm-consultorio-empty p {
  max-width: 590px;
  color: var(--cpm-blue);
}

.cpm-consultorio-empty__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: center;
  margin-top: 8px;
}

@media (hover: hover) {
  .cpm-contact-directory__heading a:hover,
  .cpm-contact-actions a:hover,
  .cpm-login-help a:hover {
    color: var(--cpm-purple);
    text-decoration: underline;
    text-underline-offset: 4px;
  }
}

@media (max-width: 900px) {
  .cpm-post-single__top .cpm-container {
    padding-top: 42px;
    padding-bottom: 34px;
  }

  .cpm-catalog-head .cpm-container {
    padding-top: 16px;
    padding-bottom: 12px;
  }

  .cpm-activity-single__top .cpm-container {
    padding-top: 16px;
    padding-bottom: 12px;
  }

  .cpm-post-single__top h1,
  .cpm-catalog-head h1 {
    font-size: 24px;
  }

  .cpm-catalog-head h1 {
    line-height: 1.33;
  }

  .cpm-catalog-head__grid {
    gap: 10px;
    margin-top: 10px;
  }

  .cpm-catalog-head p {
    font-size: 16px;
    line-height: 1.3;
  }

  .cpm-filter-bar .cpm-container {
    padding-top: 8px;
    padding-bottom: 8px;
  }

  .cpm-filter-bar__row {
    gap: 8px;
  }

  .cpm-filter-search,
  .cpm-filter-select,
  .cpm-filter-check {
    min-height: 40px;
  }

  .cpm-course-catalog-grid .cpm-course-card__body {
    gap: 12px;
    padding: 18px 20px 16px;
  }

  .cpm-course-catalog-grid .cpm-course-card p {
    -webkit-line-clamp: 3;
    line-height: 1.45;
  }

  .cpm-course-card__meta {
    gap: 0;
  }

  .cpm-course-card__meta-row:not(:first-child) {
    display: none;
  }

  .cpm-post-single__top h1 {
    font-size: 36px;
    line-height: 1.06;
    letter-spacing: 0;
  }

  .cpm-activity-single__introgrid,
  .cpm-agenda-board__grid,
  .cpm-contact-directory,
  .cpm-contact-directory__item,
  .cpm-contact-directory dl,
  .cpm-contact-actions {
    grid-template-columns: 1fr;
  }

  .cpm-agenda-head__row {
    align-items: flex-start;
    flex-direction: column;
  }

  .cpm-agenda-board {
    padding: 34px 0 48px;
  }

  .cpm-activity-single__media img,
  .cpm-post-single__media img {
    max-height: 220px;
  }

  .cpm-activity-single__top .cpm-breadcrumb {
    display: flex;
    flex-wrap: nowrap;
    gap: 8px;
    overflow: hidden;
    white-space: nowrap;
  }

  .cpm-activity-single__top .cpm-breadcrumb > * {
    flex: 0 0 auto;
  }

  .cpm-activity-single__top .cpm-breadcrumb > span:last-child {
    min-width: 0;
    flex: 1 1 auto;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  .cpm-activity-single .cpm-activity-cover {
    margin-top: 30px;
  }

  .cpm-activity-cover img {
    max-height: 154px;
    aspect-ratio: 2.34 / 1;
  }

  .cpm-activity-cover figcaption {
    padding: 16px 18px 18px;
  }

  .cpm-activity-cover h1 {
    font-size: 24px;
    line-height: 1.33;
  }

  .cpm-activity-cover .cpm-activity-cover__kicker {
    min-height: 24px;
    margin-bottom: 7px;
    font-size: 16px;
    line-height: 1.2;
  }

  .cpm-filter-bar {
    top: 61px;
  }

  .cpm-filter-bar__row {
    align-items: stretch;
    flex-direction: column;
  }

  .cpm-filter-check {
    align-self: flex-start;
    min-height: 24px;
  }

  .cpm-course-catalog-grid--archive {
    grid-template-columns: 1fr;
  }

  .cpm-catalog-body {
    padding-top: 20px;
    padding-bottom: 48px;
  }

  .cpm-contact-directory__item {
    padding: 24px 20px;
  }

  .cpm-contact-directory__heading {
    grid-template-columns: 1fr;
  }

  .cpm-contact-directory__heading h2 {
    font-size: 22px;
    line-height: 1.2;
  }

  .cpm-login-screen,
  .cpm-consultorio-page {
    padding: 48px 16px;
  }

  .cpm-login-screen {
    min-height: calc(100vh - 160px);
  }

  .cpm-consultorio-empty {
    align-items: center;
    gap: 18px;
    padding: 34px 18px 32px;
  }

  .cpm-consultorio-empty__icon svg {
    width: 64px;
    height: 64px;
  }

  .cpm-login-help {
    flex-direction: column;
  }

  .cpm-footer {
    padding-bottom: 68px;
  }

  .cpm-footer .cpm-container {
    width: min(100% - 32px, 1180px);
  }

  .cpm-footer__newsletter {
    grid-template-columns: 1fr;
    gap: 18px;
    padding: 30px 0;
  }

  .cpm-footer__newsletter h2 {
    font-size: 24px;
  }

  .cpm-footer__form {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: stretch;
    gap: 10px;
  }

  .cpm-footer__form input {
    width: 100%;
  }

  .cpm-footer__form button {
    padding: 0 14px;
    white-space: nowrap;
  }

  .cpm-footer__grid {
    grid-template-columns: 1fr;
    gap: 30px;
    padding: 36px 0;
  }

  .cpm-footer__bottom {
    align-items: flex-start;
    flex-direction: column;
    padding-bottom: 22px;
  }

  .cpm-mobile-dock {
    position: fixed;
    z-index: 40;
    right: 0;
    bottom: 0;
    left: 0;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    border-top: 1px solid var(--cpm-border);
    background: rgba(255, 255, 255, 0.96);
    box-shadow: var(--cpm-shadow-dock);
    padding-bottom: env(safe-area-inset-bottom);
    backdrop-filter: blur(14px);
  }

  .cpm-mobile-dock a {
    display: grid;
    gap: 2px;
    justify-items: center;
    color: #64748b;
    font-size: 12px;
    font-weight: 600;
    line-height: 1.1;
    padding: 8px 4px 9px;
    text-decoration: none;
  }

  .cpm-mobile-dock span {
    color: var(--cpm-purple);
    font-size: 18px;
    line-height: 1;
  }
}

/* Agenda page: editable WordPress calendar list fed by actividad CPT. */
.cpm-agenda-page .cpm-section {
  padding-top: 42px;
}

.cpm-agenda-list {
  display: grid;
  gap: 0;
  border-top: 1px solid var(--cpm-border);
}

.cpm-agenda-list__item {
  display: grid;
  grid-template-columns: 150px minmax(0, 1fr) 170px;
  gap: 24px;
  align-items: center;
  padding: 24px 0;
  border-bottom: 1px solid var(--cpm-border);
}

.cpm-agenda-list__image {
  display: block;
  overflow: hidden;
  border-radius: 8px;
  background: var(--cpm-gray);
}

.cpm-agenda-list__image img {
  width: 100%;
  height: 92px;
  object-fit: cover;
}

.cpm-agenda-list__content p {
  margin: 0 0 8px;
  color: var(--cpm-blue);
  font-size: 16px;
  font-weight: 700;
}

.cpm-agenda-list__content h2 {
  margin: 0 0 8px;
  color: var(--cpm-ink);
  font-size: 21px;
  line-height: 1.22;
}

.cpm-agenda-list__content h2 a {
  color: inherit;
}

.cpm-agenda-list__content span {
  color: #475569;
  font-size: 16px;
  line-height: 1.55;
}

.cpm-agenda-list__date {
  display: grid;
  gap: 8px;
  justify-items: end;
  color: #64748b;
  font-size: 16px;
}

.cpm-agenda-list__date strong {
  color: var(--cpm-green);
  font-size: 18px;
  line-height: 1.05;
  text-transform: uppercase;
}

.cpm-agenda-list__date a {
  color: var(--cpm-blue);
  font-weight: 700;
}

@media (max-width: 760px) {
  .cpm-agenda-page .cpm-catalog-head h1 {
    font-size: 30px;
    line-height: 1.2;
  }

  .cpm-agenda-list__item {
    grid-template-columns: 1fr;
    gap: 14px;
  }

  .cpm-agenda-list__image img {
    height: 170px;
  }

  .cpm-agenda-list__date {
    justify-items: start;
  }
}

/* VNext: editorial news archive and post singles parity. */
.cpm-news-page--editorial {
  background: var(--cpm-bg);
}

.cpm-news-hero {
  border-bottom: 1px solid var(--cpm-border);
  background: #fff;
}

.cpm-news-hero__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(380px, 0.76fr);
  gap: 56px;
  align-items: center;
  padding: 64px 0 72px;
}

.cpm-news-hero__label {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 22px;
}

.cpm-news-hero__label .cpm-eyebrow {
  margin: 0;
}

.cpm-news-hero__icon {
  display: inline-grid;
  width: 48px;
  height: 48px;
  place-items: center;
  border-radius: 8px;
  background: color-mix(in srgb, var(--cpm-purple) 10%, white);
  color: var(--cpm-purple);
}

.cpm-news-hero__icon svg {
  width: 23px;
  height: 23px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
}

.cpm-news-hero h1 {
  max-width: 680px;
  margin: 0;
  color: var(--cpm-ink);
  font-size: 48px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0;
  text-wrap: balance;
}

.cpm-news-hero__copy > p:not(.cpm-eyebrow) {
  max-width: 690px;
  margin: 22px 0 0;
  color: #475569;
  font-size: 19px;
  line-height: 1.62;
}

.cpm-news-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 28px;
}

.cpm-news-hero__media {
  display: block;
  overflow: hidden;
  border-radius: 8px;
  background: color-mix(in srgb, var(--cpm-purple) 8%, white);
  box-shadow: 0 24px 70px rgba(15, 23, 42, 0.08);
}

.cpm-news-hero__media img {
  width: 100%;
  height: 260px;
  object-fit: cover;
}

.cpm-news-archive {
  padding: 66px 0 80px;
}

.cpm-news-archive__head {
  display: grid;
  grid-template-columns: minmax(0, 0.95fr) minmax(320px, 0.78fr);
  gap: 48px;
  align-items: end;
  border-bottom: 1px solid var(--cpm-border);
  padding-bottom: 28px;
}

.cpm-news-archive__head h2 {
  max-width: 660px;
  margin: 0;
  color: var(--cpm-ink);
  font-size: 40px;
  font-weight: 700;
  line-height: 1.1;
  letter-spacing: 0;
}

.cpm-news-archive__head p:not(.cpm-eyebrow) {
  max-width: 690px;
  margin: 14px 0 0;
  color: #475569;
  font-size: 18px;
  line-height: 1.62;
}

.cpm-news-search {
  display: grid;
  grid-template-columns: 24px minmax(0, 1fr);
  gap: 12px;
  align-items: center;
  min-height: 50px;
  border: 1px solid var(--cpm-border);
  border-radius: 8px;
  background: #fff;
  padding: 0 16px;
}

.cpm-news-search svg {
  width: 22px;
  height: 22px;
  fill: none;
  stroke: #94a3b8;
  stroke-width: 2;
}

.cpm-news-search input {
  min-width: 0;
  border: 0;
  background: transparent;
  color: var(--cpm-ink);
  font: inherit;
  font-size: 16px;
  outline: 0;
}

.cpm-news-cats {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 24px 0 34px;
}

.cpm-news-cats a {
  display: inline-flex;
  min-height: 40px;
  align-items: center;
  border-radius: 8px;
  background: #e5e7eb;
  color: #334155;
  padding: 0 16px;
  font-size: 16px;
  font-weight: 700;
  text-decoration: none;
  transition: background 160ms ease, color 160ms ease, transform 160ms ease;
}

.cpm-news-cats a.is-active {
  background: var(--cpm-purple);
  color: #fff;
}

@media (hover: hover) {
  .cpm-news-cats a:hover {
    background: color-mix(in srgb, var(--cpm-purple) 12%, #e5e7eb);
    color: var(--cpm-purple);
    transform: translateY(-1px);
  }

  .cpm-news-cats a.is-active:hover {
    background: var(--cpm-purple);
    color: #fff;
  }
}

.cpm-news-list {
  display: grid;
  border-top: 1px solid var(--cpm-border);
  border-bottom: 1px solid var(--cpm-border);
}

.cpm-news-list .cpm-post-row {
  grid-template-columns: 132px minmax(0, 1fr) 128px;
}

.cpm-post-backbar {
  border-bottom: 1px solid var(--cpm-border);
  background: #fff;
}

.cpm-post-backbar .cpm-container {
  padding-top: 22px;
  padding-bottom: 22px;
}

.cpm-post-backbar a {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  color: var(--cpm-blue);
  font-size: 16px;
  font-weight: 700;
  text-decoration: none;
}

.cpm-post-single__intro h1,
.cpm-post-single__top h1 {
  max-width: 820px;
}

.cpm-post-single__grid {
  grid-template-columns: minmax(0, 760px) minmax(260px, 300px);
  gap: 32px;
}

.cpm-post-sidebox {
  border-color: color-mix(in srgb, var(--cpm-border) 82%, transparent);
  border-radius: 8px;
}

@media (max-width: 900px) {
  .cpm-news-hero__grid {
    grid-template-columns: 1fr;
    gap: 24px;
    padding: 34px 0 40px;
  }

  .cpm-news-hero__icon {
    width: 42px;
    height: 42px;
  }

  .cpm-news-hero__label {
    margin-bottom: 18px;
  }

  .cpm-news-hero h1 {
    font-size: 36px;
    line-height: 1.1;
    letter-spacing: 0;
  }

  .cpm-news-hero__copy > p:not(.cpm-eyebrow) {
    font-size: 17px;
    line-height: 1.56;
  }

  .cpm-news-hero__media {
    display: none;
  }

  .cpm-news-archive {
    padding: 36px 0 calc(86px + env(safe-area-inset-bottom));
  }

  .cpm-news-archive__head {
    grid-template-columns: 1fr;
    gap: 18px;
    padding-bottom: 20px;
  }

  .cpm-news-archive__head h2 {
    font-size: 28px;
    line-height: 1.16;
  }

  .cpm-news-cats {
    flex-wrap: wrap;
    overflow: visible;
    margin: 18px 0 22px;
    padding: 0;
  }

  .cpm-news-cats a {
    min-height: 36px;
    white-space: normal;
  }

  .cpm-news-list .cpm-post-row,
  .cpm-post-row {
    grid-template-columns: 82px minmax(0, 1fr);
    gap: 14px;
    align-items: start;
    padding: 18px 0;
  }

  .cpm-post-row__image,
  .cpm-post-row__image--empty {
    width: 82px;
    min-height: 82px;
  }

  .cpm-post-row__image img {
    height: 82px;
    aspect-ratio: 1 / 1;
  }

  .cpm-post-row h2,
  .cpm-post-row h3 {
    font-size: 18px;
    line-height: 1.22;
  }

  .cpm-post-row__content > p:not(.cpm-post-row__category) {
    display: -webkit-box;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    margin-top: 6px;
    font-size: 16px;
    line-height: 1.45;
  }

  .cpm-post-row__meta {
    grid-column: 2;
    display: flex;
    flex-wrap: wrap;
    gap: 10px 14px;
    align-items: center;
  }

  .cpm-post-row__link {
    min-height: auto;
    margin-top: 0;
    border: 0;
    padding: 0;
    color: var(--cpm-blue);
  }

  .cpm-post-backbar .cpm-container {
    padding-top: 20px;
    padding-bottom: 20px;
  }

  .cpm-post-single__intro h1,
  .cpm-post-single__top h1 {
    max-width: none;
  }

  .cpm-post-single__grid {
    grid-template-columns: 1fr;
    gap: 24px;
  }

  .cpm-post-single__body {
    padding-bottom: calc(96px + env(safe-area-inset-bottom));
  }
}

/* V10030 visual parity: tighten only the screens that still drift from the public reference. */
.cpm-header .cpm-login-link,
.cpm-header .cpm-actions .cpm-button {
  gap: 8px;
}

.cpm-header .cpm-login-link svg,
.cpm-header .cpm-actions .cpm-button svg {
  width: 16px;
  height: 16px;
  flex: 0 0 auto;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
}

.cpm-institutional-list a {
  grid-template-columns: 40px minmax(0, 1fr);
  align-items: center;
  gap: 16px;
}

.cpm-institutional-list i {
  display: inline-flex;
  width: 40px;
  height: 40px;
  align-items: center;
  justify-content: center;
  border-radius: 10px;
  background: color-mix(in srgb, var(--cpm-purple) 8%, white);
  color: var(--cpm-purple);
  font-style: normal;
}

.cpm-institutional-list i svg {
  width: 20px;
  height: 20px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
}

.cpm-institutional-list a > span {
  display: grid;
  gap: 3px;
}

.cpm-institutional-list em {
  color: var(--cpm-muted);
  font-size: 16px;
  font-style: normal;
  line-height: 1.45;
}

.cpm-course-catalog-grid .cpm-course-card p {
  -webkit-line-clamp: 3;
}

.cpm-filter-bar .cpm-container {
  padding-top: 8px;
  padding-bottom: 10px;
}

.cpm-course-card__meta {
  gap: 6px;
}

.cpm-contact-directory__heading h2 {
  font-size: 32px;
  line-height: 1.16;
}

.cpm-contact-directory dl {
  gap: 18px 28px;
}

.cpm-contact-directory dd {
  overflow-wrap: anywhere;
}

.cpm-contact-directory__icon {
  display: inline-flex;
  width: 36px;
  height: 36px;
  align-items: center;
  justify-content: center;
  border-radius: 9px;
  background: color-mix(in srgb, var(--cpm-purple) 8%, white);
  color: var(--cpm-purple);
}

.cpm-contact-directory__icon svg {
  width: 20px;
  height: 20px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
}

.cpm-contact-directory__item {
  gap: 16px;
}

.cpm-contact-directory dl {
  gap: 8px;
}

.cpm-contact-directory dl dd {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin: 0;
  color: #475569;
  line-height: 1.35;
}

.cpm-contact-directory dl dd svg {
  width: 16px;
  height: 16px;
  flex: 0 0 auto;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  color: #64748b;
}

@media (max-width: 900px) {
  .cpm-course-catalog-grid .cpm-course-card__body {
    gap: 12px;
    padding: 18px 20px 16px;
  }

  .cpm-course-catalog-grid .cpm-course-card p {
    -webkit-line-clamp: 3;
    line-height: 1.45;
  }

  .cpm-contact-directory__heading h2 {
    font-size: 24px;
  }
}

/* V10040: WordPress parity calibration. Keep UI26 richness, remove excess visual weight. */
:root {
  --cpm-weight-display: 650;
  --cpm-weight-title: 620;
  --cpm-weight-strong: 560;
}

.cpm-ui26-hero h1,
.cpm-title,
.cpm-section__title,
.cpm-news-hero h1,
.cpm-post-single__intro h1,
.cpm-post-single__top h1,
.cpm-prof-single__hero h1,
.cpm-activity-single h1,
.cpm-contact-hero h1 {
  font-weight: var(--cpm-weight-display);
}

.cpm-nav,
.cpm-nav a,
.cpm-button,
.cpm-login-link,
.cpm-search-trigger,
.cpm-ui26-search button,
.cpm-ui26-quick strong,
.cpm-ui26-service h3,
.cpm-service-card h3,
.cpm-tramite-card h2,
.cpm-tramite-card h3,
.cpm-course-catalog-grid .cpm-course-card h2,
.cpm-post-row h2,
.cpm-post-row h3,
.cpm-institutional-list strong,
.cpm-contact-directory__heading h2,
.cpm-contact-directory dt,
.cpm-contact-actions h2 {
  font-weight: var(--cpm-weight-strong);
}

.cpm-eyebrow,
.cpm-archive-head__eyebrow,
.cpm-ui26-kicker p,
.cpm-post-single__eyebrow,
.cpm-news-hero__label {
  font-weight: var(--cpm-weight-strong);
}

.cpm-header .cpm-nav a {
  font-weight: 560;
}

.cpm-header .cpm-nav a:not(.is-active):hover {
  background: color-mix(in srgb, var(--cpm-purple) 7%, white);
  color: var(--cpm-purple);
}

.cpm-header .cpm-nav a.is-active {
  background: color-mix(in srgb, var(--cpm-purple) 8%, white);
  color: var(--cpm-purple);
}

.cpm-ui26-quick {
  border-radius: 8px;
  box-shadow: 0 12px 30px rgba(15, 23, 42, 0.06);
}

.cpm-ui26-quick__item {
  min-height: 112px;
}

.cpm-ui26-quick__item:hover {
  background: color-mix(in srgb, var(--cpm-purple) 4%, white);
}

.cpm-contact-directory__heading h2 {
  font-size: 26px;
  line-height: 1.18;
}

.cpm-contact-directory__item {
  border-color: color-mix(in srgb, var(--cpm-border) 72%, transparent);
}

.cpm-contact-directory dd,
.cpm-contact-directory dl dd {
  word-break: normal;
  overflow-wrap: break-word;
  font-weight: 400;
}

.cpm-course-catalog-grid .cpm-course-card,
.psicole-directory--ui26 .psicole-prof-card,
.cpm-tramite-card,
.cpm-post-sidebox,
.cpm-post-single__article,
.cpm-profile-card {
  border-color: color-mix(in srgb, var(--cpm-border) 74%, transparent);
}

.cpm-course-catalog-grid .cpm-course-card__footer,
.psicole-directory--ui26 .psicole-prof-card__link,
.cpm-profile-card hr,
.cpm-post-sidebox li + li {
  border-color: color-mix(in srgb, var(--cpm-border) 70%, transparent);
}

@media (max-width: 900px) {
  .cpm-ui26-hero h1,
  .cpm-title,
  .cpm-news-hero h1,
  .cpm-post-single__intro h1,
  .cpm-post-single__top h1,
  .cpm-prof-single__hero h1,
  .cpm-activity-single h1 {
    font-weight: var(--cpm-weight-display);
  }

  .cpm-ui26-kicker p {
    font-weight: var(--cpm-weight-strong);
  }

  .cpm-contact-directory__heading h2 {
    font-size: 24px;
  }
}

/* V10041: parity refinements for dense catalog cards and mobile hero search. */
@media (min-width: 901px) {
  .cpm-course-catalog-grid .cpm-course-card p {
    -webkit-line-clamp: 3;
  }
}

@media (max-width: 520px) {
  .cpm-ui26-search input {
    font-size: 16px;
    padding-right: 104px;
  }

  .cpm-ui26-search input::placeholder {
    font-size: 16px;
  }
}

/* V10042: strict UI polish pass.
   Keep the V10000 layout, but normalize the heavy WordPress headings and dense metadata
   that made local pages feel less refined than the public reference. */
.cpm-catalog-head h1,
.cpm-agenda-page .cpm-catalog-head h1,
.cpm-activity-single h1,
.cpm-activity-cover h1,
.cpm-post-single__intro h1,
.cpm-post-single__top h1,
.cpm-prof-single__hero h1,
.cpm-news-hero h1,
.cpm-contact-hero h1 {
  font-weight: var(--cpm-weight-display);
}

.cpm-catalog-head__grid {
  gap: 14px;
}

.cpm-catalog-head__icon {
  border-radius: 10px;
}

.cpm-catalog-head p,
.cpm-archive-head p:not(.cpm-archive-head__eyebrow),
.cpm-activity-single__lede,
.cpm-activity-summary p,
.cpm-activity-single__lead,
.cpm-contact-actions p,
.cpm-contact-directory__heading h2 + p {
  font-weight: 400;
}

.cpm-tramites-title,
.cpm-agenda-board h2,
.cpm-agenda-event h3,
.cpm-agenda-course strong,
.cpm-activity-single__panel h2,
.cpm-activity-detail-section h2,
.cpm-activity-speakers h3,
.cpm-contact-actions h2,
.cpm-contact-directory__heading h2,
.cpm-course-catalog-grid .cpm-course-card h2,
.cpm-course-catalog-grid .cpm-course-card h3,
.cpm-post-row h2,
.cpm-post-row h3 {
  font-weight: var(--cpm-weight-title);
}

.cpm-tramite-card__top strong,
.cpm-tramite-card__cta,
.cpm-post-row__category,
.cpm-post-row__link,
.cpm-content a,
.cpm-post-single__article a,
.cpm-activity-single__article a,
.cpm-news-cats a,
.cpm-post-backbar a,
.cpm-post-sidebox > a,
.cpm-post-sidebox--related span,
.cpm-course-card__badge,
.cpm-course-card__capacity,
.cpm-course-catalog-grid .cpm-course-card__footer strong,
.cpm-course-catalog-grid .cpm-course-card__footer a,
.cpm-agenda-event time strong,
.cpm-agenda-event p span,
.cpm-agenda-course > span,
.cpm-activity-single__chips span,
.cpm-activity-cover__kicker,
.cpm-activity-cover__meta span,
.cpm-activity-single__panel dt,
.cpm-activity-single__panel dd,
.cpm-activity-single__panel > a,
.cpm-activity-mobile-facts dt,
.cpm-activity-mobile-facts dd,
.cpm-activity-mobile-facts__cta span,
.cpm-activity-mobile-facts__cta a,
.cpm-contact-directory__heading p,
.cpm-contact-directory__heading a,
.cpm-contact-actions a,
.cpm-contact-directory dt,
.cpm-filter-count {
  font-weight: var(--cpm-weight-strong);
}

.cpm-tramite-card p,
.cpm-tramite-card li,
.cpm-course-catalog-grid .cpm-course-card p,
.cpm-course-card__meta-row span,
.cpm-post-row p,
.cpm-contact-directory dd,
.cpm-contact-directory dl dd,
.cpm-agenda-event address,
.cpm-agenda-event p small,
.cpm-agenda-course small {
  font-weight: 400;
}

.cpm-tramite-card p,
.cpm-tramite-card li,
.cpm-tramite-card__cta,
.cpm-post-row__link,
.cpm-course-catalog-grid .cpm-course-card__footer a,
.cpm-contact-directory__heading a,
.cpm-contact-actions a {
  font-size: 16px;
}

.cpm-post-row__category,
.cpm-course-card__badge,
.cpm-course-card__capacity,
.cpm-activity-cover__kicker,
.cpm-activity-single__chips span,
.cpm-activity-cover__meta span,
.cpm-verified-badge,
.cpm-chip-row span {
  letter-spacing: 0;
}

.cpm-verified-badge {
  font-size: 13px;
  font-weight: 500;
}

.cpm-chip-row span {
  font-size: 14px;
  font-weight: 500;
}

.cpm-tramite-card,
.cpm-course-catalog-grid .cpm-course-card,
.cpm-agenda-event,
.cpm-agenda-course,
.cpm-contact-directory__item,
.cpm-post-row,
.cpm-post-single__article,
.cpm-post-sidebox,
.cpm-profile-card,
.cpm-activity-single__panel {
  box-shadow: none;
}

@media (hover: hover) {
  .cpm-tramite-card:hover,
  .cpm-course-catalog-grid .cpm-course-card:hover,
  .cpm-agenda-event:hover,
  .cpm-agenda-course:hover,
  .cpm-contact-directory__heading a:hover,
  .cpm-contact-actions a:hover,
  .cpm-post-row__link:hover {
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.045);
  }
}

/* V10043: close remaining visual gaps in formation archive and activity singles. */
.cpm-activity-single__top .cpm-container {
  padding-bottom: 18px;
}

.cpm-activity-single__body {
  padding-top: 18px;
}

.cpm-activity-single__content-grid {
  max-width: 1120px;
  grid-template-columns: minmax(0, 1fr) 320px;
  gap: 32px;
  align-items: start;
}

.cpm-activity-cover {
  margin-bottom: 0;
}

.cpm-activity-cover img {
  max-height: 360px;
}

.cpm-activity-single__article {
  display: grid;
  gap: 20px;
}

.cpm-activity-detail-section {
  margin: 0;
}

.cpm-activity-detail-section h2 {
  margin-bottom: 10px;
}

.cpm-activity-single__panel {
  margin-top: 2px;
  position: sticky;
  top: 134px;
}

.cpm-activity-single__panel dl {
  grid-template-columns: 1fr;
  gap: 12px;
}

.cpm-activity-single__panel > a {
  grid-column: 1 / -1;
  justify-self: stretch;
  min-width: 0;
  width: 100%;
  white-space: normal;
}

.cpm-course-catalog-grid .cpm-course-card__image img {
  aspect-ratio: 16 / 8.35;
}

.cpm-course-catalog-grid .cpm-course-card__body {
  gap: 9px;
  padding: 16px 18px 12px;
}

.cpm-course-catalog-grid .cpm-course-card h2 {
  font-size: 18px;
  line-height: 1.18;
}

.cpm-course-catalog-grid .cpm-course-card p {
  -webkit-line-clamp: 2;
  line-height: 1.38;
}

.cpm-course-card__meta {
  gap: 5px;
}

.cpm-course-card__meta-row {
  line-height: 1.2;
}

.cpm-course-catalog-grid .cpm-course-card__footer {
  min-height: 54px;
  padding: 10px 18px 12px;
}

@media (max-width: 900px) {
  .cpm-activity-single__top .cpm-container {
    padding-bottom: 0;
  }

  .cpm-activity-single__body {
    padding-top: 14px;
  }

  .cpm-activity-single__content-grid {
    grid-template-columns: 1fr;
    gap: 18px;
  }

  .cpm-activity-single__panel {
    position: static;
  }

  .cpm-activity-single .cpm-activity-cover {
    margin-top: 18px;
  }

  .cpm-activity-cover img {
    max-height: 174px;
  }

  .cpm-activity-single__article {
    gap: 16px;
  }

  .cpm-course-catalog-grid .cpm-course-card__image img {
    aspect-ratio: 16 / 8.6;
  }

  .cpm-course-catalog-grid .cpm-course-card__body {
    gap: 8px;
    padding: 14px 18px 10px;
  }

  .cpm-course-catalog-grid .cpm-course-card p {
    -webkit-line-clamp: 2;
  }

  .cpm-catalog-body {
    padding-bottom: 92px;
  }
}

/* V10044: typography and alignment parity.
   The public reference relies on Inter with tight display tracking and quieter weights.
   This pass keeps the current WordPress structure but removes the inflated, default-like feel. */
:root {
  --cpm-weight-display: 650;
  --cpm-weight-title: 620;
  --cpm-weight-strong: 560;
  --cpm-track-display: -0.025em;
  --cpm-track-title: -0.018em;
}

html {
  font-synthesis-weight: none;
}

.cpm-ui26-hero h1,
.cpm-title,
.cpm-archive-head h1,
.cpm-archive-head--directory h1,
.cpm-catalog-head h1,
.cpm-news-hero h1,
.cpm-post-single__intro h1,
.cpm-post-single__top h1,
.cpm-post-single h1,
.cpm-prof-single h1,
.cpm-prof-single__hero h1,
.cpm-activity-single h1,
.cpm-activity-cover h1,
.cpm-login-panel h1,
.cpm-login-card h1,
.cpm-contact-hero h1,
.cpm-institutional-hero h1,
.cpm-section-hero h1 {
  font-weight: var(--cpm-weight-display);
  letter-spacing: var(--cpm-track-display);
  text-wrap: balance;
}

.cpm-section__title,
.cpm-news-archive__head h2,
.cpm-ui26-autogestion h2,
.cpm-ui26-directory-preview h2,
.cpm-ui26-final h2,
.cpm-institutional-final h2,
.cpm-institutional-split h2,
.cpm-contact-directory__heading h2,
.cpm-contact-actions h2 {
  font-weight: var(--cpm-weight-display);
  letter-spacing: var(--cpm-track-title);
  text-wrap: balance;
}

.cpm-section__title {
  font-size: 30px;
  line-height: 1.12;
}

.cpm-news-archive__head h2,
.cpm-ui26-autogestion h2,
.cpm-ui26-directory-preview h2,
.cpm-ui26-final h2,
.cpm-institutional-final h2,
.cpm-institutional-split h2 {
  font-size: 36px;
  line-height: 1.12;
}

.cpm-catalog-head h1,
.cpm-agenda-page .cpm-catalog-head h1 {
  font-size: 30px;
  line-height: 1.2;
  letter-spacing: var(--cpm-track-title);
}

.cpm-post-single__intro h1,
.cpm-post-single__top h1,
.cpm-prof-single__hero h1,
.cpm-activity-single h1,
.cpm-activity-cover h1 {
  letter-spacing: var(--cpm-track-title);
}

.cpm-button,
.cpm-login-link,
.cpm-search-trigger,
.cpm-ui26-search button,
.cpm-post-backbar a,
.cpm-tramite-card__cta,
.cpm-post-row__link,
.cpm-course-catalog-grid .cpm-course-card__footer a,
.cpm-contact-directory__heading a,
.cpm-contact-actions a {
  font-weight: var(--cpm-weight-strong);
}

.cpm-header .cpm-nav a,
.cpm-header .cpm-login-link,
.cpm-header .cpm-search-trigger,
.cpm-header .cpm-actions .cpm-button {
  font-weight: 600;
}

.cpm-header .cpm-nav a,
.cpm-header .cpm-nav a:hover,
.cpm-header .cpm-nav .current-menu-item > a,
.cpm-header .cpm-nav a.is-active {
  border: 0;
  box-shadow: none;
  text-decoration: none;
}

.cpm-header .cpm-nav a:focus-visible,
.cpm-button:focus-visible,
.cpm-login-link:focus-visible,
.cpm-search-trigger:focus-visible {
  outline: 2px solid color-mix(in srgb, var(--cpm-purple) 42%, transparent);
  outline-offset: 3px;
}

.cpm-ui26-quick strong,
.cpm-ui26-service h3,
.cpm-service-card h3,
.cpm-tramite-card h2,
.cpm-tramite-card h3,
.cpm-course-catalog-grid .cpm-course-card h2,
.cpm-course-catalog-grid .cpm-course-card h3,
.cpm-post-row h2,
.cpm-post-row h3,
.cpm-agenda-board h2,
.cpm-agenda-event h3,
.cpm-agenda-course strong,
.cpm-activity-single__panel h2,
.cpm-activity-detail-section h2,
.cpm-activity-speakers h3,
.cpm-institutional-final nav a,
.cpm-institutional-list strong {
  font-weight: var(--cpm-weight-title);
  letter-spacing: -0.01em;
}

.cpm-eyebrow,
.cpm-archive-head__eyebrow,
.cpm-ui26-kicker p,
.cpm-post-single__eyebrow,
.cpm-news-hero__label,
.cpm-news-hero__label .cpm-eyebrow,
.cpm-news-cats a,
.cpm-post-row__category,
.cpm-course-card__badge,
.cpm-course-card__capacity,
.cpm-activity-cover__kicker,
.cpm-activity-cover__meta span,
.cpm-activity-single__chips span,
.cpm-verified-badge,
.cpm-chip-row span,
.cpm-filter-count {
  font-weight: 500;
  letter-spacing: 0;
}

.cpm-verified-badge,
.cpm-chip-row span,
.cpm-activity-single__chips span {
  font-size: 14px;
  line-height: 1.25;
  padding: 6px 10px;
}

.cpm-ui26-quick small,
.cpm-ui26-news-card p,
.cpm-ui26-course p,
.cpm-ui26-course small,
.cpm-ui26-service p,
.cpm-tramite-card p,
.cpm-tramite-card li,
.cpm-course-catalog-grid .cpm-course-card p,
.cpm-course-card__meta-row span,
.cpm-post-row p,
.cpm-contact-directory dd,
.cpm-contact-directory dl dd,
.cpm-agenda-event address,
.cpm-agenda-event p small,
.cpm-agenda-course small,
.cpm-content p,
.cpm-post-single__article p,
.cpm-activity-single__article p {
  font-weight: 400;
  text-wrap: pretty;
}

.cpm-button:hover,
.cpm-login-link:hover,
.cpm-search-trigger:hover {
  box-shadow: 0 8px 20px rgba(15, 23, 42, 0.055);
}

.cpm-ui26-news-main p,
.cpm-ui26-news-secondary em {
  font-size: 16px;
}

@media (max-width: 900px) {
  .cpm-ui26-hero h1,
  .cpm-title,
  .cpm-news-hero h1,
  .cpm-post-single__intro h1,
  .cpm-post-single__top h1,
  .cpm-prof-single__hero h1,
  .cpm-activity-single h1,
  .cpm-activity-cover h1,
  .cpm-contact-hero h1,
  .cpm-institutional-hero h1,
  .cpm-section-hero h1 {
    letter-spacing: -0.022em;
  }

  .cpm-section__title,
  .cpm-news-archive__head h2,
  .cpm-ui26-autogestion h2,
  .cpm-ui26-directory-preview h2,
  .cpm-ui26-final h2,
  .cpm-institutional-final h2,
  .cpm-institutional-split h2 {
    font-size: 28px;
    line-height: 1.16;
  }
}

/* V10045: close exact heading parity gaps left by legacy-specific selectors. */
.cpm-section__title {
  font-size: 30px;
  line-height: 1.2;
  letter-spacing: -0.025em;
}

.cpm-institutional-split article > h2,
.cpm-history-wrap .cpm-section__title,
.cpm-faq-wrap .cpm-section__title,
.cpm-footer__newsletter h2 {
  font-size: 30px;
  line-height: 1.2;
  font-weight: var(--cpm-weight-display);
  letter-spacing: -0.025em;
}

.cpm-institutional-final h2,
.cpm-news-archive__head h2,
.cpm-contact-directory__heading h2 {
  font-size: 30px;
  line-height: 1.2;
  letter-spacing: -0.025em;
}

.cpm-catalog-head h2,
.cpm-tramites-title,
.cpm-profile-card h2,
.cpm-post-sidebox h2,
.cpm-activity-single__panel h2,
.cpm-activity-detail-section h2 {
  font-size: 20px;
  line-height: 1.35;
  font-weight: 620;
  letter-spacing: -0.012em;
}

@media (max-width: 900px) {
  .cpm-section__title,
  .cpm-institutional-split article > h2,
  .cpm-history-wrap .cpm-section__title,
  .cpm-faq-wrap .cpm-section__title,
  .cpm-footer__newsletter h2,
  .cpm-institutional-final h2,
  .cpm-news-archive__head h2,
  .cpm-contact-directory__heading h2 {
    font-size: 28px;
    line-height: 1.16;
  }
}

@media (max-width: 900px) {
  .cpm-formation-page .cpm-catalog-head h1 {
    font-size: 24px;
    line-height: 32px;
    font-weight: var(--cpm-weight-display);
    letter-spacing: 0;
  }
}

/* V10046: mobile polish from visual review. */
.cpm-course-card__capacity--available {
  border: 1px solid rgba(255, 255, 255, 0.28);
  background: rgba(15, 23, 42, 0.66);
  color: #fff;
  text-shadow: none;
  backdrop-filter: blur(10px);
}

@media (max-width: 900px) {
  .cpm-formation-page .cpm-catalog-body {
    padding-bottom: calc(132px + env(safe-area-inset-bottom));
  }

  .cpm-formation-page .cpm-course-catalog-grid .cpm-course-card:last-child {
    margin-bottom: 28px;
  }

  .cpm-formation-page .cpm-course-catalog-grid .cpm-course-card__image img {
    aspect-ratio: 16 / 6.4;
    min-height: 0;
  }
}

/* V10047: remove remaining mobile dock collision in course cards. */
@media (max-width: 900px) {
  .cpm-formation-page .cpm-course-catalog-grid .cpm-course-card__footer {
    min-height: 48px;
    padding: 8px 18px 10px;
  }

  .cpm-formation-page .cpm-course-catalog-grid .cpm-course-card__footer a {
    min-height: 34px;
  }
}

/* V10048: typographic restraint.
   Keep Inter as the PSICOLE/Colegio typeface, but remove the over-bold
   dashboard feel that WordPress accumulated through legacy selectors. */
:root {
  --cpm-weight-display: 620;
  --cpm-weight-title: 580;
  --cpm-weight-strong: 520;
  --cpm-weight-nav: 560;
  --cpm-weight-meta: 480;
}

body,
button,
input,
textarea,
select {
  font-family: Inter, "Inter Fallback", sans-serif;
}

.cpm-ui26-hero h1,
.cpm-title,
.cpm-catalog-head h1,
.cpm-news-hero h1,
.cpm-post-single__intro h1,
.cpm-post-single__top h1,
.cpm-prof-single__hero h1,
.cpm-activity-single h1,
.cpm-activity-cover h1,
.cpm-contact-hero h1,
.cpm-institutional-hero h1,
.cpm-section-hero h1 {
  font-weight: var(--cpm-weight-display);
}

.cpm-section__title,
.cpm-news-archive__head h2,
.cpm-ui26-autogestion h2,
.cpm-ui26-directory-preview h2,
.cpm-ui26-final h2,
.cpm-institutional-final h2,
.cpm-institutional-split h2,
.cpm-institutional-split article > h2,
.cpm-history-wrap .cpm-section__title,
.cpm-faq-wrap .cpm-section__title,
.cpm-footer__newsletter h2,
.cpm-contact-directory__heading h2,
.cpm-contact-actions h2,
.cpm-catalog-head h2,
.cpm-tramites-title,
.cpm-profile-card h2,
.cpm-post-sidebox h2,
.cpm-activity-single__panel h2,
.cpm-activity-detail-section h2 {
  font-weight: var(--cpm-weight-title);
}

.cpm-ui26-quick strong,
.cpm-ui26-service h3,
.cpm-service-card h3,
.cpm-tramite-card h2,
.cpm-tramite-card h3,
.cpm-course-catalog-grid .cpm-course-card h2,
.cpm-course-catalog-grid .cpm-course-card h3,
.cpm-post-row h2,
.cpm-post-row h3,
.cpm-agenda-board h2,
.cpm-agenda-event h3,
.cpm-agenda-course strong,
.cpm-activity-speakers h3,
.cpm-institutional-final nav a,
.cpm-institutional-list strong,
.cpm-profile-card strong,
.cpm-post-single__article strong,
.cpm-activity-single__article strong {
  font-weight: var(--cpm-weight-strong);
}

.cpm-header .cpm-nav a,
.cpm-header .cpm-login-link,
.cpm-header .cpm-search-trigger,
.cpm-header .cpm-actions .cpm-button,
.cpm-button,
.cpm-login-link,
.cpm-search-trigger,
.cpm-ui26-search button,
.cpm-post-backbar a,
.cpm-tramite-card__cta,
.cpm-post-row__link,
.cpm-course-catalog-grid .cpm-course-card__footer a,
.cpm-contact-directory__heading a,
.cpm-contact-actions a {
  font-weight: var(--cpm-weight-nav);
}

.cpm-eyebrow,
.cpm-archive-head__eyebrow,
.cpm-ui26-kicker p,
.cpm-post-single__eyebrow,
.cpm-news-hero__label,
.cpm-news-hero__label .cpm-eyebrow,
.cpm-news-cats a,
.cpm-post-row__category,
.cpm-course-card__badge,
.cpm-course-card__capacity,
.cpm-activity-cover__kicker,
.cpm-activity-cover__meta span,
.cpm-activity-single__chips span,
.cpm-verified-badge,
.cpm-chip-row span,
.cpm-filter-count,
.cpm-profile-card__eyebrow,
.cpm-profile-facts dt,
.cpm-contact-item small {
  font-weight: var(--cpm-weight-meta);
}

/* V10053: WordPress parity guard for the PSICOLE directory.
   The theme owns final visual integration, so this layer intentionally wins
   over historical connector overrides without changing plugin data behavior. */
.psicole-directory--ui26 {
  --psicole-card-border: #dfe5ee;
  --psicole-card-muted: #52627a;
}

.psicole-directory--ui26 .psicole-directory__filters {
  grid-template-columns: minmax(320px, 1fr) minmax(150px, 200px) minmax(170px, 230px);
  gap: 12px;
  max-width: 100%;
}

.psicole-directory--ui26 input,
.psicole-directory--ui26 select,
.psicole-directory--ui26 .psicole-directory__meta,
.psicole-directory__pagination span,
.psicole-directory__pagination button {
  font-size: 16px;
  line-height: 1.35;
}

.psicole-directory--ui26 input,
.psicole-directory--ui26 select {
  min-height: 44px;
}

.psicole-directory--ui26 .psicole-directory__meta {
  color: var(--psicole-card-muted);
}

.psicole-directory--ui26 .psicole-directory__meta strong {
  font-size: 16px;
  color: var(--psicole-ink, #0f172a);
}

.psicole-directory--ui26 .psicole-directory__grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
}

.psicole-directory--ui26 .psicole-prof-card {
  min-width: 0;
  min-height: 232px;
  padding: 18px;
  border-color: var(--psicole-card-border);
  box-shadow: 0 10px 24px rgba(15, 30, 49, 0.045);
}

.psicole-directory--ui26 .psicole-prof-card__head {
  align-items: flex-start;
  gap: 12px;
}

.psicole-directory--ui26 .psicole-prof-card__avatar {
  width: 48px;
  height: 48px;
  border-radius: 16px;
  font-size: 17px;
  flex: 0 0 48px;
}

.psicole-directory--ui26 .psicole-prof-card h3,
.psicole-directory--ui26 .psicole-prof-card__title {
  display: block;
  min-height: 0;
  overflow: visible;
  -webkit-line-clamp: unset;
  -webkit-box-orient: initial;
  font-size: 16px;
  line-height: 1.2;
  overflow-wrap: anywhere;
}

.psicole-directory--ui26 .psicole-prof-card h3 a {
  color: inherit;
  text-decoration: none;
}

.psicole-directory--ui26 .psicole-prof-card__head p,
.psicole-directory--ui26 .psicole-prof-card__facts,
.psicole-directory--ui26 .psicole-prof-card__facts dd {
  font-size: 14px;
  line-height: 1.38;
  color: var(--psicole-card-muted);
}

.psicole-directory--ui26 .psicole-prof-card__verified,
.psicole-directory--ui26 .psicole-prof-card__tags span {
  font-size: 13px;
  line-height: 1.2;
  white-space: normal;
}

.psicole-directory--ui26 .psicole-prof-card__actions {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-top: auto;
  padding-top: 14px;
  border-top: 1px solid #e8edf4;
}

.psicole-directory--ui26 .psicole-prof-card__contact,
.psicole-directory--ui26 .psicole-prof-card__link {
  min-height: 38px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 10px;
  font-size: 14px;
  line-height: 1.2;
  white-space: nowrap;
}

.psicole-directory--ui26 .psicole-prof-card__contact {
  padding: 0 14px;
  border: 1px solid var(--psicole-card-border);
  color: var(--psicole-purple, #421e6d);
  background: #fff;
}

.psicole-directory--ui26 .psicole-prof-card__link {
  padding: 0 4px;
  color: var(--psicole-purple, #421e6d);
  background: transparent;
}

.psicole-directory--ui26 .psicole-prof-card__contact:hover,
.psicole-directory--ui26 .psicole-prof-card__contact:focus-visible,
.psicole-directory--ui26 .psicole-prof-card__link:hover,
.psicole-directory--ui26 .psicole-prof-card__link:focus-visible,
.psicole-directory--ui26 .psicole-prof-card h3 a:hover,
.psicole-directory--ui26 .psicole-prof-card h3 a:focus-visible {
  color: #35145f;
  border-color: rgba(66, 30, 109, 0.28);
  text-decoration: none;
}

@media (max-width: 1180px) {
  .psicole-directory--ui26 .psicole-directory__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 900px) {
  .psicole-directory--ui26 .psicole-directory__filters {
    grid-template-columns: 1fr;
  }

  .psicole-directory--ui26 .psicole-directory__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 560px) {
  .psicole-directory--ui26 .psicole-directory__grid {
    grid-template-columns: 1fr;
  }

  .psicole-directory--ui26 .psicole-prof-card {
    min-height: 0;
    padding: 16px;
  }

  .psicole-directory--ui26 .psicole-prof-card__actions {
    flex-wrap: wrap;
  }

  .psicole-directory--ui26 .psicole-prof-card__contact,
  .psicole-directory--ui26 .psicole-prof-card__link {
    flex: 1 1 auto;
  }
}

/* V10054: final parity guard.
   Keep WordPress editable templates, but stop late legacy layers from making
   the UI heavier than the approved public reference. */
:root {
  --cpm-weight-display: 650;
  --cpm-weight-title: 620;
  --cpm-weight-strong: 560;
  --cpm-weight-meta: 500;
  --cpm-track-display: -0.018em;
  --cpm-track-title: 0;
}

html,
body {
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-synthesis: none;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

.cpm-header {
  border-bottom: 0;
  box-shadow: none;
}

.cpm-header .cpm-nav a,
.cpm-header .cpm-login-link,
.cpm-header .cpm-search-trigger,
.cpm-header .cpm-actions .cpm-button {
  border: 0;
  box-shadow: none;
  font-weight: 560;
  letter-spacing: 0;
  text-decoration: none;
}

.cpm-header .cpm-nav a::after,
.cpm-header .cpm-nav a::before {
  display: none;
}

.cpm-header .cpm-nav a.is-active,
.cpm-header .cpm-nav .current-menu-item > a {
  background: #f1eef5;
  color: var(--cpm-purple);
  box-shadow: none;
}

.cpm-header .cpm-nav a:hover,
.cpm-header .cpm-nav a:focus-visible {
  background: #f8fafc;
  color: var(--cpm-purple);
}

.cpm-ui26-hero h1,
.cpm-title,
.cpm-section-hero h1,
.cpm-institutional-hero h1,
.cpm-contact-hero h1 {
  font-weight: var(--cpm-weight-display);
  letter-spacing: var(--cpm-track-display);
}

.cpm-catalog-head h1,
.cpm-archive-head h1,
.cpm-post-single__intro h1,
.cpm-post-single__top h1,
.cpm-prof-single__hero h1,
.cpm-activity-single h1,
.cpm-activity-cover h1,
.cpm-login-card h1,
.cpm-login-panel h1 {
  font-weight: var(--cpm-weight-display);
  letter-spacing: 0;
}

.cpm-section__title,
.cpm-news-archive__head h2,
.cpm-ui26-autogestion h2,
.cpm-ui26-directory-preview h2,
.cpm-ui26-final h2,
.cpm-institutional-final h2,
.cpm-institutional-split h2,
.cpm-contact-directory__heading h2,
.cpm-contact-actions h2,
.cpm-catalog-head h2,
.cpm-tramites-title,
.cpm-profile-card h2,
.cpm-post-sidebox h2,
.cpm-activity-single__panel h2,
.cpm-activity-detail-section h2 {
  font-weight: var(--cpm-weight-title);
  letter-spacing: 0;
}

.cpm-tramite-card p {
  font-size: 14px;
  line-height: 1.45;
}

.cpm-tramite-card li,
.cpm-tramite-card small {
  font-size: 13px;
  line-height: 1.45;
}

.cpm-tramite-card__cta {
  font-size: 14px;
  font-weight: 600;
}

.psicole-directory--ui26 {
  --psicole-card-border: #e2e8f0;
  --psicole-card-muted: #64748b;
}

.psicole-directory--ui26 .psicole-directory__filters {
  grid-template-columns: minmax(280px, 1fr) 180px 220px;
  gap: 12px;
}

.psicole-directory--ui26 input,
.psicole-directory--ui26 select {
  min-height: 44px;
  border-radius: 6px;
  font-size: 14px;
  font-weight: 400;
  letter-spacing: 0;
}

.psicole-directory--ui26 .psicole-directory__meta,
.psicole-directory--ui26 .psicole-directory__pagination span,
.psicole-directory--ui26 .psicole-directory__pagination button {
  font-size: 12px;
  line-height: 1.3;
}

.psicole-directory--ui26 .psicole-directory__meta strong {
  font-size: 14px;
  font-weight: 600;
}

.psicole-directory--ui26 .psicole-directory__grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
}

.psicole-directory--ui26 .psicole-prof-card {
  min-height: 260px;
  border-color: var(--psicole-card-border);
  border-radius: 8px;
  padding: 20px;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.05);
}

.psicole-directory--ui26 .psicole-prof-card:hover {
  border-color: #cbd5e1;
  box-shadow: 0 8px 18px rgba(15, 23, 42, 0.075);
  transform: translateY(-3px);
}

.psicole-directory--ui26 .psicole-prof-card__head {
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr);
  gap: 12px;
}

.psicole-directory--ui26 .psicole-prof-card__avatar {
  width: 48px;
  height: 48px;
  flex-basis: 48px;
  border-radius: 999px;
  font-size: 14px;
}

.psicole-directory--ui26 .psicole-prof-card h3,
.psicole-directory--ui26 .psicole-prof-card__title {
  display: -webkit-box;
  min-height: calc(1.22em * 2);
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.22;
  letter-spacing: 0;
  overflow-wrap: normal;
}

.psicole-directory--ui26 .psicole-prof-card__head p,
.psicole-directory--ui26 .psicole-prof-card__facts,
.psicole-directory--ui26 .psicole-prof-card__facts dd {
  font-size: 12px;
  line-height: 1.35;
}

.psicole-directory--ui26 .psicole-prof-card__verified,
.psicole-directory--ui26 .psicole-prof-card__tags span {
  font-size: 10px;
  font-weight: 500;
  line-height: 1.2;
}

.psicole-directory--ui26 .psicole-prof-card__actions {
  gap: 0;
  padding-top: 12px;
  border-top: 1px solid #e2e8f0;
}

.psicole-directory--ui26 .psicole-prof-card__contact {
  display: none;
}

.psicole-directory--ui26 .psicole-prof-card__link {
  min-height: auto;
  justify-content: flex-start;
  padding: 0;
  border: 0;
  border-radius: 0;
  color: var(--psicole-ink, #111827);
  font-size: 13px;
  font-weight: 600;
  line-height: 1.2;
}

.psicole-directory--ui26 .psicole-prof-card__link::after {
  content: "→";
  margin-left: 8px;
}

.psicole-directory--ui26 .psicole-prof-card__link:hover,
.psicole-directory--ui26 .psicole-prof-card__link:focus-visible {
  color: var(--cpm-purple);
  box-shadow: none;
}

@media (max-width: 1180px) {
  .psicole-directory--ui26 .psicole-directory__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 900px) {
  .psicole-directory--ui26 .psicole-directory__filters,
  .psicole-directory--ui26 .psicole-directory__grid {
    grid-template-columns: 1fr;
  }
}

/* V10055: activity single parity.
   Production reads the course detail linearly in the first viewport; keep the
   editable WordPress facts panel, but move it below the initial article flow. */
.cpm-activity-single__content-grid {
  max-width: 976px;
  grid-template-columns: 1fr;
  gap: 28px;
}

.cpm-activity-single__article {
  max-width: 976px;
}

.cpm-activity-single__panel {
  position: static;
  margin-top: 4px;
}

.cpm-activity-single__panel dl {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px 20px;
}

.cpm-activity-single__panel > a {
  width: auto;
  justify-self: start;
  white-space: nowrap;
}

@media (max-width: 760px) {
  .cpm-activity-single__content-grid {
    max-width: 100%;
    gap: 22px;
  }

  .cpm-activity-single__panel dl {
    grid-template-columns: 1fr;
  }

  .cpm-activity-single__panel > a {
    width: 100%;
    justify-self: stretch;
    white-space: normal;
  }
}

/* V10056: mobile course-card parity.
   Earlier mobile compression made the course archive look unlike production:
   images were too flat and the price/footer entered the first viewport too soon. */
@media (max-width: 900px) {
  .cpm-formation-page .cpm-course-catalog-grid .cpm-course-card__image img {
    aspect-ratio: 16 / 9;
    min-height: 196px;
  }

  .cpm-formation-page .cpm-course-catalog-grid .cpm-course-card__body {
    gap: 14px;
    padding: 20px 20px 18px;
  }

  .cpm-formation-page .cpm-course-catalog-grid .cpm-course-card__footer {
    min-height: 58px;
    padding: 12px 20px 15px;
  }
}

/* V10057: strict parity pass for WordPress screens that still drifted from
   the accepted public demo. Keep the editable WP markup, but restore the
   proportions users approved in the static reference. */
.cpm-post-single__intro {
  max-width: 820px;
}

.cpm-post-single__top .cpm-container {
  padding-top: 28px;
  padding-bottom: 34px;
}

.cpm-post-single__top h1,
.cpm-post-single__intro h1 {
  max-width: 820px;
}

.cpm-post-single__excerpt {
  max-width: 760px;
}

.cpm-activity-cover img {
  max-height: 420px;
  aspect-ratio: 16 / 6.9;
}

.cpm-activity-single__body {
  padding-top: 20px;
}

.cpm-activity-detail-section h2 {
  letter-spacing: -0.01em;
}

.cpm-section-hero .cpm-container,
.cpm-institutional-hero .cpm-container {
  align-items: center;
}

.cpm-section-hero h1,
.cpm-institutional-hero h1 {
  max-width: 720px;
}

.cpm-section-hero .cpm-button--primary::after,
.cpm-institutional-hero .cpm-button--primary::after {
  content: "→";
  margin-left: 8px;
}

@media (max-width: 900px) {
  .cpm-post-single__top .cpm-container {
    padding-top: 34px;
    padding-bottom: 34px;
  }

  .cpm-post-single__top h1,
  .cpm-post-single__intro h1 {
    max-width: none;
  }

  .cpm-activity-single .cpm-activity-cover {
    margin-top: 30px;
  }

  .cpm-activity-cover img {
    max-height: 154px;
    aspect-ratio: 2.34 / 1;
  }

  .cpm-section-hero h1,
  .cpm-institutional-hero h1 {
    max-width: 360px;
  }
}

/* V10058: restore approved display tracking after legacy V10054 reset. */
:root {
  --cpm-track-display: -0.025em;
  --cpm-track-title: -0.012em;
}

.cpm-ui26-hero h1,
.cpm-title,
.cpm-section-hero h1,
.cpm-institutional-hero h1,
.cpm-contact-hero h1,
.cpm-news-hero h1,
.cpm-post-single__intro h1,
.cpm-post-single__top h1 {
  letter-spacing: var(--cpm-track-display);
}

.cpm-catalog-head h1,
.cpm-archive-head h1,
.cpm-prof-single__hero h1,
.cpm-login-card h1,
.cpm-login-panel h1 {
  letter-spacing: var(--cpm-track-title);
}

.cpm-activity-single h1,
.cpm-activity-cover h1 {
  letter-spacing: 0;
}

/* V10059: font stack parity.
   A late legacy guard had reintroduced a broader system stack. Keep the same
   Inter declaration used by the approved public reference so text metrics,
   line breaks and weights stay aligned between production and localhost. */
html,
body,
button,
input,
textarea,
select {
  font-family: Inter, "Inter Fallback", sans-serif;
}

.cpm-header .cpm-nav a,
.cpm-header .cpm-login-link,
.cpm-header .cpm-search-trigger,
.cpm-header .cpm-actions .cpm-button,
.cpm-ui26-hero h1,
.cpm-title,
.cpm-section-hero h1,
.cpm-institutional-hero h1,
.cpm-contact-hero h1,
.cpm-news-hero h1,
.cpm-post-single__intro h1,
.cpm-post-single__top h1,
.cpm-catalog-head h1,
.cpm-archive-head h1,
.cpm-prof-single__hero h1,
.cpm-login-card h1,
.cpm-login-panel h1,
.cpm-activity-single h1,
.cpm-activity-cover h1 {
  font-family: Inter, "Inter Fallback", sans-serif;
}

/* V10060: intent-based title tracking.
   Archive/catalog headings in the public reference stay neutral, while the
   professional single keeps tighter PSICOLE display tracking. */
.cpm-catalog-head h1,
.cpm-archive-head h1 {
  letter-spacing: normal;
}

.cpm-prof-single__hero h1 {
  letter-spacing: -0.025em;
}

.psicole-directory--ui26 .psicole-prof-card h3,
.psicole-directory--ui26 .psicole-prof-card__title {
  display: -webkit-box;
  min-height: calc(1.22em * 2);
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow-wrap: anywhere;
}

/* V10061: mobile editorial breathing.
   Public singles leave more vertical air before the media enters the fold.
   The WordPress version was technically correct but visually compressed. */
@media (max-width: 900px) {
  .cpm-ui26-hero .cpm-ui26-kicker span {
    width: 24px;
    background: transparent;
  }

  .cpm-ui26-search button {
    padding-inline: 13px;
  }

  .cpm-post-single__top .cpm-container {
    padding-top: 54px;
    padding-bottom: 95px;
  }

  .cpm-post-single__media {
    margin-top: 77px;
  }

  .cpm-post-single__media img {
    height: 220px;
    max-height: 220px;
    aspect-ratio: auto;
    object-fit: cover;
  }
}

@media (max-width: 520px) {
  .cpm-ui26-search input {
    padding-right: 8px;
  }
}

/* V10063: institutional page parity.
   Match the approved public treatment for the Colegio page without changing
   other page families: landmark icon, balanced mobile title wrapping and
   section overlines. */
.cpm-institutional-page .cpm-institutional-split .cpm-eyebrow {
  display: flex;
  align-items: center;
  gap: 12px;
  color: var(--cpm-purple);
  font-size: 16px;
  font-weight: 700;
  letter-spacing: 0.12em;
  line-height: 1;
  text-transform: uppercase;
}

.cpm-institutional-page .cpm-institutional-split .cpm-eyebrow::before {
  content: "";
  width: 32px;
  height: 1px;
  flex: 0 0 32px;
  background: currentColor;
}

@media (max-width: 900px) {
  .page-id-5 .cpm-hero--mobile-padded .cpm-title {
    max-width: none;
    font-size: 36px;
    line-height: 1.1;
    letter-spacing: -0.04em;
    word-spacing: -0.045em;
  }

  .page-id-5 .cpm-hero--mobile-padded .cpm-hero__icon svg {
    width: 20px;
    height: 20px;
  }
}

/* V10064: activity single mobile alignment.
   The accepted demo reads course details as one continuous document in the
   first viewport; remove inherited separators and tighten facts placement. */
@media (max-width: 900px) {
  .cpm-activity-single .cpm-activity-detail-section {
    border-top: 0;
    padding-top: 0;
  }

  .cpm-activity-single .cpm-activity-detail-section h2 {
    margin-bottom: 8px;
    text-transform: none;
  }

  .cpm-activity-single .cpm-activity-mobile-facts {
    margin-top: -8px;
  }
}

/* V10065: login input parity. */
.cpm-login-input {
  display: grid;
  grid-template-columns: 20px minmax(0, 1fr);
  align-items: center;
  min-height: 42px;
  border: 1px solid var(--cpm-border);
  border-radius: 8px;
  background: #fff;
  padding: 0 12px;
}

.cpm-login-input svg {
  width: 17px;
  height: 17px;
  color: #8aa0bd;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
}

.cpm-login-form .cpm-login-input input {
  min-height: 40px;
  border: 0;
  background: transparent;
  padding: 0 0 0 6px;
  box-shadow: none;
}

.cpm-login-form .cpm-login-input input:focus {
  outline: none;
}

.cpm-login-input:focus-within {
  border-color: color-mix(in srgb, var(--cpm-purple) 45%, var(--cpm-border));
  box-shadow: 0 0 0 3px rgba(66, 30, 109, 0.08);
}

/* V10066: strict visual parity fixes.
   Keep the approved UI26/WordPress composition, but remove the residual
   spacer that made activity singles look like a different template and tune
   the home action band back toward the deployed reference. */
.cpm-ui26-quick {
  padding-top: 20px;
  padding-bottom: 18px;
}

.cpm-ui26-quick__item {
  min-height: 102px;
  gap: 10px;
  padding-top: 8px;
  padding-bottom: 8px;
}

.cpm-activity-single__article > .cpm-activity-detail-section:first-child {
  margin-top: 0;
  padding-top: 0;
  border-top: 0;
}

@media (max-width: 900px) {
  .cpm-ui26-quick {
    padding: 22px 24px 24px;
  }

  .cpm-ui26-quick__item {
    min-height: 96px;
  }
}

/* V10068: optical typography reduction.
   The WordPress port was still reading heavier than the approved UI26 intent
   in secondary controls, initials, stats and editorial labels. Keep Inter, but
   move the system toward medium/semibold weights instead of blanket bold. */
:root {
  --cpm-weight-display: 620;
  --cpm-weight-title: 580;
  --cpm-weight-strong: 540;
  --cpm-weight-nav: 540;
  --cpm-weight-meta: 480;
}

.cpm-header .cpm-nav a,
.cpm-header .cpm-login-link,
.cpm-header .cpm-search-trigger,
.cpm-header .cpm-actions .cpm-button,
.cpm-menu-toggle,
.cpm-button,
.cpm-login-link,
.cpm-search-trigger {
  font-weight: var(--cpm-weight-nav);
}

.cpm-ui26-hero h1,
.cpm-title,
.cpm-section-hero h1,
.cpm-institutional-hero h1,
.cpm-contact-hero h1,
.cpm-news-hero h1,
.cpm-post-single__intro h1,
.cpm-post-single__top h1,
.cpm-catalog-head h1,
.cpm-archive-head h1,
.cpm-prof-single__hero h1,
.cpm-login-card h1,
.cpm-login-panel h1,
.cpm-activity-single h1,
.cpm-activity-cover h1 {
  font-weight: var(--cpm-weight-display);
}

.cpm-section__title,
.cpm-news-archive__head h2,
.cpm-ui26-autogestion h2,
.cpm-ui26-directory-preview h2,
.cpm-ui26-final h2,
.cpm-institutional-final h2,
.cpm-institutional-split h2,
.cpm-contact-directory__heading h2,
.cpm-contact-actions h2,
.cpm-catalog-head h2,
.cpm-tramites-title,
.cpm-profile-card h2,
.cpm-post-sidebox h2,
.cpm-activity-single__panel h2,
.cpm-activity-detail-section h2,
.cpm-post-single__article h2,
.cpm-post-single__article h3,
.cpm-post-single__article h4,
.cpm-post-single__article h5,
.cpm-course-card h3,
.cpm-course-card a,
.psicole-directory--ui26 .psicole-prof-card h3,
.psicole-directory--ui26 .psicole-prof-card__title {
  font-weight: var(--cpm-weight-title);
}

.cpm-ui26-hero dt,
.cpm-ui26-stat dt,
.cpm-service-card figcaption,
.cpm-service-card strong,
.cpm-service-card span,
.cpm-tramite-card strong,
.cpm-tramite-card__cta,
.cpm-course-card__image,
.cpm-course-card__badge,
.cpm-activity-cover__kicker,
.cpm-profile-card strong,
.cpm-profile-card small,
.cpm-prof-single__avatar,
.psicole-directory--ui26 .psicole-prof-card__avatar,
.cpm-post-single__article b,
.cpm-post-single__article strong {
  font-weight: var(--cpm-weight-strong);
}

main h2,
main h3,
main h4,
main h5 {
  font-weight: var(--cpm-weight-title);
}

main strong,
main b,
main small,
main figcaption,
main td,
main dd,
main .cpm-link,
main .cpm-ui26-pill,
main .cpm-activity-cover__kicker,
main .cpm-activity-capacity,
main .cpm-course-card__image,
main .cpm-profile-card span,
main .cpm-profile-card a,
main .cpm-service-card span,
main .cpm-service-card a span {
  font-weight: var(--cpm-weight-strong);
}

/* V10069: strict QA terminal selectors.
   These win over older component rules that still declared 700 and made the
   WordPress port read heavier than the accepted UI26 reference. */
main .cpm-ui26-service figcaption,
main .cpm-ui26-service span,
main .cpm-ui26-news-card figcaption,
main .cpm-ui26-news-card time,
main .cpm-eyebrow,
main .cpm-news-hero__label .cpm-eyebrow,
main .cpm-authority-grid article > span,
main .cpm-authority-grid small,
main .cpm-profile-card--verified dd,
main .cpm-post-single__article tr:first-child td,
main .cpm-post-single__article tr:first-child th,
main .cpm-activity-cover__kicker,
main .cpm-activity-single__panel dd,
main .cpm-activity-mobile-facts dd,
main .cpm-course-card__capacity,
main .cpm-agenda-event time strong {
  font-weight: var(--cpm-weight-strong);
}

main .cpm-profile-card a,
main .cpm-profile-card a span,
main .cpm-profile-card > a,
main .cpm-profile-card--verified h2,
main .cpm-post-sidebox a,
main .cpm-post-sidebox strong,
main .cpm-post-single__article td strong,
main .cpm-post-single__article p strong,
main .cpm-post-single__article li strong {
  font-weight: var(--cpm-weight-strong);
}

/* V10070: close remaining overweight audit cases. */
main .cpm-ui26-course__meta span,
main .cpm-ui26-course__meta strong,
main .cpm-ui26-course small,
main .cpm-ui26-trust dt,
main .cpm-ui26-directory-box p,
main .cpm-body-grid a,
main .cpm-benefit-grid a,
main .cpm-history-timeline strong,
main .cpm-document-table span,
main .cpm-prof-related__head a,
main .cpm-prof-related__item span,
main .cpm-prof-related__item strong,
main .cpm-faq-list summary,
main .cpm-metrics-grid strong {
  font-weight: var(--cpm-weight-strong);
}

.cpm-institutional-page main .cpm-institutional-split .cpm-eyebrow,
main .cpm-institutional-split .cpm-eyebrow,
main .cpm-news-hero__label .cpm-eyebrow {
  font-weight: var(--cpm-weight-strong);
}

/* V10071: fix selector direction for the actual rendered WordPress DOM. */
main .cpm-institutional-page .cpm-institutional-split .cpm-eyebrow,
main .cpm-activity-cover .cpm-activity-cover__kicker {
  font-weight: var(--cpm-weight-strong);
}

/* V10080: visual integrity pass.
   This is the terminal layer for the WordPress parity build: keep the UI26
   richness, but remove the recurring "catalog of boxes" feel and the heavy
   typography/border artifacts that made local screens drift from the public
   reference. */
:root {
  --cpm-weight-display: 610;
  --cpm-weight-title: 560;
  --cpm-weight-strong: 520;
  --cpm-weight-nav: 520;
  --cpm-weight-meta: 460;
  --cpm-shadow-card: 0 1px 2px rgba(15, 23, 42, 0.045), 0 10px 24px rgba(15, 23, 42, 0.045);
  --cpm-shadow-float: 0 1px 2px rgba(15, 23, 42, 0.045), 0 14px 34px rgba(15, 23, 42, 0.055);
  --cpm-shadow-media: 0 18px 42px rgba(15, 23, 42, 0.065);
}

body {
  font-weight: 400;
}

.cpm-header__main {
  box-shadow: none;
}

.cpm-header__inner {
  min-height: 66px;
}

.cpm-nav {
  gap: 3px;
  font-weight: var(--cpm-weight-nav);
}

.cpm-nav a {
  position: relative;
  border-radius: 8px;
  font-size: 14px;
  font-weight: var(--cpm-weight-nav);
  letter-spacing: 0;
  padding: 8px 10px;
}

.cpm-nav .current-menu-item > a,
.cpm-nav a.is-active {
  background: color-mix(in srgb, var(--cpm-purple) 7%, white);
  color: var(--cpm-purple);
  box-shadow: none;
}

.cpm-nav .current-menu-item > a::after,
.cpm-nav a.is-active::after {
  display: none;
}

.cpm-nav a:hover {
  background: color-mix(in srgb, var(--cpm-purple) 5%, white);
  color: var(--cpm-purple);
}

.cpm-button,
.cpm-login-link,
.cpm-search-trigger {
  font-weight: var(--cpm-weight-nav);
}

.cpm-ui26-quick {
  gap: 0;
  border-color: color-mix(in srgb, var(--cpm-border) 82%, transparent);
  border-radius: 10px;
  padding: 18px 22px;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.05), 0 16px 34px rgba(15, 23, 42, 0.045);
}

.cpm-ui26-quick__item {
  min-height: 96px;
  border-radius: 8px;
  padding: 10px 16px;
  transition: background-color 160ms ease, color 160ms ease, transform 160ms ease;
}

.cpm-ui26-quick__item + .cpm-ui26-quick__item {
  border-left: 1px solid color-mix(in srgb, var(--cpm-border) 78%, transparent);
}

.cpm-ui26-quick__item:hover,
.cpm-ui26-quick__item:focus-visible {
  background: color-mix(in srgb, var(--cpm-purple) 3.5%, white);
  transform: translateY(-1px);
}

.cpm-ui26-quick__icon {
  width: 36px;
  height: 36px;
  border-radius: 10px;
  font-weight: var(--cpm-weight-title);
}

.cpm-ui26-quick__icon svg {
  width: 18px;
  height: 18px;
}

.cpm-ui26-quick strong {
  font-size: 16px;
  font-weight: var(--cpm-weight-title);
}

.cpm-ui26-quick small {
  color: #5f6f86;
  font-size: 16px;
  line-height: 1.36;
}

.cpm-archive-head--tramites {
  border-bottom: 1px solid color-mix(in srgb, var(--cpm-border) 74%, transparent);
}

.cpm-tramites-shell {
  background: color-mix(in srgb, var(--cpm-bg) 70%, white);
}

.cpm-tramites-title {
  margin-bottom: 14px;
  font-size: 18px;
  font-weight: var(--cpm-weight-title);
}

.cpm-tramites-grid {
  display: block;
  overflow: hidden;
  border: 1px solid color-mix(in srgb, var(--cpm-border) 86%, transparent);
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.035);
}

.cpm-tramite-card {
  display: grid;
  min-height: 0;
  grid-template-columns: 68px minmax(170px, 0.72fr) minmax(0, 1.28fr) auto;
  align-items: center;
  gap: 18px;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  padding: 18px 20px;
}

.cpm-tramite-card + .cpm-tramite-card {
  border-top: 1px solid color-mix(in srgb, var(--cpm-border) 78%, transparent);
}

.cpm-tramite-card:hover {
  border-color: transparent;
  background: color-mix(in srgb, var(--cpm-purple) 2.5%, white);
  box-shadow: none;
  transform: none;
}

.cpm-tramite-card__top {
  grid-column: 1;
  grid-row: 1;
  margin: 0;
}

.cpm-tramite-card__icon {
  display: none;
}

.cpm-tramite-card__top strong {
  display: inline-flex;
  width: 42px;
  height: 42px;
  align-items: center;
  justify-content: center;
  border-radius: 12px;
  background: color-mix(in srgb, var(--cpm-yellow) 32%, white);
  color: var(--cpm-purple);
  font-size: 18px;
  font-weight: var(--cpm-weight-title);
}

.cpm-tramite-card h3 {
  grid-column: 2;
  grid-row: 1;
  align-self: start;
  margin: 0 0 5px;
  font-size: 18px;
  font-weight: var(--cpm-weight-title);
  line-height: 1.25;
}

.cpm-tramite-card p {
  grid-column: 2;
  grid-row: 1;
  align-self: start;
  margin: 0;
  color: #64748b;
  font-size: 16px;
  line-height: 1.38;
  overflow: visible;
  padding-top: 30px;
  text-overflow: clip;
  white-space: normal;
}

.cpm-tramite-card ul {
  grid-column: 3;
  grid-row: 1;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px 18px;
  margin: 0;
  padding: 0;
}

.cpm-tramite-card li {
  margin: 0;
  color: #334155;
  font-size: 15px;
  line-height: 1.28;
}

.cpm-tramite-card li::before {
  color: color-mix(in srgb, var(--cpm-purple) 45%, #94a3b8);
}

.cpm-tramite-card li a:hover {
  color: var(--cpm-purple);
  text-decoration: underline;
  text-underline-offset: 3px;
}

.cpm-tramite-card__cta {
  display: inline-flex;
  grid-column: 4;
  grid-row: 1;
  min-height: 36px;
  min-width: 144px;
  align-self: center;
  align-items: center;
  justify-content: center;
  border-radius: 8px;
  background: color-mix(in srgb, var(--cpm-purple) 6%, white);
  color: var(--cpm-purple);
  font-size: 16px;
  font-weight: var(--cpm-weight-title);
  padding: 0 14px;
  overflow: visible;
  text-overflow: clip;
  white-space: nowrap;
  justify-self: end;
}

.cpm-tramite-card__cta:hover {
  background: var(--cpm-purple);
  color: #fff;
}

.cpm-course-catalog-grid--archive {
  display: grid;
  grid-template-columns: 1fr;
  gap: 16px;
}

.cpm-course-catalog-grid .cpm-course-card {
  display: grid;
  grid-template-columns: 248px minmax(0, 1fr) 184px;
  grid-template-rows: auto;
  align-items: stretch;
  overflow: hidden;
  border-color: color-mix(in srgb, var(--cpm-border) 82%, transparent);
  border-radius: 12px;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
}

.cpm-course-catalog-grid .cpm-course-card:hover {
  border-color: color-mix(in srgb, var(--cpm-purple) 16%, var(--cpm-border));
  box-shadow: 0 12px 28px rgba(15, 23, 42, 0.065);
  transform: translateY(-1px);
}

.cpm-course-catalog-grid .cpm-course-card__image {
  min-height: 100%;
}

.cpm-course-catalog-grid .cpm-course-card__image img {
  height: 100%;
  min-height: 178px;
  aspect-ratio: auto;
}

.cpm-course-card__badge,
.cpm-course-card__capacity {
  min-height: 26px;
  font-size: 13px;
  font-weight: var(--cpm-weight-strong);
}

.cpm-course-catalog-grid .cpm-course-card__body {
  align-content: start;
  gap: 9px;
  padding: 20px 22px;
}

.cpm-course-catalog-grid .cpm-course-card h2 {
  max-width: 720px;
  font-size: 20px;
  font-weight: var(--cpm-weight-title);
  line-height: 1.24;
}

.cpm-course-catalog-grid .cpm-course-card p {
  max-width: 720px;
  -webkit-line-clamp: 2;
  color: #475569;
  font-size: 16px;
  line-height: 1.45;
}

.cpm-course-card__meta {
  gap: 5px;
}

.cpm-course-card__meta-row {
  font-size: 16px;
}

.cpm-course-catalog-grid .cpm-course-card__footer {
  min-height: 100%;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  border-top: 0;
  border-left: 1px solid color-mix(in srgb, var(--cpm-border) 78%, transparent);
  padding: 18px;
}

.cpm-course-catalog-grid .cpm-course-card__footer strong {
  font-size: 17px;
  font-weight: var(--cpm-weight-title);
}

.cpm-course-catalog-grid .cpm-course-card__footer span {
  font-size: 16px;
}

.cpm-course-catalog-grid .cpm-course-card__footer a {
  min-height: 36px;
  font-size: 16px;
  font-weight: var(--cpm-weight-title);
}

.psicole-directory--ui26 .psicole-prof-card {
  border-color: color-mix(in srgb, var(--psicole-card-border) 86%, transparent);
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
}

.psicole-directory--ui26 .psicole-prof-card:hover {
  border-color: color-mix(in srgb, var(--cpm-purple) 18%, var(--psicole-card-border));
  box-shadow: 0 10px 22px rgba(15, 23, 42, 0.06);
  transform: translateY(-2px);
}

.psicole-directory--ui26 .psicole-prof-card h3,
.psicole-directory--ui26 .psicole-prof-card__title {
  font-weight: var(--cpm-weight-title);
}

.psicole-directory--ui26 .psicole-prof-card__link {
  font-weight: var(--cpm-weight-title);
}

@media (max-width: 1100px) {
  .cpm-tramite-card {
    grid-template-columns: 58px minmax(160px, 0.7fr) minmax(0, 1.3fr);
  }

  .cpm-tramite-card__cta {
    grid-column: 2 / -1;
    grid-row: 2;
    justify-self: start;
  }

  .cpm-course-catalog-grid .cpm-course-card {
    grid-template-columns: 220px minmax(0, 1fr);
  }

  .cpm-course-catalog-grid .cpm-course-card__footer {
    grid-column: 2;
    border-left: 0;
    border-top: 1px solid color-mix(in srgb, var(--cpm-border) 78%, transparent);
    flex-direction: row;
    justify-content: space-between;
    min-height: auto;
    padding: 14px 22px 16px;
  }
}

@media (max-width: 900px) {
  .cpm-ui26-quick {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1px;
    padding: 14px;
    background: color-mix(in srgb, var(--cpm-border) 52%, white);
  }

  .cpm-ui26-quick__item {
    min-height: 88px;
    border-left: 0 !important;
    background: #fff;
    padding: 12px;
  }

  .cpm-ui26-quick small {
    font-size: 16px;
  }

  .cpm-tramite-card {
    grid-template-columns: 46px minmax(0, 1fr);
    gap: 12px 14px;
    padding: 18px 16px;
  }

  .cpm-tramite-card__top {
    grid-column: 1;
    grid-row: 1;
  }

  .cpm-tramite-card h3,
  .cpm-tramite-card p,
  .cpm-tramite-card ul,
  .cpm-tramite-card__cta {
    grid-column: 2 / -1;
  }

  .cpm-tramite-card h3 {
    grid-row: 1;
  }

  .cpm-tramite-card p {
    grid-row: 2;
    padding-top: 0;
  }

  .cpm-tramite-card ul {
    grid-row: 3;
  }

  .cpm-tramite-card__cta {
    grid-row: 4;
    justify-self: start;
  }

  .cpm-tramite-card ul {
    grid-template-columns: 1fr;
  }

  .cpm-course-catalog-grid .cpm-course-card {
    grid-template-columns: 1fr;
  }

  .cpm-course-catalog-grid .cpm-course-card__image img {
    min-height: 190px;
    aspect-ratio: 16 / 9;
  }

  .cpm-course-catalog-grid .cpm-course-card__footer {
    grid-column: auto;
    border-left: 0;
    border-top: 1px solid color-mix(in srgb, var(--cpm-border) 78%, transparent);
  }
}

@media (max-width: 560px) {
  .cpm-ui26-quick {
    grid-template-columns: 1fr;
  }

  .cpm-ui26-quick__item {
    min-height: auto;
  }

  .cpm-course-catalog-grid .cpm-course-card__footer {
    align-items: flex-start;
    flex-direction: column;
  }
}

/* V10081: terminal typography and alignment normalization.
   Keep the UI26 visual system, but remove the remaining heavy/burly tone from
   WordPress-rendered pages and make header/action states single-source. */
:root {
  --cpm-weight-display: 570;
  --cpm-weight-title: 535;
  --cpm-weight-strong: 500;
  --cpm-weight-nav: 500;
  --cpm-weight-meta: 450;
  --cpm-shadow-card: 0 8px 24px rgba(15, 23, 42, 0.045);
  --cpm-shadow-float: 0 12px 32px rgba(15, 23, 42, 0.055);
  --cpm-shadow-media: 0 16px 42px rgba(15, 23, 42, 0.06);
}

html {
  font-optical-sizing: auto;
  font-synthesis-weight: none;
}

body {
  font-feature-settings: "ss01", "cv11", "kern";
}

:is(
  .cpm-ui26-hero h1,
  .cpm-archive-head h1,
  .cpm-section-hero h1,
  .cpm-post-single h1,
  .cpm-prof-single h1,
  .cpm-formation-feature h2,
  .cpm-page-title,
  .cpm-hero h1
) {
  font-weight: var(--cpm-weight-display);
  letter-spacing: -0.012em;
  text-wrap: balance;
}

:is(
  .cpm-ui26-section h2,
  .cpm-ui26-service h3,
  .cpm-ui26-news-card h3,
  .cpm-ui26-course h3,
  .cpm-tramite-card h3,
  .cpm-course-card h2,
  .cpm-formation-row h3,
  .cpm-content h2,
  .cpm-content h3,
  .cpm-post-single__article h2,
  .cpm-post-single__article h3,
  .psicole-directory--ui26 .psicole-prof-card h3,
  .psicole-directory--ui26 .psicole-prof-card__title
) {
  font-weight: var(--cpm-weight-title);
  letter-spacing: -0.006em;
}

:is(
  strong,
  b,
  .cpm-button,
  .cpm-login-link,
  .cpm-ui26-search button,
  .cpm-ui26-quick strong,
  .cpm-verified-badge,
  .cpm-chip-row span,
  .cpm-post-single__meta span,
  .psicole-directory--ui26 .psicole-prof-card__link,
  .cpm-course-card__footer a,
  .cpm-tramite-card__cta
) {
  font-weight: var(--cpm-weight-strong);
}

.cpm-header__main {
  border-bottom: 1px solid rgba(226, 232, 240, 0.82);
  box-shadow: none;
}

.cpm-header .cpm-nav {
  gap: 2px;
  font-weight: var(--cpm-weight-nav);
}

.cpm-header .cpm-nav a {
  position: relative;
  border: 0;
  border-radius: 8px;
  box-shadow: none;
  color: #334155;
  font-size: 14px;
  font-weight: var(--cpm-weight-nav);
  line-height: 20px;
  padding: 8px 10px;
  text-decoration: none;
  transform: none;
}

.cpm-header .cpm-nav a::before,
.cpm-header .cpm-nav a::after {
  content: none;
  display: none;
}

.cpm-header .cpm-nav a:hover {
  background: rgba(237, 238, 239, 0.72);
  box-shadow: none;
  color: var(--cpm-purple);
  transform: none;
}

.cpm-header .cpm-nav .current-menu-item > a,
.cpm-header .cpm-nav a.is-active {
  background: color-mix(in srgb, var(--cpm-purple) 9%, white);
  box-shadow: none;
  color: var(--cpm-purple);
}

.cpm-header .cpm-search-trigger,
.cpm-header .cpm-login-link,
.cpm-header .cpm-actions .cpm-button {
  font-size: 14px;
  font-weight: var(--cpm-weight-nav);
}

.cpm-header .cpm-actions .cpm-button:hover,
.cpm-button:hover {
  box-shadow: 0 8px 20px rgba(15, 23, 42, 0.06);
}

.cpm-ui26-hero__inner {
  gap: clamp(32px, 5vw, 64px);
  padding-top: clamp(48px, 6vw, 68px);
  padding-bottom: clamp(58px, 7vw, 82px);
}

.cpm-ui26-hero h1 {
  font-size: 58px;
  line-height: 1.04;
}

.cpm-ui26-hero__lead,
.cpm-archive-head p,
.cpm-section-hero p,
.cpm-post-single__excerpt,
.cpm-prof-single__lead {
  font-weight: 400;
  line-height: 1.62;
}

.cpm-ui26-search,
.cpm-search-trigger,
.cpm-tramites-search input,
.psicole-directory--ui26 .psicole-directory__search input {
  border-color: rgba(226, 232, 240, 0.95);
  box-shadow: none;
}

.cpm-ui26-quick {
  gap: 0;
  border-color: rgba(226, 232, 240, 0.9);
  border-radius: 10px;
  padding: 18px 0;
  box-shadow: 0 12px 34px rgba(15, 23, 42, 0.055);
}

.cpm-ui26-quick__item {
  min-height: 96px;
  gap: 9px;
  border-left: 1px solid rgba(226, 232, 240, 0.86);
  border-radius: 0;
  cursor: pointer;
  padding: 0 22px;
  justify-content: center;
}

.cpm-ui26-quick__item:first-child {
  border-left: 0;
}

.cpm-ui26-quick__icon {
  width: 38px;
  height: 38px;
  border-radius: 9px;
}

.cpm-ui26-quick strong {
  color: var(--cpm-ink);
  font-size: 16px;
  line-height: 1.22;
}

.cpm-ui26-quick small {
  color: #64748b;
  font-size: 16px;
  line-height: 1.34;
}

.cpm-ui26-quick__item:hover {
  background: color-mix(in srgb, var(--cpm-purple) 5.5%, white);
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--cpm-purple) 14%, transparent);
  transform: translateY(-1px);
}

.cpm-ui26-quick__item:hover .cpm-ui26-quick__icon {
  background: color-mix(in srgb, var(--cpm-purple) 9%, white);
  transform: translateY(-1px);
}

.cpm-ui26-quick__item:hover strong {
  color: var(--cpm-purple);
}

.psicole-directory--ui26 .psicole-prof-card {
  border-color: rgba(226, 232, 240, 0.95);
  border-radius: 10px;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.035);
}

.psicole-directory--ui26 .psicole-prof-card:hover {
  border-color: color-mix(in srgb, var(--cpm-purple) 16%, var(--psicole-card-border));
  box-shadow: 0 12px 26px rgba(15, 23, 42, 0.07);
  transform: translateY(-2px);
}

.psicole-directory--ui26 .psicole-prof-card__avatar {
  box-shadow: 0 8px 18px rgba(66, 30, 109, 0.14);
}

.psicole-directory--ui26 .psicole-prof-card__meta,
.psicole-directory--ui26 .psicole-prof-card__facts,
.psicole-directory--ui26 .psicole-prof-card__chips {
  font-weight: 400;
}

.psicole-directory--ui26 .psicole-prof-card__link {
  color: var(--cpm-ink);
}

.psicole-directory--ui26 .psicole-prof-card__link:hover {
  color: var(--cpm-purple);
}

.cpm-post-single h1 {
  font-size: 44px;
  line-height: 1.08;
}

.cpm-prof-single h1 {
  font-size: 44px;
  line-height: 1.06;
}

.cpm-section-hero h1,
.cpm-archive-head h1 {
  font-size: 48px;
  line-height: 1.06;
}

.cpm-post-single__article,
.cpm-content,
.cpm-entry-content {
  color: #243044;
  font-weight: 400;
}

.cpm-post-single__article :is(p, li),
.cpm-content :is(p, li),
.cpm-entry-content :is(p, li) {
  font-size: 17px;
  line-height: 1.78;
}

.cpm-post-single__article :is(strong, b),
.cpm-content :is(strong, b),
.cpm-entry-content :is(strong, b) {
  font-weight: var(--cpm-weight-strong);
}

.cpm-tramite-card,
.cpm-course-catalog-grid .cpm-course-card,
.cpm-profile-card,
.cpm-post-single__card,
.cpm-card {
  border-color: rgba(226, 232, 240, 0.9);
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.035);
}

.cpm-tramite-card:hover,
.cpm-course-catalog-grid .cpm-course-card:hover,
.cpm-profile-card:hover,
.cpm-card:hover {
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.06);
}

@media (max-width: 900px) {
  .cpm-ui26-hero h1,
  .cpm-section-hero h1,
  .cpm-archive-head h1,
  .cpm-post-single h1,
  .cpm-prof-single h1 {
    font-size: 38px;
    letter-spacing: -0.006em;
  }

  .cpm-ui26-quick {
    gap: 1px;
    padding: 12px;
  }

  .cpm-ui26-quick__item {
    min-height: 86px;
    border-left: 0;
    border-radius: 9px;
    padding: 12px;
  }
}

/* V10082: parity-focused typography and component recovery.
   Match the accepted public composition where it is stronger, while keeping
   secondary text, chips and cards quieter than the older heavy WordPress layers. */
:root {
  --cpm-weight-display: 640;
  --cpm-weight-title: 570;
  --cpm-weight-strong: 485;
  --cpm-weight-nav: 535;
  --cpm-weight-meta: 440;
  --cpm-shadow-card: 0 1px 2px rgba(15, 23, 42, 0.04), 0 8px 20px rgba(15, 23, 42, 0.035);
  --cpm-shadow-float: 0 1px 2px rgba(15, 23, 42, 0.045), 0 14px 32px rgba(15, 23, 42, 0.05);
}

body {
  font-family: Inter, "Inter Fallback", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-variation-settings: normal;
}

.cpm-header .cpm-nav a,
.cpm-header .cpm-search-trigger,
.cpm-header .cpm-login-link,
.cpm-header .cpm-actions .cpm-button {
  font-size: 14px;
  font-weight: var(--cpm-weight-nav);
  letter-spacing: 0;
}

.cpm-header .cpm-nav a.is-active,
.cpm-header .cpm-nav .current-menu-item > a {
  font-weight: 560;
}

.cpm-ui26-hero h1 {
  font-size: 52px;
  font-weight: var(--cpm-weight-display);
  letter-spacing: -0.018em;
  line-height: 1.04;
}

.cpm-archive-head--tramites h1,
.cpm-archive-head--directory h1,
.cpm-prof-single h1 {
  font-size: 30px;
  font-weight: var(--cpm-weight-display);
  letter-spacing: -0.012em;
  line-height: 1.08;
}

.cpm-post-single h1 {
  font-size: 48px;
  font-weight: var(--cpm-weight-display);
  line-height: 1.06;
}

.cpm-archive-head p,
.cpm-section-hero p,
.cpm-prof-single__lead,
.cpm-post-single__excerpt {
  color: #475569;
  font-weight: 400;
}

main :is(strong, b),
.cpm-button,
.cpm-ui26-search button,
.cpm-login-link,
.cpm-verified-badge,
.cpm-chip-row span,
.cpm-post-single__meta span,
.cpm-course-card__footer a,
.cpm-tramite-card__cta,
.psicole-directory--ui26 .psicole-prof-card__link {
  font-weight: var(--cpm-weight-strong);
}

main :is(.cpm-eyebrow, small, figcaption, td, dd, .cpm-ui26-pill, .cpm-chip, .cpm-badge),
.psicole-directory--ui26 :is(.psicole-prof-card__verified, .psicole-prof-card__chips span, .psicole-prof-card__facts, .psicole-directory__meta) {
  font-weight: var(--cpm-weight-meta);
}

.cpm-ui26-quick {
  border-radius: 10px;
  box-shadow: var(--cpm-shadow-float);
}

.cpm-ui26-quick strong {
  font-weight: 560;
}

.cpm-ui26-quick small {
  font-weight: 400;
}

/* Trámites: recover the public card grid instead of the overly wide row table. */
.cpm-tramites-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
  overflow: visible;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.cpm-tramite-card {
  position: relative;
  display: flex;
  min-height: 290px;
  flex-direction: column;
  align-items: stretch;
  gap: 12px;
  border: 1px solid rgba(226, 232, 240, 0.92);
  border-radius: 10px;
  background: #fff;
  box-shadow: var(--cpm-shadow-card);
  padding: 22px;
}

.cpm-tramite-card + .cpm-tramite-card {
  border-top: 1px solid rgba(226, 232, 240, 0.92);
}

.cpm-tramite-card:hover {
  border-color: color-mix(in srgb, var(--cpm-purple) 16%, var(--cpm-border));
  background: #fff;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.045), 0 12px 26px rgba(15, 23, 42, 0.05);
  transform: translateY(-1px);
}

.cpm-tramite-card__top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 8px;
}

.cpm-tramite-card__icon {
  display: inline-flex;
}

.cpm-tramite-card__top strong {
  position: absolute;
  top: 28px;
  right: 22px;
  width: auto;
  height: auto;
  border-radius: 0;
  background: transparent;
  color: rgba(15, 23, 42, 0.08);
  font-size: 26px;
  font-weight: 650;
  line-height: 1;
}

.cpm-tramite-card h3 {
  margin: 0;
  font-size: 17px;
  font-weight: 600;
  line-height: 1.25;
}

.cpm-tramite-card p {
  margin: 0;
  color: #475569;
  font-size: 16px;
  line-height: 1.42;
  padding: 0;
}

.cpm-tramite-card ul {
  display: grid;
  grid-template-columns: 1fr;
  gap: 7px;
  margin: 2px 0 10px;
  padding: 0;
}

.cpm-tramite-card li {
  font-size: 14px;
  line-height: 1.35;
}

.cpm-tramite-card__cta {
  min-height: 36px;
  min-width: 0;
  width: 100%;
  justify-self: auto;
  margin-top: auto;
  border-radius: 8px;
  font-size: 15px;
  font-weight: 560;
}

/* Formación: recover the accepted course-card grid from the public demo. */
.cpm-course-catalog-grid--archive {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
}

.cpm-course-catalog-grid .cpm-course-card {
  display: flex;
  min-height: 520px;
  flex-direction: column;
  border-radius: 10px;
  background: #fff;
  box-shadow: var(--cpm-shadow-card);
}

.cpm-course-catalog-grid .cpm-course-card__image {
  min-height: 0;
  aspect-ratio: 16 / 9;
}

.cpm-course-catalog-grid .cpm-course-card__image img {
  width: 100%;
  height: 100%;
  min-height: 0;
  aspect-ratio: auto;
  object-fit: cover;
}

.cpm-course-catalog-grid .cpm-course-card__body {
  display: grid;
  flex: 1;
  gap: 12px;
  padding: 24px 22px 18px;
}

.cpm-course-catalog-grid .cpm-course-card h2 {
  font-size: 20px;
  font-weight: 600;
  line-height: 1.28;
}

.cpm-course-catalog-grid .cpm-course-card p {
  -webkit-line-clamp: 2;
  line-height: 1.48;
}

.cpm-course-catalog-grid .cpm-course-card__footer {
  min-height: 94px;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  border-left: 0;
  border-top: 1px solid rgba(226, 232, 240, 0.86);
  padding: 18px 22px 22px;
}

.cpm-course-catalog-grid .cpm-course-card__footer strong {
  color: var(--cpm-purple);
  font-size: 25px;
  font-weight: 650;
}

.cpm-course-catalog-grid .cpm-course-card__footer a {
  width: 100%;
  justify-content: center;
  font-size: 16px;
  font-weight: 560;
}

/* Professional cards: keep cards, but remove the loud, chunky feeling. */
.psicole-directory--ui26 .psicole-prof-card {
  min-height: 268px;
  border-radius: 10px;
  padding: 20px;
}

.psicole-directory--ui26 .psicole-prof-card h3,
.psicole-directory--ui26 .psicole-prof-card__title {
  font-size: 14px;
  font-weight: 560;
  letter-spacing: -0.004em;
}

.psicole-directory--ui26 .psicole-prof-card__avatar {
  width: 48px;
  height: 48px;
  font-size: 14px;
  font-weight: 620;
}

.psicole-directory--ui26 .psicole-prof-card__verified {
  font-size: 10px;
  font-weight: 500;
}

.cpm-profile-card--primary {
  border-top: 2px solid var(--cpm-purple);
}

@media (max-width: 900px) {
  .cpm-ui26-hero h1 {
    font-size: 36px;
    line-height: 1.08;
  }

  .cpm-archive-head--tramites h1,
  .cpm-archive-head--directory h1,
  .cpm-prof-single h1 {
    font-size: 30px;
    line-height: 1.08;
  }

  .cpm-archive-head--directory h1,
  .cpm-prof-single h1 {
    font-size: 24px;
    line-height: 1.14;
  }

  .cpm-post-single h1 {
    font-size: 36px;
    line-height: 1.08;
  }

  .cpm-tramites-grid,
  .cpm-course-catalog-grid--archive {
    grid-template-columns: 1fr;
  }

  .cpm-tramite-card {
    min-height: auto;
  }

  .cpm-course-catalog-grid .cpm-course-card {
    min-height: auto;
  }
}

/* V10083: strict parity finish.
   Standardize the last visual layer against the accepted public rhythm:
   no fractional font weights, no duplicate active-state lines, quieter cards. */
:root {
  --cpm-weight-display: 700;
  --cpm-weight-title: 700;
  --cpm-weight-strong: 600;
  --cpm-weight-nav: 600;
  --cpm-weight-meta: 400;
  --cpm-shadow-card: 0 1px 2px rgba(15, 23, 42, 0.035), 0 6px 16px rgba(15, 23, 42, 0.03);
  --cpm-shadow-float: 0 1px 2px rgba(15, 23, 42, 0.04), 0 12px 28px rgba(15, 23, 42, 0.045);
}

body {
  font-family: Inter, "Inter Fallback", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-weight: 400;
}

.cpm-header .cpm-nav .current-menu-item > a {
  background: transparent;
  color: inherit;
  box-shadow: none;
}

.cpm-header .cpm-nav .current-menu-item > a::before,
.cpm-header .cpm-nav .current-menu-item > a::after,
.cpm-header .cpm-nav a.is-active::before,
.cpm-header .cpm-nav a.is-active::after {
  display: none;
}

.cpm-header .cpm-nav a,
.cpm-header .cpm-search-trigger,
.cpm-header .cpm-login-link,
.cpm-header .cpm-actions .cpm-button {
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0;
}

.cpm-header .cpm-nav a.is-active {
  background: color-mix(in srgb, var(--cpm-purple) 8%, white);
  color: var(--cpm-purple);
  font-weight: 600;
}

.cpm-header .cpm-nav a:not(.is-active):hover,
.cpm-header .cpm-nav a:not(.is-active):focus-visible {
  background: color-mix(in srgb, var(--cpm-purple) 5%, white);
  color: var(--cpm-purple);
}

.cpm-ui26-hero h1 {
  font-weight: 700;
  letter-spacing: -0.025em;
  line-height: 1.08;
}

.cpm-section__title,
.cpm-ui26-autogestion h2,
.cpm-ui26-directory-preview h2,
.cpm-ui26-final h2,
.cpm-news-archive__head h2 {
  font-size: 30px;
  font-weight: 700;
  letter-spacing: -0.012em;
  line-height: 1.2;
}

.cpm-ui26-quick {
  box-shadow: var(--cpm-shadow-float);
}

.cpm-ui26-quick strong {
  font-size: 15px;
  font-weight: 600;
  line-height: 1.25;
}

.cpm-ui26-quick small {
  font-size: 14px;
  font-weight: 400;
  line-height: 1.35;
}

.cpm-button,
.cpm-ui26-search button,
.cpm-tramite-card__cta,
.cpm-course-catalog-grid .cpm-course-card__footer a {
  font-size: 14px;
  font-weight: 600;
}

.cpm-course-card__capacity {
  display: none;
}

.psicole-directory--ui26 .psicole-directory__search input,
.psicole-directory--ui26 .psicole-directory__filters select {
  font-size: 14px;
  font-weight: 400;
}

.psicole-directory--ui26 .psicole-prof-card h3,
.psicole-directory--ui26 .psicole-prof-card__title {
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0;
  line-height: 1.22;
}

.psicole-directory--ui26 .psicole-prof-card__head p,
.psicole-directory--ui26 .psicole-prof-card__facts {
  font-size: 12px;
  font-weight: 400;
  line-height: 1.25;
}

.psicole-directory--ui26 .psicole-prof-card__chips span {
  font-size: 10px;
  font-weight: 400;
  line-height: 1.2;
}

.psicole-directory--ui26 .psicole-prof-card__link {
  font-size: 13px;
  font-weight: 500;
}

@media (max-width: 900px) {
  .cpm-ui26-hero h1 {
    letter-spacing: -0.02em;
    line-height: 1.08;
  }

  .cpm-ui26-quick strong {
    font-size: 14px;
  }

  .cpm-ui26-quick small {
    font-size: 13px;
  }
}

/* V10084: strict visual QA correction.
   Keep the stronger production-like hierarchy without exceeding the audit
   weight budget, and keep actionable text at readable body scale. */
:root {
  --cpm-weight-display: 650;
  --cpm-weight-title: 650;
  --cpm-weight-strong: 600;
  --cpm-weight-nav: 600;
  --cpm-weight-meta: 400;
}

main h1,
main .cpm-title,
.cpm-ui26-hero h1,
.cpm-post-single h1,
.cpm-prof-single h1,
.cpm-archive-head h1 {
  font-weight: 650;
}

main h2,
.cpm-section__title,
.cpm-ui26-autogestion h2,
.cpm-ui26-directory-preview h2,
.cpm-ui26-final h2,
.cpm-news-archive__head h2 {
  font-weight: 650;
}

main h3,
.cpm-tramite-card h3,
.cpm-course-catalog-grid .cpm-course-card h2,
.cpm-news-row__title,
.cpm-authority-list h3 {
  font-weight: 600;
}

.cpm-button,
.cpm-ui26-search button,
.cpm-login-link,
.cpm-tramite-card__cta,
.cpm-course-catalog-grid .cpm-course-card__footer a,
.cpm-news-row a,
.cpm-post-single__sidebar a {
  font-size: 16px;
  font-weight: 600;
}

.cpm-ui26-quick strong,
.cpm-ui26-quick small {
  font-size: 16px;
}

.cpm-ui26-quick strong {
  font-weight: 600;
}

.cpm-ui26-quick small {
  font-weight: 400;
}

@media (max-width: 900px) {
  .cpm-ui26-quick strong,
  .cpm-ui26-quick small {
    font-size: 16px;
  }
}

/* V10091: parity cleanup against the live psiweb20 baseline.
   Keep the richer UI26 composition, but remove the measurable drift in
   header scale, action-band rhythm, directory cards, and over-bold details. */
.cpm-stat-short {
  display: none;
}

.cpm-stat-full {
  display: inline;
}

.cpm-header .cpm-nav a.is-active::before,
.cpm-header .cpm-nav a.is-active::after,
.cpm-header .cpm-nav .current-menu-item > a::before,
.cpm-header .cpm-nav .current-menu-item > a::after {
  content: none !important;
  display: none !important;
}

.cpm-header .cpm-nav a.is-active,
.cpm-header .cpm-nav .current-menu-item > a {
  border-bottom: 0 !important;
  box-shadow: none !important;
}

.cpm-button,
.cpm-ui26-search button,
.cpm-login-link {
  font-weight: 600;
}

.cpm-button--primary,
.cpm-header .cpm-actions .cpm-button--primary {
  font-weight: 650;
}

main strong,
.cpm-profile-card strong,
.cpm-chip-row span,
.cpm-verified-badge,
.cpm-post-single__meta span,
.cpm-course-card__footer a,
.cpm-tramite-card__cta {
  font-weight: 600;
}

.cpm-ui26-quick {
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 0;
  border-color: rgba(226, 232, 240, 0.82);
  border-radius: 8px;
  padding: 16px 0;
  box-shadow: 0 12px 30px rgba(15, 23, 42, 0.045);
}

.cpm-ui26-quick__item {
  min-height: 78px;
  flex-direction: row;
  align-items: flex-start;
  gap: 14px;
  border-radius: 0;
  padding: 0 22px;
}

.cpm-ui26-quick__item + .cpm-ui26-quick__item {
  border-left: 1px solid rgba(226, 232, 240, 0.82);
}

.cpm-ui26-quick__item:hover {
  background: transparent;
  box-shadow: none;
  transform: translateY(-1px);
}

.cpm-ui26-quick__icon {
  width: 40px;
  height: 40px;
  flex: 0 0 40px;
  border-radius: 10px;
}

.cpm-ui26-quick strong {
  font-size: 16px;
  font-weight: 600;
  line-height: 1.18;
}

.cpm-ui26-quick small {
  margin-top: 4px;
  color: #64748b;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.28;
}

.psicole-directory--ui26 .psicole-directory__meta strong {
  display: inline-flex;
  align-items: baseline;
  gap: 4px;
  color: #64748b;
  font-size: 13px;
  font-weight: 500;
}

.psicole-directory--ui26 [data-psicole-count-number] {
  color: var(--cpm-ink);
  font-size: 14px;
  font-weight: 650;
}

.psicole-directory--ui26 [data-psicole-page-status] {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: #64748b;
  font-size: 12px;
  font-weight: 500;
}

.psicole-directory--ui26 [data-psicole-page-status]::before {
  width: 14px;
  height: 14px;
  flex: 0 0 14px;
  background: currentColor;
  content: "";
  mask: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' d='M3 4h18l-7 8v5l-4 2v-7L3 4Z'/%3E%3C/svg%3E") center / contain no-repeat;
  opacity: 0.7;
}

.psicole-directory--ui26 .psicole-prof-card {
  min-height: 254px;
  padding: 18px;
}

.psicole-directory--ui26 .psicole-prof-card__title,
.psicole-directory--ui26 .psicole-prof-card h3 {
  font-size: 14px;
  font-weight: 600;
  line-height: 1.2;
}

.psicole-directory--ui26 .psicole-prof-card__link,
.psicole-directory--ui26 .psicole-prof-card__tags span,
.psicole-directory--ui26 .psicole-prof-card__verified {
  font-weight: 500;
}

.cpm-profile-card--primary,
.cpm-profile-card--contact {
  border-top: 2px solid var(--cpm-purple);
  box-shadow: inset 0 2px 0 var(--cpm-purple);
}

.cpm-section-hero h1,
.cpm-post-single__hero h1,
.cpm-activity-hero h1 {
  max-width: 12.5em;
  letter-spacing: -0.015em;
}

@media (max-width: 900px) {
  .cpm-header__inner {
    min-height: 61px;
  }

  .cpm-logo img {
    width: 154px;
    min-width: 154px;
  }

  .cpm-ui26-hero__inner {
    padding-bottom: 76px;
  }

  .cpm-ui26-quick-wrap {
    margin-top: -36px;
  }

  .cpm-ui26-quick {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    padding: 8px;
  }

  .cpm-ui26-quick__item {
    min-height: 84px;
    gap: 10px;
    border-left: 0 !important;
    border-radius: 7px;
    padding: 10px;
  }

  .cpm-ui26-quick__item:nth-child(odd) {
    border-right: 1px solid rgba(226, 232, 240, 0.72);
  }

  .cpm-ui26-quick__item:nth-child(n + 3) {
    border-top: 1px solid rgba(226, 232, 240, 0.72);
  }

  .cpm-ui26-quick strong {
    font-size: 15px;
  }

  .cpm-ui26-quick small {
    font-size: 14px;
  }

  .cpm-stat-full {
    display: none;
  }

  .cpm-stat-short {
    display: inline;
  }
}

/* V10090: mobile stat labels without visual clipping. */
.cpm-stat-short {
  display: none;
}

@media (max-width: 900px) {
  .cpm-stat-full {
    display: none;
  }

  .cpm-stat-short {
    display: inline;
  }

  .cpm-ui26-stats div {
    min-width: 0;
  }

  .cpm-ui26-stats dd {
    overflow-wrap: normal;
    word-break: normal;
  }

  .cpm-ui26-hero__inner,
  .cpm-ui26-hero__copy {
    min-width: 0;
    overflow-x: clip;
  }
}

/* V10085: typography refinement after rendered parity audit.
   The font family was correct in source but diluted by repeated fallback stacks.
   Keep Inter as the visible system, reserve 650 for display only, and return
   section/card typography to the calmer PSICOLE/public rhythm. */
:root {
  --cpm-weight-display: 650;
  --cpm-weight-title: 600;
  --cpm-weight-strong: 600;
  --cpm-weight-nav: 600;
  --cpm-weight-meta: 500;
}

body,
button,
input,
select,
textarea,
main :where(a, p, span, small, strong, b, em, label, li, dt, dd, h1, h2, h3, h4, h5, h6) {
  font-family: Inter, "Inter Fallback", sans-serif;
}

main h1,
main .cpm-title,
.cpm-ui26-hero h1,
.cpm-post-single h1,
.cpm-prof-single h1,
.cpm-archive-head h1 {
  font-weight: 650;
}

main h2,
.cpm-section__title,
.cpm-ui26-autogestion h2,
.cpm-ui26-directory-preview h2,
.cpm-ui26-final h2,
.cpm-news-archive__head h2,
.cpm-profile-card h2,
.cpm-profile-card h3 {
  font-weight: 600;
}

main h3,
.cpm-tramite-card h3,
.cpm-course-catalog-grid .cpm-course-card h2,
.cpm-post-row h2,
.cpm-post-row h3,
.cpm-authority-list h3 {
  font-weight: 600;
}

.cpm-course-catalog-grid .cpm-course-card h2 {
  font-size: 20px;
  font-weight: 600;
}

.cpm-course-catalog-grid .cpm-course-card__footer strong {
  font-size: 20px;
  font-weight: 600;
}

.psicole-directory--ui26 .psicole-prof-card h3,
.psicole-directory--ui26 .psicole-prof-card__title {
  font-size: 16px;
  font-weight: 600;
  line-height: 1.25;
}

.cpm-button,
.cpm-ui26-search button,
.cpm-login-link,
.cpm-tramite-card__cta,
.cpm-course-catalog-grid .cpm-course-card__footer a,
.cpm-post-row__link,
.cpm-post-single__sidebar a {
  font-weight: 600;
}

/* V10086: footer typography should not read heavier than the page body. */
.cpm-footer__newsletter h2,
.cpm-footer__nav h2 {
  font-weight: 600;
}

.cpm-footer__form button,
.cpm-footer__social a,
.cpm-footer__nav a,
.cpm-footer__bottom a {
  font-weight: 600;
}

.cpm-footer__brand p,
.cpm-footer__brand address,
.cpm-footer__bottom span {
  font-weight: 400;
}

/* V10087: visual density polish.
   Keep the recovered public layout, but lower repeated chrome so cards, filters
   and utility surfaces read like PSICOLE UI rather than boxed wireframes. */
:root {
  --cpm-border-soft: rgba(226, 232, 240, 0.72);
  --cpm-border-hairline: rgba(226, 232, 240, 0.56);
  --cpm-shadow-card: 0 1px 1px rgba(17, 17, 17, 0.035), 0 4px 10px rgba(17, 17, 17, 0.028);
  --cpm-shadow-float: 0 1px 2px rgba(17, 17, 17, 0.04), 0 8px 22px rgba(17, 17, 17, 0.04);
}

.cpm-ui26-quick {
  border-color: var(--cpm-border-soft);
  box-shadow: var(--cpm-shadow-float);
  padding-block: 16px;
}

.cpm-ui26-quick__item {
  min-height: 88px;
  border-left-color: var(--cpm-border-hairline);
}

.cpm-ui26-quick__item:hover {
  background: color-mix(in srgb, var(--cpm-purple) 3.5%, white);
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--cpm-purple) 9%, transparent);
}

.cpm-tramite-card,
.cpm-course-catalog-grid .cpm-course-card,
.cpm-profile-card,
.cpm-post-single__article,
.cpm-post-sidebox,
.cpm-post-single__card,
.cpm-card,
.psicole-directory--ui26 .psicole-prof-card {
  border-color: var(--cpm-border-soft);
  box-shadow: var(--cpm-shadow-card);
}

.cpm-tramite-card:hover,
.cpm-course-catalog-grid .cpm-course-card:hover,
.cpm-profile-card:hover,
.cpm-card:hover,
.psicole-directory--ui26 .psicole-prof-card:hover {
  border-color: color-mix(in srgb, var(--cpm-purple) 14%, var(--cpm-border-soft));
  box-shadow: 0 1px 2px rgba(17, 17, 17, 0.04), 0 10px 24px rgba(17, 17, 17, 0.045);
}

.cpm-course-catalog-grid .cpm-course-card {
  min-height: 486px;
}

.cpm-course-catalog-grid .cpm-course-card__body {
  gap: 10px;
  padding: 22px 22px 16px;
}

.cpm-course-catalog-grid .cpm-course-card__footer {
  min-height: 82px;
  padding: 16px 22px 20px;
}

.psicole-directory--ui26 .psicole-prof-card {
  min-height: 258px;
  padding: 20px 20px 18px;
}

.psicole-directory--ui26 .psicole-prof-card__head p,
.psicole-directory--ui26 .psicole-prof-card__facts {
  font-size: 13px;
  line-height: 1.35;
}

.psicole-directory--ui26 .psicole-prof-card__chips span,
.psicole-directory--ui26 .psicole-prof-card__verified {
  font-size: 11px;
  line-height: 1.25;
}

.psicole-directory--ui26 .psicole-prof-card__link {
  font-size: 14px;
  font-weight: 600;
}

.cpm-post-single__article {
  border-color: var(--cpm-border-soft);
  padding: clamp(28px, 4vw, 44px);
}

.cpm-post-sidebox {
  border-color: var(--cpm-border-soft);
}

@media (max-width: 900px) {
  .cpm-ui26-quick {
    padding: 10px;
  }

  .cpm-ui26-quick__item {
    min-height: 80px;
  }

  .cpm-course-catalog-grid .cpm-course-card {
    min-height: auto;
  }
}

/* V10088: first-viewport and mobile parity.
   Fix the regressions still visible in screenshots: oversized quick-access
   typography, tall hero/header mobile, course cards that hide price/date, and
   repeated mobile microcopy competing with content. */
.cpm-ui26-hero__inner {
  padding-top: clamp(44px, 5vw, 60px);
  padding-bottom: clamp(46px, 5.5vw, 64px);
}

.cpm-ui26-quick-wrap {
  margin-top: -38px;
}

.cpm-ui26-quick {
  padding: 14px 0;
}

.cpm-ui26-quick__item {
  min-height: 82px;
  gap: 8px;
  padding-inline: 20px;
}

.cpm-ui26-quick__icon {
  width: 36px;
  height: 36px;
  border-radius: 9px;
}

.cpm-ui26-quick strong {
  font-size: 15px;
  font-weight: 600;
  line-height: 1.22;
}

.cpm-ui26-quick small {
  margin-top: 2px;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.32;
}

.cpm-ui26-stats {
  gap: 20px;
}

.cpm-ui26-stats dd {
  max-width: 13ch;
  font-size: 13px;
  line-height: 1.25;
}

.cpm-tramite-card {
  min-height: 270px;
  gap: 10px;
  padding: 20px;
}

.cpm-tramite-card ul {
  gap: 5px;
}

.cpm-tramite-card__cta {
  min-height: 34px;
  font-size: 14px;
}

.cpm-course-catalog-grid .cpm-course-card {
  min-height: 456px;
}

.cpm-course-catalog-grid .cpm-course-card__body {
  gap: 9px;
  padding: 20px 22px 14px;
}

.cpm-course-catalog-grid .cpm-course-card__footer {
  min-height: 76px;
  padding: 14px 22px 18px;
}

.cpm-course-catalog-grid .cpm-course-card__footer strong {
  font-size: 19px;
}

.cpm-post-single__notice {
  width: min(100%, 760px);
}

.cpm-post-single__notice strong,
.cpm-post-single__notice p {
  overflow-wrap: anywhere;
}

@media (max-width: 900px) {
  .cpm-header__inner {
    min-height: 56px;
  }

  .cpm-logo img {
    width: 146px;
    min-width: 146px;
  }

  .cpm-actions .cpm-button--primary,
  .cpm-menu-toggle {
    min-height: 38px;
  }

  .cpm-ui26-hero__inner {
    padding-top: 34px;
    padding-bottom: 52px;
  }

  .cpm-ui26-quick-wrap {
    margin-top: -30px;
  }

  .cpm-ui26-quick {
    padding: 9px;
  }

  .cpm-ui26-quick__item {
    min-height: 74px;
    gap: 7px;
    padding: 10px;
  }

  .cpm-ui26-quick strong,
  .cpm-ui26-quick small {
    font-size: 14px;
  }

  .cpm-ui26-quick small {
    line-height: 1.28;
  }

  .cpm-ui26-stats {
    gap: 10px;
  }

  .cpm-ui26-stats dd {
    max-width: 11ch;
    font-size: 12px;
  }

  .psicole-directory--ui26 .psicole-directory__meta span {
    display: none;
  }

  .psicole-directory--ui26 .psicole-prof-card {
    min-height: auto;
    padding: 18px;
  }

  .cpm-tramite-card {
    min-height: auto;
    padding: 18px;
  }

  .cpm-course-catalog-grid .cpm-course-card__body {
    padding: 18px 18px 12px;
  }

  .cpm-course-catalog-grid .cpm-course-card__footer {
    min-height: auto;
    padding: 14px 18px 18px;
  }

  .cpm-activity-mobile-facts {
    margin-top: 0;
  }
}

/* V10089: hard visual gate fix.
   The parity auditor now blocks visible home labels under 16px and clipped
   stat labels. Restore readable scale without changing the approved V10000
   composition. */
.cpm-ui26-stats {
  gap: clamp(18px, 3vw, 28px);
}

.cpm-ui26-stats dd {
  max-width: none;
  overflow: visible;
  color: rgba(255, 255, 255, 0.72);
  font-size: 16px;
  line-height: 1.24;
}

.cpm-ui26-quick__item {
  min-height: 94px;
}

.cpm-ui26-quick strong,
.cpm-ui26-quick small {
  font-size: 16px;
}

.cpm-ui26-quick strong {
  font-weight: 600;
}

.cpm-ui26-quick small {
  line-height: 1.32;
}

@media (max-width: 900px) {
  .cpm-ui26-search {
    grid-template-columns: 34px minmax(0, 1fr) auto;
  }

  .cpm-ui26-search input {
    min-width: 0;
    padding-inline: 0 8px;
    text-overflow: clip;
  }

  .cpm-ui26-search button {
    min-width: 78px;
    padding-inline: 16px;
  }

  .cpm-ui26-stats {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
  }

  .cpm-ui26-stats dd {
    max-width: none;
    font-size: 16px;
    line-height: 1.22;
  }

  .cpm-ui26-quick {
    gap: 0;
    padding: 12px;
  }

  .cpm-ui26-quick__item {
    min-height: 92px;
    gap: 8px;
    padding: 12px;
  }

  .cpm-ui26-quick strong,
  .cpm-ui26-quick small {
    font-size: 16px;
  }
}

/* V10131: mobile menu and dock interaction fix. */
.cpm-menu-toggle {
  position: relative;
  width: 40px;
  min-width: 40px;
  gap: 4px;
  flex-direction: column;
  padding: 0;
}

.cpm-menu-toggle__bar {
  display: block;
  width: 16px;
  height: 2px;
  border-radius: 999px;
  background: currentColor;
  transition: transform 160ms ease, opacity 160ms ease;
}

.cpm-header.is-menu-open .cpm-menu-toggle__bar:nth-child(1) {
  transform: translateY(6px) rotate(45deg);
}

.cpm-header.is-menu-open .cpm-menu-toggle__bar:nth-child(2) {
  opacity: 0;
}

.cpm-header.is-menu-open .cpm-menu-toggle__bar:nth-child(3) {
  transform: translateY(-6px) rotate(-45deg);
}

@media (max-width: 980px) {
  html.cpm-menu-open {
    overflow-x: hidden;
  }

  .cpm-header {
    position: sticky;
    top: 0;
    z-index: 90;
  }

  .cpm-header .cpm-nav {
    position: absolute;
    top: calc(100% + 8px);
    right: 16px;
    left: 16px;
    display: grid;
    gap: 4px;
    padding: 10px;
    border: 1px solid rgba(226, 232, 240, 0.96);
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.98);
    box-shadow: 0 22px 48px rgba(15, 23, 42, 0.15);
    opacity: 0;
    pointer-events: none;
    transform: translateY(-8px);
    transition: opacity 160ms ease, transform 160ms ease;
    backdrop-filter: blur(14px);
  }

  .cpm-header.is-menu-open .cpm-nav {
    opacity: 1;
    pointer-events: auto;
    transform: translateY(0);
  }

  .cpm-header .cpm-nav a {
    display: flex;
    min-height: 44px;
    align-items: center;
    border-radius: 10px;
    padding: 10px 12px;
    color: var(--cpm-ink);
    font-size: 16px;
    font-weight: 700;
    text-decoration: none;
  }

  .cpm-header .cpm-nav a.is-active,
  .cpm-header .cpm-nav a[aria-current="page"] {
    background: rgba(66, 30, 109, 0.08);
    color: var(--cpm-purple);
  }

  .cpm-header .cpm-nav a::before,
  .cpm-header .cpm-nav a::after {
    display: none !important;
  }

  .cpm-mobile-dock {
    z-index: 88;
    min-height: calc(64px + env(safe-area-inset-bottom));
    border-top: 1px solid rgba(226, 232, 240, 0.94);
    background: rgba(255, 255, 255, 0.98);
  }

  .cpm-mobile-dock a {
    min-width: 0;
    min-height: 64px;
    align-content: center;
    gap: 4px;
    padding: 7px 4px calc(7px + env(safe-area-inset-bottom));
    color: #475569;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.1;
  }

  .cpm-mobile-dock .cpm-mobile-dock__icon {
    display: inline-flex;
    width: 28px;
    height: 28px;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    background: #f1f5f9;
    color: var(--cpm-purple);
    font-size: 0;
    line-height: 1;
  }

  .cpm-mobile-dock .cpm-mobile-dock__icon svg {
    width: 17px;
    height: 17px;
    fill: none;
    stroke: currentColor;
    stroke-width: 2;
  }

  .cpm-mobile-dock a:hover,
  .cpm-mobile-dock a:focus-visible {
    color: var(--cpm-purple);
  }
}

/* V10132: hard-disable professional related listings. This module is not part of approved profile UX. */
.cpm-prof-related {
  display: none !important;
}

/* V10133: compact mobile directory heading copy. */
.cpm-directory-copy--mobile {
  display: none;
}

.cpm-directory-source-note {
  max-width: 780px;
  margin: 0.9rem 0 0;
  color: #526175;
  font-size: 1rem;
  line-height: 1.65;
}

@media (max-width: 700px) {
  .cpm-archive-head--directory .cpm-container {
    padding-top: 18px;
    padding-bottom: 18px;
  }

  .cpm-archive-head--directory .cpm-breadcrumb {
    margin-bottom: 12px;
  }

  .cpm-archive-head--directory .cpm-archive-head__row {
    align-items: center;
    gap: 12px;
  }

  .cpm-archive-head--directory .cpm-archive-head__icon {
    width: 44px;
    height: 44px;
  }

  .cpm-archive-head--directory h1 {
    margin-bottom: 2px;
    font-size: clamp(28px, 2rem, 34px);
    line-height: 1.02;
  }

  .cpm-archive-head--directory p {
    margin-top: 2px;
    font-size: 16px;
    line-height: 1.35;
  }

  .cpm-directory-copy--desktop {
    display: none;
  }

  .cpm-directory-copy--mobile {
    display: inline;
  }
}

/* V10134: restore sticky compact directory controls on mobile.
   The directory filters must remain reachable while scrolling without turning
   into a tall stacked block that pushes the cards out of view. */
@media (max-width: 700px) {
  .psicole-directory--ui26 .psicole-directory__filters {
    position: sticky;
    top: 74px;
    z-index: 75;
    display: flex;
    width: calc(100vw - 32px);
    max-width: calc(100vw - 32px);
    margin: 0 -1px 14px;
    padding: 10px 0 12px;
    gap: 8px;
    overflow-x: auto;
    overflow-y: visible;
    overscroll-behavior-x: contain;
    scroll-padding-inline: 2px;
    scrollbar-width: none;
    background: rgba(248, 250, 252, 0.96);
    border: 0;
    border-bottom: 1px solid rgba(226, 232, 240, 0.88);
    border-radius: 0;
    box-shadow: 0 12px 24px rgba(15, 23, 42, 0.07);
    backdrop-filter: blur(14px);
    -webkit-overflow-scrolling: touch;
  }

  .psicole-directory--ui26 .psicole-directory__filters::-webkit-scrollbar {
    display: none;
  }

  .psicole-directory--ui26 .psicole-directory__search,
  .psicole-directory--ui26 .psicole-directory__select {
    flex: 0 0 auto;
    min-width: 0;
  }

  .psicole-directory--ui26 .psicole-directory__search {
    flex-basis: min(78vw, 340px);
  }

  .psicole-directory--ui26 .psicole-directory__select {
    flex-basis: min(52vw, 210px);
  }

  .psicole-directory--ui26 .psicole-directory__search input,
  .psicole-directory--ui26 .psicole-directory__select select {
    width: 100%;
    min-height: 46px;
    border-color: rgba(203, 213, 225, 0.94);
    border-radius: 12px;
    background: #fff;
    color: var(--cpm-ink, #0f172a);
    font-size: 16px;
  }

  .psicole-directory--ui26 .psicole-directory__meta {
    margin-top: 2px;
  }
}

/* V10135: mobile header scale correction.
   The approved mobile header should keep enough brand presence while leaving
   the directory sticky controls correctly offset below it. */
@media (max-width: 700px) {
  .cpm-header__inner {
    min-height: 70px;
  }

  .cpm-logo img {
    width: 176px;
    min-width: 176px;
  }

  .cpm-menu-toggle {
    width: 48px;
    min-width: 48px;
    height: 48px;
    border-radius: 12px;
  }

  .cpm-menu-toggle__bar {
    width: 19px;
  }

  .psicole-directory--ui26 .psicole-directory__filters {
    top: 86px;
  }
}

/* V10136: sharpen mobile dock icons and improve label contrast. */
@media (max-width: 700px) {
  .cpm-mobile-dock {
    z-index: 88;
    border-top-color: rgba(203, 213, 225, 0.95);
    background: rgba(255, 255, 255, 0.985);
  }

  .cpm-mobile-dock a {
    color: #334155;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.08;
    letter-spacing: -0.01em;
    text-rendering: geometricPrecision;
    -webkit-font-smoothing: antialiased;
  }

  .cpm-mobile-dock .cpm-mobile-dock__icon {
    width: 30px;
    height: 30px;
    border: 1px solid rgba(66, 30, 109, 0.08);
    border-radius: 11px;
    background: #f5f3ff;
    color: var(--cpm-purple);
    font-size: 0;
    line-height: 0;
  }

  .cpm-mobile-dock .cpm-mobile-dock__icon svg {
    width: 18px;
    height: 18px;
    display: block;
    stroke: currentColor;
    stroke-width: 2.25;
    stroke-linecap: round;
    stroke-linejoin: round;
    shape-rendering: geometricPrecision;
  }

  .cpm-mobile-dock a:hover,
  .cpm-mobile-dock a:focus-visible {
    color: var(--cpm-purple);
  }
}

/* V10180: float account activation above the mobile dock with balanced air.
   It must not overlap the bottom navigation; keep it aligned under WhatsApp
   with the same breathing room. */
@media (max-width: 700px) {
  .cpm-first-account-cta {
    right: 14px !important;
    left: auto !important;
    bottom: calc(86px + env(safe-area-inset-bottom)) !important;
    z-index: 1500;
    display: inline-flex !important;
  }
}

/* V10177: Tribunal complaints page is a procedural document, not a generic
   institutional landing. Keep the legacy-source content visible quickly on
   phones and remove the oversized hero impression. */
.cpm-hero--complaint {
  background: #fff;
}

.cpm-hero--complaint .cpm-hero__grid {
  max-width: 860px;
  padding-top: 34px;
  padding-bottom: 32px;
}

.cpm-hero--complaint .cpm-title {
  max-width: 760px;
  font-size: 40px;
  line-height: 1.04;
}

.cpm-hero--complaint .cpm-lede {
  max-width: 680px;
  margin-top: 14px;
  font-size: 18px;
  line-height: 1.55;
}

.cpm-complaint-page {
  padding-top: clamp(28px, 5vw, 48px);
}

.cpm-content--complaint {
  max-width: 820px;
}

.cpm-content--complaint .cpm-review-list {
  margin: 18px 0 28px;
}

.cpm-content--complaint .cpm-review-list--source {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  margin-top: 0;
}

.cpm-content--complaint .cpm-review-list--source article {
  border: 1px solid rgba(226, 232, 240, 0.88);
  border-radius: 14px;
  background: #fff;
  padding: 18px;
  box-shadow: 0 14px 32px rgba(15, 23, 42, 0.06);
}

.cpm-content--complaint .cpm-review-list--source strong {
  display: block;
  margin-bottom: 8px;
  color: var(--cpm-ink);
  font-size: 15px;
  line-height: 1.2;
}

.cpm-content--complaint .cpm-review-list--source span {
  color: #334155;
  font-size: 17px;
  line-height: 1.45;
}

.page-id-3384 .cpm-first-account-cta {
  display: none;
}

@media (max-width: 700px) {
  .cpm-hero--complaint .cpm-hero__grid {
    padding-top: 18px;
    padding-bottom: 18px;
  }

  .cpm-hero--complaint .cpm-hero__eyebrow {
    margin-bottom: 10px;
  }

  .cpm-hero--complaint .cpm-hero__icon {
    width: 34px;
    height: 34px;
    border-radius: 8px;
  }

  .cpm-hero--complaint .cpm-hero__icon svg {
    width: 18px;
    height: 18px;
  }

  .cpm-hero--complaint .cpm-title {
    font-size: 32px;
    line-height: 1.03;
  }

  .cpm-hero--complaint .cpm-lede {
    margin-top: 12px;
    font-size: 16.5px;
    line-height: 1.42;
  }

  .cpm-complaint-page {
    padding-top: 16px;
    padding-bottom: 130px;
  }

  .cpm-content--complaint .cpm-review-list--source {
    grid-template-columns: 1fr;
    gap: 10px;
    margin-bottom: 20px;
  }

  .cpm-content--complaint .cpm-review-list--source article {
    padding: 15px 16px;
    border-radius: 12px;
    box-shadow: none;
  }
}

/* V10137: make mobile dock glyphs crisp and readable on physical phones. */
@media (max-width: 700px) {
  .cpm-mobile-dock {
    min-height: calc(70px + env(safe-area-inset-bottom));
    background: rgba(255, 255, 255, 0.995);
    box-shadow: 0 -8px 24px rgba(15, 23, 42, 0.1);
  }

  .cpm-mobile-dock a {
    gap: 5px;
    min-height: 68px;
    padding: 7px 4px calc(8px + env(safe-area-inset-bottom));
    color: #1f2937;
    font-size: 13px;
    font-weight: 700;
    opacity: 1;
  }

  .cpm-mobile-dock .cpm-mobile-dock__icon {
    width: 34px;
    height: 34px;
    border: 1px solid rgba(66, 30, 109, 0.14);
    border-radius: 12px;
    background: #f0e9fb;
    color: #421e6d;
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.6);
    opacity: 1;
  }

  .cpm-mobile-dock .cpm-mobile-dock__icon svg {
    width: 21px;
    height: 21px;
    stroke-width: 2.55;
    opacity: 1;
    transform: translateZ(0);
  }

  .cpm-mobile-dock .cpm-mobile-dock__icon svg * {
    vector-effect: non-scaling-stroke;
  }
}

/* V10181: final mobile floating CTA position override.
   Must win over legacy account-CTA layers. */
@media (max-width: 700px) {
  .cpm-first-account-cta {
    right: 14px !important;
    left: auto !important;
    bottom: calc(86px + env(safe-area-inset-bottom)) !important;
    z-index: 1500 !important;
    display: inline-flex !important;
  }
}

/* V10140: keep mobile directory controls visible without horizontal bleed.
   Search stays full-width; zone, specialty and modality remain available in
   a compact scroll row instead of being hidden on phones. */
@media (max-width: 700px) {
  .psicole-directory--ui26 .psicole-directory__filters {
    position: sticky;
    top: 70px;
    z-index: 140;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    width: 100%;
    max-width: 100%;
    margin: 0 0 18px;
    padding: 10px 0 12px;
    gap: 10px;
    overflow: hidden;
    background: #f8fafc;
    border: 0;
    border-bottom: 1px solid rgba(226, 232, 240, 0.95);
    border-radius: 0;
    box-shadow: 0 12px 22px rgba(15, 23, 42, 0.08);
    isolation: isolate;
  }

  .psicole-directory--ui26 .psicole-directory__search {
    width: 100%;
    min-width: 0;
  }

  .psicole-directory--ui26 .psicole-directory__select {
    display: flex;
    width: 100%;
    min-width: 0;
  }

  .psicole-directory--ui26 .psicole-directory__filters .psicole-directory__select {
    min-width: 0;
  }

  .psicole-directory--ui26 .psicole-directory__search input {
    width: 100%;
    min-height: 46px;
    border-color: rgba(203, 213, 225, 0.94);
    border-radius: 12px;
    background: #fff;
    color: var(--cpm-ink, #0f172a);
    font-size: 16px;
  }

  .psicole-directory--ui26 .psicole-directory__select select {
    width: 100%;
    min-height: 44px;
    border-color: rgba(203, 213, 225, 0.94);
    border-radius: 12px;
    background-color: #fff;
    color: var(--cpm-ink, #0f172a);
    font-size: 16px;
  }

  .psicole-directory--ui26 .psicole-directory__search {
    grid-column: 1 / -1;
  }

  .psicole-directory--ui26 .psicole-directory__select--modality {
    display: none;
  }
}

/* V10139: support round from content review.
   - Public copy uses "Buscador de psicólogas/os".
   - Home search is real global search.
   - First-account CTA stays visible without covering mobile controls.
   - Hero actions cannot clip "Iniciar sesión" on phones. */
.cpm-first-account-cta {
  position: fixed;
  right: clamp(16px, 3vw, 32px);
  bottom: clamp(20px, 3vw, 32px);
  z-index: 86;
  display: inline-flex;
  align-items: center;
  gap: 9px;
  min-height: 44px;
  max-width: min(240px, calc(100vw - 32px));
  padding: 9px 15px 9px 10px;
  border: 1px solid rgba(66, 30, 109, 0.2);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.98);
  color: #421e6d;
  box-shadow:
    0 1px 1px rgba(17, 17, 17, 0.05),
    0 8px 18px rgba(17, 17, 17, 0.1),
    0 18px 44px rgba(66, 30, 109, 0.18);
  text-decoration: none;
  backdrop-filter: blur(16px);
  transition: transform 160ms ease, box-shadow 160ms ease, background 160ms ease;
}

.cpm-first-account-cta span {
  display: inline-flex;
  width: 28px;
  height: 28px;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: #421e6d;
  color: #fff;
  flex: 0 0 auto;
}

.cpm-first-account-cta svg {
  width: 17px;
  height: 17px;
  stroke-width: 2.4;
}

.cpm-first-account-cta strong {
  color: inherit;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.15;
  white-space: nowrap;
}

.cpm-first-account-cta:hover,
.cpm-first-account-cta:focus-visible {
  border-color: rgba(66, 30, 109, 0.38);
  background: #fff;
  box-shadow:
    0 1px 1px rgba(17, 17, 17, 0.06),
    0 10px 22px rgba(17, 17, 17, 0.12),
    0 22px 50px rgba(66, 30, 109, 0.24);
  transform: translateY(-1px);
}

@media (max-width: 700px) {
  .cpm-ui26-hero__actions {
    display: grid;
    grid-template-columns: 1fr;
    gap: 10px;
    width: min(100%, 380px);
    justify-items: stretch;
  }

  .cpm-ui26-hero__actions .cpm-button,
  .cpm-ui26-hero__actions .cpm-button:first-child {
    width: 100%;
    max-width: 100%;
    justify-content: flex-start;
    min-height: 48px;
    padding-inline: 16px;
    overflow: visible;
    white-space: normal;
  }

  .cpm-first-account-cta {
    right: 12px;
    bottom: calc(82px + env(safe-area-inset-bottom));
    max-width: calc(100vw - 24px);
    min-height: 42px;
    padding: 8px 12px 8px 9px;
    box-shadow: 0 10px 26px rgba(15, 23, 42, 0.18);
  }

  .cpm-first-account-cta span {
    width: 26px;
    height: 26px;
  }

  .cpm-first-account-cta strong {
    font-size: 14px;
    white-space: normal;
  }
}

/* V10140: keep the editable home action band composed at mid-widths.
   The widget version can have 7 actions; forcing six columns leaves an orphan
   item and makes copy columns too narrow. */
.cpm-ui26-quick-wrap .widget {
  margin: 0;
}

.cpm-ui26-quick.manual-widget-demo {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0;
  align-items: stretch;
  overflow: hidden;
}

.cpm-ui26-quick.manual-widget-demo .cpm-ui26-quick__item {
  min-height: 118px;
  height: 100%;
  padding: 18px 24px;
  border-left: 0;
  border-top: 1px solid rgba(226, 232, 240, 0.82);
}

.cpm-ui26-quick.manual-widget-demo .cpm-ui26-quick__item:nth-child(-n + 4) {
  border-top: 0;
}

.cpm-ui26-quick.manual-widget-demo .cpm-ui26-quick__item:not(:nth-child(4n + 1)) {
  border-left: 1px solid rgba(226, 232, 240, 0.82);
}

.cpm-ui26-quick.manual-widget-demo .cpm-ui26-quick__item:hover,
.cpm-ui26-quick.manual-widget-demo .cpm-ui26-quick__item:focus-visible {
  background: rgba(248, 250, 252, 0.82);
  transform: translateY(-1px);
}

@media (max-width: 1050px) {
  .cpm-ui26-quick.manual-widget-demo {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .cpm-ui26-quick.manual-widget-demo .cpm-ui26-quick__item {
    min-height: 126px;
    border-left: 0;
    border-top: 1px solid rgba(226, 232, 240, 0.82);
  }

  .cpm-ui26-quick.manual-widget-demo .cpm-ui26-quick__item:nth-child(-n + 4) {
    border-top: 1px solid rgba(226, 232, 240, 0.82);
  }

  .cpm-ui26-quick.manual-widget-demo .cpm-ui26-quick__item:nth-child(-n + 3) {
    border-top: 0;
  }

  .cpm-ui26-quick.manual-widget-demo .cpm-ui26-quick__item:not(:nth-child(4n + 1)),
  .cpm-ui26-quick.manual-widget-demo .cpm-ui26-quick__item + .cpm-ui26-quick__item {
    border-left: 0;
  }

  .cpm-ui26-quick.manual-widget-demo .cpm-ui26-quick__item:not(:nth-child(3n + 1)) {
    border-left: 1px solid rgba(226, 232, 240, 0.82);
  }
}

@media (max-width: 700px) {
  .cpm-ui26-quick.manual-widget-demo {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    border-radius: 14px;
  }

  .cpm-ui26-quick.manual-widget-demo .cpm-ui26-quick__item {
    min-height: 160px;
    padding: 14px;
  }

  .cpm-ui26-quick.manual-widget-demo .cpm-ui26-quick__item:nth-child(-n + 3) {
    border-top: 1px solid rgba(226, 232, 240, 0.82);
  }

  .cpm-ui26-quick.manual-widget-demo .cpm-ui26-quick__item:nth-child(-n + 2) {
    border-top: 0;
  }

  .cpm-ui26-quick.manual-widget-demo .cpm-ui26-quick__item:not(:nth-child(3n + 1)) {
    border-left: 0;
  }

  .cpm-ui26-quick.manual-widget-demo .cpm-ui26-quick__item:nth-child(even) {
    border-left: 1px solid rgba(226, 232, 240, 0.82);
  }
}

/* V10340: nine editable home actions compose as a balanced 3 x 3 grid. */
@media (min-width: 1051px) {
  .cpm-ui26-quick.manual-widget-demo.cpm-ui26-quick--nine {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .cpm-ui26-quick.manual-widget-demo.cpm-ui26-quick--nine .cpm-ui26-quick__item {
    border-top: 1px solid rgba(226, 232, 240, 0.82);
    border-left: 0;
  }

  .cpm-ui26-quick.manual-widget-demo.cpm-ui26-quick--nine .cpm-ui26-quick__item:nth-child(-n + 3) {
    border-top: 0;
  }

  .cpm-ui26-quick.manual-widget-demo.cpm-ui26-quick--nine .cpm-ui26-quick__item:not(:nth-child(3n + 1)) {
    border-left: 1px solid rgba(226, 232, 240, 0.82);
  }
}

@media (max-width: 700px) {
  .cpm-ui26-quick.manual-widget-demo.cpm-ui26-quick--nine .cpm-ui26-quick__item:last-child {
    grid-column: 1 / -1;
    min-height: 126px;
    border-left: 0;
  }
}

/* Consultorios accesibles: editorial content, without nested generic cards. */
.cpm-accessible-offices {
  max-width: 960px;
  margin-inline: auto;
}

.cpm-accessible-offices__intro {
  max-width: 780px;
  font-size: 18px;
  line-height: 1.75;
}

.cpm-accessible-offices > section {
  margin-top: 48px;
  padding-top: 40px;
  border-top: 1px solid rgba(203, 213, 225, 0.78);
}

.cpm-accessible-offices h2 {
  margin: 0 0 16px;
  color: #111827;
  font-size: clamp(26px, 3vw, 34px);
  line-height: 1.2;
}

.cpm-accessible-offices > .cpm-accessible-offices__requirements {
  padding: 32px;
  border-top: 0;
  border-left: 4px solid var(--cpm-violet, #4b1f72);
  border-radius: 0 8px 8px 0;
  background: #f8fafc;
}

.cpm-accessible-offices__requirements ul {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px 28px;
  margin: 20px 0 28px;
  padding-left: 22px;
}

.cpm-accessible-offices__actions-grid,
.cpm-accessible-offices__contact-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px 32px;
}

.cpm-accessible-offices__action {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 68px;
  padding: 16px 0;
  border-bottom: 1px solid rgba(203, 213, 225, 0.78);
  color: var(--cpm-violet, #4b1f72);
  font-weight: 700;
  text-decoration: none;
}

.cpm-accessible-offices__action::after {
  content: "\2197";
  font-size: 20px;
  transition: transform 160ms ease;
}

.cpm-accessible-offices__action:hover,
.cpm-accessible-offices__action:focus-visible {
  color: #28103f;
  border-bottom-color: var(--cpm-violet, #4b1f72);
}

.cpm-accessible-offices__action:hover::after,
.cpm-accessible-offices__action:focus-visible::after {
  transform: translate(2px, -2px);
}

.cpm-accessible-offices__contact-card {
  padding: 8px 0;
}

.cpm-accessible-offices__contact-card h3 {
  margin-bottom: 12px;
  font-size: 22px;
}

.cpm-accessible-offices__contact-card p {
  margin: 6px 0;
}

@media (max-width: 700px) {
  .cpm-accessible-offices > .cpm-accessible-offices__requirements {
    padding: 24px 20px;
  }

  .cpm-accessible-offices__requirements ul,
  .cpm-accessible-offices__actions-grid,
  .cpm-accessible-offices__contact-grid {
    grid-template-columns: 1fr;
  }

  .cpm-accessible-offices > section {
    margin-top: 36px;
    padding-top: 32px;
  }
}

/* V10141: tablet header breakpoint.
   At 1024px the full nav plus primary CTA exceeds the viewport by a few pixels;
   switch to the same compact menu before that happens. */
@media (min-width: 981px) and (max-width: 1080px) {
  .cpm-header__inner {
    position: relative;
  }

  .cpm-header .cpm-nav {
    position: absolute;
    top: calc(100% + 10px);
    right: 0;
    left: auto;
    display: grid;
    width: min(320px, calc(100vw - 32px));
    gap: 4px;
    padding: 10px;
    border: 1px solid rgba(226, 232, 240, 0.96);
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.98);
    box-shadow: 0 22px 48px rgba(15, 23, 42, 0.15);
    opacity: 0;
    pointer-events: none;
    transform: translateY(-8px);
    transition: opacity 160ms ease, transform 160ms ease;
    backdrop-filter: blur(14px);
  }

  .cpm-header.is-menu-open .cpm-nav {
    opacity: 1;
    pointer-events: auto;
    transform: translateY(0);
  }

  .cpm-header .cpm-nav a {
    display: flex;
    min-height: 44px;
    align-items: center;
    border-radius: 10px;
    padding: 10px 12px;
    font-size: 16px;
    font-weight: 700;
  }

  .cpm-menu-toggle {
    display: inline-flex;
  }
}

/* V10142: public PSICOLE onboarding modal, adapted from the real system tour. */

.cpm-account-wizard[hidden] {
  display: none;
}

.cpm-account-wizard {
  position: fixed;
  inset: 0;
  z-index: 10050;
  display: grid;
  place-items: center;
  padding: 20px;
}

.cpm-account-wizard__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(15, 23, 42, 0.52);
  backdrop-filter: blur(8px);
}

.cpm-account-wizard__dialog {
  position: relative;
  width: min(760px, 100%);
  max-height: min(760px, 92vh);
  overflow: auto;
  border: 1px solid rgba(226, 232, 240, 0.95);
  border-radius: 24px;
  background: #fff;
  box-shadow: 0 32px 90px rgba(15, 23, 42, 0.26);
  padding: clamp(24px, 4vw, 38px);
  animation: cpm-onboarding-in 180ms ease both;
}

.cpm-account-wizard__close {
  position: absolute;
  top: 16px;
  right: 16px;
  display: grid;
  width: 38px;
  height: 38px;
  place-items: center;
  border: 1px solid #e2e8f0;
  border-radius: 12px;
  background: #fff;
  color: #475569;
  cursor: pointer;
  font-size: 24px;
  line-height: 1;
}

.cpm-account-wizard__close:hover,
.cpm-account-wizard__close:focus-visible {
  border-color: rgba(66, 30, 109, 0.28);
  color: var(--cpm-purple);
}

.cpm-account-wizard__intro {
  max-width: 620px;
  padding-right: 44px;
}

.cpm-account-wizard__eyebrow {
  margin: 0 0 10px;
  color: var(--cpm-blue);
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.cpm-account-wizard__intro h2 {
  margin: 0;
  color: var(--cpm-ink);
  font-size: clamp(34px, 2.75rem, 48px);
  font-weight: 700;
  letter-spacing: -0.035em;
  line-height: 1.04;
}

.cpm-account-wizard__intro p {
  margin: 14px 0 0;
  color: #475569;
  font-size: 17px;
  line-height: 1.55;
}

.cpm-account-wizard__form {
  display: grid;
  gap: 16px;
  margin-top: 26px;
}

.cpm-account-wizard__form label,
.cpm-account-wizard__form fieldset {
  margin: 0;
}

.cpm-account-wizard__form label > span,
.cpm-account-wizard__form legend {
  display: block;
  margin-bottom: 8px;
  color: var(--cpm-ink);
  font-size: 15px;
  font-weight: 700;
}

.cpm-account-wizard__form small {
  color: #64748b;
  font-size: 13px;
  font-weight: 650;
}

.cpm-account-wizard__form input[type="email"],
.cpm-account-wizard__form input[type="text"] {
  width: 100%;
  min-height: 50px;
  border: 1px solid #dbe3ee;
  border-radius: 14px;
  background: #f8fafc;
  color: var(--cpm-ink);
  font: inherit;
  font-size: 16px;
  padding: 12px 14px;
  outline: none;
}

.cpm-account-wizard__form input[type="email"]:focus,
.cpm-account-wizard__form input[type="text"]:focus {
  border-color: rgba(66, 30, 109, 0.46);
  background: #fff;
  box-shadow: 0 0 0 4px rgba(66, 30, 109, 0.1);
}

.cpm-account-wizard__form fieldset {
  border: 0;
  padding: 0;
}

.cpm-account-wizard__choices {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.cpm-account-wizard__choices label {
  display: flex;
  min-height: 48px;
  align-items: center;
  gap: 10px;
  border: 1px solid #e2e8f0;
  border-radius: 14px;
  background: #fff;
  color: #334155;
  cursor: pointer;
  font-size: 15px;
  font-weight: 700;
  padding: 12px 14px;
}

.cpm-account-wizard__choices input {
  accent-color: var(--cpm-purple);
}

.cpm-account-wizard__choices label:has(input:checked) {
  border-color: rgba(66, 30, 109, 0.32);
  background: rgba(66, 30, 109, 0.06);
  color: var(--cpm-purple);
}

.cpm-account-wizard__form .cpm-button {
  justify-self: start;
  min-height: 48px;
  margin-top: 2px;
}

.cpm-account-wizard__result {
  margin-top: 22px;
}

.cpm-account-wizard-result {
  border: 1px solid #dbe3ee;
  border-radius: 18px;
  background: #f8fafc;
  padding: 18px;
}

.cpm-account-wizard-result--success {
  border-color: rgba(3, 165, 106, 0.28);
  background: rgba(3, 165, 106, 0.08);
}

.cpm-account-wizard-result--warning {
  border-color: rgba(216, 180, 4, 0.35);
  background: rgba(216, 180, 4, 0.12);
}

.cpm-account-wizard-result--error {
  border-color: rgba(190, 44, 71, 0.28);
  background: rgba(190, 44, 71, 0.08);
}

.cpm-account-wizard-result__status {
  display: inline-flex;
  margin-bottom: 8px;
  color: var(--cpm-blue);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.07em;
  text-transform: uppercase;
}

.cpm-account-wizard-result h3 {
  margin: 0;
  color: var(--cpm-ink);
  font-size: 22px;
  line-height: 1.18;
}

.cpm-account-wizard-result p {
  margin: 8px 0 0;
  color: #475569;
  font-size: 16px;
  line-height: 1.55;
}

.cpm-account-wizard-result__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 16px;
}

.cpm-account-wizard__fineprint {
  margin-top: 16px;
  border-top: 1px solid #e2e8f0;
  color: #64748b;
  font-size: 14px;
  line-height: 1.45;
  padding-top: 14px;
}

body.cpm-account-wizard-open {
  overflow: hidden;
}

.cpm-whatsapp {
  position: fixed;
  right: 24px;
  bottom: 92px;
  z-index: 1600;
  font-family: var(--cpm-font, Inter, system-ui, sans-serif);
}

.cpm-whatsapp__panel {
  position: absolute;
  right: 0;
  bottom: 82px;
  width: min(352px, calc(100vw - 32px));
  overflow: hidden;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 24px 70px rgba(15, 23, 42, 0.24);
  opacity: 0;
  transform: translateY(10px) scale(0.985);
  transform-origin: right bottom;
  transition: opacity 180ms ease, transform 180ms ease;
}

.cpm-whatsapp.is-open .cpm-whatsapp__panel {
  opacity: 1;
  transform: translateY(0) scale(1);
}

.cpm-whatsapp__header {
  display: grid;
  grid-template-columns: 48px 1fr;
  gap: 14px;
  align-items: start;
  padding: 20px 22px 18px;
  background: #2db742;
  color: #fff;
}

.cpm-whatsapp__mark {
  display: grid;
  width: 42px;
  height: 42px;
  place-items: center;
}

.cpm-whatsapp svg {
  display: block;
  width: 100%;
  height: 100%;
  fill: currentColor;
}

.cpm-whatsapp__header h2 {
  margin: 0;
  color: inherit;
  font-size: 19px;
  font-weight: 700;
  letter-spacing: -0.01em;
  line-height: 1.2;
}

.cpm-whatsapp__header p {
  margin: 6px 0 0;
  color: rgba(255, 255, 255, 0.86);
  font-size: 13px;
  line-height: 1.45;
}

.cpm-whatsapp__body {
  padding: 16px 18px 20px;
  background: #fff;
}

.cpm-whatsapp__response {
  margin: 0 0 14px;
  color: #a5afbd;
  font-size: 12px;
  line-height: 1.4;
}

.cpm-whatsapp__accounts {
  display: grid;
  gap: 12px;
}

.cpm-whatsapp__account {
  display: grid;
  grid-template-columns: 52px 1fr 24px;
  gap: 12px;
  align-items: center;
  min-height: 76px;
  padding: 10px 12px;
  border: 1px solid #edf2f7;
  border-radius: 4px;
  background: #f6f8fa;
  color: #1f2937;
  text-decoration: none;
  transition: background-color 160ms ease, border-color 160ms ease, transform 160ms ease, box-shadow 160ms ease;
}

.cpm-whatsapp__account:hover,
.cpm-whatsapp__account:focus-visible {
  border-color: rgba(45, 183, 66, 0.28);
  background: #fff;
  box-shadow: 0 12px 28px rgba(15, 23, 42, 0.12);
  color: #111827;
  transform: translateY(-1px);
}

.cpm-whatsapp__avatar {
  display: grid;
  width: 48px;
  height: 48px;
  place-items: center;
  color: #55cd6c;
}

.cpm-whatsapp__account-copy {
  min-width: 0;
}

.cpm-whatsapp__account-copy strong,
.cpm-whatsapp__account-copy em,
.cpm-whatsapp__account-copy small {
  display: block;
}

.cpm-whatsapp__account-copy strong {
  color: #334155;
  font-size: 14px;
  font-style: normal;
  font-weight: 650;
  line-height: 1.25;
}

.cpm-whatsapp__account-copy em {
  margin-top: 2px;
  color: #9aa4b2;
  font-size: 12px;
  font-style: normal;
  line-height: 1.25;
}

.cpm-whatsapp__account-copy small {
  margin-top: 3px;
  color: #2db742;
  font-size: 11px;
  font-weight: 700;
  line-height: 1.2;
}

.cpm-whatsapp__account.is-offline .cpm-whatsapp__mini,
.cpm-whatsapp__account.is-offline .cpm-whatsapp__avatar {
  color: #a5afbd;
}

.cpm-whatsapp__account.is-offline .cpm-whatsapp__account-copy small {
  color: #f1541b;
}

.cpm-whatsapp__mini {
  color: #2db742;
}

.cpm-whatsapp__button {
  display: grid;
  width: 56px;
  height: 56px;
  margin-left: auto;
  place-items: center;
  border: 0;
  border-radius: 999px;
  background: #2db742;
  color: #fff;
  box-shadow: 0 14px 32px rgba(45, 183, 66, 0.34);
  cursor: pointer;
  transition: background-color 160ms ease, transform 160ms ease, box-shadow 160ms ease;
}

.cpm-whatsapp__button:hover,
.cpm-whatsapp__button:focus-visible {
  background: #25a83c;
  box-shadow: 0 16px 38px rgba(45, 183, 66, 0.42);
  transform: translateY(-1px);
}

.cpm-whatsapp__button-open,
.cpm-whatsapp__button-close {
  grid-area: 1 / 1;
  transition: opacity 160ms ease, transform 160ms ease;
}

.cpm-whatsapp__button-open {
  width: 31px;
  height: 31px;
}

.cpm-whatsapp__button-close {
  opacity: 0;
  font-size: 36px;
  font-weight: 400;
  line-height: 1;
  transform: rotate(-45deg) scale(0.8);
}

.cpm-whatsapp.is-open .cpm-whatsapp__button-open {
  opacity: 0;
  transform: scale(0.7);
}

.cpm-whatsapp.is-open .cpm-whatsapp__button-close {
  opacity: 1;
  transform: rotate(0) scale(1);
}

@media (max-width: 820px) {

  .cpm-account-wizard {
    padding: 12px;
  }

  .cpm-account-wizard__dialog {
    max-height: 92vh;
    border-radius: 18px;
    padding: 24px 18px;
  }

  .cpm-account-wizard__intro {
    padding-right: 40px;
  }

  .cpm-account-wizard__intro h2 {
    font-size: 32px;
  }

  .cpm-account-wizard__intro p {
    font-size: 16px;
  }

  .cpm-account-wizard__choices {
    grid-template-columns: 1fr;
  }

  .cpm-account-wizard__form .cpm-button,
  .cpm-account-wizard-result__actions .cpm-button {
    width: 100%;
  }

  .cpm-whatsapp {
    right: 16px;
    bottom: 88px;
  }

  .cpm-whatsapp__panel {
    bottom: 70px;
    width: min(352px, calc(100vw - 24px));
  }
}

/* V10136: interaction affordance pass.
   Anything that navigates or opens UI must visibly behave as interactive. */
a[href],
button:not(:disabled),
select,
summary,
label[for],
[role="button"],
[data-cpm-onboarding-open],
[data-cpm-account-wizard-open],
[data-cpm-whatsapp-toggle] {
  cursor: pointer;
}

button:disabled,
[aria-disabled="true"] {
  cursor: not-allowed;
}

a[href]:focus-visible,
button:focus-visible,
select:focus-visible,
input:focus-visible,
textarea:focus-visible,
summary:focus-visible,
[role="button"]:focus-visible {
  outline: 3px solid color-mix(in srgb, var(--cpm-blue) 46%, transparent);
  outline-offset: 3px;
}

.cpm-ui26-service:has(a[href]),
.cpm-ui26-news-card:has(a[href]),
.cpm-ui26-news-main:has(a[href]),
.cpm-ui26-course:has(a[href]),
.cpm-tramite-card:has(a[href]),
.cpm-post-row:has(a[href]),
.cpm-course-card:has(a[href]),
.cpm-benefit-grid article:has(a[href]),
.cpm-body-grid article:has(a[href]),
.psicole-directory--ui26 .psicole-prof-card:has(a[href]),
.cpm-prof-related__item:has(a[href]),
.cpm-contact-directory__heading:has(a[href]) {
  cursor: pointer;
}

.cpm-ui26-service:has(a[href]):hover,
.cpm-ui26-service:has(a[href]):focus-within,
.cpm-benefit-grid article:has(a[href]):hover,
.cpm-benefit-grid article:has(a[href]):focus-within,
.cpm-body-grid article:has(a[href]):hover,
.cpm-body-grid article:has(a[href]):focus-within,
.cpm-course-card:has(a[href]):hover,
.cpm-course-card:has(a[href]):focus-within,
.cpm-post-row:has(a[href]):hover,
.cpm-post-row:has(a[href]):focus-within,
.psicole-directory--ui26 .psicole-prof-card:has(a[href]):hover,
.psicole-directory--ui26 .psicole-prof-card:has(a[href]):focus-within,
.cpm-tramite-card:has(a[href]):hover,
.cpm-tramite-card:has(a[href]):focus-within {
  border-color: color-mix(in srgb, var(--cpm-purple) 22%, var(--cpm-border));
  box-shadow: 0 18px 42px rgba(15, 23, 42, 0.08);
}

.cpm-ui26-service:has(a[href]):hover a,
.cpm-ui26-service:has(a[href]):focus-within a,
.cpm-benefit-grid article:has(a[href]):hover a,
.cpm-benefit-grid article:has(a[href]):focus-within a,
.cpm-body-grid article:has(a[href]):hover a,
.cpm-body-grid article:has(a[href]):focus-within a,
.cpm-course-card:has(a[href]):hover a,
.cpm-course-card:has(a[href]):focus-within a,
.cpm-post-row:has(a[href]):hover a,
.cpm-post-row:has(a[href]):focus-within a,
.psicole-directory--ui26 .psicole-prof-card:has(a[href]):hover a,
.psicole-directory--ui26 .psicole-prof-card:has(a[href]):focus-within a,
.cpm-tramite-card:has(a[href]):hover a,
.cpm-tramite-card:has(a[href]):focus-within a {
  color: var(--cpm-purple);
}

.cpm-post-row:has(a[href]):hover img,
.cpm-post-row:has(a[href]):focus-within img,
.cpm-course-card:has(a[href]):hover img,
.cpm-course-card:has(a[href]):focus-within img,
.cpm-ui26-service:has(a[href]):hover img,
.cpm-ui26-service:has(a[href]):focus-within img,
.cpm-benefit-grid article:has(a[href]):hover img,
.cpm-benefit-grid article:has(a[href]):focus-within img {
  transform: scale(1.015);
}

@media (prefers-reduced-motion: reduce) {
  .cpm-post-row:has(a[href]):hover img,
  .cpm-post-row:has(a[href]):focus-within img,
  .cpm-course-card:has(a[href]):hover img,
  .cpm-course-card:has(a[href]):focus-within img,
  .cpm-ui26-service:has(a[href]):hover img,
  .cpm-ui26-service:has(a[href]):focus-within img,
  .cpm-benefit-grid article:has(a[href]):hover img,
  .cpm-benefit-grid article:has(a[href]):focus-within img {
    transform: none;
  }
}

/* V10137: keep summary-panel actions compact and readable after legacy button overrides. */
.cpm-panel .cpm-document-list .cpm-panel__action {
  width: auto;
  max-width: 100%;
  min-height: 38px;
  padding: 8px 12px;
  font-size: 16px;
  line-height: 1.25;
  white-space: normal;
}

/* V10138: labels that trigger fields are interactive and need the same focus signal. */
label[for]:focus-visible {
  outline: 3px solid color-mix(in srgb, var(--cpm-blue) 46%, transparent);
  outline-offset: 3px;
  border-radius: 8px;
}

/* V10142: structural fee content promoted from legacy news into Trámites. */
.cpm-fee-table-wrap {
  width: 100%;
  max-width: 100%;
  margin: 24px 0 36px;
  overflow: hidden;
  border: 1px solid color-mix(in srgb, var(--cpm-border) 88%, white);
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 18px 42px rgba(15, 23, 42, 0.055);
}

.cpm-content .cpm-fee-table {
  width: 100% !important;
  min-width: 0;
  height: auto !important;
  border-collapse: collapse;
  table-layout: fixed;
  margin: 0;
  font-size: 16px;
  line-height: 1.42;
}

.cpm-content .cpm-fee-table th,
.cpm-content .cpm-fee-table td {
  padding: 16px 18px;
  border: 0;
  border-bottom: 0;
  text-align: left;
  vertical-align: top;
  overflow-wrap: anywhere;
}

.cpm-content .cpm-fee-table th {
  color: var(--cpm-ink);
  font-size: 16px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  background: var(--cpm-soft);
}

.cpm-content .cpm-fee-table th:first-child,
.cpm-content .cpm-fee-table td:first-child {
  width: 106px;
  color: var(--cpm-muted);
  font-weight: 700;
}

.cpm-content .cpm-fee-table th:last-child,
.cpm-content .cpm-fee-table td:last-child {
  width: 132px;
  color: var(--cpm-purple);
  font-weight: 700;
  white-space: nowrap;
  text-align: right;
}

.cpm-content .cpm-fee-table th:nth-child(2),
.cpm-content .cpm-fee-table td:nth-child(2) {
  width: auto;
}

.cpm-content .cpm-fee-table tbody tr:last-child td {
  border-bottom: 0;
}

.cpm-content .cpm-fee-table tbody tr:nth-child(even) td {
  background: color-mix(in srgb, var(--cpm-soft) 54%, white);
}

.cpm-content .cpm-fee-table tbody tr:hover td {
  background: color-mix(in srgb, var(--cpm-soft) 62%, white);
}

@media (max-width: 900px) {
  .cpm-fee-table-wrap {
    overflow: visible;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
  }

  .cpm-content .cpm-fee-table,
  .cpm-content .cpm-fee-table thead,
  .cpm-content .cpm-fee-table tbody,
  .cpm-content .cpm-fee-table tr,
  .cpm-content .cpm-fee-table td {
    display: block;
    min-width: 0;
    width: 100%;
  }

  .cpm-content .cpm-fee-table thead {
    position: absolute;
    inline-size: 1px;
    block-size: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
  }

  .cpm-content .cpm-fee-table tr {
    margin: 0 0 14px;
    padding: 14px 16px;
    border: 0;
    border-radius: 16px;
    background: #fff;
    box-shadow: none;
  }

  .cpm-content .cpm-fee-table td {
    display: grid;
    grid-template-columns: minmax(88px, 32%) 1fr;
    gap: 12px;
    padding: 8px 0;
    border-bottom: 0;
    white-space: normal;
    text-align: left;
  }

  .cpm-content .cpm-fee-table td::before {
    content: attr(data-label);
    color: var(--cpm-muted);
    font-size: 16px;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-transform: uppercase;
  }

  .cpm-content .cpm-fee-table td:first-child,
  .cpm-content .cpm-fee-table td:last-child {
    width: 100%;
  }

  .cpm-content .cpm-fee-table tbody tr:hover td {
    background: transparent;
  }
}

@media (max-width: 520px) {
  .cpm-content .cpm-fee-table td {
    grid-template-columns: 1fr;
    gap: 2px;
  }

  .cpm-content .cpm-fee-table td:last-child {
    font-size: 18px;
  }
}

/* V10143: institutional organism singles should not repeat excerpt-only content. */
.cpm-org-single__compact {
  max-width: 740px;
  margin-inline: auto;
}

.cpm-org-single__compact .cpm-post-single__aside {
  position: static;
}

.cpm-org-single__compact .cpm-post-sidebox {
  padding: clamp(22px, 4vw, 34px);
  border-color: color-mix(in srgb, var(--cpm-border) 82%, white);
  border-radius: 16px;
  box-shadow: 0 18px 38px rgba(15, 23, 42, 0.045);
}

.cpm-org-single__compact .cpm-post-sidebox > a {
  width: auto;
  min-width: 190px;
  padding-inline: 18px;
}

.cpm-org-single__return {
  margin: 0;
  text-align: center;
}

.cpm-org-single__return a {
  display: inline-flex;
  align-items: center;
  min-height: 42px;
  padding: 0 18px;
  border: 1px solid rgba(226, 232, 240, 0.8);
  border-radius: 999px;
  color: var(--cpm-ink);
  font-size: 15px;
  font-weight: 700;
  text-decoration: none;
  background: rgba(255, 255, 255, 0.76);
  transition: border-color 0.2s ease, color 0.2s ease, transform 0.2s ease;
}

.cpm-org-single__return a:hover,
.cpm-org-single__return a:focus-visible {
  border-color: rgba(66, 30, 109, 0.32);
  color: var(--cpm-purple);
  transform: translateY(-1px);
}

.cpm-org-single__grid .cpm-post-single__article {
  box-shadow: none;
}

/* V10144: reviewed institutional member lists migrated from legacy Elementor pages. */
.cpm-review-list {
  display: grid;
  gap: 12px;
  margin: 22px 0 30px;
}

.cpm-review-list article {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(160px, 0.8fr);
  gap: 18px;
  align-items: center;
  padding: 16px 0;
  border-bottom: 1px solid var(--cpm-border);
}

.cpm-review-list strong {
  color: var(--cpm-ink);
  font-size: clamp(17px, 1.25rem, 20px);
  line-height: 1.25;
}

.cpm-review-list span {
  color: var(--cpm-muted);
  font-weight: 650;
  line-height: 1.35;
}

@media (max-width: 640px) {
  .cpm-review-list article {
    grid-template-columns: 1fr;
    gap: 4px;
    padding: 14px 0;
  }
}

/* V10145: editable benefit index lists for migrated benefit sections. */
.cpm-benefit-index-list {
  display: grid;
  gap: 12px;
  margin: 24px 0 8px;
}

.cpm-post-single__article .cpm-benefit-index-item {
  display: grid;
  gap: 6px;
  padding: 16px 0;
  color: var(--cpm-ink);
  text-decoration: none;
  border-bottom: 1px solid var(--cpm-border);
}

.cpm-post-single__article .cpm-benefit-index-item strong {
  display: block;
  font-size: clamp(17px, 1.25rem, 20px);
  line-height: 1.25;
}

.cpm-post-single__article .cpm-benefit-index-item span {
  display: block;
  color: var(--cpm-muted);
  font-size: 16px;
  line-height: 1.5;
}

.cpm-benefit-index-item:hover,
.cpm-benefit-index-item:focus-visible {
  color: var(--cpm-purple);
}

.cpm-benefit-index-item:hover span,
.cpm-benefit-index-item:focus-visible span {
  color: var(--cpm-ink-soft);
}

/* V10146: home search integrates Directorio de Psicologas/os without changing the approved hero style. */
.cpm-ui26-search-wrap {
  position: relative;
  z-index: 12;
  width: min(100%, 580px);
  margin-top: 22px;
}

.cpm-ui26-search-wrap .cpm-ui26-search {
  width: 100%;
  margin-top: 0;
}

.cpm-universal-search {
  position: absolute;
  top: calc(100% + 10px);
  right: 0;
  left: 0;
  overflow: hidden;
  border: 1px solid rgba(226, 232, 240, 0.92);
  border-radius: 16px;
  background: #fff;
  color: var(--cpm-ink);
  box-shadow: 0 24px 60px rgba(15, 23, 42, 0.22);
}

.cpm-universal-search[hidden] {
  display: none;
}

.cpm-universal-search__status {
  padding: 16px 18px;
  color: var(--cpm-muted);
  font-size: 16px;
  line-height: 1.45;
}

.cpm-universal-search__results {
  display: grid;
  gap: 4px;
  padding: 8px;
}

.cpm-universal-search__group {
  display: grid;
  gap: 4px;
}

.cpm-universal-search__group + .cpm-universal-search__group {
  margin-top: 6px;
  padding-top: 6px;
  border-top: 1px solid var(--cpm-border);
}

.cpm-universal-search__heading {
  display: flex;
  gap: 12px;
  align-items: center;
  justify-content: space-between;
  padding: 8px 10px 4px;
  color: var(--cpm-muted);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: 1.2;
  text-transform: uppercase;
}

.cpm-universal-search__heading a {
  color: var(--cpm-purple);
  font-size: 14px;
  letter-spacing: 0;
  text-decoration: none;
  text-transform: none;
}

.cpm-universal-search__item {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
  padding: 10px;
  border-radius: 12px;
  color: var(--cpm-ink);
  text-decoration: none;
  transition: background 0.16s ease, transform 0.16s ease, color 0.16s ease;
}

.cpm-universal-search__item:hover,
.cpm-universal-search__item:focus-visible {
  background: #f8fafc;
  color: var(--cpm-purple);
  outline: 0;
  transform: translateY(-1px);
}

.cpm-universal-search__avatar {
  display: inline-flex;
  width: 42px;
  height: 42px;
  overflow: hidden;
  align-items: center;
  justify-content: center;
  border-radius: 12px;
  background: var(--cpm-purple);
  color: #fff;
  font-size: 14px;
  font-weight: 700;
}

.cpm-universal-search__avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.cpm-universal-search__avatar--site {
  background: #eff6ff;
  color: var(--cpm-blue);
  font-size: 18px;
}

.cpm-universal-search__text {
  display: grid;
  min-width: 0;
  gap: 3px;
}

.cpm-universal-search__text strong {
  overflow: hidden;
  color: currentColor;
  font-size: 16px;
  line-height: 1.25;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.cpm-universal-search__text small {
  overflow: hidden;
  color: var(--cpm-muted);
  font-size: 14px;
  line-height: 1.35;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.cpm-universal-search__arrow {
  color: var(--cpm-purple);
  font-size: 18px;
  font-weight: 700;
}

.cpm-universal-search__empty {
  display: grid;
  gap: 8px;
  padding: 16px;
}

.cpm-universal-search__empty strong {
  font-size: 16px;
  line-height: 1.3;
}

.cpm-universal-search__empty p {
  margin: 0;
  color: var(--cpm-muted);
  font-size: 16px;
  line-height: 1.45;
}

.cpm-universal-search__empty a {
  color: var(--cpm-purple);
  font-weight: 700;
  text-decoration: none;
}

@media (max-width: 720px) {
  .cpm-ui26-search-wrap {
    width: 100%;
  }

  .cpm-universal-search {
    position: static;
    margin-top: 10px;
    box-shadow: 0 16px 34px rgba(15, 23, 42, 0.16);
  }

  .cpm-universal-search__results {
    max-height: 380px;
    overflow-y: auto;
    overscroll-behavior: contain;
  }

  .cpm-universal-search__text small {
    white-space: normal;
  }
}

/* V10147: keep the home search results above the quick-access band. */
.cpm-ui26-hero {
  overflow: visible;
}

.cpm-ui26-hero__inner {
  z-index: 30;
}

.cpm-ui26-quick-wrap {
  z-index: 20;
}

.cpm-universal-search {
  z-index: 80;
  max-height: min(520px, calc(100vh - 220px));
  overflow-y: auto;
}

/* V10148: promote the entire home hero while the universal search is open. */
.cpm-ui26-hero.is-search-open {
  z-index: 1000;
  overflow: visible;
}

.cpm-ui26-hero.is-search-open .cpm-ui26-hero__inner {
  z-index: 1010;
}

.cpm-ui26-hero.is-search-open .cpm-ui26-search-wrap {
  z-index: 1020;
}

.cpm-ui26-hero.is-search-open .cpm-universal-search {
  z-index: 1030;
  background: #fff;
  box-shadow: 0 34px 90px rgba(15, 23, 42, 0.3);
  opacity: 1;
}

.cpm-ui26-hero.is-search-open + .cpm-ui26-quick-wrap {
  z-index: 1;
  pointer-events: none;
}

.cpm-home-search-open .cpm-whatsapp {
  opacity: 0;
  pointer-events: none;
  transform: translateY(10px);
}

/* V10149: professional directory parity with PSICOLE cards and image-ready search results. */
.psicole-directory--ui26 .psicole-directory__grid {
  gap: 20px;
  align-items: stretch;
}

.psicole-directory--ui26 .psicole-prof-card {
  min-height: 258px;
  gap: 14px;
  border-color: #e8e3f2;
  border-radius: 18px;
  background: linear-gradient(180deg, #fff 0%, #fff 72%, #fbfaff 100%);
  padding: 22px;
  box-shadow: 0 18px 48px rgba(15, 23, 42, 0.055);
}

.psicole-directory--ui26 .psicole-prof-card:hover,
.psicole-directory--ui26 .psicole-prof-card:focus-within {
  border-color: color-mix(in srgb, var(--cpm-purple) 28%, #e8e3f2);
  box-shadow: 0 22px 58px rgba(66, 30, 109, 0.12);
  transform: translateY(-2px);
}

.psicole-directory--ui26 .psicole-prof-card__head {
  grid-template-columns: 64px minmax(0, 1fr);
  gap: 16px;
  align-items: start;
}

.psicole-directory--ui26 .psicole-prof-card__avatar {
  width: 64px;
  height: 64px;
  flex-basis: 64px;
  border-radius: 18px;
  box-shadow: 0 14px 28px rgba(15, 23, 42, 0.09);
  font-size: 21px;
  font-weight: 700;
  letter-spacing: -0.02em;
}

.psicole-directory--ui26 .psicole-prof-card__avatar--image {
  background: #f1f5f9;
  object-fit: cover;
}

.psicole-directory--ui26 .psicole-avatar-tone-0,
.cpm-universal-search__avatar .tone-0,
.cpm-prof-single__avatar.cpm-avatar-tone-0 { background: #dbeafe; color: #075985; }
.psicole-directory--ui26 .psicole-avatar-tone-1,
.cpm-universal-search__avatar .tone-1,
.cpm-prof-single__avatar.cpm-avatar-tone-1 { background: #fce7f3; color: #9d174d; }
.psicole-directory--ui26 .psicole-avatar-tone-2,
.cpm-universal-search__avatar .tone-2,
.cpm-prof-single__avatar.cpm-avatar-tone-2 { background: #ede9fe; color: #4c1d95; }
.psicole-directory--ui26 .psicole-avatar-tone-3,
.cpm-universal-search__avatar .tone-3,
.cpm-prof-single__avatar.cpm-avatar-tone-3 { background: #dcfce7; color: #047857; }
.psicole-directory--ui26 .psicole-avatar-tone-4,
.cpm-universal-search__avatar .tone-4,
.cpm-prof-single__avatar.cpm-avatar-tone-4 { background: #ffedd5; color: #c2410c; }
.psicole-directory--ui26 .psicole-avatar-tone-5,
.cpm-universal-search__avatar .tone-5,
.cpm-prof-single__avatar.cpm-avatar-tone-5 { background: #e0f2fe; color: #0369a1; }

.psicole-directory--ui26 .psicole-prof-card__verified {
  margin-bottom: 8px;
  background: #e8fff4;
  color: #067647;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: -0.01em;
  padding: 4px 10px;
}

.psicole-directory--ui26 .psicole-prof-card__verified svg {
  width: 13px;
  height: 13px;
}

.psicole-directory--ui26 .psicole-prof-card h3,
.psicole-directory--ui26 .psicole-prof-card__title {
  min-height: calc(1.12em * 2);
  color: #0f172a;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.12;
  letter-spacing: -0.018em;
}

.psicole-directory--ui26 .psicole-prof-card__head p {
  margin-top: 8px;
  color: #667085;
  font-size: 15px;
  font-weight: 560;
  line-height: 1.25;
}

.psicole-directory--ui26 .psicole-prof-card__facts {
  gap: 8px;
  color: #667085;
  font-size: 15px;
  font-weight: 560;
  line-height: 1.3;
}

.psicole-directory--ui26 .psicole-prof-card__tags span {
  border: 1px solid #e7e5ef;
  background: #f3f1f7;
  color: #1f2937;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.1;
  padding: 7px 11px;
}

.psicole-directory--ui26 .psicole-prof-card__actions {
  margin-top: auto;
  border-top: 1px solid #eeeaf7;
  padding-top: 14px;
}

.psicole-directory--ui26 .psicole-prof-card__link {
  color: #4f46e5;
  font-size: 15px;
  font-weight: 700;
}

.psicole-directory--ui26 .psicole-prof-card__link::after {
  content: "→";
  margin-left: 9px;
  transition: transform 160ms ease;
}

.psicole-directory--ui26 .psicole-prof-card__link:hover::after,
.psicole-directory--ui26 .psicole-prof-card__link:focus-visible::after {
  transform: translateX(3px);
}

.cpm-universal-search__item {
  grid-template-columns: 56px minmax(0, 1fr) auto;
  gap: 16px;
  padding: 14px 18px;
}

.cpm-universal-search__avatar {
  width: 56px;
  height: 56px;
  border-radius: 16px;
  background: #f1f5f9;
  color: #0f172a;
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.08);
  font-size: 18px;
  font-weight: 700;
}

.cpm-universal-search__avatar > span {
  display: inline-flex;
  width: 100%;
  height: 100%;
  align-items: center;
  justify-content: center;
  border-radius: inherit;
}

.cpm-universal-search__avatar--site {
  background: #eff6ff;
  color: var(--cpm-blue);
}

.cpm-universal-search__text strong {
  color: #0f172a;
  font-size: 19px;
  font-weight: 700;
  letter-spacing: -0.015em;
}

.cpm-universal-search__text small {
  color: #667085;
  font-size: 16px;
  font-weight: 500;
}

.cpm-prof-single__avatar {
  border-radius: 22px;
  box-shadow: 0 18px 42px rgba(15, 23, 42, 0.11);
  font-size: 34px;
  font-weight: 700;
  letter-spacing: -0.02em;
}

@media (max-width: 900px) {
  .psicole-directory--ui26 .psicole-directory__grid {
    gap: 14px;
  }

  .psicole-directory--ui26 .psicole-prof-card {
    min-height: 0;
    border-radius: 14px;
    padding: 18px;
  }

  .psicole-directory--ui26 .psicole-prof-card__head {
    grid-template-columns: 56px minmax(0, 1fr);
    gap: 13px;
  }

  .psicole-directory--ui26 .psicole-prof-card__avatar {
    width: 56px;
    height: 56px;
    flex-basis: 56px;
    border-radius: 15px;
    font-size: 18px;
  }

  .psicole-directory--ui26 .psicole-prof-card h3,
  .psicole-directory--ui26 .psicole-prof-card__title {
    font-size: 17px;
  }

  .cpm-universal-search__item {
    grid-template-columns: 50px minmax(0, 1fr) auto;
    gap: 12px;
    padding: 12px;
  }

  .cpm-universal-search__avatar {
    width: 50px;
    height: 50px;
    border-radius: 14px;
    font-size: 17px;
  }

  .cpm-universal-search__text strong {
    font-size: 17px;
  }

  .cpm-prof-single__avatar {
    border-radius: 18px;
  }
}

/* Benefit category collections migrated from the current public site. */
.cpm-benefit-collection {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 18px;
  margin-top: 24px;
}

.cpm-benefit-collection__card {
  display: grid;
  overflow: hidden;
  min-height: 100%;
  border: 1px solid rgba(66, 30, 109, 0.12);
  border-radius: 18px;
  background: #fff;
  color: var(--cpm-ink);
  box-shadow: 0 16px 38px rgba(15, 23, 42, 0.055);
  transition: transform 160ms ease, box-shadow 160ms ease, border-color 160ms ease;
}

.cpm-benefit-collection__card:hover,
.cpm-benefit-collection__card:focus-visible {
  border-color: rgba(66, 30, 109, 0.28);
  box-shadow: 0 20px 46px rgba(15, 23, 42, 0.09);
  transform: translateY(-2px);
}

.cpm-benefit-collection__card img {
  width: 100%;
  aspect-ratio: 16 / 10;
  object-fit: cover;
  background: #eef2f7;
}

.cpm-benefit-collection__body {
  display: grid;
  gap: 10px;
  padding: 18px;
}

.cpm-benefit-collection__body strong {
  color: #111827;
  font-size: 20px;
  font-weight: 700;
  letter-spacing: -0.015em;
  line-height: 1.2;
}

.cpm-benefit-collection__body span {
  color: #526173;
  font-size: 16px;
  line-height: 1.45;
}

.cpm-benefit-collection__body em {
  color: var(--cpm-purple);
  font-size: 16px;
  font-style: normal;
  font-weight: 700;
}

.cpm-benefit-split-links {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  margin-top: 10px;
}

.cpm-benefit-split-links a {
  display: grid;
  position: relative;
  gap: 8px;
  min-height: 156px;
  padding: 20px;
  border: 1px solid rgba(66, 30, 109, 0.12);
  border-radius: 16px;
  background: linear-gradient(180deg, #fff 0%, #fbfaff 100%);
  box-shadow: 0 12px 28px rgba(15, 23, 42, 0.045);
  text-decoration: none;
}

.cpm-benefit-split-links a:hover,
.cpm-benefit-split-links a:focus-visible {
  border-color: rgba(66, 30, 109, 0.28);
  transform: translateY(-2px);
  box-shadow: 0 16px 34px rgba(15, 23, 42, 0.075);
}

.cpm-benefit-split-links a::after {
  content: "Ver detalle →";
  align-self: end;
  color: var(--cpm-purple);
  font-size: 15px;
  font-weight: 700;
}

.cpm-benefit-split-links strong {
  color: #111827;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.18;
}

.cpm-benefit-split-links span {
  color: #526173;
  font-size: 16px;
  line-height: 1.45;
}

.cpm-benefit-action-content {
  gap: 16px;
}

.cpm-benefit-action-content__lead {
  max-width: 720px;
  margin: 0;
  color: #334155;
  font-size: 20px;
  line-height: 1.55;
}

.cpm-benefit-action-content h2 {
  margin: 8px 0 0;
  color: #111827;
  font-size: 30px;
  line-height: 1.15;
}

.cpm-benefit-directory {
  display: grid;
  gap: 18px;
}

.cpm-benefit-directory__lead {
  max-width: 760px;
  margin: 0;
  color: #334155;
  font-size: 20px;
  line-height: 1.6;
}

.cpm-benefit-directory__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

.cpm-benefit-directory__item {
  display: grid;
  align-content: start;
  gap: 10px;
  min-width: 0;
  padding: 22px;
  border: 1px solid rgba(66, 30, 109, 0.12);
  border-radius: 18px;
  background: linear-gradient(180deg, #fff 0%, #fbfaff 100%);
  box-shadow: 0 14px 34px rgba(15, 23, 42, 0.045);
}

.cpm-benefit-directory__item strong {
  color: #111827;
  font-size: 21px;
  font-weight: 700;
  line-height: 1.18;
}

.cpm-benefit-directory__item span,
.cpm-benefit-directory__item p {
  margin: 0;
  color: #526173;
  font-size: 16px;
  line-height: 1.5;
}

.cpm-benefit-directory__links {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 4px;
}

.cpm-benefit-directory__links a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 38px;
  padding: 8px 12px;
  border: 1px solid rgba(66, 30, 109, 0.15);
  border-radius: 999px;
  color: var(--cpm-purple);
  background: #fff;
  font-size: 15px;
  font-weight: 700;
  text-decoration: none;
}

.cpm-benefit-directory__links a:hover,
.cpm-benefit-directory__links a:focus-visible {
  border-color: rgba(66, 30, 109, 0.35);
  color: #fff;
  background: var(--cpm-purple);
}

.cpm-benefit-directory__note {
  margin-top: 2px;
  padding-top: 16px;
  border-top: 1px solid rgba(148, 163, 184, 0.22);
  color: #64748b;
  font-size: 16px;
  line-height: 1.55;
}

.cpm-migrated-source-content {
  display: grid;
  gap: 20px;
}

.cpm-migrated-source-content :is(.blog_wrapper, .posts_group, .column_filters, .isotope_wrapper, .masonry, .tiles) {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 18px;
  width: 100%;
  max-width: 100%;
}

.cpm-migrated-source-content :is(.post-item, article.post) {
  display: grid;
  gap: 12px;
  min-width: 0;
  overflow: hidden;
  border: 1px solid rgba(226, 232, 240, 0.95);
  border-radius: 18px;
  background: #fff;
}

.cpm-migrated-source-content :is(.post-photo-wrapper, .image_wrapper_tiles, .image_frame, .wp-caption) {
  display: block;
  width: 100%;
  max-width: 100%;
  overflow: hidden;
  aspect-ratio: 16 / 10;
  border-radius: 16px;
  background: #f1f5f9;
}

.cpm-migrated-source-content :is(.post-photo-wrapper, .image_wrapper_tiles, .image_frame, .wp-caption) img,
.cpm-migrated-source-content img:is(.scale-with-grid, .wp-post-image) {
  display: block;
  width: 100%;
  max-width: 100%;
  height: 100%;
  margin: 0;
  object-fit: cover;
  object-position: center;
  border-radius: inherit;
}

.cpm-migrated-source-content :is(.date_label, .post-head, .post-meta, .cat-wrapper, .cat-btn, .excerpt-hellip) {
  display: none;
}

.cpm-migrated-source-content :is(.post-desc-wrapper, .post-desc) {
  display: grid;
  gap: 8px;
  padding: 0 16px 16px;
}

.cpm-migrated-source-content :is(.post-title h2, .entry-title) {
  margin: 0;
  font-size: 18px;
  line-height: 1.25;
}

.cpm-migrated-source-content > *:first-child {
  margin-top: 0;
}

.cpm-source-table {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(240px, 0.38fr);
  gap: 16px;
  margin: 4px 0 10px;
}

.cpm-source-table__panel {
  display: grid;
  align-content: start;
  gap: 10px;
  min-width: 0;
  padding: 20px;
  border: 1px solid rgba(66, 30, 109, 0.11);
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 14px 34px rgba(15, 23, 42, 0.05);
}

.cpm-source-table__panel p,
.cpm-source-table__panel h5 {
  margin: 0;
}

.cpm-source-table__panel h5,
.cpm-source-table__panel strong {
  color: #111827;
  font-weight: 700;
}

.cpm-source-table__panel h5 {
  font-size: 14px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.cpm-source-table__panel p {
  color: #334155;
  font-size: 17px;
  line-height: 1.55;
}

@media (max-width: 720px) {
  .cpm-benefit-collection {
    grid-template-columns: 1fr;
    gap: 14px;
  }

  .cpm-benefit-split-links {
    grid-template-columns: 1fr;
    gap: 12px;
  }

  .cpm-benefit-split-links a {
    min-height: 0;
    padding: 18px;
  }

  .cpm-benefit-directory__grid {
    grid-template-columns: 1fr;
    gap: 12px;
  }

  .cpm-benefit-directory__item {
    padding: 18px;
    border-radius: 16px;
  }

  .cpm-benefit-action-content__lead {
    font-size: 18px;
  }

  .cpm-source-table {
    grid-template-columns: 1fr;
  }

  .cpm-source-table__panel {
    padding: 18px;
  }
}

/* Final interaction guard: card-level focus rules must not reduce CTA contrast. */
.cpm-tramite-card .cpm-tramite-card__cta:hover,
.cpm-tramite-card .cpm-tramite-card__cta:focus,
.cpm-tramite-card .cpm-tramite-card__cta:focus-visible,
.cpm-tramite-card .cpm-tramite-card__cta:active,
.cpm-tramite-card:focus-within .cpm-tramite-card__cta:hover,
.cpm-tramite-card:focus-within .cpm-tramite-card__cta:focus,
.cpm-tramite-card:focus-within .cpm-tramite-card__cta:focus-visible,
.cpm-tramite-card:focus-within .cpm-tramite-card__cta:active {
  background: var(--cpm-purple);
  color: #fff !important;
  text-decoration: none;
}

.cpm-tramite-card .cpm-tramite-card__cta:focus-visible {
  outline: 3px solid color-mix(in srgb, var(--cpm-blue) 52%, transparent);
  outline-offset: 3px;
}

/* Legacy imported content guard: old BeTheme/Muffin wrappers must never escape the WordPress sheet. */
.cpm-content .cpm-migrated-source-content {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  overflow-x: clip;
}

.cpm-migrated-source-content,
.cpm-migrated-source-content * {
  box-sizing: border-box;
}

.cpm-migrated-source-content :is(
  .section,
  .section_wrapper,
  .wrap,
  .mcb-wrap,
  .mcb-wrap-inner,
  .mcb-section,
  .mcb-section-inner,
  .mcb-column,
  .mcb-column-inner,
  .mfn-module,
  .mfn-module-wrapper,
  .mfn-visualeditor-content,
  .mfn-inline-editor,
  .column,
  .column_attr,
  .clearfix
) {
  display: block;
  float: none !important;
  clear: both;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  height: auto !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  transform: none !important;
}

.cpm-migrated-source-content :is(p, li, div, h1, h2, h3, h4, h5, h6, strong, em, a) {
  max-width: 100%;
  overflow-wrap: anywhere;
  word-break: normal;
}

.cpm-migrated-source-content :is(.mfn-visualeditor-content, .mfn-inline-editor) {
  color: #334155;
  font-family: var(--cpm-font);
  font-size: 18px !important;
  font-weight: 500;
  line-height: 1.68 !important;
  letter-spacing: 0;
  text-align: left;
}

.cpm-migrated-source-content :is(.mfn-visualeditor-content, .mfn-inline-editor) > :first-child {
  margin-top: 0;
}

.cpm-migrated-source-content :is(.mfn-visualeditor-content, .mfn-inline-editor) > :last-child {
  margin-bottom: 0;
}

.cpm-migrated-source-content :is(h1, h2, h3, h4) {
  margin: 1.15em 0 0.45em;
  color: #111827;
  font-weight: 700;
  line-height: 1.16;
  text-align: left;
}

.cpm-migrated-source-content :is(h1, h2) {
  font-size: 30px;
}

.cpm-migrated-source-content :is(h3, h4) {
  font-size: 22px;
}

/* V10330: imported course copy must stay inside the activity column. */
.cpm-activity-single__article,
.cpm-activity-detail-section--editor,
.cpm-activity-detail-section--editor * {
  box-sizing: border-box;
  min-width: 0;
  max-width: 100%;
}

.cpm-activity-detail-section--editor :is(a, p, li, strong, b, em) {
  overflow-wrap: anywhere;
  word-break: normal;
}

.cpm-activity-detail-section--editor a.cpm-button {
  width: auto;
  max-width: 100%;
  flex-shrink: 1;
  justify-content: flex-start;
  white-space: normal;
  text-align: left;
}

.cpm-migrated-source-content :is(p, ul, ol) {
  margin: 0 0 1.05em;
}

.cpm-migrated-source-content ul,
.cpm-migrated-source-content ol {
  display: grid;
  gap: 8px;
  padding-left: 1.35em;
}

@media (max-width: 720px) {
  .cpm-content .cpm-migrated-source-content {
    overflow-x: hidden;
  }

  .cpm-migrated-source-content :is(.mfn-visualeditor-content, .mfn-inline-editor) {
    font-size: 17px !important;
    line-height: 1.58 !important;
  }

  .cpm-migrated-source-content :is(h1, h2) {
    font-size: 24px;
  }

  .cpm-migrated-source-content :is(h3, h4) {
    font-size: 20px;
  }
}

/* Mobile directory: remove modality selector to avoid a redundant third row. */
@media (max-width: 700px) {
  body .psicole-directory--ui26 .psicole-directory__filters .psicole-directory__select--modality {
    display: none !important;
  }
}

/* V10168: directory mobile filter bar must stay one line.
   On phones the specialty selector was becoming a tall third row. Search already
   covers specialty terms, so the visual filter bar keeps only search + zone. */
@media (max-width: 700px) {
  body .psicole-directory--ui26 .psicole-directory__filters {
    position: sticky;
    top: 70px;
    z-index: 140;
    display: flex !important;
    align-items: center;
    width: 100%;
    max-width: 100%;
    margin: 0 0 14px;
    padding: 8px 0 10px;
    gap: 8px;
    overflow: visible;
    background: #f8fafc;
    border: 0;
    border-bottom: 1px solid rgba(226, 232, 240, 0.95);
    border-radius: 0;
    box-shadow: 0 10px 20px rgba(15, 23, 42, 0.07);
  }

  body .psicole-directory--ui26 .psicole-directory__search {
    flex: 1 1 auto;
    width: auto;
    min-width: 0;
    grid-column: auto;
  }

  body .psicole-directory--ui26 .psicole-directory__select--city {
    flex: 0 0 clamp(150px, 42vw, 178px);
    width: auto;
    min-width: 0;
  }

  body .psicole-directory--ui26 .psicole-directory__select--specialty,
  body .psicole-directory--ui26 .psicole-directory__filters label:has([data-psicole-specialty]),
  body .psicole-directory--ui26 .psicole-directory__filters .psicole-directory__select--modality {
    display: none !important;
  }

  body .psicole-directory--ui26 .psicole-directory__search input,
  body .psicole-directory--ui26 .psicole-directory__select select {
    min-height: 44px;
    border-radius: 12px;
    font-size: 16px;
  }

  body .psicole-directory--ui26 .psicole-directory__search input {
    padding-right: 12px;
    text-overflow: ellipsis;
  }
}

/* Mobile menu: keep navigation above directory sticky filters.
   The directory filter bar intentionally sticks while scrolling, but it must never
   overlap the opened site menu. */
@media (max-width: 700px) {
  html.cpm-menu-open .cpm-header,
  .cpm-header.is-menu-open {
    z-index: 3200 !important;
  }

  .cpm-header.is-menu-open .cpm-header__main,
  .cpm-header.is-menu-open .cpm-header__inner {
    position: relative;
    z-index: 3210;
  }

  .cpm-header.is-menu-open .cpm-nav {
    z-index: 3220 !important;
    max-height: calc(100dvh - 98px);
    overflow-y: auto;
    background: #fff !important;
    box-shadow: 0 24px 60px rgba(15, 23, 42, 0.22);
    isolation: isolate;
  }

  html.cpm-menu-open .psicole-directory--ui26 .psicole-directory__filters {
    z-index: 1 !important;
    pointer-events: none;
  }

  html.cpm-menu-open .cpm-mobile-dock,
  html.cpm-menu-open .cpm-whatsapp {
    z-index: 10 !important;
  }
}

/* V10162: floating CTA coexistence + onboarding screenshots.
   WhatsApp must stay visually above the account CTA on mobile, and onboarding
   screenshots need different framing for desktop web captures and phone captures. */

@media (max-width: 820px) {

  .cpm-whatsapp {
    right: 14px;
    bottom: calc(142px + env(safe-area-inset-bottom));
    z-index: 1700;
  }

  .cpm-whatsapp__button {
    width: 52px;
    height: 52px;
  }

  .cpm-first-account-cta {
    right: auto;
    left: 14px;
    bottom: calc(82px + env(safe-area-inset-bottom));
    z-index: 1500;
    max-width: calc(100vw - 96px);
  }

  body.cpm-account-wizard-open .cpm-first-account-cta,
  body.cpm-account-wizard-open .cpm-whatsapp {
    display: none !important;
  }
}

@media (max-width: 430px) {

  .cpm-first-account-cta {
    min-height: 40px;
    padding: 7px 10px 7px 8px;
  }

  .cpm-first-account-cta strong {
    font-size: 13px;
    line-height: 1.1;
  }
}

/* V10166: PSICOLE-style product tour composition.
   The screenshots must sell the software: large evidence panel on desktop,
   real phone framing on mobile, and copy/control hierarchy like PSICOLE. */

/* V10169: account activation CTA polish.
   Keep it as a system entry point, not a left-side badge. */
.cpm-first-account-cta span {
  background: linear-gradient(135deg, #421e6d 0%, #6d28d9 100%);
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.18);
}

.cpm-first-account-cta svg,
.cpm-first-account-cta svg * {
  fill: none;
  stroke: currentColor;
  stroke-width: 2.25;
  stroke-linecap: round;
  stroke-linejoin: round;
}

@media (max-width: 700px) {
  .cpm-first-account-cta {
    right: 14px !important;
    left: auto !important;
    bottom: calc(66px + env(safe-area-inset-bottom)) !important;
    z-index: 1500;
    gap: 8px;
    max-width: min(228px, calc(100vw - 118px));
    min-height: 42px;
    padding: 7px 12px 7px 8px;
    border-color: rgba(66, 30, 109, 0.22);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.98);
  }

  .cpm-first-account-cta span {
    width: 30px;
    height: 30px;
  }

  .cpm-first-account-cta svg {
    width: 16px;
    height: 16px;
  }

  .cpm-first-account-cta strong {
    font-size: 13.5px;
    font-weight: 700;
    letter-spacing: -0.01em;
    white-space: nowrap;
  }
}

/* V10170: institutional organism pages use an open editorial layout.
   Sindicatura, Tribunal and Comisiones should read like Consejo sections, not
   like boxed post cards. */
.cpm-org-single .cpm-post-single__grid {
  grid-template-columns: minmax(0, 820px) minmax(240px, 300px);
  gap: clamp(32px, 5vw, 56px);
  justify-content: center;
}

.cpm-org-single .cpm-post-single__article,
.cpm-org-single__article {
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  padding: 0 !important;
}

.cpm-org-single .cpm-post-sidebox,
.cpm-org-single__sidebox {
  border-color: rgba(226, 232, 240, 0.82);
  border-radius: 12px;
  box-shadow: none !important;
}

.cpm-org-single .cpm-post-single__article > :first-child {
  margin-top: 0;
}

@media (max-width: 900px) {
  .cpm-org-single .cpm-post-single__grid {
    grid-template-columns: 1fr;
  }

  .cpm-org-single .cpm-post-single__aside {
    display: none;
  }
}

/* V10175: mobile onboarding keeps conversion actions in the fixed footer.
   The slide copy can scroll, but account activation and login must remain
   visible beside compact icon navigation. */

/* V10176: mobile dock icons without boxed pills.
   The dock should feel like native navigation: larger standalone glyphs,
   clear active color, no little rounded squares around each icon. */
@media (max-width: 700px) {
  .cpm-mobile-dock {
    min-height: calc(72px + env(safe-area-inset-bottom));
    border-top: 1px solid rgba(203, 213, 225, 0.86);
    background: rgba(255, 255, 255, 0.985);
    box-shadow: 0 -8px 22px rgba(15, 23, 42, 0.08);
  }

  .cpm-mobile-dock a {
    position: relative;
    gap: 5px;
    min-height: 70px;
    padding: 9px 4px calc(8px + env(safe-area-inset-bottom));
    color: #273449;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0;
    text-decoration: none;
  }

  .cpm-mobile-dock a::before {
    content: "";
    position: absolute;
    top: 0;
    left: 50%;
    width: 28px;
    height: 3px;
    border-radius: 999px;
    background: transparent;
    transform: translateX(-50%);
  }

  .cpm-mobile-dock a.is-active,
  .cpm-mobile-dock a[aria-current="page"],
  .cpm-mobile-dock a:hover,
  .cpm-mobile-dock a:focus-visible {
    color: var(--cpm-purple);
  }

  .cpm-mobile-dock a.is-active::before,
  .cpm-mobile-dock a[aria-current="page"]::before {
    background: var(--cpm-purple);
  }

  .cpm-mobile-dock .cpm-mobile-dock__icon {
    width: auto !important;
    height: auto !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    color: currentColor;
    line-height: 1;
  }

  .cpm-mobile-dock .cpm-mobile-dock__icon svg {
    width: 24px !important;
    height: 24px !important;
    display: block;
    stroke: currentColor;
    stroke-width: 2.45;
    stroke-linecap: round;
    stroke-linejoin: round;
    filter: none !important;
    opacity: 1;
    transform: none !important;
  }

  .cpm-mobile-dock .cpm-mobile-dock__icon svg * {
    vector-effect: non-scaling-stroke;
  }
}

/* V10182: final account CTA position after all dock/icon overrides. */
@media (max-width: 700px) {
  .cpm-first-account-cta {
    right: 14px !important;
    left: auto !important;
    bottom: calc(86px + env(safe-area-inset-bottom)) !important;
    z-index: 1500 !important;
    display: inline-flex !important;
  }
}

/* V10183: procedural notice blocks for institutional documents. */
.cpm-content .cpm-document-notice {
  margin: 28px 0;
  border: 1px solid rgba(66, 30, 109, 0.16);
  border-radius: 14px;
  background: color-mix(in srgb, var(--cpm-purple) 5%, #fff);
  padding: 20px 22px;
}

.cpm-content .cpm-document-notice strong {
  display: block;
  margin-bottom: 8px;
  color: var(--cpm-purple);
  font-size: 16px;
  line-height: 1.25;
}

.cpm-content .cpm-document-notice p {
  margin: 0;
}

.cpm-content .cpm-document-notice--ethics {
  display: grid;
  gap: 10px;
  margin-top: 0;
}

.cpm-content .cpm-document-notice--ethics strong {
  display: inline;
  margin: 0;
}

/* V10184: content links must not override button contrast. */
.cpm-content a.cpm-button--primary,
.cpm-content a.cpm-button--primary:visited {
  color: #fff !important;
}

.cpm-content a.cpm-button--primary:hover,
.cpm-content a.cpm-button--primary:focus-visible {
  color: #fff !important;
  background: color-mix(in srgb, var(--cpm-purple) 88%, #000);
  border-color: color-mix(in srgb, var(--cpm-purple) 88%, #000);
}

/* V10185: commissions are editorial subpages, not duplicated legacy text blocks. */
.cpm-commission-nav {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin: clamp(24px, 4vw, 36px) 0 6px;
}

.cpm-commission-nav article {
  display: flex;
  flex-direction: column;
  min-height: 220px;
  padding: clamp(20px, 3vw, 26px);
  border: 1px solid rgba(66, 30, 109, 0.12);
  border-radius: 18px;
  background: linear-gradient(180deg, #fff 0%, rgba(248, 250, 252, 0.92) 100%);
  box-shadow: 0 18px 42px rgba(15, 23, 42, 0.045);
}

.cpm-commission-nav h2 {
  margin: 0 0 12px;
  color: var(--cpm-ink);
  font-size: 22px;
  line-height: 1.16;
}

.cpm-commission-nav p {
  margin: 0 0 22px;
  color: var(--cpm-muted);
  font-size: 16px;
  line-height: 1.55;
}

.cpm-commission-nav a {
  align-self: flex-start;
  margin-top: auto;
  min-height: 42px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 16px;
  border-radius: 999px;
  background: var(--cpm-purple);
  color: #fff !important;
  font-size: 16px;
  font-weight: 700;
  text-decoration: none;
  transition: background 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
}

.cpm-commission-nav a:hover,
.cpm-commission-nav a:focus-visible {
  background: color-mix(in srgb, var(--cpm-purple) 86%, #000);
  box-shadow: 0 12px 24px rgba(66, 30, 109, 0.18);
  transform: translateY(-1px);
}

@media (max-width: 920px) {
  .cpm-commission-nav {
    grid-template-columns: 1fr;
  }

  .cpm-commission-nav article {
    min-height: 0;
  }
}

/* V10186: strict PSICOLE onboarding reset.
   This layer intentionally wins over previous V10xxx tour patches: the modal
   must present solid CTAs, real screenshot evidence, and device-correct mobile
   framing without transparent buttons or cramped mockups. */

/* V10190: mobile dock final IA + interaction states.
   Five canonical actions: Home, Trámites, Directorio, Credencial, Contacto.
   Icons stay unboxed; feedback comes from color, lift, underline and tap state. */
@media (max-width: 700px) {
  .cpm-mobile-dock {
    z-index: 1300 !important;
    display: grid !important;
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
    min-height: calc(76px + env(safe-area-inset-bottom)) !important;
    padding: 0 4px env(safe-area-inset-bottom) !important;
    border-top: 1px solid rgba(203, 213, 225, 0.84) !important;
    background: rgba(255, 255, 255, 0.985) !important;
    box-shadow: 0 -10px 28px rgba(15, 23, 42, 0.1) !important;
    backdrop-filter: blur(18px) !important;
  }

  .cpm-mobile-dock a {
    position: relative !important;
    display: grid !important;
    min-width: 0 !important;
    min-height: 76px !important;
    align-content: center !important;
    justify-items: center !important;
    gap: 5px !important;
    padding: 9px 2px 8px !important;
    color: #334155 !important;
    cursor: pointer !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    letter-spacing: -0.015em !important;
    line-height: 1.05 !important;
    text-align: center !important;
    text-decoration: none !important;
    -webkit-tap-highlight-color: transparent !important;
    transition: color 150ms ease, transform 150ms ease, background 150ms ease;
  }

  .cpm-mobile-dock a::before {
    content: "" !important;
    position: absolute !important;
    top: 0 !important;
    left: 50% !important;
    width: 0 !important;
    height: 3px !important;
    border-radius: 999px !important;
    background: linear-gradient(90deg, #421e6d, #0ea5e9) !important;
    opacity: 0 !important;
    transform: translateX(-50%) !important;
    transition: width 150ms ease, opacity 150ms ease !important;
  }

  .cpm-mobile-dock .cpm-mobile-dock__icon {
    display: inline-flex !important;
    width: auto !important;
    height: auto !important;
    align-items: center !important;
    justify-content: center !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    color: currentColor !important;
    line-height: 1 !important;
    transition: transform 150ms ease, color 150ms ease !important;
  }

  .cpm-mobile-dock .cpm-mobile-dock__icon svg {
    display: block !important;
    width: 27px !important;
    height: 27px !important;
    fill: none !important;
    stroke: currentColor !important;
    stroke-width: 2.35 !important;
    stroke-linecap: round !important;
    stroke-linejoin: round !important;
    opacity: 1 !important;
    filter: none !important;
  }

  .cpm-mobile-dock .cpm-mobile-dock__icon svg * {
    vector-effect: non-scaling-stroke;
  }

  .cpm-mobile-dock a:hover,
  .cpm-mobile-dock a:focus-visible,
  .cpm-mobile-dock a:active {
    color: var(--cpm-purple) !important;
    background: linear-gradient(180deg, rgba(66, 30, 109, 0.045), transparent 72%) !important;
    transform: translateY(-1px) !important;
    outline: 0 !important;
  }

  .cpm-mobile-dock a:hover::before,
  .cpm-mobile-dock a:focus-visible::before,
  .cpm-mobile-dock a:active::before,
  .cpm-mobile-dock a.is-active::before,
  .cpm-mobile-dock a[aria-current="page"]::before {
    width: 28px !important;
    opacity: 1 !important;
  }

  .cpm-mobile-dock a:hover .cpm-mobile-dock__icon,
  .cpm-mobile-dock a:focus-visible .cpm-mobile-dock__icon,
  .cpm-mobile-dock a:active .cpm-mobile-dock__icon {
    transform: translateY(-2px) scale(1.06) !important;
  }

  .cpm-mobile-dock a.is-active,
  .cpm-mobile-dock a[aria-current="page"] {
    color: var(--cpm-purple) !important;
    background: transparent !important;
  }

  .cpm-mobile-dock a.is-active .cpm-mobile-dock__icon,
  .cpm-mobile-dock a[aria-current="page"] .cpm-mobile-dock__icon {
    transform: translateY(-1px) !important;
  }
}

/* Institutional facade hero: preserve the supplied photograph's full 16:9 composition. */
.cpm-hero--institutional-photo .cpm-hero__image {
  aspect-ratio: 16 / 9;
  align-self: center;
}

.cpm-hero--institutional-photo .cpm-hero__image img {
  width: 100%;
  height: 100%;
  max-height: none;
  aspect-ratio: auto;
  object-fit: cover;
  object-position: center center;
}

/* Transparency: keep El Colegio concise while preserving every editable document. */
.cpm-transparency-disclosure {
  max-width: 960px;
  margin-top: 28px;
  border: 1px solid #dfe3ea;
  border-radius: 10px;
  background: #fff;
  overflow: clip;
}

.cpm-transparency-disclosure summary {
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr) 28px;
  gap: 16px;
  align-items: center;
  min-height: 84px;
  padding: 18px 22px;
  color: #111827;
  cursor: pointer;
  list-style: none;
  transition: background-color 160ms ease, color 160ms ease;
}

.cpm-transparency-disclosure summary::-webkit-details-marker {
  display: none;
}

.cpm-transparency-disclosure summary:hover,
.cpm-transparency-disclosure summary:focus-visible {
  background: #f8f7fb;
  color: var(--cpm-purple);
  outline: 0;
}

.cpm-transparency-disclosure summary:focus-visible {
  box-shadow: inset 0 0 0 2px rgba(66, 30, 109, 0.42);
}

.cpm-transparency-disclosure__icon {
  display: inline-flex;
  width: 44px;
  height: 44px;
  align-items: center;
  justify-content: center;
  border-radius: 8px;
  background: #f0ecf5;
  color: var(--cpm-purple);
}

.cpm-transparency-disclosure__icon svg {
  width: 22px;
  height: 22px;
}

.cpm-transparency-disclosure__title {
  display: grid;
  gap: 3px;
}

.cpm-transparency-disclosure__title strong {
  font-size: 18px;
  line-height: 1.3;
}

.cpm-transparency-disclosure__title small {
  color: #64748b;
  font-size: 16px;
  line-height: 1.35;
}

.cpm-transparency-disclosure__chevron {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--cpm-purple);
  font-size: 28px;
  line-height: 1;
  transition: transform 160ms ease;
}

.cpm-transparency-disclosure[open] .cpm-transparency-disclosure__chevron {
  transform: rotate(180deg);
}

.cpm-transparency-disclosure__body {
  padding: 22px;
  border-top: 1px solid #e5e7eb;
}

.cpm-transparency-disclosure__body > p {
  max-width: 680px;
  margin: 0 0 18px;
  color: #475569;
}

.cpm-transparency-disclosure__documents {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px 20px;
  margin-bottom: 22px;
}

.cpm-transparency-disclosure__documents a,
.cpm-transparency-disclosure__document {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
  min-height: 50px;
  padding: 10px 4px;
  border-bottom: 1px solid #e5e7eb;
  color: #1f2937;
  text-decoration: none;
}

.cpm-transparency-disclosure__documents a {
  cursor: pointer;
  transition: color 150ms ease, border-color 150ms ease;
}

.cpm-transparency-disclosure__documents a:hover,
.cpm-transparency-disclosure__documents a:focus-visible {
  border-color: var(--cpm-purple);
  color: var(--cpm-purple);
  outline: 0;
}

.cpm-transparency-disclosure__documents span:first-child {
  color: #0b69c7;
  font-weight: 700;
}

.cpm-transparency-disclosure__archive {
  width: fit-content;
}

.cpm-accounting-archive__heading {
  display: flex;
  gap: 24px;
  align-items: end;
  justify-content: space-between;
  margin-bottom: 22px;
}

.cpm-accounting-archive__heading h2 {
  margin: 4px 0 0;
}

.cpm-accounting-archive__heading > a {
  color: var(--cpm-purple);
  font-weight: 700;
  text-decoration: none;
}

.cpm-accounting-archive__heading > a:hover,
.cpm-accounting-archive__heading > a:focus-visible {
  text-decoration: underline;
  text-underline-offset: 4px;
}

.cpm-accounting-archive__intro {
  margin-bottom: 32px;
}

.cpm-accounting-archive__empty {
  padding: 24px 0;
  color: #64748b;
}

@media (max-width: 700px) {
  .cpm-transparency-disclosure {
    margin-top: 22px;
  }

  .cpm-transparency-disclosure summary {
    grid-template-columns: 40px minmax(0, 1fr) 24px;
    gap: 12px;
    min-height: 76px;
    padding: 16px;
  }

  .cpm-transparency-disclosure__icon {
    width: 40px;
    height: 40px;
  }

  .cpm-transparency-disclosure__body {
    padding: 18px 16px;
  }

  .cpm-transparency-disclosure__documents {
    grid-template-columns: 1fr;
    gap: 0;
  }

  .cpm-transparency-disclosure__archive {
    width: 100%;
    justify-content: center;
  }

  .cpm-accounting-archive__heading {
    display: grid;
    align-items: start;
  }
}

@media (max-width: 900px) {
  .cpm-hero--institutional-photo .cpm-hero__grid {
    gap: 24px;
    padding: 36px 0 40px;
  }

  .cpm-hero--institutional-photo .cpm-hero__image {
    display: block;
    width: 100%;
    margin: 0;
  }
}

/* The main navigation is the only site header band. */
.cpm-header__main {
  border-top: 2px solid var(--cpm-yellow);
  border-bottom: 2px solid var(--cpm-yellow);
}
