/* bwib-12 cp11 - public pages that link to the member app. Additive only:
   every selector is pp-* or scoped to a [data-pp-*] hook, so no existing page changes. */
.pp-section[hidden] { display: none; }
.pp-wrap { max-width: 900px; }
.pp-cover { display: block; width: 100%; max-height: 28rem; object-fit: cover; border-radius: 1rem; margin: 0 0 1.5rem; }
.pp-headline { font-family: 'Playfair Display', serif; font-weight: 500; line-height: 1.12; margin: .4rem 0 1rem; }
.pp-sub { margin: 2rem 0 .6rem; }
.pp-member { margin: 0 0 1.25rem; }
.pp-tier { font-size: .8rem; letter-spacing: .08em; text-transform: uppercase; color: var(--v6-gold, #c9a35f); }
.pp-business, .pp-card__meta { font-size: .9rem; opacity: .75; }
.pp-closing { font-family: 'Playfair Display', serif; font-size: 1.25rem; font-style: italic; }
.pp-video { position: relative; aspect-ratio: 16 / 9; margin: 1.5rem 0; border-radius: 1rem; overflow: hidden; background: #000; }
.pp-video iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.pp-cta { display: flex; flex-wrap: wrap; gap: .75rem; align-items: flex-start; margin: 1.5rem 0; }
.pp-btn { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: .7rem 1.25rem; text-decoration: none; }
.pp-app { display: inline-flex; flex-direction: column; gap: .6rem; }
.pp-app__fallback[hidden] { display: none; }
.pp-stores { display: flex; flex-wrap: wrap; gap: .5rem; align-items: center; }
.pp-stores__label { font-size: .85rem; opacity: .75; }
.pp-badge { display: inline-flex; align-items: center; min-height: 44px; padding: .5rem 1rem; border: 1px solid currentColor; border-radius: 999px; text-decoration: none; font-weight: 600; }
.pp-share { margin: 2rem 0; }
.pp-share__row { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: .5rem; }
.pp-share__btn { display: inline-flex; align-items: center; min-height: 44px; padding: .5rem 1rem; border: 1px solid currentColor; border-radius: 999px; background: transparent; color: inherit; font: inherit; text-decoration: none; cursor: pointer; }
.pp-share__btn:hover, .pp-share__btn:focus-visible { background: rgba(229, 15, 121, .12); }
.pp-share__status { min-height: 1.4em; margin: .5rem 0 0; font-size: .9rem; }
.pp-grid { list-style: none; margin: 1.5rem 0 0; padding: 0; display: grid; gap: 1.25rem; grid-template-columns: repeat(auto-fill, minmax(min(100%, 15rem), 1fr)); }
.pp-card { display: flex; flex-direction: column; gap: .35rem; height: 100%; color: inherit; text-decoration: none; }
.pp-card img, .pp-card__blank { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: .75rem; background: rgba(128, 128, 128, .2); }
.pp-card__name { font-family: 'Playfair Display', serif; font-size: 1.15rem; }
.pp-card__text { font-size: .95rem; opacity: .85; }
.pp-author { margin: 2.5rem 0 1rem; padding: 1.25rem; border: 1px solid rgba(201, 163, 95, .4); border-radius: 1rem; }
.pp-author__row { display: flex; gap: 1rem; align-items: center; margin-top: .5rem; }
.pp-author__row img { width: 4.5rem; height: 4.5rem; border-radius: 50%; object-fit: cover; }
.pp-author__links a { margin-right: .75rem; }
.pp-invited { margin: 0 0 1rem; padding: .7rem 1rem; border-left: 3px solid var(--v6-pink, #e50f79); font-weight: 600; }
.pp-invited[hidden] { display: none; }
.pp-event { margin: 1.5rem 0; }
.pp-cal { display: flex; flex-wrap: wrap; gap: .75rem; align-items: center; margin: 1rem 0; }
