/* Casa Reviver — isolated motion system for Consulta Pública. */
[data-view="transparencia"] .ip-transparency-area-card {
  --ip-motion-ease: cubic-bezier(.16, 1, .3, 1);
  --ip-area-accent: #2b8f92;
  --ip-area-soft: #eaf7f6;
  position: relative;
  isolation: isolate;
  min-height: 164px;
  overflow: hidden;
  padding: 24px;
  border: 1px solid rgba(18, 59, 59, .12);
  border-radius: 20px;
  background: #fff;
  color: var(--ip-muted);
  box-shadow: 0 14px 34px rgba(18, 59, 59, .09);
  transform: translate3d(0, 0, 0) !important;
  animation: none !important;
  transition: border-color 720ms var(--ip-motion-ease),
    box-shadow 820ms var(--ip-motion-ease), color 620ms ease !important;
}

[data-view="transparencia"] .ip-transparency-area-card:nth-child(2) {
  --ip-area-accent: #b86646;
  --ip-area-soft: #fff1ea;
}

[data-view="transparencia"] .ip-transparency-area-card:nth-child(3) {
  --ip-area-accent: #6c9126;
  --ip-area-soft: #f2f8e4;
}

[data-view="transparencia"] .ip-transparency-area-card::before {
  position: absolute;
  z-index: 2;
  right: 22px;
  bottom: 0;
  left: 22px;
  width: auto;
  height: 4px;
  border-radius: 999px 999px 0 0;
  background: var(--ip-area-accent);
  opacity: .7;
  content: "";
  transform: none !important;
  animation: none !important;
  transition: right 850ms var(--ip-motion-ease), left 850ms var(--ip-motion-ease),
    height 850ms var(--ip-motion-ease), opacity 680ms ease !important;
}

