/* Grupo de paquetes: ribbons configurables (los tres estilos de tarjeta) y la
   tarjeta "Postal" (foto completa). Colores del theme de la agencia (--brand-*). */
.pm-ribbons { --pm-rb: var(--brand-accent, #c0336d); position: absolute; top: 12px; left: 12px; right: 12px; z-index: 2;
              display: flex; flex-wrap: wrap; gap: 6px; pointer-events: none; }
.pm-ribbon { font-size: .72rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; line-height: 1.2;
             color: var(--pm-rb); background: #fff; padding: 6px 11px; border-radius: 999px; box-shadow: 0 2px 10px rgba(0, 0, 0, .14); }
.pm-ribbon--best, .pm-ribbon--custom { background: var(--pm-rb); color: #fff; }
.pm-ribbon--discount { background: #e0364f; color: #fff; }
.pm-ribbon--stars { color: #b7791f; }

.pm-group-grid > .pgp-card, .pm-group-grid > .pgc-card, .pm-group-swiper .pgp-card, .pm-group-swiper .pgc-card { height: 100%; }

.pgc-card { --pgc-accent: var(--brand-accent, #c0336d); min-width: 0; }
.pgc-card .pgc-card__link { position: relative; isolation: isolate; display: flex; flex-direction: column; justify-content: flex-end; height: 100%; min-height: 440px;
    border-radius: 20px; overflow: hidden; background: #1d2433; color: #fff; text-decoration: none; font-size: 1rem; text-align: left;
    box-shadow: 0 10px 30px rgba(16, 24, 40, .12); transition: box-shadow .2s ease, transform .2s ease; }
.pgc-card .pgc-card__link:hover { color: #fff; transform: translateY(-3px); box-shadow: 0 22px 48px rgba(16, 24, 40, .2); }
.pgc-card .pgc-card__img { position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; object-fit: cover; transition: transform .6s ease; }
.pgc-card .pgc-card__link:hover .pgc-card__img { transform: scale(1.05); }
.pgc-card__shade { position: absolute; inset: 0; z-index: -1;
    background: linear-gradient(180deg, rgba(8, 12, 24, .25) 0%, rgba(8, 12, 24, 0) 22%, rgba(8, 12, 24, 0) 38%, rgba(8, 12, 24, .62) 62%, rgba(8, 12, 24, .94) 100%); }
.pgc-card__body { display: flex; flex-direction: column; gap: 4px; padding: 22px 22px 24px; }
.pgc-card__dest { font-size: .74rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; opacity: .85; }
.pgc-card__name { font-size: 1.35rem; font-weight: 800; line-height: 1.2; letter-spacing: -.01em; }
.pgc-card__meta { font-size: .88rem; opacity: .88; }
.pgc-card__price { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 6px; margin-top: 12px; font-size: .85rem; }
.pgc-card__price strong { font-size: 1.8rem; font-weight: 900; letter-spacing: -.02em; line-height: 1.1; }
.pgc-card__before { opacity: .7; }
.pgc-card__pp { opacity: .85; }
.pgc-card__cta { align-self: flex-start; margin-top: 14px; padding: 10px 18px; border-radius: 999px; font-size: .92rem; font-weight: 800;
    background: var(--brand-btn-bg, var(--pgc-accent)); color: var(--brand-btn-text, #fff); }
@media (max-width: 991.98px) {
    .pgc-card .pgc-card__link { min-height: 400px; }
    .pgc-card .pgc-card__link:hover { transform: none; }
}
