/* Rincón de niños – catálogo. Usa la paleta del tema. */
.per, .per * { box-sizing: border-box; }
.per { --per-ink: var(--wp--preset--color--ink, #1B2B3A); --per-primary: var(--wp--preset--color--primary-dark, #167FA8); --per-spring: cubic-bezier(.34, 1.4, .5, 1); }

.per-filters { display: flex; flex-wrap: wrap; gap: 10px; justify-content: center; margin: 0 0 34px; }
.per-chip { padding: 10px 22px; border-radius: 999px; border: 2px solid transparent; background: #fff; color: var(--per-ink); font: inherit; font-weight: 800; cursor: pointer; box-shadow: 0 3px 0 rgba(0,0,0,.06); transition: background .2s, color .2s, transform .3s var(--per-spring); }
.per-chip:hover { transform: translateY(-2px); border-color: var(--per-primary); }
.per-chip.is-on { background: var(--per-primary); color: #fff; }

.per-grid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; align-items: stretch; }
.per-item { margin: 0; padding: 0; display: flex; opacity: 0; transform: translateY(18px); transition: opacity .5s ease calc(var(--i, 0) * 60ms), transform .6s var(--per-spring) calc(var(--i, 0) * 60ms); }
.per-item.is-in, .no-js .per-item { opacity: 1; transform: none; }
.per-item[hidden] { display: none; }

.per-card { flex: 1; display: flex; flex-direction: column; gap: 8px; padding: 24px 24px 20px; border-radius: 28px; color: var(--per-ink); text-decoration: none; background: #fff; border: 3px solid var(--per-tint, #FFE9A0); box-shadow: 0 8px 0 var(--per-tint, #FFE9A0); position: relative; overflow: hidden; transition: transform .35s var(--per-spring), box-shadow .3s; }
.per-card::before { content: ""; position: absolute; right: -40px; top: -40px; width: 150px; height: 150px; border-radius: 50%; background: var(--per-tint, #FFE9A0); opacity: .55; transition: transform .5s var(--per-spring); }
.per-card:hover, .per-card:focus-visible { transform: translateY(-8px); box-shadow: 0 16px 0 var(--per-tint, #FFE9A0); }
.per-card:hover::before { transform: scale(1.5); }
.per-sun { --per-tint: #FFE27A; } .per-sky { --per-tint: #A6E0F3; } .per-mint { --per-tint: #9DE9CF; } .per-coral { --per-tint: #FFB6A9; } .per-lilac { --per-tint: #D4C6FF; }

.per-card-ico { position: relative; width: 76px; height: 76px; border-radius: 22px; background: var(--per-tint, #FFE9A0); color: var(--per-ink); display: grid; place-items: center; margin-bottom: 6px; transition: transform .45s var(--per-spring); }
.per-card-ico svg { width: 46px; height: 46px; }
.per-card:hover .per-card-ico { transform: rotate(-8deg) scale(1.1); }
.per-card-title { position: relative; font-family: var(--wp--preset--font-family--display, inherit); font-weight: 700; font-size: 1.45rem; line-height: 1.15; }
.per-card-text { position: relative; margin: 0; font-size: 1.02rem; line-height: 1.45; opacity: .85; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.per-card-foot { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-top: auto; padding-top: 14px; }
.per-card-age { font-size: .9rem; font-weight: 800; color: var(--per-primary); }
.per-card-play { display: inline-flex; align-items: center; gap: 8px; padding: 10px 20px; border-radius: 999px; background: var(--per-primary); color: #fff; font-weight: 800; box-shadow: 0 4px 0 rgba(0,0,0,.18); transition: transform .3s var(--per-spring); }
.per-card-play::after { content: "▶"; font-size: .7em; }
.per-card:hover .per-card-play { transform: scale(1.06); }

@media (max-width: 900px) { .per-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; } }
@media (max-width: 560px) {
  .per-grid { grid-template-columns: 1fr; gap: 12px; }
  .per-card { display: grid; grid-template-columns: 58px 1fr; column-gap: 14px; row-gap: 2px; align-items: start; padding: 16px 16px 14px; }
  .per-card > * { grid-column: 2; }
  .per-card-ico { grid-column: 1; grid-row: 1 / span 3; width: 58px; height: 58px; border-radius: 18px; margin: 0; }
  .per-card-ico svg { width: 34px; height: 34px; }
  .per-card-title { font-size: 1.2rem; }
  .per-card-text { font-size: .95rem; -webkit-line-clamp: 2; }
  .per-card-foot { padding-top: 8px; }
  .per-card-play { padding: 9px 16px; }
  .per-card::before { width: 110px; height: 110px; right: -36px; top: -36px; }
}
@media (prefers-reduced-motion: reduce) { .per-item, .per-card, .per-chip, .per-card-ico { animation: none !important; transition: none !important; opacity: 1; transform: none; } }