[data-view="transparencia"] .ip-transparency-area-card::after {
  position: absolute;
  z-index: 0;
  inset: 0;
  border: 0;
  border-radius: inherit;
  background: radial-gradient(circle at 12% 15%, rgba(216, 239, 151, .17), transparent 48%),
    linear-gradient(135deg, #0d4645, #236f73);
  opacity: 0;
  content: "";
  transform: scale(.985) translate3d(0, 0, 0) !important;
  transform-origin: center;
  animation: none !important;
  transition: opacity 720ms ease, transform 920ms var(--ip-motion-ease) !important;
}

[data-view="transparencia"] .ip-transparency-area-card__icon,
[data-view="transparencia"] .ip-transparency-area-card__copy,
[data-view="transparencia"] .ip-transparency-area-card__arrow {
  position: relative;
  z-index: 3;
}

[data-view="transparencia"] .ip-transparency-area-card:hover,
[data-view="transparencia"] .ip-transparency-area-card:focus-visible {
  border-color: color-mix(in srgb, var(--ip-area-accent) 42%, transparent);
  background: #fff;
  box-shadow: 0 20px 46px rgba(18, 59, 59, .14);
  transform: none !important;
}

[data-view="transparencia"] .ip-transparency-area-card:hover::before,
[data-view="transparencia"] .ip-transparency-area-card:focus-visible::before {
  right: 13px;
  left: 13px;
  height: 5px;
  opacity: 1;
}

[data-view="transparencia"] .ip-transparency-area-card:hover::after,
[data-view="transparencia"] .ip-transparency-area-card:focus-visible::after {
  opacity: .055;
  transform: scale(1) translate3d(0, 0, 0) !important;
}

[data-view="transparencia"] .ip-transparency-area-card.is-active {
  border-color: transparent;
  background: #fff;
  color: rgba(255, 255, 255, .76);
  box-shadow: 0 20px 46px rgba(12, 63, 62, .22);
}

[data-view="transparencia"] .ip-transparency-area-card.is-active::before {
  right: 22px;
  left: 22px;
  height: 4px;
  background: #c8e16e;
  opacity: 1;
}

[data-view="transparencia"] .ip-transparency-area-card.is-active::after,
[data-view="transparencia"] .ip-transparency-area-card.is-active:hover::after,
[data-view="transparencia"] .ip-transparency-area-card.is-active:focus-visible::after {
  background: radial-gradient(circle at 12% 15%, rgba(216, 239, 151, .17), transparent 48%),
    linear-gradient(135deg, #0d4645, #236f73);
  opacity: 1;
  transform: scale(1) translate3d(0, 0, 0) !important;
}

[data-view="transparencia"] .ip-transparency-area-card__icon {
  width: 52px;
  height: 52px;
  border-radius: 15px;
  background: var(--ip-area-soft);
  color: var(--ip-area-accent);
  box-shadow: 0 0 0 transparent;
  transform: scale(1) !important;
  animation: none !important;
  transition: background-color 620ms ease, color 620ms ease,
    box-shadow 820ms var(--ip-motion-ease), transform 900ms var(--ip-motion-ease) !important;
}

[data-view="transparencia"] .ip-transparency-area-card:hover .ip-transparency-area-card__icon,
[data-view="transparencia"] .ip-transparency-area-card:focus-visible .ip-transparency-area-card__icon {
  border-radius: 15px;
  box-shadow: 0 10px 24px color-mix(in srgb, var(--ip-area-accent) 16%, transparent);
  transform: scale(1.04) !important;
}

[data-view="transparencia"] .ip-transparency-area-card.is-active .ip-transparency-area-card__icon {
  background: rgba(255, 255, 255, .12);
  color: #d8ef97;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .10);
}

[data-view="transparencia"] .ip-transparency-area-card__copy strong,
[data-view="transparencia"] .ip-transparency-area-card__copy small {
  transform: none !important;
  animation: none !important;
  transition: color 620ms ease !important;
}

[data-view="transparencia"] .ip-transparency-area-card__copy strong {
  color: var(--ip-green-950);
}

[data-view="transparencia"] .ip-transparency-area-card__copy small {
  color: var(--ip-muted);
}

[data-view="transparencia"] .ip-transparency-area-card.is-active .ip-transparency-area-card__copy strong {
  color: #fff;
}

[data-view="transparencia"] .ip-transparency-area-card.is-active .ip-transparency-area-card__copy small {
  color: rgba(255, 255, 255, .74);
}

[data-view="transparencia"] .ip-transparency-area-card__arrow,
[data-view="transparencia"] .ip-transparency-area-card:hover .ip-transparency-area-card__arrow,
[data-view="transparencia"] .ip-transparency-area-card:focus-visible .ip-transparency-area-card__arrow {
  width: 36px;
  height: 36px;
  display: grid;
  place-items: center;
  overflow: hidden;
  border: 1px solid color-mix(in srgb, var(--ip-area-accent) 24%, transparent);
  border-radius: 50%;
  background: var(--ip-area-soft);
  color: var(--ip-area-accent);
  box-shadow: 0 5px 14px color-mix(in srgb, var(--ip-area-accent) 10%, transparent);
  opacity: 1 !important;
  visibility: visible !important;
  scale: 1 !important;
  transform: none !important;
  animation: none !important;
  transition: background-color 620ms ease, border-color 760ms var(--ip-motion-ease),
    color 620ms ease, box-shadow 820ms var(--ip-motion-ease) !important;
}

[data-view="transparencia"] .ip-transparency-area-card:hover .ip-transparency-area-card__arrow,
[data-view="transparencia"] .ip-transparency-area-card:focus-visible .ip-transparency-area-card__arrow {
  border-color: color-mix(in srgb, var(--ip-area-accent) 48%, transparent);
  box-shadow: 0 8px 21px color-mix(in srgb, var(--ip-area-accent) 17%, transparent);
}

[data-view="transparencia"] .ip-transparency-area-card.is-active .ip-transparency-area-card__arrow,
[data-view="transparencia"] .ip-transparency-area-card.is-active:hover .ip-transparency-area-card__arrow,
[data-view="transparencia"] .ip-transparency-area-card.is-active:focus-visible .ip-transparency-area-card__arrow {
  border-color: rgba(216, 239, 151, .36);
  background: rgba(255, 255, 255, .12);
  color: #d8ef97;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .04);
}

[data-view="transparencia"] .ip-transparency-area-card__arrow .ip-icon,
[data-view="transparencia"] .ip-transparency-area-card:hover .ip-transparency-area-card__arrow .ip-icon,
[data-view="transparencia"] .ip-transparency-area-card:focus-visible .ip-transparency-area-card__arrow .ip-icon {
  display: block;
  color: inherit;
  stroke: currentColor;
  opacity: 1 !important;
  visibility: visible !important;
  transform: translate3d(0, 0, 0) !important;
  animation: none !important;
  transition: transform 950ms var(--ip-motion-ease) !important;
}

[data-view="transparencia"] .ip-transparency-area-card:hover .ip-transparency-area-card__arrow .ip-icon,
[data-view="transparencia"] .ip-transparency-area-card:focus-visible .ip-transparency-area-card__arrow .ip-icon {
  transform: translate3d(4px, 0, 0) !important;
}

@media (prefers-reduced-motion: reduce) {
  [data-view="transparencia"] .ip-transparency-area-card,
  [data-view="transparencia"] .ip-transparency-area-card::before,
  [data-view="transparencia"] .ip-transparency-area-card::after,
  [data-view="transparencia"] .ip-transparency-area-card__icon,
  [data-view="transparencia"] .ip-transparency-area-card__copy strong,
  [data-view="transparencia"] .ip-transparency-area-card__copy small,
  [data-view="transparencia"] .ip-transparency-area-card__arrow,
  [data-view="transparencia"] .ip-transparency-area-card__arrow .ip-icon {
    animation: none !important;
    transition: none !important;
  }
}

/* Municipality directory — single, conflict-free interaction model. */
[data-view="transparencia"] .ip-municipality-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 22px;
}

/* The directory may reveal once; its children never own a competing entrance transform. */
[data-view="transparencia"] #ip-municipality-directory.ip-reveal--directory {
  opacity: 0;
  filter: none;
  transform: translate3d(0, 14px, 0);
  animation: none !important;
  transition: opacity 760ms ease, transform 900ms cubic-bezier(.16, 1, .3, 1) !important;
}

