/* ===== Photo cards (audiences / professions) ===== */
.pcards { --pc-border: var(--palette-accent, #ffd600); --pc-wa: #1f9d55; }
.pcards .section-head { text-align: center; margin-inline: auto; max-width: 60rem; }
.pcards__btn-row { display: flex; justify-content: center; margin-bottom: clamp(1.5rem, 4vw, 2.5rem); }
.pcards__btn-row--bottom { margin: clamp(1.5rem, 4vw, 2.5rem) 0 0; }
.pcards__btn {
  display: inline-flex; align-items: center; gap: .6rem; min-height: 3rem; padding: .7rem 1.6rem;
  border-radius: var(--button-radius, 999px); background: var(--color-button-bg); color: var(--color-button-text);
  font-weight: 800; text-transform: uppercase; letter-spacing: .03em; text-decoration: none;
  box-shadow: 0 14px 26px -16px rgba(18, 59, 120, .8); transition: transform .2s ease, filter .2s ease;
}
.pcards__btn--whatsapp { background: var(--pc-wa); color: #fff; box-shadow: 0 14px 26px -16px rgba(31, 157, 85, .9); }
.pcards__btn .icon { width: 1.25rem; height: 1.25rem; }
.pcards__btn:hover { transform: translateY(-2px); filter: brightness(1.06); }

.pcards__grid { display: grid; grid-template-columns: repeat(var(--cols, 3), minmax(0, 1fr)); gap: clamp(1rem, 2vw, 1.5rem); margin: 0; padding: 0; list-style: none; }
.pcard-photo {
  position: relative; display: flex; flex-direction: column; overflow: hidden;
  border: 1.5px solid var(--pc-border); border-radius: calc(var(--radius) + 2px);
  background: var(--color-surface);
  box-shadow: 0 22px 44px -38px rgba(18, 59, 120, .6);
  transition: transform .3s ease, box-shadow .3s ease;
}
.pcard-photo:hover { transform: translateY(-5px); box-shadow: 0 34px 60px -36px rgba(18, 59, 120, .7); }
.pcard-photo__link { position: absolute; inset: 0; z-index: 2; }
.pcard-photo__media { position: relative; overflow: hidden; background: color-mix(in srgb, var(--color-accent) 20%, var(--color-surface)); }
.pcard-photo__media--landscape { aspect-ratio: 4 / 3; }
.pcard-photo__media--square { aspect-ratio: 1; }
.pcard-photo__media--portrait { aspect-ratio: 4 / 5; }
.pcard-photo__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .7s cubic-bezier(.2, .8, .2, 1); }
.pcard-photo:hover .pcard-photo__media img { transform: scale(1.05); }
.pcard-photo__placeholder { display: grid; place-content: center; justify-items: center; gap: .5rem; height: 100%; color: var(--color-heading); background: radial-gradient(circle at 50% 40%, #fff 0%, color-mix(in srgb, var(--color-accent) 30%, var(--color-surface)) 75%); }
.pcard-photo__placeholder .icon { width: 3.2rem; height: 3.2rem; opacity: .75; }
.pcard-photo__placeholder small { font-weight: 700; opacity: .7; }
.pcard-photo__badge { position: absolute; top: .8rem; left: .8rem; padding: .35rem .75rem; border-radius: 999px; background: var(--palette-heading); color: var(--palette-accent); font-size: .78rem; font-weight: 800; }
.pcard-photo__body { display: grid; gap: .45rem; padding: 1.1rem 1.2rem 1.35rem; }
.pcard-photo__title { margin: 0; font-size: clamp(1.25rem, 2vw, 1.6rem); line-height: 1.15; color: var(--color-heading); }
.pcard-photo__text { margin: 0; font-size: .95rem; line-height: 1.55; }
.pcard-photo__more { display: inline-flex; align-items: center; gap: .35rem; font-weight: 800; color: var(--color-heading); }
.pcard-photo__more .icon { width: 1rem; height: 1rem; transition: transform .2s ease; }
.pcard-photo:hover .pcard-photo__more .icon { transform: translateX(4px); }

@media (max-width: 989px) { .pcards__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 749px) {
  .pcards--mobile-stack .pcards__grid { grid-template-columns: minmax(0, 1fr); }
  .pcards--mobile-carousel .pcards__grid {
    grid-template-columns: none; grid-auto-flow: column; grid-auto-columns: 84%;
    overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none;
    margin-inline: calc(var(--gutter-m, 16px) * -1); padding: .3rem var(--gutter-m, 16px) 1rem;
  }
  .pcards--mobile-carousel .pcards__grid::-webkit-scrollbar { display: none; }
  .pcards--mobile-carousel .pcard-photo { scroll-snap-align: center; }
  .pcards__btn { width: 100%; justify-content: center; }
}
@media (prefers-reduced-motion: reduce) { .pcard-photo, .pcard-photo__media img { transition: none; } }
