/*
 * UI26 V10300 consolidated stabilization layer.
 * Evolves V10230 without changing the approved visual system or content.
 * The directory grid keeps the only evidence-backed priority override required to
 * override legacy responsive rules while preserving both mobile filters.
 */

:root {
  --cpm-layer-content-sticky: 260;
  --cpm-layer-floating: 1600;
  --cpm-layer-dock: 1800;
  --cpm-layer-header: 3200;
  --cpm-layer-menu: 3220;
  --cpm-interaction-blue: #0468be;
  --cpm-interaction-purple-dark: #351856;
  --cpm-whatsapp-accessible: #17843b;
  --cpm-whatsapp-accessible-hover: #116f32;
  --cpm-mobile-dock-height: 76px;
  --cpm-mobile-floater-gap: 12px;
  --cpm-mobile-edge-gap: 14px;
}

.cpm-logo {
  cursor: pointer;
  transition: opacity 160ms ease;
}

.cpm-logo:hover {
  opacity: 0.84;
}

.cpm-logo:focus-visible {
  border-radius: 6px;
}

@media (max-width: 980px) {
  .cpm-header .cpm-nav {
    visibility: hidden;
    transition: opacity 160ms ease, transform 160ms ease, visibility 0s linear 160ms;
  }

  .cpm-header.is-menu-open .cpm-nav {
    visibility: visible;
    transition-delay: 0s;
  }
}

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 var(--cpm-interaction-blue) !important;
  outline-offset: 3px !important;
  box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.98), 0 0 0 6px rgba(4, 104, 190, 0.24) !important;
}

.cpm-button--primary,
.cpm-button--primary:visited,
.cpm-content a.cpm-button--primary,
.cpm-content a.cpm-button--primary:visited,
.cpm-activity-single__panel > a,
.cpm-activity-mobile-facts__cta a,
.cpm-commission-nav a,
.cpm-tramite-card .cpm-tramite-card__cta:hover,
.cpm-tramite-card .cpm-tramite-card__cta:focus-visible {
  color: #fff;
}

@media (hover: hover) {
  .cpm-button--primary:hover,
  .cpm-button--primary:focus-visible,
  .cpm-content a.cpm-button--primary:hover,
  .cpm-content a.cpm-button--primary:focus-visible,
  .cpm-activity-single__panel > a:hover,
  .cpm-activity-single__panel > a:focus-visible,
  .cpm-activity-mobile-facts__cta a:hover,
  .cpm-activity-mobile-facts__cta a:focus-visible,
  .cpm-commission-nav a:hover,
  .cpm-commission-nav a:focus-visible {
    border-color: var(--cpm-interaction-purple-dark);
    background: var(--cpm-interaction-purple-dark);
    color: #fff;
    text-decoration: none;
  }

  .cpm-footer .cpm-footer__nav a[href]:hover,
  .cpm-footer .cpm-footer__nav a[href]:focus-visible,
  .cpm-footer .cpm-footer__brand a[href]:hover,
  .cpm-footer .cpm-footer__brand a[href]:focus-visible,
  .cpm-footer .cpm-footer__bottom a[href]:hover,
  .cpm-footer .cpm-footer__bottom a[href]:focus-visible {
    color: #fff;
    text-decoration: underline !important;
    text-decoration-thickness: 1px !important;
    text-underline-offset: 4px;
  }

  .cpm-footer .cpm-footer__social a[href]:hover,
  .cpm-footer .cpm-footer__social a[href]:focus-visible {
    border-color: #fff;
    background: #fff;
    color: var(--cpm-purple);
    text-decoration: none !important;
  }
}

.cpm-whatsapp__button {
  background: var(--cpm-whatsapp-accessible);
  box-shadow: 0 14px 32px rgba(23, 132, 59, 0.3);
}

.cpm-whatsapp__button:hover,
.cpm-whatsapp__button:focus-visible {
  background: var(--cpm-whatsapp-accessible-hover);
  box-shadow: 0 16px 38px rgba(17, 111, 50, 0.36);
}