[data-view="transparencia"] #ip-municipality-directory.ip-reveal--directory.is-visible {
  opacity: 1;
  filter: none;
  transform: translate3d(0, 0, 0);
}

[data-view="transparencia"] #ip-municipality-directory.ip-reveal--directory .ip-municipality-card,
[data-view="transparencia"] #ip-municipality-directory.ip-reveal--directory.is-visible .ip-municipality-card {
  opacity: 1;
  filter: none;
  transform: none !important;
  animation: none !important;
  transition-delay: 0ms !important;
}

[data-view="transparencia"] .ip-municipality-card {
  --ip-municipality-ease: cubic-bezier(.22, .61, .36, 1);
  position: relative;
  display: block;
  overflow: hidden;
  padding: 0;
  border: 1px solid rgba(20, 87, 86, .12);
  border-radius: 22px;
  background: #fff;
  color: var(--ip-ink);
  text-align: left;
  box-shadow: 0 14px 34px rgba(14, 62, 60, .09);
  cursor: pointer;
  transform: none !important;
  animation: none !important;
  transition: border-color 1000ms var(--ip-municipality-ease),
    box-shadow 1250ms var(--ip-municipality-ease) !important;
}

[data-view="transparencia"] .ip-municipality-card::before {
  position: absolute;
  z-index: 2;
  top: 0;
  right: 0;
  left: 0;
  height: 190px;
  background: linear-gradient(180deg, transparent 48%, rgba(8, 49, 47, .20));
  opacity: .55;
  pointer-events: none;
  content: "";
  transition: opacity 1200ms ease-in-out !important;
}

[data-view="transparencia"] .ip-municipality-card:hover,
[data-view="transparencia"] .ip-municipality-card:focus-visible {
  border-color: rgba(35, 111, 115, .46);
  box-shadow: 0 22px 48px rgba(14, 62, 60, .15), 0 0 0 4px rgba(92, 193, 194, .055);
  transform: none !important;
}

[data-view="transparencia"] .ip-municipality-card:hover::before,
[data-view="transparencia"] .ip-municipality-card:focus-visible::before {
  opacity: .82;
}

[data-view="transparencia"] .ip-municipality-card.is-selected {
  border-color: #6f9b2c;
  box-shadow: 0 0 0 4px rgba(160, 200, 64, .18), 0 24px 50px rgba(14, 62, 60, .16);
}

[data-view="transparencia"] .ip-municipality-card__image {
  position: relative;
  z-index: 1;
  width: 100%;
  height: 190px;
  min-height: 190px;
  object-fit: cover;
  filter: saturate(.96) contrast(1.01);
  transform: scale(1) translate3d(0, 0, 0) !important;
  transform-origin: center;
  animation: none !important;
  transition: transform 3200ms cubic-bezier(.33, 0, .2, 1),
    filter 2400ms ease-in-out !important;
}

[data-view="transparencia"] .ip-municipality-card img.ip-municipality-card__image--alfredo {
  transform: scale(1.22) translate3d(0, 0, 0) !important;
}

[data-view="transparencia"] .ip-municipality-card:hover .ip-municipality-card__image,
[data-view="transparencia"] .ip-municipality-card:focus-visible .ip-municipality-card__image {
  filter: saturate(1.06) contrast(1.025);
  transform: scale(1.03) translate3d(0, 0, 0) !important;
}

[data-view="transparencia"] .ip-municipality-card:hover img.ip-municipality-card__image--alfredo,
[data-view="transparencia"] .ip-municipality-card:focus-visible img.ip-municipality-card__image--alfredo {
  transform: scale(1.25) translate3d(0, 0, 0) !important;
}

[data-view="transparencia"] .ip-municipality-card__selected {
  z-index: 4;
  top: 15px;
  right: 15px;
  width: 38px;
  height: 38px;
  border: 2px solid rgba(255, 255, 255, .88);
  background: #b8d957;
  color: var(--ip-green-950);
  opacity: 0;
  visibility: hidden;
  box-shadow: 0 8px 22px rgba(18, 59, 59, .24);
  transform: scale(.82) !important;
  animation: none !important;
  transition: opacity 800ms ease, visibility 0s linear 800ms,
    transform 1100ms var(--ip-municipality-ease), box-shadow 1100ms var(--ip-municipality-ease) !important;
}

[data-view="transparencia"] .ip-municipality-card.is-selected .ip-municipality-card__selected {
  opacity: 1;
  visibility: visible;
  transform: scale(1) !important;
  transition-delay: 0s;
}

[data-view="transparencia"] .ip-municipality-card__body {
  position: relative;
  z-index: 3;
  display: grid;
  gap: 7px;
  padding: 21px 21px 22px;
  background: linear-gradient(180deg, #fff, #fbfdfc);
  box-shadow: 0 -1px rgba(255, 255, 255, .74);
  transition: background-color 1100ms ease, box-shadow 1250ms var(--ip-municipality-ease) !important;
}

[data-view="transparencia"] .ip-municipality-card__body::before {
  position: absolute;
  top: 0;
  right: 21px;
  left: 21px;
  height: 3px;
  border-radius: 0 0 999px 999px;
  background: var(--ip-teal-500);
  opacity: .26;
  content: "";
  transition: right 1200ms var(--ip-municipality-ease), left 1200ms var(--ip-municipality-ease),
    opacity 950ms ease !important;
}

[data-view="transparencia"] .ip-municipality-card:hover .ip-municipality-card__body::before,
[data-view="transparencia"] .ip-municipality-card:focus-visible .ip-municipality-card__body::before,
[data-view="transparencia"] .ip-municipality-card.is-selected .ip-municipality-card__body::before {
  right: 0;
  left: 0;
  opacity: 1;
}

[data-view="transparencia"] .ip-municipality-card.is-selected .ip-municipality-card__body::before {
  background: #9fc83f;
}

[data-view="transparencia"] .ip-municipality-card__body strong,
[data-view="transparencia"] .ip-municipality-card__body small {
  transform: none !important;
  animation: none !important;
  transition: color 620ms ease !important;
}

[data-view="transparencia"] .ip-municipality-card__body strong {
  color: var(--ip-green-950);
  font-size: 18px;
  letter-spacing: -.018em;
}

[data-view="transparencia"] .ip-municipality-card__state {
  display: inline-flex;
  margin-left: 7px;
  padding: 4px 8px;
  border: 1px solid rgba(35, 111, 115, .10);
  border-radius: 999px;
  background: #edf7f5;
  color: var(--ip-teal-700);
  font-size: 10px;
  line-height: 1;
  vertical-align: 2px;
}

[data-view="transparencia"] .ip-municipality-card__enter {
  width: max-content;
  min-height: 36px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-top: 10px;
  padding: 0 13px;
  border: 1px solid rgba(35, 111, 115, .10);
  border-radius: 999px;
  background: #edf7f5;
  color: var(--ip-teal-700);
  box-shadow: 0 0 0 rgba(35, 111, 115, 0);
  transform: none !important;
  animation: none !important;
  transition: background-color 1050ms ease, border-color 1050ms ease, color 1050ms ease,
    box-shadow 1200ms var(--ip-municipality-ease) !important;
}

[data-view="transparencia"] .ip-municipality-card:hover .ip-municipality-card__enter,
[data-view="transparencia"] .ip-municipality-card:focus-visible .ip-municipality-card__enter,
[data-view="transparencia"] .ip-municipality-card.is-selected .ip-municipality-card__enter {
  border-color: var(--ip-teal-700);
  background: var(--ip-teal-700);
  color: #fff;
  box-shadow: 0 8px 20px rgba(35, 111, 115, .17);
}

[data-view="transparencia"] .ip-municipality-card__enter .ip-icon,
[data-view="transparencia"] .ip-municipality-card:hover .ip-municipality-card__enter .ip-icon,
[data-view="transparencia"] .ip-municipality-card:focus-visible .ip-municipality-card__enter .ip-icon {
  opacity: 1 !important;
  visibility: visible !important;
  transform: translate3d(0, 0, 0) !important;
  animation: none !important;
  transition: transform 1450ms var(--ip-municipality-ease) !important;
}

[data-view="transparencia"] .ip-municipality-card:hover .ip-municipality-card__enter .ip-icon,
[data-view="transparencia"] .ip-municipality-card:focus-visible .ip-municipality-card__enter .ip-icon {
  transform: translate3d(4px, 0, 0) !important;
}

@media (max-width: 980px) {
  [data-view="transparencia"] .ip-municipality-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 760px) {
  [data-view="transparencia"] .ip-municipality-grid {
    grid-template-columns: 1fr;
    gap: 18px;
  }
}

@media (prefers-reduced-motion: reduce) {
  [data-view="transparencia"] #ip-municipality-directory.ip-reveal--directory,
  [data-view="transparencia"] .ip-municipality-card,
  [data-view="transparencia"] .ip-municipality-card::before,
  [data-view="transparencia"] .ip-municipality-card__image,
  [data-view="transparencia"] .ip-municipality-card__selected,
  [data-view="transparencia"] .ip-municipality-card__body,
  [data-view="transparencia"] .ip-municipality-card__body::before,
  [data-view="transparencia"] .ip-municipality-card__body strong,
  [data-view="transparencia"] .ip-municipality-card__body small,
  [data-view="transparencia"] .ip-municipality-card__enter,
  [data-view="transparencia"] .ip-municipality-card__enter .ip-icon {
    animation: none !important;
    transition: none !important;
  }
}

/* Collection counts — visual confirmation that each area loaded its real files. */
[data-view="transparencia"] .ip-transparency-area-card {
  min-height: 182px;
}

[data-view="transparencia"] .ip-transparency-area-card__meta {
  width: max-content;
  display: inline-flex;
  align-items: center;
  margin-top: 3px;
  padding: 5px 9px;
  border: 1px solid color-mix(in srgb, var(--ip-area-accent) 14%, transparent);
  border-radius: 999px;
  background: var(--ip-area-soft);
  color: var(--ip-area-accent);
  font-size: 11px;
  font-weight: 800;
  line-height: 1;
  transform: none !important;
  animation: none !important;
  transition: background-color 620ms ease, border-color 620ms ease, color 620ms ease !important;
}

[data-view="transparencia"] .ip-transparency-area-card.is-active .ip-transparency-area-card__meta {
  border-color: rgba(216, 239, 151, .22);
  background: rgba(255, 255, 255, .11);
  color: #d8ef97;
}

[data-view="transparencia"] .ip-transparency-overview {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin: 20px 28px 0;
  padding: 10px;
  border: 1px solid rgba(35, 111, 115, .12);
  border-radius: 20px;
  background: rgba(255, 255, 255, .88);
  box-shadow: 0 14px 34px rgba(18, 59, 59, .07);
  backdrop-filter: blur(12px);
}

[data-view="transparencia"] .ip-transparency-overview > span {
  min-height: 62px;
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 10px 14px;
  border-radius: 14px;
  color: var(--ip-muted);
  font-size: 12px;
  font-weight: 700;
}

[data-view="transparencia"] .ip-transparency-overview > span + span {
  border-left: 1px solid rgba(35, 111, 115, .10);
}

[data-view="transparencia"] .ip-transparency-overview strong {
  min-width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  border-radius: 13px;
  background: linear-gradient(135deg, #e7f6f3, #f3f8e6);
  color: var(--ip-green-900);
  font-family: Manrope, Arial, sans-serif;
  font-size: 17px;
  box-shadow: inset 0 0 0 1px rgba(35, 111, 115, .08);
}

@media (max-width: 980px) {
  [data-view="transparencia"] .ip-transparency-overview {
    margin-inline: 20px;
  }
}

@media (max-width: 760px) {
  [data-view="transparencia"] .ip-transparency-area-card {
    min-height: 158px;
  }

  [data-view="transparencia"] .ip-transparency-overview {
    grid-template-columns: 1fr;
    margin-inline: 12px;
  }

  [data-view="transparencia"] .ip-transparency-overview > span + span {
    border-top: 1px solid rgba(35, 111, 115, .10);
    border-left: 0;
  }
}

@media (prefers-reduced-motion: reduce) {
  [data-view="transparencia"] .ip-transparency-area-card__meta {
    animation: none !important;
    transition: none !important;
  }
}