@media (max-width: 700px) {
  [data-cpm-mobile-progressive]:not(.is-expanded) > .cpm-mobile-progressive__item {
    display: none;
  }

  .cpm-mobile-progressive__toggle {
    display: inline-flex;
    width: 100%;
    min-height: 46px;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-top: 8px;
    padding: 10px 14px;
    border: 1px solid rgba(66, 30, 109, 0.18);
    border-radius: 8px;
    background: #fff;
    color: var(--cpm-purple);
    cursor: pointer;
    font: inherit;
    font-size: 16px;
    font-weight: 700;
    text-align: left;
  }

  .cpm-mobile-progressive__toggle:active {
    background: rgba(66, 30, 109, 0.07);
  }

  body .psicole-directory--ui26 .psicole-directory__filters {
    box-sizing: border-box;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(126px, 40%);
    align-items: center;
    width: 100%;
    max-width: 100%;
    padding-inline: 0;
    gap: 8px;
    overflow: hidden;
    z-index: var(--cpm-layer-content-sticky);
  }

  body .psicole-directory--ui26 .psicole-directory__search,
  body .psicole-directory--ui26 .psicole-directory__select--city {
    box-sizing: border-box;
    width: 100%;
    min-width: 0;
    max-width: 100%;
  }

  body .psicole-directory--ui26 .psicole-directory__select--city {
    flex: none;
  }

  body .psicole-directory--ui26 .psicole-directory__search input,
  body .psicole-directory--ui26 .psicole-directory__select--city select {
    box-sizing: border-box;
    width: 100%;
    min-width: 0;
    max-width: 100%;
  }

  body .psicole-directory--ui26 .psicole-directory__search input:focus-visible,
  body .psicole-directory--ui26 .psicole-directory__select--city select:focus-visible {
    border-color: #421e6d;
    outline: 3px solid rgba(66, 30, 109, 0.16);
    outline-offset: 1px;
  }

  .cpm-mobile-dock {
    z-index: var(--cpm-layer-dock);
  }

  .cpm-first-account-cta,
  .cpm-whatsapp {
    z-index: var(--cpm-layer-floating);
  }

  .cpm-first-account-cta {
    right: var(--cpm-mobile-edge-gap) !important;
    left: auto !important;
    bottom: calc(var(--cpm-mobile-dock-height) + var(--cpm-mobile-floater-gap) + env(safe-area-inset-bottom)) !important;
  }

  .cpm-whatsapp {
    right: var(--cpm-mobile-edge-gap);
    bottom: calc(var(--cpm-mobile-dock-height) + 48px + (var(--cpm-mobile-floater-gap) * 2) + env(safe-area-inset-bottom));
  }

  .cpm-first-account-cta {
    transition: width 180ms ease, max-width 180ms ease, padding 180ms ease,
      opacity 160ms ease, transform 160ms ease, box-shadow 160ms ease;
  }

  html.cpm-floating-utilities-condensed .cpm-first-account-cta:not(:focus-visible) {
    width: 48px;
    min-width: 48px;
    max-width: 48px;
    height: 48px;
    min-height: 48px;
    padding: 0;
    gap: 0;
    justify-content: center;
    border-radius: 999px;
  }

  html.cpm-floating-utilities-condensed .cpm-first-account-cta:not(:focus-visible) span {
    width: 34px;
    height: 34px;
    flex: 0 0 34px;
  }

  html.cpm-floating-utilities-condensed .cpm-first-account-cta:not(:focus-visible) strong {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    white-space: nowrap;
  }

  html.cpm-menu-open .cpm-first-account-cta,
  html.cpm-menu-open .cpm-whatsapp,
  html.cpm-home-search-open .cpm-whatsapp {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
  }

  /* Floating actions must not flicker while a touch scroll is in progress. */
  html.cpm-user-scrolling .cpm-first-account-cta,
  html.cpm-user-scrolling .cpm-whatsapp {
    opacity: 1 !important;
    pointer-events: auto !important;
    transform: none !important;
  }

  /* Account activation remains available from the first viewport onward. */
  html.cpm-home-hero-visible:not(.cpm-menu-open):not(.cpm-home-search-open) .cpm-first-account-cta,
  html.cpm-home-hero-visible:not(.cpm-menu-open):not(.cpm-home-search-open) .cpm-whatsapp {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transform: none !important;
  }

  .cpm-contact-directory__phone-links {
    gap: 4px 8px;
  }

  .cpm-contact-directory__phone-link {
    display: inline-flex;
    min-height: 44px;
    align-items: center;
    padding-inline: 2px;
    border-radius: 6px;
  }

  .cpm-institutional-subnav nav {
    scroll-padding-inline: 18px;
    scroll-snap-type: x proximity;
    transition: -webkit-mask-image 160ms ease, mask-image 160ms ease;
  }

  .cpm-institutional-subnav nav a {
    scroll-snap-align: center;
  }

  .cpm-institutional-subnav nav.is-scrollable:not(.is-at-start):not(.is-at-end) {
    -webkit-mask-image: linear-gradient(to right, transparent 0, #000 22px, #000 calc(100% - 22px), transparent 100%);
    mask-image: linear-gradient(to right, transparent 0, #000 22px, #000 calc(100% - 22px), transparent 100%);
  }

  .cpm-institutional-subnav nav.is-scrollable.is-at-start:not(.is-at-end) {
    -webkit-mask-image: linear-gradient(to right, #000 0, #000 calc(100% - 26px), transparent 100%);
    mask-image: linear-gradient(to right, #000 0, #000 calc(100% - 26px), transparent 100%);
  }

  .cpm-institutional-subnav nav.is-scrollable.is-at-end:not(.is-at-start) {
    -webkit-mask-image: linear-gradient(to right, transparent 0, #000 26px, #000 100%);
    mask-image: linear-gradient(to right, transparent 0, #000 26px, #000 100%);
  }
}

@media (min-width: 701px) {
  .cpm-mobile-progressive__toggle {
    display: none;
  }
}

@media (min-width: 1100px) {
  .psicole-directory--ui26 .psicole-directory__grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

@media (max-width: 700px) and (hover: hover) {
  html.cpm-floating-utilities-condensed .cpm-first-account-cta:hover {
    width: auto;
    min-width: 0;
    max-width: min(228px, calc(100vw - 118px));
    padding: 7px 12px 7px 8px;
    gap: 8px;
  }

  html.cpm-floating-utilities-condensed .cpm-first-account-cta:hover strong {
    position: static;
    width: auto;
    height: auto;
    margin: 0;
    overflow: visible;
    clip: auto;
    clip-path: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  .cpm-header .cpm-nav,
  .cpm-button,
  .cpm-whatsapp__button,
  .cpm-contact-directory__phone-link,
  .cpm-first-account-cta,
  .cpm-institutional-subnav nav {
    scroll-behavior: auto;
    transition: none !important;
  }
}

/* Editorial archive media must not inherit the intrinsic HTML height. */
.cpm-news-list .cpm-post-row__image {
  height: 132px;
  min-height: 132px;
  align-self: center;
}

.cpm-news-list .cpm-post-row__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

@media (max-width: 900px) {
  .cpm-news-list .cpm-post-row__image {
    height: 82px;
    min-height: 82px;
  }
}

/* July 2026: responsive institutional hero and supplied service artwork. */
.cpm-ui26-hero__media picture {
  display: block;
  width: 100%;
  height: 100%;
}

.cpm-ui26-hero__media picture img {
  object-position: center center;
  opacity: 0.972;
}

.cpm-ui26-hero__overlay {
  background: linear-gradient(
    90deg,
    rgba(66, 30, 109, 0.86) 0%,
    rgba(66, 30, 109, 0.72) 48%,
    rgba(66, 30, 109, 0.48) 100%
  );
}

/* Imported images include fixed HTML dimensions; keep internal heroes proportional. */
.cpm-hero:not(.cpm-hero--institutional-photo) .cpm-hero__image img {
  height: auto;
}

@media (hover: hover) {
  .cpm-ui26-quick.manual-widget-demo .cpm-ui26-quick__item:hover {
    border-color: rgba(226, 232, 240, 0.82) !important;
    background: rgba(66, 30, 109, 0.035) !important;
    box-shadow: none !important;
    transform: none !important;
  }
}

.cpm-tramite-card__icon.cpm-tramite-card__icon--art {
  display: block;
  width: 88px;
  height: 55px;
  overflow: hidden;
  border-radius: 10px;
  background: #421e6d;
  box-shadow: 0 8px 18px rgba(66, 30, 109, 0.14);
}

.cpm-tramite-card__icon--art img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

@media (max-width: 980px) {
  .cpm-ui26-hero__media picture img {
    object-position: 68% center;
  }
}

/* Health-insurance singles: keep imported information, remove legacy navigation chrome. */
.cpm-content .cpm-ooss-notice {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  margin: 0 0 28px;
  padding: 18px 20px;
  border-left: 4px solid var(--cpm-green, #03a56a);
  border-radius: 8px;
  background: #f1faf6;
  color: var(--cpm-ink, #111827);
}

.cpm-content .cpm-ooss-notice div {
  display: grid;
  gap: 3px;
}

.cpm-content .cpm-ooss-notice strong,
.cpm-content .cpm-ooss-notice span {
  display: block;
}

.cpm-content .cpm-ooss-notice .cpm-button {
  flex: 0 0 auto;
  min-height: 42px;
  padding: 10px 16px;
  color: var(--cpm-purple, #421e6d);
  background: #fff;
  border-color: rgba(66, 30, 109, 0.2);
}

.cpm-content .cpm-ooss-notice .cpm-button:hover,
.cpm-content .cpm-ooss-notice .cpm-button:focus-visible {
  color: #fff;
  background: var(--cpm-purple, #421e6d);
  border-color: var(--cpm-purple, #421e6d);
}

.cpm-content .cpm-ooss-table-wrap {
  width: 100%;
  max-width: 100%;
  margin: 22px 0 28px;
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  -webkit-overflow-scrolling: touch;
}

.cpm-content table.cpm-ooss-table {
  width: 100%;
  min-width: 760px;
  margin: 0;
  border: 0;
  border-collapse: collapse;
  font-size: 16px;
  line-height: 1.45;
}

.cpm-content table.cpm-ooss-table th,
.cpm-content table.cpm-ooss-table td {
  min-width: 132px;
  padding: 13px 14px;
  border: 1px solid #e5e7eb;
  vertical-align: top;
  text-align: left;
}

.cpm-content table.cpm-ooss-table tr:first-child td,
.cpm-content table.cpm-ooss-table th {
  color: #fff;
  background: var(--cpm-purple, #421e6d);
  font-weight: 700;
}

.cpm-content table.cpm-ooss-table h4 {
  margin: 0;
  font-size: 16px;
  line-height: 1.4;
}

@media (max-width: 720px) {
  .cpm-content .cpm-ooss-notice {
    align-items: stretch;
    flex-direction: column;
    gap: 14px;
    padding: 16px;
  }

  .cpm-content .cpm-ooss-notice .cpm-button {
    width: 100%;
    justify-content: center;
  }

  .cpm-content .cpm-ooss-table-wrap {
    margin-inline: 0;
    padding-bottom: 6px;
  }
}

/* Honorarios: render the editable source table as an open, responsive tariff list. */
.cpm-fee-schedule {
  width: 100%;
  margin: 22px 0 34px;
  overflow: hidden;
  border: 1px solid #e2e8f0;
  border-radius: 10px;
  background: #fff;
}

.cpm-fee-schedule__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding: 18px 20px;
  background: #f8fafc;
  border-bottom: 1px solid #e2e8f0;
}

.cpm-fee-schedule__header > div,
.cpm-fee-schedule__header p,
.cpm-fee-schedule__service,
.cpm-fee-schedule__amount {
  display: grid;
  gap: 3px;
  margin: 0;
}

.cpm-fee-schedule__header span,
.cpm-fee-schedule__service span,
.cpm-fee-schedule__amount span {
  color: #64748b;
  font-size: 16px;
  line-height: 1.35;
}

.cpm-fee-schedule__header strong {
  color: #111827;
  font-size: 17px;
  line-height: 1.35;
}

.cpm-fee-schedule__header p {
  flex: 0 0 auto;
  min-width: 112px;
  text-align: right;
}

.cpm-fee-schedule__header p strong {
  color: var(--cpm-purple, #421e6d);
}

.cpm-fee-schedule__row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(122px, auto);
  align-items: center;
  gap: 24px;
  min-height: 68px;
  padding: 12px 20px;
  border-bottom: 1px solid #e8edf3;
  transition: background-color 160ms ease;
}

.cpm-fee-schedule__row:last-child {
  border-bottom: 0;
}

.cpm-fee-schedule__row:hover {
  background: #faf9fc;
}

.cpm-fee-schedule__service > strong {
  color: #111827;
  font-size: 16px;
  font-weight: 650;
  line-height: 1.4;
}

.cpm-fee-schedule__amount {
  justify-items: end;
  min-width: 122px;
  text-align: right;
}

.cpm-fee-schedule__value,
.cpm-fee-schedule__value a {
  color: var(--cpm-purple, #421e6d);
  font-size: 18px;
  font-weight: 750;
  line-height: 1.3;
  white-space: nowrap;
}

.cpm-fee-schedule__amount a {
  text-underline-offset: 3px;
}

.cpm-fee-schedule__amount a:hover,
.cpm-fee-schedule__amount a:focus-visible {
  color: #0468be;
}

@media (max-width: 720px) {
  .cpm-fee-schedule {
    margin-block: 18px 28px;
    border-inline: 0;
    border-radius: 0;
  }

  .cpm-fee-schedule__header {
    gap: 14px;
    padding: 15px 0;
    background: transparent;
  }

  .cpm-fee-schedule__header p {
    min-width: 84px;
  }

  .cpm-fee-schedule__row {
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 14px;
    min-height: 64px;
    padding: 11px 0;
  }

  .cpm-fee-schedule__service span,
  .cpm-fee-schedule__amount span {
    font-size: 16px;
  }

  .cpm-fee-schedule__amount {
    min-width: 112px;
  }
}

@media (max-width: 420px) {
  .cpm-fee-schedule__header strong {
    font-size: 16px;
  }

  .cpm-fee-schedule__row {
    grid-template-columns: minmax(0, 1fr) minmax(102px, auto);
    gap: 10px;
  }

  .cpm-fee-schedule__amount {
    min-width: 102px;
  }

  .cpm-fee-schedule__value,
  .cpm-fee-schedule__value a {
    font-size: 17px;
  }
}

/* OOSS: reuse the responsive tariff pattern without horizontal table scroll. */
.cpm-ooss-schedule__row {
  align-items: start;
}

.cpm-ooss-schedule__row--no-amount {
  grid-template-columns: minmax(0, 1fr);
}

.cpm-ooss-schedule__facts {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px 20px;
  width: 100%;
  margin: 2px 0 4px;
}

.cpm-ooss-schedule__facts > div {
  min-width: 0;
}

.cpm-ooss-schedule__facts dt {
  margin: 0 0 3px;
  color: #64748b;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.35;
}

.cpm-ooss-schedule__facts dd {
  margin: 0;
  color: #334155;
  font-size: 16px;
  line-height: 1.45;
  overflow-wrap: anywhere;
}

.cpm-ooss-schedule__facts :is(p, h4) {
  margin: 0;
  font: inherit;
}

@media (max-width: 900px) {
  .cpm-ooss-schedule__facts {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 560px) {
  .cpm-ooss-schedule .cpm-fee-schedule__header {
    align-items: start;
    flex-direction: column;
  }

  .cpm-ooss-schedule .cpm-fee-schedule__header p {
    min-width: 0;
    text-align: left;
  }

  .cpm-ooss-schedule__facts {
    grid-template-columns: minmax(0, 1fr);
    gap: 10px;
  }
}

/* Home service catalog: reuse the exact visual language from /tramites/. */
.cpm-ui26-service--catalog-icon {
  align-items: flex-start;
  gap: 18px;
  padding: 22px;
}

.cpm-ui26-service--catalog-icon .cpm-ui26-service__icon {
  width: 88px;
  height: 55px;
  flex: 0 0 55px;
  margin: 0;
  overflow: hidden;
  aspect-ratio: auto;
  border-radius: 10px;
  background: #421e6d;
  box-shadow: 0 8px 18px rgba(66, 30, 109, 0.14);
}

.cpm-ui26-service--catalog-icon .cpm-ui26-service__icon::after {
  display: none;
}

.cpm-ui26-service--catalog-icon .cpm-ui26-service__icon img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.cpm-ui26-service--catalog-icon > div {
  width: 100%;
  padding: 0;
}

.cpm-ui26-service--catalog-icon[data-cpm-card-click="disabled"],
.cpm-ui26-service--catalog-icon[data-cpm-card-click="disabled"] .cpm-ui26-service__icon {
  cursor: default;
}

.cpm-ui26-service--catalog-icon[data-cpm-card-click="disabled"]:hover {
  border-color: var(--cpm-border);
  box-shadow: 0 2px 0 rgba(15, 23, 42, 0.02);
  transform: none;
}

.cpm-ui26-service--catalog-icon[data-cpm-card-click="disabled"]:hover .cpm-ui26-service__icon img {
  transform: none;
}

.cpm-ui26-service--catalog-icon .cpm-ui26-service__cta {
  display: inline-flex;
  align-self: flex-start;
  margin-top: auto;
  padding-top: 18px;
  color: var(--cpm-purple);
  font-weight: 700;
  text-decoration: none;
}

.cpm-ui26-service--catalog-icon .cpm-ui26-service__cta:hover,
.cpm-ui26-service--catalog-icon .cpm-ui26-service__cta:focus-visible {
  color: color-mix(in srgb, var(--cpm-purple) 78%, #000);
  text-decoration: underline;
  text-underline-offset: 4px;
}

.cpm-ui26-service--catalog-icon:hover .cpm-ui26-service__icon img,
.cpm-ui26-service--catalog-icon:focus-visible .cpm-ui26-service__icon img {
  transform: scale(1.035);
}

@media (max-width: 640px) {
  .cpm-ui26-service--catalog-icon {
    gap: 16px;
    padding: 20px;
  }
}

/* V10350: keep professional cards compact when imported tags are long. */
.psicole-directory.psicole-directory--ui26 .psicole-directory__grid {
  align-items: start;
}

.psicole-directory.psicole-directory--ui26 .psicole-prof-card {
  min-height: 0;
  height: auto;
  min-width: 0;
  overflow: hidden;
}

.psicole-directory.psicole-directory--ui26 .psicole-prof-card__tags {
  min-width: 0;
  align-items: flex-start;
}

.psicole-directory.psicole-directory--ui26 .psicole-prof-card__tags span {
  min-width: 0;
  max-width: 100%;
  overflow-wrap: anywhere;
  word-break: break-word;
}

/* V10360: coverage directory, SEO landings and the fourth directory facet. */
.cpm-coverage-index {
  margin: 0 0 36px;
  padding: clamp(22px, 3vw, 34px);
  border: 1px solid rgba(66, 30, 109, 0.13);
  border-radius: 22px;
  background:
    radial-gradient(circle at 100% 0, rgba(201, 168, 76, 0.13), transparent 36%),
    linear-gradient(145deg, #fff 0%, #faf8fd 100%);
  box-shadow: 0 18px 44px rgba(42, 26, 62, 0.07);
}

.cpm-coverage-index h2,
.cpm-coverage-index h3 {
  max-width: 760px;
  margin: 0;
  color: var(--cpm-purple, #421e6d);
  font-size: clamp(24px, 2.5vw, 34px);
  line-height: 1.12;
  letter-spacing: -0.02em;
}

.cpm-coverage-index > p {
  max-width: 760px;
  margin: 10px 0 22px;
  color: #52627a;
  font-size: 16px;
  line-height: 1.55;
}

.cpm-coverage-index ul {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.cpm-coverage-index li {
  min-width: 0;
}

.cpm-coverage-index a {
  display: flex;
  min-height: 68px;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 13px 15px;
  border: 1px solid #e1e5ed;
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.94);
  color: #182236;
  text-decoration: none;
  transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

.cpm-coverage-index a::after {
  content: "→";
  flex: 0 0 auto;
  color: var(--cpm-purple, #421e6d);
  font-size: 18px;
}

.cpm-coverage-index a span {
  min-width: 0;
  font-weight: 700;
  line-height: 1.25;
}

.cpm-coverage-index a small {
  margin-left: auto;
  color: #607089;
  font-size: 13px;
  line-height: 1.2;
  text-align: right;
}

@media (hover: hover) {
  .cpm-coverage-index a:hover {
    border-color: rgba(66, 30, 109, 0.35);
    box-shadow: 0 10px 22px rgba(66, 30, 109, 0.09);
    transform: translateY(-2px);
  }
}

.cpm-coverage-hero {
  position: relative;
  overflow: hidden;
  padding: clamp(44px, 6vw, 78px) 0;
  background:
    radial-gradient(circle at 88% 18%, rgba(201, 168, 76, 0.24), transparent 28%),
    linear-gradient(122deg, #2f124e 0%, #4b2178 58%, #341555 100%);
  color: #fff;
}

.cpm-coverage-hero::after {
  position: absolute;
  right: -8%;
  bottom: -52%;
  width: 420px;
  height: 420px;
  border: 1px solid rgba(255, 255, 255, 0.11);
  border-radius: 50%;
  content: "";
}

.cpm-coverage-hero .cpm-container {
  position: relative;
  z-index: 1;
}

.cpm-coverage-breadcrumbs {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin-bottom: 26px;
  color: rgba(255, 255, 255, 0.76);
  font-size: 14px;
}

.cpm-coverage-breadcrumbs a {
  color: #fff;
  text-decoration-color: rgba(255, 255, 255, 0.38);
  text-underline-offset: 3px;
}

.cpm-coverage-hero__eyebrow {
  margin: 0 0 10px;
  color: #e2c65e;
  font-size: 14px;
  font-weight: 750;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.cpm-coverage-hero h1 {
  max-width: 980px;
  margin: 0;
  color: #fff;
  font-size: clamp(34px, 5.2vw, 64px);
  line-height: 1.02;
  letter-spacing: -0.035em;
}

.cpm-coverage-hero__intro {
  max-width: 790px;
  margin: 20px 0 0;
  color: rgba(255, 255, 255, 0.87);
  font-size: clamp(17px, 1.5vw, 20px);
  line-height: 1.55;
}

.cpm-coverage-hero__facts {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px 24px;
  margin-top: 26px;
}

.cpm-coverage-hero__facts strong,
.cpm-coverage-hero__facts span {
  display: inline-flex;
  min-height: 38px;
  align-items: center;
  padding: 7px 13px;
  border: 1px solid rgba(255, 255, 255, 0.17);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.09);
  color: #fff;
  font-size: 14px;
}

.cpm-coverage-directory .psicole-directory {
  scroll-margin-top: 108px;
}

.cpm-coverage-source {
  display: grid;
  grid-template-columns: minmax(160px, 0.32fr) minmax(280px, 1fr) auto;
  align-items: center;
  gap: 18px;
  margin: 34px 0;
  padding: 20px 22px;
  border-left: 4px solid #c9a84c;
  border-radius: 0 14px 14px 0;
  background: #f7f4fb;
  color: #354156;
}

.cpm-coverage-source strong {
  color: var(--cpm-purple, #421e6d);
}

.cpm-coverage-source p {
  margin: 0;
  font-size: 14px;
  line-height: 1.5;
}

.cpm-coverage-source a {
  color: var(--cpm-purple, #421e6d);
  font-size: 14px;
  font-weight: 700;
  white-space: nowrap;
  text-underline-offset: 4px;
}

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

.cpm-coverage-chip-row a {
  display: inline-flex;
  min-height: 38px;
  align-items: center;
  padding: 8px 13px;
  border: 1px solid rgba(66, 30, 109, 0.16);
  border-radius: 999px;
  background: #f6f2fa;
  color: var(--cpm-purple, #421e6d);
  font-size: 14px;
  font-weight: 700;
  line-height: 1.2;
  text-decoration: none;
}

.cpm-coverage-chip-row a:hover,
.cpm-coverage-chip-row a:focus-visible {
  border-color: var(--cpm-purple, #421e6d);
  background: var(--cpm-purple, #421e6d);
  color: #fff;
}

/* Search + coverage + zone + specialty. */
body .psicole-directory--ui26 .psicole-directory__filters {
  grid-template-columns: minmax(230px, 1.15fr) minmax(170px, 0.72fr) minmax(178px, 0.72fr) minmax(170px, 0.72fr) minmax(96px, auto);
}

body .psicole-directory--ui26 .psicole-directory__select--coverage,
body .psicole-directory--ui26 .psicole-directory__select--specialty {
  box-sizing: border-box;
  width: 100%;
  min-width: 0;
  max-width: 100%;
}

body .psicole-directory--ui26 .psicole-directory__select--coverage select,
body .psicole-directory--ui26 .psicole-directory__select--specialty select {
  box-sizing: border-box;
  width: 100%;
  min-width: 0;
  max-width: 100%;
}

body .psicole-directory--ui26 .psicole-directory__select::after {
  position: absolute;
  right: 13px;
  width: 8px;
  height: 8px;
  border-right: 2px solid #64748b;
  border-bottom: 2px solid #64748b;
  content: "";
  pointer-events: none;
  transform: translateY(-3px) rotate(45deg);
}

body .psicole-directory--ui26 .psicole-directory__select select {
  padding-right: 34px;
}

body .psicole-directory--ui26 .psicole-directory__submit {
  min-height: 44px;
  padding: 0 18px;
  border: 1px solid var(--cpm-purple, #421e6d);
  border-radius: 10px;
  background: var(--cpm-purple, #421e6d);
  color: #fff;
  cursor: pointer;
  font: inherit;
  font-size: 15px;
  font-weight: 750;
  transition: background-color 160ms ease, border-color 160ms ease;
}

body .psicole-directory--ui26 .psicole-directory__submit:hover,
body .psicole-directory--ui26 .psicole-directory__submit:focus-visible {
  border-color: #351856;
  background: #351856;
}

.psicole-directory--ui26 .psicole-directory__meta {
  flex-wrap: wrap;
}

.psicole-directory--ui26 .psicole-directory__export {
  display: inline-flex;
  min-height: 40px;
  align-items: center;
  justify-content: center;
  gap: 8px;
  margin-left: auto;
  padding: 8px 13px;
  border: 1px solid rgba(66, 30, 109, 0.22);
  border-radius: 10px;
  background: #fff;
  color: var(--cpm-purple, #421e6d);
  cursor: pointer;
  font: inherit;
  font-size: 13px;
  font-weight: 750;
  line-height: 1;
  transition: border-color 160ms ease, background-color 160ms ease, color 160ms ease;
}

.psicole-directory--ui26 .psicole-directory__export svg {
  width: 17px;
  height: 17px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.8;
}

.psicole-directory--ui26 .psicole-directory__export:hover,
.psicole-directory--ui26 .psicole-directory__export:focus-visible {
  border-color: var(--cpm-purple, #421e6d);
  background: var(--cpm-purple, #421e6d);
  color: #fff;
}

.psicole-directory--ui26 .psicole-directory__pagination a,
.psicole-directory--ui26 .psicole-directory__pagination span {
  display: inline-flex;
  min-width: 40px;
  min-height: 40px;
  align-items: center;
  justify-content: center;
  padding: 7px 11px;
  border: 1px solid #dfe5ee;
  border-radius: 10px;
  background: #fff;
  color: var(--cpm-purple, #421e6d);
  font-size: 14px;
  font-weight: 700;
  line-height: 1;
  text-decoration: none;
}

.psicole-directory--ui26 .psicole-directory__pagination span[aria-current="page"] {
  border-color: var(--cpm-purple, #421e6d);
  background: var(--cpm-purple, #421e6d);
  color: #fff;
}

.psicole-directory--ui26 .psicole-directory__pagination span:not([aria-current]) {
  min-width: auto;
  border-color: transparent;
  background: transparent;
}

@media (max-width: 1080px) {
  .cpm-coverage-index ul {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  body .psicole-directory--ui26 .psicole-directory__filters {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  body .psicole-directory--ui26 .psicole-directory__search {
    grid-column: 1 / -1;
  }

  body .psicole-directory--ui26 .psicole-directory__select--specialty {
    grid-column: auto;
  }
}

@media (max-width: 700px) {
  .cpm-coverage-index {
    margin-bottom: 24px;
    padding: 20px;
    border-radius: 18px;
  }

  .cpm-coverage-index ul {
    grid-template-columns: minmax(0, 1fr);
  }

  .cpm-coverage-index a {
    min-height: 60px;
  }

  .cpm-coverage-hero {
    padding: 36px 0 46px;
  }

  .cpm-coverage-hero h1 {
    font-size: clamp(32px, 10vw, 44px);
  }

  .cpm-coverage-source {
    grid-template-columns: minmax(0, 1fr);
    gap: 10px;
    padding: 18px;
  }

  .cpm-coverage-source a {
    white-space: normal;
  }

  body .psicole-directory--ui26 .psicole-directory__filters {
    position: static;
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    width: 100%;
    max-width: 100%;
    margin: 0 0 14px;
    padding: 0;
    gap: 8px;
    overflow: visible;
    border: 0;
    background: transparent;
    box-shadow: none;
    backdrop-filter: none;
  }

  body .psicole-directory--ui26 .psicole-directory__search,
  body .psicole-directory--ui26 .psicole-directory__select--specialty {
    grid-column: 1 / -1;
  }

  body .psicole-directory--ui26 .psicole-directory__submit {
    grid-column: 1 / -1;
  }

  body .psicole-directory--ui26 .psicole-directory__search,
  body .psicole-directory--ui26 .psicole-directory__select,
  body .psicole-directory--ui26 .psicole-directory__select--coverage,
  body .psicole-directory--ui26 .psicole-directory__select--city,
  body .psicole-directory--ui26 .psicole-directory__select--specialty,
  body .psicole-directory--ui26 .psicole-directory__filters label.psicole-directory__select--specialty:has([data-psicole-specialty]) {
    display: flex !important;
    width: 100%;
    min-width: 0;
    max-width: 100%;
  }

  body .psicole-directory--ui26 .psicole-directory__filters input,
  body .psicole-directory--ui26 .psicole-directory__filters select {
    width: 100%;
    min-width: 0;
    max-width: 100%;
    min-height: 46px;
  }

  body .psicole-directory--ui26 .psicole-directory__meta .psicole-directory__sort {
    display: flex !important;
    grid-column: 2 !important;
    grid-row: 1 !important;
    width: 124px !important;
    min-width: 124px;
    max-width: 124px;
    margin-left: 0;
  }
}

@media (max-width: 430px) {
  .psicole-directory--ui26 .psicole-directory__export {
    width: 100%;
    margin-left: 0;
  }

  body .psicole-directory--ui26 .psicole-directory__filters {
    grid-template-columns: minmax(0, 1fr);
  }

  body .psicole-directory--ui26 .psicole-directory__search,
  body .psicole-directory--ui26 .psicole-directory__select--coverage,
  body .psicole-directory--ui26 .psicole-directory__select--city,
  body .psicole-directory--ui26 .psicole-directory__select--specialty,
  body .psicole-directory--ui26 .psicole-directory__submit,
  body .psicole-directory--ui26 .psicole-directory__filters label.psicole-directory__select--specialty:has([data-psicole-specialty]) {
    grid-column: auto;
  }
}

/* Public padrón status: current vs non-current. */
body .psicole-directory--ui26 .psicole-prof-card__verified--inactive {
  background: #eef0f3 !important;
  color: #667085 !important;
}

body .psicole-directory--ui26 .psicole-prof-card__verified--inactive svg {
  color: #667085 !important;
}

body .psicole-directory--ui26 .psicole-prof-card__registration {
  margin-top: 8px;
  color: #667085;
  font-size: 15px;
  font-weight: 560;
  line-height: 1.25;
}

body .psicole-directory--ui26 .psicole-prof-card__registration strong {
  font-weight: 700;
}

body .psicole-directory--ui26 .psicole-prof-card__registration--inactive {
  color: #667085;
}

body .psicole-directory--ui26 .psicole-prof-card--inactive {
  border-color: #d0d5dd;
}

body .cpm-prof-single .cpm-verified-badge--inactive {
  background: #eef0f3 !important;
  color: #667085 !important;
}

body .cpm-prof-single .cpm-verified-badge--inactive svg {
  color: #667085 !important;
}

body .cpm-prof-single .cpm-profile-card--status-no-vigente {
  border: 1px solid #d0d5dd;
  background: #f8fafc;
  color: #344054;
}

body .cpm-prof-single .cpm-profile-card--status-no-vigente > div:first-child {
  display: flex;
  align-items: center;
  gap: 10px;
}

body .cpm-prof-single .cpm-profile-card--status-no-vigente > div:first-child > svg {
  width: 20px;
  height: 20px;
  color: #667085;
}

body .cpm-prof-single .cpm-profile-card--status-no-vigente h2 {
  color: #344054;
  font-size: 18px;
}

body .cpm-prof-single .cpm-profile-card--status-no-vigente p {
  color: #667085;
  font-size: 15px;
}

body .cpm-prof-single .cpm-profile-card--status-no-vigente dl {
  display: grid;
  gap: 8px;
  margin: 18px 0 0;
}

body .cpm-prof-single .cpm-profile-card--status-no-vigente dl div {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
}

body .cpm-prof-single .cpm-profile-card--status-no-vigente dt {
  color: #667085;
  font-size: 13px;
}

body .cpm-prof-single .cpm-profile-card--status-no-vigente dt svg {
  color: #667085;
}

body .cpm-prof-single .cpm-profile-card--status-no-vigente dd {
  margin: 0;
  color: #344054;
  font-size: 13px;
  font-weight: 700;
}

/* V10400: unified directory filters. Coverage belongs in the filter bar,
 * not in a second index below the results. Keep this late in the cascade so
 * the legacy responsive rules cannot make one control fall onto an orphaned
 * row. */
body .psicole-directory--ui26 {
  /* The live header is 68px tall on desktop; keep the filter docked just
   * below it instead of leaving a visible band of page behind the sticky. */
  --psicole-directory-sticky-top: 70px;
  --psicole-directory-purple: #421e6d;
  --psicole-directory-ink: #111827;
  --psicole-directory-muted: #64748b;
  --psicole-directory-border: #d9d1e5;
  --psicole-directory-surface: rgba(255, 255, 255, 0.97);
}

body .psicole-directory--ui26 .psicole-directory__filters {
  position: sticky;
  z-index: 260;
  top: var(--psicole-directory-sticky-top);
  display: grid !important;
  grid-template-columns: minmax(210px, 1.45fr) minmax(150px, 0.92fr) minmax(150px, 0.92fr) minmax(150px, 0.92fr) auto;
  align-items: center;
  gap: 10px;
  width: 100%;
  max-width: none;
  margin: 0 0 18px;
  padding: 10px;
  border: 1px solid var(--psicole-directory-border);
  border-radius: 16px;
  background: var(--psicole-directory-surface);
  box-shadow: 0 10px 28px rgba(34, 19, 52, 0.1);
  /* Keep cards and text behind the sticky completely hidden while scrolling. */
  background: #fff;
  isolation: isolate;
  backdrop-filter: none;
}

body .psicole-directory--ui26 .psicole-directory__search,
body .psicole-directory--ui26 .psicole-directory__select,
body .psicole-directory--ui26 .psicole-directory__submit {
  min-width: 0;
  min-height: 46px;
}

body .psicole-directory--ui26 .psicole-directory__search,
body .psicole-directory--ui26 .psicole-directory__select {
  border-radius: 12px;
}

body .psicole-directory--ui26 .psicole-directory__search svg,
body .psicole-directory--ui26 .psicole-directory__select > svg {
  z-index: 1;
  left: 14px;
  width: 17px;
  height: 17px;
  color: var(--psicole-directory-purple);
  stroke: currentColor;
}

body .psicole-directory--ui26 .psicole-directory__search input,
body .psicole-directory--ui26 .psicole-directory__select select {
  min-height: 46px;
  border: 1px solid #e2ddea;
  border-radius: 12px;
  background: #fff;
  color: var(--psicole-directory-ink);
  font-size: 14px;
  font-weight: 600;
  padding-right: 38px;
  transition: border-color 160ms ease, box-shadow 160ms ease, background 160ms ease;
}

body .psicole-directory--ui26 .psicole-directory__search input {
  padding-left: 42px;
}

body .psicole-directory--ui26 .psicole-directory__select select {
  padding-left: 42px;
}

body .psicole-directory--ui26 .psicole-directory__search input::placeholder {
  color: #7b728b;
  font-weight: 500;
}

body .psicole-directory--ui26 .psicole-directory__search input:hover,
body .psicole-directory--ui26 .psicole-directory__select select:hover {
  border-color: #bca9d0;
  background: #fefcff;
}

body .psicole-directory--ui26 .psicole-directory__search input:focus,
body .psicole-directory--ui26 .psicole-directory__select select:focus {
  border-color: var(--psicole-directory-purple);
  box-shadow: 0 0 0 3px rgba(66, 30, 109, 0.14);
}

body .psicole-directory--ui26 .psicole-directory__select::after {
  position: absolute;
  right: 15px;
  width: 8px;
  height: 8px;
  border-right: 2px solid #6b5a7b;
  border-bottom: 2px solid #6b5a7b;
  content: "";
  pointer-events: none;
  transform: translateY(-3px) rotate(45deg);
}

body .psicole-directory--ui26 .psicole-directory__select--city.is-enhanced::after {
  right: 16px;
}

body .psicole-directory--ui26 .psicole-directory__submit {
  align-self: stretch;
  min-width: 102px;
  border: 1px solid var(--psicole-directory-purple);
  border-radius: 12px;
  background: var(--psicole-directory-purple);
  color: #fff;
  font-size: 14px;
  font-weight: 800;
  letter-spacing: 0.01em;
  padding: 0 19px;
  transition: background 160ms ease, transform 160ms ease, box-shadow 160ms ease;
}

body .psicole-directory--ui26 .psicole-directory__submit:hover,
body .psicole-directory--ui26 .psicole-directory__submit:focus-visible {
  background: #351856;
  box-shadow: 0 8px 16px rgba(66, 30, 109, 0.2);
  transform: translateY(-1px);
}

body .psicole-directory--ui26 .psicole-directory__meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin: 0 0 24px;
}

body .psicole-directory--ui26 .psicole-directory__meta-summary {
  min-width: 0;
}

body .psicole-directory--ui26 .psicole-directory__meta-summary strong {
  color: var(--psicole-directory-ink);
}

body .psicole-directory--ui26 .psicole-directory__sort {
  flex: 0 0 150px;
  margin-left: auto;
}

body .psicole-directory--ui26 .psicole-directory__sort select {
  min-height: 42px;
  border-radius: 11px;
  font-size: 13px;
  padding-left: 39px;
}

body .psicole-directory--ui26 .psicole-directory__export {
  min-height: 42px;
  border-radius: 11px;
  background: #fff;
  color: var(--psicole-directory-purple);
  font-weight: 800;
}

@media (max-width: 1120px) and (min-width: 901px) {
  body .psicole-directory--ui26 {
    --psicole-directory-sticky-top: 70px;
  }

  body .psicole-directory--ui26 .psicole-directory__filters {
    grid-template-columns: minmax(190px, 1.35fr) repeat(3, minmax(130px, 0.9fr)) auto;
    gap: 8px;
    padding: 8px;
  }

  body .psicole-directory--ui26 .psicole-directory__search input,
  body .psicole-directory--ui26 .psicole-directory__select select {
    font-size: 13px;
  }

  body .psicole-directory--ui26 .psicole-directory__submit {
    min-width: 88px;
    padding-inline: 13px;
  }
}

@media (max-width: 900px) {
  body .psicole-directory--ui26 {
    /* V10135 enlarges the mobile header to 70px plus its two borders. */
    --psicole-directory-sticky-top: 74px;
  }

  body .psicole-directory--ui26 .psicole-directory__filters {
    position: sticky;
    top: var(--psicole-directory-sticky-top);
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
    gap: 8px;
    margin-inline: -1px;
    padding: 8px;
    border-radius: 14px;
  }

  body .psicole-directory--ui26 .psicole-directory__search,
  body .psicole-directory--ui26 .psicole-directory__select--specialty {
    grid-column: 1 / -1;
  }

  /* Keep the last two controls on one row at every mobile/tablet width. */
  body .psicole-directory--ui26 .psicole-directory__select--specialty,
  body .psicole-directory--ui26 .psicole-directory__submit {
    grid-column: auto;
  }

  body .psicole-directory--ui26 .psicole-directory__select--specialty {
    grid-column: 1 !important;
  }

  body .psicole-directory--ui26 .psicole-directory__submit {
    grid-column: 2 !important;
  }

  body .psicole-directory--ui26 .psicole-directory__submit {
    min-height: 44px;
  }

  body .psicole-directory--ui26 .psicole-directory__meta {
    align-items: flex-start;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 20px;
  }

  body .psicole-directory--ui26 .psicole-directory__sort {
    flex: 1 1 150px;
    margin-left: 0;
  }
}

@media (max-width: 520px) {
  body .psicole-directory--ui26 .psicole-directory__filters {
    /* Three compact rows: search / coverage+zone / specialty+apply. */
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 6px;
    width: calc(100% + 16px);
    margin-inline: -8px;
    padding: 6px;
  }

  body .psicole-directory--ui26 .psicole-directory__select select {
    font-size: 13px !important;
    letter-spacing: -0.01em;
    padding-right: 30px;
    padding-left: 34px;
  }

  body .psicole-directory--ui26 .psicole-directory__search input {
    font-size: 13px !important;
    padding-left: 38px;
  }

  body .psicole-directory--ui26 .psicole-directory__select--city.is-enhanced .psicole-zone-picker__trigger {
    font-size: 13px !important;
    padding-right: 30px !important;
    padding-left: 34px !important;
  }

  body .psicole-directory--ui26 .psicole-directory__search {
    grid-column: 1 / -1 !important;
  }

  body .psicole-directory--ui26 .psicole-directory__select--coverage {
    grid-column: 1 !important;
  }

  body .psicole-directory--ui26 .psicole-directory__select--city {
    grid-column: 2 !important;
  }

  body .psicole-directory--ui26 .psicole-directory__select--specialty {
    grid-column: 1 !important;
  }

  body .psicole-directory--ui26 .psicole-directory__submit {
    grid-column: 2 !important;
  }

  body .psicole-directory--ui26 .psicole-directory__sort,
  body .psicole-directory--ui26 .psicole-directory__export {
    width: 100%;
  }
}

/* V10410: split imported professional areas into readable, wrapping chips. */
body .cpm-prof-single__attention {
  max-width: 760px;
  margin-top: 22px;
}

body .cpm-prof-single__attention-label {
  margin: 0 0 10px;
  color: #64748b;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.01em;
  line-height: 1.35;
}

body .cpm-prof-single__attention-chips {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 8px;
  max-width: 100%;
}

body .cpm-prof-single__attention-chips span {
  display: inline-flex;
  flex: 0 1 auto;
  min-width: 0;
  max-width: 100%;
  align-items: center;
  border: 1px solid #e2e8f0;
  border-radius: 999px;
  background: #f8fafc;
  color: #475569;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.25;
  overflow-wrap: anywhere;
  padding: 7px 11px;
  white-space: normal;
}

@media (max-width: 520px) {
  body .cpm-prof-single__attention {
    margin-top: 18px;
  }

  body .cpm-prof-single__attention-chips {
    gap: 7px;
  }

  body .cpm-prof-single__attention-chips span {
    font-size: 13px;
    padding: 6px 10px;
  }
}

/* V10420: uniform directory cards.
   The public directory is a comparison grid, not a masonry feed. Reserve
   the same visual rhythm for every professional: two-line identity block,
   two compact facts, a short chip row, and a footer pinned to the baseline.
   Additional fields remain available on the individual profile. */
body .psicole-directory.psicole-directory--ui26 .psicole-directory__grid {
  align-items: stretch;
  grid-auto-rows: 368px;
}

body .psicole-directory.psicole-directory--ui26 .psicole-prof-card {
  box-sizing: border-box;
  height: 368px;
  min-height: 0;
  overflow: hidden;
  gap: 14px;
}

body .psicole-directory.psicole-directory--ui26 .psicole-prof-card h3,
body .psicole-directory.psicole-directory--ui26 .psicole-prof-card h3 a,
body .psicole-directory.psicole-directory--ui26 .psicole-prof-card__title {
  display: -webkit-box;
  min-height: calc(1.12em * 2);
  max-height: calc(1.12em * 2);
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  overflow-wrap: anywhere;
  text-overflow: ellipsis;
  white-space: normal;
}

body .psicole-directory.psicole-directory--ui26 .psicole-prof-card__facts {
  flex: 0 0 48px;
  min-height: 48px;
  max-height: 48px;
  overflow: hidden;
}

body .psicole-directory.psicole-directory--ui26 .psicole-prof-card__facts dd {
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

body .psicole-directory.psicole-directory--ui26 .psicole-prof-card__tags {
  flex: 0 0 62px;
  min-height: 32px;
  max-height: 62px;
  align-content: flex-start;
  overflow: hidden;
}

body .psicole-directory.psicole-directory--ui26 .psicole-prof-card__tags span {
  max-width: min(100%, 210px);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

body .psicole-directory.psicole-directory--ui26 .psicole-prof-card__actions {
  flex: 0 0 50px;
  min-height: 50px;
  box-sizing: border-box;
}

@media (max-width: 900px) {
  body .psicole-directory.psicole-directory--ui26 .psicole-directory__grid {
    grid-auto-rows: 348px;
  }

  body .psicole-directory.psicole-directory--ui26 .psicole-prof-card {
    height: 348px;
    padding: 18px;
    border-radius: 14px;
  }
}

@media (max-width: 700px) {
  body .psicole-directory.psicole-directory--ui26 .psicole-directory__grid {
    grid-auto-rows: 336px;
  }

  body .psicole-directory.psicole-directory--ui26 .psicole-prof-card {
    height: 336px;
    gap: 10px;
  }

  body .psicole-directory.psicole-directory--ui26 .psicole-prof-card__facts {
    flex-basis: 44px;
    min-height: 44px;
    max-height: 44px;
  }

  body .psicole-directory.psicole-directory--ui26 .psicole-prof-card__tags {
    flex-basis: 54px;
    max-height: 54px;
  }

  body .psicole-directory.psicole-directory--ui26 .psicole-prof-card__actions {
    flex-basis: 48px;
    min-height: 48px;
  }
}

@media (max-width: 520px) {
  body .psicole-directory.psicole-directory--ui26 .psicole-directory__grid {
    grid-auto-rows: 328px;
  }

  body .psicole-directory.psicole-directory--ui26 .psicole-prof-card {
    height: 328px;
    padding: 16px;
  }

  body .psicole-directory.psicole-directory--ui26 .psicole-prof-card__head {
    gap: 12px;
  }

  body .psicole-directory.psicole-directory--ui26 .psicole-prof-card__verified {
    margin-bottom: 6px;
    padding: 3px 8px;
  }

  body .psicole-directory.psicole-directory--ui26 .psicole-prof-card h3,
  body .psicole-directory.psicole-directory--ui26 .psicole-prof-card h3 a,
  body .psicole-directory.psicole-directory--ui26 .psicole-prof-card__title {
    font-size: 16px;
  }

  body .psicole-directory.psicole-directory--ui26 .psicole-prof-card__tags span {
    max-width: 175px;
    padding: 6px 9px;
  }
}

/* V10440: cards must never expose clipped chip rows or placeholder copy.
   The directory card keeps one shared height, while the chip area reserves
   enough room for two complete rows. Empty data stays intentionally quiet;
   the complete profile remains the source for any additional information. */
body .psicole-directory.psicole-directory--ui26 .psicole-prof-card {
  gap: 8px;
}

body .psicole-directory.psicole-directory--ui26 .psicole-prof-card__tags {
  flex: 0 0 76px;
  min-height: 32px;
  max-height: 76px;
  align-content: flex-start;
  overflow: hidden;
}

@media (max-width: 700px) {
  body .psicole-directory.psicole-directory--ui26 .psicole-prof-card {
    gap: 8px;
  }

  body .psicole-directory.psicole-directory--ui26 .psicole-prof-card__tags {
    flex-basis: 72px;
    max-height: 72px;
  }
}

@media (max-width: 520px) {
  body .psicole-directory.psicole-directory--ui26 .psicole-prof-card__tags {
    flex-basis: 72px;
    max-height: 72px;
  }
}

/* V10430: one visual language for the three directory facets.
   Keep the native selects in the DOM for forms, URLs and accessibility, but
   render a shared searchable picker so coverage, zone and specialty never
   fall back to different browser controls. */
body .psicole-directory.psicole-directory--ui26 .psicole-directory__select.is-enhanced > select {
  position: absolute !important;
  width: 1px !important;
  min-width: 1px !important;
  height: 1px !important;
  min-height: 1px !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0 0 0 0) !important;
  clip-path: inset(50%) !important;
  white-space: nowrap !important;
}

body .psicole-directory.psicole-directory--ui26 .psicole-directory__select.is-enhanced .psicole-zone-picker__trigger {
  display: flex;
  box-sizing: border-box;
  width: 100%;
  min-width: 0;
  min-height: 46px;
  align-items: center;
  padding: 0 40px 0 42px;
  overflow: hidden;
  border: 1px solid #e2ddea;
  border-radius: 12px;
  background: #fff;
  color: var(--psicole-directory-ink, #182230);
  cursor: pointer;
  font: inherit;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.2;
  text-align: left;
  transition: border-color 160ms ease, box-shadow 160ms ease, background 160ms ease;
}

body .psicole-directory.psicole-directory--ui26 .psicole-directory__select.is-enhanced .psicole-zone-picker__trigger:hover {
  border-color: #bca9d0;
  background: #fefcff;
}

body .psicole-directory.psicole-directory--ui26 .psicole-directory__select.is-enhanced .psicole-zone-picker__trigger:focus-visible,
body .psicole-directory.psicole-directory--ui26 .psicole-directory__select.is-enhanced.is-open .psicole-zone-picker__trigger {
  border-color: var(--psicole-directory-purple, #421e6d);
  box-shadow: 0 0 0 3px rgba(66, 30, 109, 0.14);
  outline: 0;
}

body .psicole-directory.psicole-directory--ui26 .psicole-directory__select.is-open {
  z-index: 1400;
}

body .psicole-directory.psicole-directory--ui26 .psicole-directory__select.is-enhanced .psicole-zone-picker__trigger-text {
  min-width: 0;
  color: #182230;
  font-weight: 600;
}

body .psicole-directory.psicole-directory--ui26 .psicole-directory__select.is-enhanced .psicole-zone-picker__panel {
  width: max(100%, 340px);
}

@media (max-width: 700px) {
  body .psicole-directory.psicole-directory--ui26 .psicole-directory__select.is-enhanced .psicole-zone-picker__trigger {
    min-height: 44px;
    padding-right: 34px;
    padding-left: 34px;
    border-radius: 10px;
    font-size: 13px;
  }
}

/* V10450: information hierarchy for the public directory cards.
   Identity comes first; specialty and zone are facts; attention areas are a
   single compact row. Never let a long list of chips become the visual
   headline, and do not reserve phantom rows for fields that are absent. */
body .psicole-directory.psicole-directory--ui26 .psicole-directory__grid {
  grid-auto-rows: 304px;
}

body .psicole-directory.psicole-directory--ui26 .psicole-prof-card {
  box-sizing: border-box;
  height: 304px;
  min-height: 0;
  padding: 16px;
  gap: 8px;
  border-radius: 18px;
}

body .psicole-directory.psicole-directory--ui26 .psicole-prof-card__head {
  min-width: 0;
  gap: 12px;
}

body .psicole-directory.psicole-directory--ui26 .psicole-prof-card__identity {
  min-width: 0;
}

body .psicole-directory.psicole-directory--ui26 .psicole-prof-card__avatar {
  width: 52px;
  height: 52px;
  flex-basis: 52px;
  border-radius: 14px;
}

body .psicole-directory.psicole-directory--ui26 .psicole-prof-card h3,
body .psicole-directory.psicole-directory--ui26 .psicole-prof-card h3 a {
  display: -webkit-box;
  min-height: 2.4em;
  max-height: 2.4em;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  text-overflow: ellipsis;
  text-wrap: balance;
}

body .psicole-directory.psicole-directory--ui26 .psicole-prof-card__registration {
  margin-top: 4px;
  overflow: hidden;
  font-size: 13.5px;
  line-height: 18px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

body .psicole-directory.psicole-directory--ui26 .psicole-prof-card__facts {
  min-height: 0;
  margin: 0;
  overflow: hidden;
}

body .psicole-directory.psicole-directory--ui26 .psicole-prof-card__facts--empty {
  display: none;
}

body .psicole-directory.psicole-directory--ui26 .psicole-prof-card__facts--single {
  flex: 0 0 28px;
  height: 28px;
  max-height: 28px;
}

body .psicole-directory.psicole-directory--ui26 .psicole-prof-card__facts--multiple {
  flex: 0 0 52px;
  height: 52px;
  max-height: 52px;
}

body .psicole-directory.psicole-directory--ui26 .psicole-prof-card__facts dd {
  display: flex;
  min-width: 0;
  align-items: center;
  gap: 7px;
  margin: 0;
  font-size: 14px;
  line-height: 22px;
}

body .psicole-directory.psicole-directory--ui26 .psicole-prof-card__facts dd svg {
  flex: 0 0 14px;
  width: 14px;
  height: 14px;
}

body .psicole-directory.psicole-directory--ui26 .psicole-prof-card__fact-text {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

body .psicole-directory.psicole-directory--ui26 .psicole-prof-card__tags {
  display: flex;
  flex: 0 0 34px;
  min-width: 0;
  min-height: 34px;
  max-height: 34px;
  flex-wrap: nowrap;
  align-items: center;
  align-content: center;
  gap: 6px;
  overflow: hidden;
}

body .psicole-directory.psicole-directory--ui26 .psicole-prof-card__tags > span {
  display: inline-flex;
  min-width: 0;
  max-width: 42%;
  flex: 0 1 auto;
  align-items: center;
  box-sizing: border-box;
  height: 28px;
  padding: 5px 9px;
  overflow: hidden;
  border-radius: 999px;
  font-size: 13px;
  line-height: 18px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

body .psicole-directory.psicole-directory--ui26 .psicole-prof-card__tags > .psicole-prof-card__tags-more {
  flex: 0 0 auto;
  max-width: none;
  padding-inline: 8px;
  border-style: dashed;
  background: #f7f4fa;
  color: #5a3b80;
  font-weight: 650;
}

body .psicole-directory.psicole-directory--ui26 .psicole-prof-card__actions {
  flex: 0 0 44px;
  min-height: 44px;
  margin-top: auto !important;
  padding-top: 10px;
}

body .psicole-directory.psicole-directory--ui26 .psicole-prof-card__link {
  min-height: 34px;
  height: 34px;
  font-size: 14px;
}

@media (max-width: 900px) {
  body .psicole-directory.psicole-directory--ui26 .psicole-directory__grid {
    grid-auto-rows: 300px;
  }

  body .psicole-directory.psicole-directory--ui26 .psicole-prof-card {
    height: 300px;
  }
}

@media (max-width: 700px) {
  body .psicole-directory.psicole-directory--ui26 .psicole-directory__grid {
    grid-auto-rows: 286px;
  }

  body .psicole-directory.psicole-directory--ui26 .psicole-prof-card {
    height: 286px;
    padding: 14px;
    gap: 8px;
    border-radius: 16px;
  }

  body .psicole-directory.psicole-directory--ui26 .psicole-prof-card__head {
    gap: 10px;
  }

  body .psicole-directory.psicole-directory--ui26 .psicole-prof-card__avatar {
    width: 48px;
    height: 48px;
    flex-basis: 48px;
    border-radius: 13px;
  }

  body .psicole-directory.psicole-directory--ui26 .psicole-prof-card h3,
  body .psicole-directory.psicole-directory--ui26 .psicole-prof-card h3 a {
    min-height: 2.35em;
    max-height: 2.35em;
    font-size: 15px;
    line-height: 1.18;
  }

  body .psicole-directory.psicole-directory--ui26 .psicole-prof-card__registration {
    margin-top: 3px;
    font-size: 13px;
    line-height: 17px;
  }

  body .psicole-directory.psicole-directory--ui26 .psicole-prof-card__facts--single {
    flex-basis: 26px;
    height: 26px;
    max-height: 26px;
  }

  body .psicole-directory.psicole-directory--ui26 .psicole-prof-card__facts--multiple {
    flex-basis: 50px;
    height: 50px;
    max-height: 50px;
  }

  body .psicole-directory.psicole-directory--ui26 .psicole-prof-card__facts dd {
    font-size: 13.5px;
    line-height: 21px;
  }

  body .psicole-directory.psicole-directory--ui26 .psicole-prof-card__tags > span {
    height: 27px;
    padding: 4px 8px;
    font-size: 12.5px;
    line-height: 18px;
  }

  body .psicole-directory.psicole-directory--ui26 .psicole-prof-card__tags {
    flex-basis: 32px;
    min-height: 32px;
    max-height: 32px;
  }

  body .psicole-directory.psicole-directory--ui26 .psicole-prof-card__actions {
    flex-basis: 42px;
    min-height: 42px;
    padding-top: 8px;
  }

  body .psicole-directory.psicole-directory--ui26 .psicole-prof-card__link {
    min-height: 32px;
    height: 32px;
    font-size: 14px;
  }
}

@media (max-width: 520px) {
  body .psicole-directory.psicole-directory--ui26 .psicole-directory__grid {
    grid-auto-rows: 286px;
  }

  body .psicole-directory.psicole-directory--ui26 .psicole-prof-card {
    height: 286px;
    padding: 14px;
  }
}

/* V10460: content-driven card rhythm.
   A fixed height made sparse profiles look empty while forcing the same
   whitespace on every card. Rows now equalise to the richest card in that
   row, with a compact floor for profiles that only expose identity data. */
body .psicole-directory.psicole-directory--ui26 .psicole-directory__grid {
  align-items: stretch;
  grid-auto-rows: minmax(206px, auto);
}

body .psicole-directory.psicole-directory--ui26 .psicole-prof-card {
  height: auto;
  min-height: 206px;
}

@media (max-width: 700px) {
  body .psicole-directory.psicole-directory--ui26 .psicole-directory__grid {
    grid-auto-rows: minmax(196px, auto);
  }

body .psicole-directory.psicole-directory--ui26 .psicole-prof-card {
    height: auto;
    min-height: 196px;
  }
}

/* V10500: account bridge shared by desktop header and mobile header. The
   menu is injected only after PSICOLE confirms an existing cookie session. */
body .cpm-account-menu {
  position: relative;
  z-index: 120;
  display: inline-flex;
  align-items: center;
}

body .cpm-account-menu[hidden] {
  display: none !important;
}

body .cpm-account-toggle {
  display: inline-flex;
  min-height: 38px;
  align-items: center;
  gap: 8px;
  padding: 4px 10px 4px 5px;
  border: 1px solid #e5deee;
  border-radius: 12px;
  background: #fff;
  color: #273349;
  cursor: pointer;
  font: inherit;
  font-size: 13px;
  font-weight: 700;
  line-height: 1;
  white-space: nowrap;
}

body .cpm-account-toggle:hover,
body .cpm-account-toggle:focus-visible,
body .cpm-account-menu.is-open .cpm-account-toggle {
  border-color: rgba(84, 39, 127, .34);
  background: #faf8fd;
  color: #54277f;
  outline: none;
}

body .cpm-account-avatar {
  display: inline-flex;
  width: 28px;
  height: 28px;
  flex: 0 0 28px;
  align-items: center;
  justify-content: center;
  border-radius: 9px;
  background: #f2ecfa;
  color: #54277f;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: -.02em;
}

body .cpm-account-toggle__label {
  max-width: 16ch;
  overflow: hidden;
  text-overflow: ellipsis;
}

body .cpm-account-toggle__chevron {
  color: #78678d;
  font-size: 17px;
  line-height: .8;
  transform: translateY(-2px);
  transition: transform 160ms ease;
}

body .cpm-account-menu.is-open .cpm-account-toggle__chevron {
  transform: translateY(2px) rotate(180deg);
}

body .cpm-account-panel {
  position: absolute;
  top: calc(100% + 10px);
  right: 0;
  display: grid;
  width: min(294px, calc(100vw - 28px));
  padding: 8px;
  border: 1px solid #e7e0ef;
  border-radius: 16px;
  background: rgba(255, 255, 255, .98);
  box-shadow: 0 18px 45px rgba(36, 22, 56, .16), 0 2px 7px rgba(36, 22, 56, .06);
  backdrop-filter: blur(16px);
}

body .cpm-account-panel[hidden] {
  display: none !important;
}

body .cpm-account-panel__identity {
  display: grid;
  gap: 3px;
  padding: 10px 11px 12px;
  border-bottom: 1px solid #eeeaf3;
}

body .cpm-account-panel__identity strong {
  overflow: hidden;
  color: #202b3e;
  font-size: 13px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

body .cpm-account-panel__identity span,
body .cpm-account-panel__status {
  color: #8190a6;
  font-size: 11px;
  line-height: 1.35;
}

body .cpm-account-panel > a,
body .cpm-account-panel__logout {
  display: flex;
  min-height: 40px;
  align-items: center;
  gap: 9px;
  padding: 9px 11px;
  border: 0;
  border-radius: 9px;
  background: transparent;
  color: #303d53;
  cursor: pointer;
  font: inherit;
  font-size: 13px;
  font-weight: 650;
  text-align: left;
  text-decoration: none;
}

body .cpm-account-panel > a:hover,
body .cpm-account-panel > a:focus-visible,
body .cpm-account-panel__logout:hover,
body .cpm-account-panel__logout:focus-visible {
  background: #f6f1fb;
  color: #54277f;
  outline: none;
}

body .cpm-account-panel > a span,
body .cpm-account-panel__logout span {
  display: inline-flex;
  width: 18px;
  justify-content: center;
  color: #6c4b8d;
  font-size: 16px;
}

body .cpm-account-panel__logout {
  border-top: 1px solid #eeeaf3;
  border-radius: 0 0 9px 9px;
  color: #6c3e4c;
}

body .cpm-account-panel__logout[disabled] {
  cursor: wait;
  opacity: .6;
}

body .cpm-account-panel__status:empty {
  display: none;
}

/* Public professional singles use the exact same credential card as the
 * authenticated credential view/modal.  Only the card's data source differs.
 * These small container adaptations keep the canonical card readable in the
 * narrower sidebar without changing its visual language. */
body .cpm-prof-single .cpm-credential-card--public {
  width: 100%;
}

body .cpm-prof-single .cpm-credential-card--public .cpm-credential-card__header {
  gap: 12px;
}

body .cpm-prof-single .cpm-credential-card--public .cpm-credential-card__logo {
  width: min(195px, 62%);
  flex: 1 1 auto;
}

body .cpm-prof-single .cpm-credential-card--public .cpm-credential-card__header > span {
  flex: 0 1 auto;
  font-size: 8px;
  letter-spacing: .14em;
  text-align: right;
}

body .cpm-prof-single .cpm-credential-card--public .cpm-credential-card__identity h2 {
  max-width: 100%;
  overflow: visible;
  font-size: clamp(18px, 2.1vw, 23px);
  text-overflow: clip;
  white-space: normal;
  overflow-wrap: anywhere;
}

body .cpm-prof-single .cpm-credential-card--public .cpm-credential-card__expiry strong.is-inactive {
  color: #64748b;
}

body .cpm-prof-single .cpm-credential-card--public.is-inactive {
  border-color: #cbd5e1;
  box-shadow: 0 18px 38px -14px rgba(15, 23, 42, .22), 0 0 0 .5px rgba(15, 23, 42, .06);
}

@media (max-width: 820px) {
  body .cpm-prof-single .cpm-credential-card--public .cpm-credential-card__header > span {
    font-size: 7px;
    letter-spacing: .11em;
  }
}

@media (max-width: 700px) {
  body .cpm-account-toggle {
    width: 40px;
    min-height: 40px;
    justify-content: center;
    padding: 4px;
    border-radius: 11px;
  }

  body .cpm-account-toggle__label,
  body .cpm-account-toggle__chevron {
    display: none;
  }

  body .cpm-account-panel {
    top: calc(100% + 8px);
    right: -6px;
  }
}

@media (max-width: 520px) {
  body .psicole-directory.psicole-directory--ui26 .psicole-directory__grid {
    grid-auto-rows: minmax(196px, auto);
  }

  body .psicole-directory.psicole-directory--ui26 .psicole-prof-card {
    height: auto;
    min-height: 196px;
  }
}
