/* Self-hosted Inter (same file as the landing page; variable, weights 100-900). */
@font-face{ font-family:'Inter'; font-style:normal; font-weight:100 900; font-display:swap; src:url('/fonts/inter-latin-var.woff2') format('woff2-variations'), url('/fonts/inter-latin-var.woff2') format('woff2'); unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }

/* =====================================================================
   Public creator storefront (/@handle) — self-contained, brand-aligned.
   Full-width cover + wide two-column layout (content main + about rail).
   Apple-clean, violet accent, small radius. No dependency on site.css.
   ===================================================================== */
:root {
    --pf-violet:  #FF6A13;
    --pf-violet7: #E85A06;
    --pf-vsoft:   rgba(255, 106, 19, .10);
    --pf-ink:     #1d1d1f;
    --pf-muted:   #6e6e73;
    --pf-faint:   #94949c;
    --pf-line:    #ECECEC;
    --pf-line2:   #F2F2F2;
    --pf-surface: #ffffff;
    --pf-bg:      #F6F6F6;
    --pf-radius:  8px;
}

* { box-sizing: border-box; }

.pf {
    margin: 0;
    min-height: 100vh;
    color: var(--pf-ink);
    font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    background: var(--pf-bg);
}

/* ---- sticky dock (signature) ---- */
.pf-dock {
    position: fixed; top: 0; left: 0; right: 0; z-index: 30;
    background: rgba(255,255,255,.82);
    -webkit-backdrop-filter: saturate(1.4) blur(16px);
    backdrop-filter: saturate(1.4) blur(16px);
    border-bottom: 1px solid var(--pf-line);
    transform: translateY(-102%);
    transition: transform .28s cubic-bezier(.22,.61,.36,1);
}
.pf-dock.is-visible { transform: translateY(0); }
.pf-dock__inner { max-width: 90%; margin: 0 auto; display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .55rem 24px; }
.pf-dock__id { display: flex; align-items: center; gap: .6rem; min-width: 0; }
.pf-dock__avatar { width: 32px; height: 32px; border-radius: 50%; background: #FEEFE6 center/cover no-repeat; display: flex; align-items: center; justify-content: center; font-weight: 700; font-size: .9rem; color: var(--pf-violet); flex: none; }
.pf-dock__name { font-weight: 600; font-size: .98rem; letter-spacing: -.01em; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pf-dock__actions { display: flex; gap: .5rem; flex: none; }
.pf-dock .pf-btn { height: 36px; padding: 0 .9rem; font-size: .85rem; }

/* ---- cover ---- */
.pf-cover { height: 300px; background: #EEEEEE center/cover no-repeat; }
.pf-cover--empty { background: linear-gradient(120deg, #FF8A45 0%, #FF6A13 58%, #E85A06 100%); }
.pf-cover { overflow: hidden; }
.pf-cover__img { display: block; width: 100%; height: 100%; object-fit: cover; }

/* ---- container ---- */
.pf-container { max-width: 90%; margin: -80px auto 0; padding: 0 24px 40px; position: relative; z-index: 1; }

/* ---- hero card ---- */
.pf-hero {
    background: var(--pf-surface);
    border: 1px solid var(--pf-line);
    border-radius: var(--pf-radius);
    box-shadow: 0 18px 44px -26px rgba(69, 69, 69, .36);
    padding: 0 28px 24px;
}
.pf-hero__top { display: flex; align-items: flex-end; gap: 22px; }
.pf-avatar {
    width: 140px; height: 140px; margin-top: -50px; border-radius: 0px;
    background: #F2F2F2 center/cover no-repeat;
    border: 2px solid var(--pf-surface);
    box-shadow: 0 8px 22px -10px rgba(42, 42, 42, .45);
    display: flex; align-items: center; justify-content: center; flex: none;
    position: relative;
}
.pf-avatar__initial { font-size: 3rem; font-weight: 700; color: var(--pf-violet); }

/* Presence dot (online/offline) */
.pf-presence {
    position: absolute; right: 7px; bottom: 7px;
    width: 16px; height: 16px; border-radius: 50%;
    background: #BABABA; border: 3px solid var(--pf-surface); box-sizing: content-box;
}
.pf-presence.is-online { background: #22c55e; }
.pf-presence.is-online::after {
    content: ''; position: absolute; inset: 0; border-radius: 50%;
    box-shadow: 0 0 0 4px rgba(34,197,94,.22);
}
.pf-dock__avatar { position: relative; }
.pf-presence--sm { right: -1px; bottom: -1px; width: 9px; height: 9px; border-width: 2px; }
.pf-presence--sm.is-online::after { box-shadow: 0 0 0 3px rgba(34,197,94,.22); }

/* "Online / Offline" text in the meta row */
.pf-status { display: inline-flex; align-items: center; gap: .4rem; font-weight: 600; }
.pf-status__dot { width: 8px; height: 8px; border-radius: 50%; background: currentColor; }
.pf-status--online { color: #16a34a; }
.pf-status--offline { color: var(--pf-muted); font-weight: 500; }
.pf-hero__id { flex: 1; min-width: 0; padding-top: 16px; }
.pf-name { font-size: 1.85rem; font-weight: 700; letter-spacing: -.03em; margin: 0; line-height: 1.1; }
.pf-meta { display: flex; align-items: center; flex-wrap: wrap; gap: .4rem; margin-top: .35rem; font-size: .92rem; color: var(--pf-muted); }
.pf-meta__handle { font-weight: 500; }
.pf-meta__dot { color: var(--pf-faint); }
.pf-meta__loc i, .pf-meta__loc svg.svg-inline--fa { color: var(--pf-violet); font-size: .82rem; }
.pf-stats { margin-top: .55rem; font-size: .92rem; color: var(--pf-muted); }
.pf-stat strong { color: var(--pf-ink); font-weight: 700; }
.pf-actions { display: flex; gap: .5rem; padding-bottom: 18px; flex: none; }
.pf-bio { font-size: .98rem; line-height: 1.55; color: #33333a; margin: 1.1rem 0 0; }

/* ---- buttons ---- */
.pf-btn {
    display: inline-flex; align-items: center; justify-content: center; gap: .45rem;
    height: 42px; padding: 0 1.2rem; border-radius: var(--pf-radius); border: 1px solid transparent;
    font-family: inherit; font-size: .92rem; font-weight: 600; cursor: pointer; text-decoration: none; white-space: nowrap;
    transition: transform .12s ease, box-shadow .15s ease, background .15s ease, color .15s ease, border-color .15s ease;
}
.pf-btn:active { transform: translateY(.5px); }
.pf-btn--follow { background: var(--pf-violet); color: #fff; box-shadow: 0 6px 16px -8px rgba(255, 106, 19, .7); }
.pf-btn--follow:hover { background: var(--pf-violet7); transform: translateY(-1px); }
.pf-btn--follow.is-following { background: #fff; color: var(--pf-ink); border-color: var(--pf-line); box-shadow: none; }
.pf-btn--follow.is-following:hover { border-color: #d9436a; color: #d9436a; }
.pf-btn--subscribe { background: linear-gradient(180deg, #34343a 0%, #1d1d1f 55%, #161618 100%); color: #fff; box-shadow: inset 0 1px 0 rgba(255,255,255,.16), 0 6px 16px -8px rgba(28, 28, 28, .55); }
.pf-btn--subscribe:hover { transform: translateY(-1px); }
.pf-btn--subscribe i, .pf-btn--subscribe svg.svg-inline--fa { color: #ffd15c; }
.pf-btn--quiet { width: 42px; padding: 0; background: #fff; color: #8a8797; border-color: var(--pf-line); }
.pf-btn--quiet:hover { color: #d9436a; border-color: #d9436a; }

/* ---- two-column grid ---- */
.pf-grid { margin-top: 20px; }

.pf-main { background: var(--pf-surface); border: 1px solid var(--pf-line); border-radius: var(--pf-radius); box-shadow: 0 1px 3px rgba(42, 42, 42, .05); overflow: hidden; }
.pf-tabs { display: flex; gap: .3rem; padding: 0 16px; border-bottom: 1px solid var(--pf-line); }
.pf-tab { appearance: none; border: 0; background: none; cursor: pointer; font-family: inherit; font-size: .92rem; font-weight: 600; color: var(--pf-muted); padding: .95rem .8rem; position: relative; transition: color .14s; }
.pf-tab:hover { color: var(--pf-ink); }
.pf-tab.is-active { color: var(--pf-violet7); }
.pf-tab.is-active::after { content: ""; position: absolute; left: .8rem; right: .8rem; bottom: -1px; height: 2px; background: var(--pf-violet); border-radius: 2px; }

.pf-panel { display: none; }
.pf-panel.is-active { display: block; }
.pf-empty { text-align: center; padding: 64px 24px; }
.pf-empty__icon { font-size: 2rem; color: #D2D2D2; }
.pf-empty__title { font-size: 1.05rem; font-weight: 600; color: var(--pf-ink); margin: 1rem 0 .3rem; }
.pf-empty__text { font-size: .92rem; color: var(--pf-muted); line-height: 1.5; margin: 0 auto; max-width: 40ch; }

/* ---- content posts ---- */
/* Content feed — single column, divider-separated posts (no card-in-card) */
.pf-posts { display: flex; flex-direction: column; }
.pf-post { display: flex; flex-direction: column; gap: 13px; padding: 24px 22px; border-bottom: 1px solid var(--pf-line); }
.pf-post:first-child { padding-top: 20px; }
.pf-post:last-child { border-bottom: 0; }

.pf-post__img { width: 100%; max-height: 460px; object-fit: cover; display: block; border-radius: var(--pf-radius); background: #F0F0F0; cursor: zoom-in; transition: filter .15s; }
.pf-post__img:hover { filter: brightness(.94); }

/* click-to-enlarge lightbox */
.pf-lightbox { position: fixed; inset: 0; z-index: 200; display: none; align-items: center; justify-content: center; padding: 40px; background: rgba(22, 22, 22, .86); -webkit-backdrop-filter: blur(4px); backdrop-filter: blur(4px); cursor: zoom-out; }
.pf-lightbox.is-open { display: flex; }
.pf-lightbox__img { max-width: 92vw; max-height: 90vh; border-radius: 6px; box-shadow: 0 30px 80px rgba(0,0,0,.55); cursor: default; }
.pf-lightbox__close { position: absolute; top: 20px; right: 24px; width: 42px; height: 42px; border: 0; border-radius: 50%; background: rgba(255,255,255,.13); color: #fff; font-size: 1.6rem; line-height: 1; cursor: pointer; transition: background .15s; }
.pf-lightbox__close:hover { background: rgba(255,255,255,.26); }
@media (prefers-reduced-motion: reduce) { .pf-post__img { transition: none; } }
.pf-post__video { width: 100%; max-height: 480px; display: block; border-radius: var(--pf-radius); background: #000; }
.pf-post__audiowrap { width: 100%; }
.pf-post__audio { width: 100%; display: block; }
.pf-post__doc { display: inline-flex; align-items: center; gap: .6rem; padding: .8rem 1rem; border: 1px solid var(--pf-line); border-radius: var(--pf-radius); color: var(--pf-violet7); font-weight: 600; font-size: .92rem; text-decoration: none; transition: border-color .15s, background .15s; }
.pf-post__doc:hover { border-color: rgba(255, 106, 19, .45); background: var(--pf-vsoft); }
.pf-post__doc i, .pf-post__doc svg.svg-inline--fa { font-size: 1.05rem; }

.pf-post__body { display: block; }
.pf-post__title { font-size: 1.12rem; font-weight: 650; letter-spacing: -.015em; margin: 0; color: var(--pf-ink); line-height: 1.3; }
.pf-post__desc { font-size: .9rem; color: var(--pf-muted); margin: .35rem 0 0; line-height: 1.5; overflow-wrap: anywhere; }
.pf-post__text { font-size: .94rem; line-height: 1.62; color: #33333a; margin: .55rem 0 0; overflow-wrap: anywhere; }
.pf-post__tags { display: flex; flex-wrap: wrap; gap: .4rem; margin-top: .85rem; }
.pf-post__tag { font-size: .72rem; font-weight: 600; color: var(--pf-violet7); background: var(--pf-vsoft); padding: .24rem .55rem; border-radius: 4px; }
.pf-post__desc--onlock { color: rgba(255,255,255,.92); text-shadow: 0 1px 3px rgba(0,0,0,.45); font-size: .85rem; }

/* locked state — a rounded, inset media panel */
.pf-post__locked {
    position: relative; min-height: 300px; display: flex; align-items: center; justify-content: center;
    border-radius: var(--pf-radius); overflow: hidden; background: #EEEEEE center/cover no-repeat;
}
.pf-post__locked::before { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(28, 28, 28, .30), rgba(28, 28, 28, .66)); }
.pf-post__lockmeta { position: relative; z-index: 1; display: flex; flex-direction: column; align-items: center; gap: .7rem; text-align: center; padding: 28px; max-width: 360px; }
.pf-post__lockicon { font-size: 1.4rem; color: #fff; opacity: .95; }
.pf-post__title--onlock { color: #fff; font-weight: 700; text-shadow: 0 1px 3px rgba(0,0,0,.4); font-size: 1.06rem; }
.pf-post__cta { margin-top: .4rem; }

/* ---- membership plans ---- */
.pf-promo { padding: 18px 22px 0; }
.pf-promo__input { width: 100%; max-width: 360px; height: 42px; padding: 0 14px; border: 1px solid var(--pf-line); border-radius: var(--pf-radius, 8px); font-size: .9rem; color: var(--pf-ink); outline: none; transition: border-color .14s, box-shadow .14s; }
.pf-promo__input:focus { border-color: var(--pf-violet); box-shadow: 0 0 0 3px rgba(255, 106, 19, .16); }
.pf-plans { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 16px; padding: 22px; }
.pf-plan {
    display: flex; flex-direction: column;
    border: 1px solid var(--pf-line); border-radius: var(--pf-radius);
    padding: 20px; background: var(--pf-surface);
    transition: border-color .15s ease, box-shadow .15s ease;
}
.pf-plan:hover { border-color: rgba(255, 106, 19, .4); box-shadow: 0 12px 26px -16px rgba(69, 69, 69, .4); }
.pf-plan__head { display: flex; flex-direction: column; gap: .2rem; }
.pf-plan__name { font-size: .8rem; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: var(--pf-violet7); overflow-wrap: anywhere; }
.pf-plan__price { font-size: 1.7rem; font-weight: 800; letter-spacing: -.03em; color: var(--pf-ink); overflow-wrap: anywhere; }
.pf-plan__unit { font-size: .85rem; font-weight: 500; color: var(--pf-muted); letter-spacing: 0; }
.pf-plan__desc { font-size: .9rem; line-height: 1.5; color: #45454d; margin: .7rem 0 0; overflow-wrap: anywhere; }
.pf-plan__trial { display: inline-flex; align-items: center; gap: .35rem; margin: .6rem 0 0; font-size: .8rem; font-weight: 600; color: var(--pf-violet7); }
.pf-plan__perks { list-style: none; margin: 1rem 0 0; padding: 0; display: flex; flex-direction: column; gap: .5rem; }
.pf-plan__perks li { display: flex; align-items: flex-start; gap: .55rem; font-size: .88rem; color: #33333a; line-height: 1.4; }
.pf-plan__perks li span { min-width: 0; overflow-wrap: anywhere; }
.pf-plan__perks i, .pf-plan__perks svg.svg-inline--fa { color: var(--pf-violet); font-size: .78rem; margin-top: .18rem; flex: none; }
.pf-plan__body { flex: 1 1 auto; min-width: 0; }
.pf-plan__cta { width: 100%; margin-top: 1.4rem; }
.pf-plan__member { display: flex; align-items: center; justify-content: center; gap: .45rem; height: 42px; border-radius: var(--pf-radius); background: var(--pf-vsoft); color: var(--pf-violet7); font-weight: 600; font-size: .92rem; }
.pf-plan__member i, .pf-plan__member svg.svg-inline--fa { color: var(--pf-violet); }

/* Content bundles */
.pf-bundles__title { font-size: 1rem; font-weight: 700; color: var(--pf-ink); margin: 1.7rem 0 .2rem; }
.pf-bundles__sub { font-size: .85rem; color: var(--pf-muted); margin: 0 0 .9rem; }
.pf-bundles { display: flex; flex-direction: column; gap: .7rem; }
.pf-bundle { display: flex; align-items: center; justify-content: space-between; gap: 1.2rem; background: var(--pf-surface); border: 1px solid var(--pf-line); border-radius: var(--pf-radius); padding: 1rem 1.2rem; }
.pf-bundle__body { flex: 1 1 auto; min-width: 0; }
.pf-bundle__head { display: flex; align-items: baseline; gap: .6rem; }
.pf-bundle__name { font-size: .98rem; font-weight: 700; color: var(--pf-ink); overflow-wrap: anywhere; }
.pf-bundle__price { font-size: 1.15rem; font-weight: 800; letter-spacing: -.02em; color: var(--pf-violet7); margin-left: auto; }
.pf-bundle__count { display: inline-flex; align-items: center; gap: .35rem; font-size: .82rem; color: var(--pf-muted); margin-top: .25rem; }
.pf-bundle__desc { font-size: .86rem; color: var(--pf-muted); margin: .4rem 0 0; overflow-wrap: anywhere; }
.pf-bundle .pf-plan__cta { flex: none; width: auto; margin: 0; padding: 0 1.1rem; height: 42px; }

/* ---- events ---- */
.pf-events { display: flex; flex-direction: column; gap: .8rem; }
.pf-ev { display: flex; align-items: flex-start; justify-content: space-between; gap: 1.4rem; background: var(--pf-surface); border: 1px solid var(--pf-line); border-radius: var(--pf-radius); padding: 1.15rem 1.25rem; }
.pf-ev__main { flex: 1 1 auto; min-width: 0; }
.pf-ev__when { display: inline-flex; align-items: center; gap: .4rem; font-size: .78rem; font-weight: 600; color: var(--pf-violet7); text-transform: uppercase; letter-spacing: .02em; }
.pf-ev__when i, .pf-ev__when svg.svg-inline--fa { color: var(--pf-violet); }
.pf-ev__title { font-size: 1.05rem; font-weight: 700; color: var(--pf-ink); margin: .35rem 0 0; line-height: 1.3; overflow-wrap: anywhere; }
.pf-ev__desc { font-size: .88rem; line-height: 1.5; color: var(--pf-muted); margin: .4rem 0 0; overflow-wrap: anywhere; }
.pf-ev__meta { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem .9rem; margin-top: .7rem; }
.pf-ev__tag { display: inline-flex; align-items: center; padding: .18rem .55rem; border-radius: 999px; font-size: .74rem; font-weight: 600; background: var(--pf-line2); color: var(--pf-muted); }
.pf-ev__tag--paid { background: #e7f6ee; color: #1f8a54; }
.pf-ev__tag--subscribers, .pf-ev__tag--tier { background: var(--pf-vsoft); color: var(--pf-violet7); }
.pf-ev__where, .pf-ev__seats { display: inline-flex; align-items: center; gap: .35rem; font-size: .8rem; color: var(--pf-faint); }
.pf-ev__refund { display: flex; align-items: center; gap: .4rem; font-size: .8rem; color: var(--pf-faint); margin: .55rem 0 0; }
.pf-ev__refund i, .pf-ev__refund svg.svg-inline--fa { color: var(--pf-faint); }
.pf-ev__access { margin-top: .9rem; padding: .8rem .9rem; background: var(--pf-vsoft); border-radius: var(--pf-radius); display: flex; flex-direction: column; gap: .4rem; }
.pf-ev__access-h { display: inline-flex; align-items: center; gap: .4rem; font-size: .82rem; font-weight: 600; color: var(--pf-violet7); }
.pf-ev__access-row { display: flex; align-items: flex-start; gap: .45rem; font-size: .86rem; color: var(--pf-ink); overflow-wrap: anywhere; }
.pf-ev__access-row i, .pf-ev__access-row svg.svg-inline--fa { color: var(--pf-violet); margin-top: .15rem; }
.pf-ev__access-row a { color: var(--pf-violet7); text-decoration: none; word-break: break-all; }
.pf-ev__access-row a:hover { text-decoration: underline; }
.pf-ev__access-instr { color: var(--pf-muted); line-height: 1.5; }
.pf-ev__cta { flex: none; }
.pf-ev__register { width: auto; margin: 0; padding: 0 1.1rem; height: 42px; white-space: nowrap; }
.pf-ev__status { display: inline-flex; align-items: center; gap: .45rem; height: 42px; padding: 0 1rem; border-radius: var(--pf-radius); font-size: .88rem; font-weight: 600; }
.pf-ev__status--reg { background: #e7f6ee; color: #1f8a54; }
.pf-ev__status--reg i, .pf-ev__status--reg svg.svg-inline--fa { color: #1f8a54; }
.pf-ev__status--own { background: var(--pf-line2); color: var(--pf-muted); }
.pf-ev__status--full { background: var(--pf-line2); color: var(--pf-faint); }
@media (max-width: 560px) {
    .pf-ev { flex-direction: column; gap: .9rem; }
    .pf-ev__cta, .pf-ev__register, .pf-ev__status { width: 100%; }
    .pf-ev__register, .pf-ev__status { justify-content: center; }
}

/* interim subscribe notice */
.pf-toast {
    position: fixed; left: 50%; bottom: 28px; transform: translate(-50%, 12px);
    background: #1d1d1f; color: #fff; font-size: .9rem; font-weight: 500;
    padding: .7rem 1.1rem; border-radius: var(--pf-radius);
    box-shadow: 0 12px 30px -12px rgba(28, 28, 28, .6); z-index: 40;
    opacity: 0; transition: opacity .3s ease, transform .3s ease; pointer-events: none;
}
.pf-toast.is-in { opacity: 1; transform: translate(-50%, 0); }

/* ---- aside (about + links) ---- */
.pf-aside { display: flex; flex-direction: column; gap: 20px; position: sticky; top: 20px; }
.pf-card { background: var(--pf-surface); border: 1px solid var(--pf-line); border-radius: var(--pf-radius); box-shadow: 0 1px 3px rgba(42, 42, 42, .05); padding: 20px; }
.pf-card__title { font-size: .72rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--pf-faint); margin: 0 0 .9rem; }
.pf-card__bio { font-size: .92rem; line-height: 1.6; color: #33333a; margin: 0 0 1rem; }
.pf-facts { margin: 0; display: flex; flex-direction: column; gap: .55rem; }
.pf-fact { display: flex; align-items: center; gap: .7rem; margin: 0; font-size: .9rem; color: var(--pf-muted); }
.pf-fact dt { margin: 0; color: var(--pf-violet); width: 18px; text-align: center; }
.pf-fact dd { margin: 0; }

.pf-links { display: flex; flex-direction: column; gap: .55rem; }
.pf-link { display: flex; align-items: center; justify-content: space-between; gap: .8rem; padding: .85rem 1rem; background: var(--pf-surface); border: 1px solid var(--pf-line); border-radius: var(--pf-radius); color: var(--pf-ink); text-decoration: none; font-weight: 600; font-size: .9rem; transition: transform .12s ease, box-shadow .15s ease, border-color .15s ease; }
.pf-link:hover { transform: translateY(-1px); border-color: rgba(255, 106, 19, .45); box-shadow: 0 10px 22px -12px rgba(69, 69, 69, .42); }
.pf-link__title { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pf-link__icon { color: var(--pf-muted); font-size: .78rem; flex: none; }
.pf-link:hover .pf-link__icon { color: var(--pf-violet); }

/* ---- footer ---- */
/* logged-out page: the site nav (landing.css + sx.css) scrolls with the page instead of floating over the cover */
.pf > .ld-nav { position: relative; background: var(--sx-bg, #050505); }
.pf .ld-nav__links .ld-nav__signin { display: none; }   /* the menu's Sign In is a link here: only the phone menu shows it */
@media (max-width: 640px) { .pf .ld-nav__links .ld-nav__signin { display: flex; } }
.pf .ld-nav__cta--outline { background: transparent; color: var(--sx-ink, #f5f5f4); border: 1px solid var(--sx-line-2, rgba(255,255,255,.13)); }
.pf .ld-nav__cta--outline:hover { border-color: var(--sx-muted, #8e8e94); color: var(--sx-ink, #f5f5f4); }
.pf-foot { padding: 30px 0 8px; text-align: center; }
.pf-foot__brand { display: inline-flex; align-items: center; gap: .5rem; font-size: .8rem; font-weight: 500; color: var(--pf-muted); text-decoration: none; transition: color .15s; }
.pf-foot__brand:hover { color: var(--pf-ink); }
.pf-foot__mark { position: relative; width: 18px; height: 18px; border-radius: 3px; background: linear-gradient(140deg, #FF8A45, #FF6A13); flex: none; }
.pf-foot__mark::before { content: ""; position: absolute; inset: 4px; border-radius: 50%; border: 1.5px solid #fff; border-right-color: transparent; transform: rotate(-42deg); }

/* ---- responsive ---- */
@media (max-width: 880px) {
    .pf-grid { grid-template-columns: 1fr; }
    .pf-aside { position: static; }
}
@media (max-width: 620px) {
    .pf-cover { height: 180px; }
    .pf-container { margin-top: -64px; padding: 0 14px 32px; }
    .pf-hero { padding: 0 18px 20px; }
    .pf-hero__top { flex-wrap: wrap; }
    .pf-avatar { width: 104px; height: 104px; margin-top: -52px; }
    .pf-hero__id { padding-top: 12px; }
    .pf-actions { width: 100%; padding-bottom: 0; margin-top: .4rem; min-height: 42px; }   /* buttons are drawn by script: hold their row so the page below does not jump */
    .pf-actions .pf-btn { flex: 1; }
    .pf-name { font-size: 1.5rem; }
    .pf-dock__name { max-width: 42vw; }
}
@media (prefers-reduced-motion: reduce) {
    .pf-dock, .pf-btn, .pf-link { transition: none; }
}

/* Content Studio posts on the profile */
.pf-post__media{ display:flex; flex-direction:column; gap:3px; }
.pf-post__date{ display:block; font-size:.78rem; color:#9a9aa2; margin-top:.45rem; }

/* ===== Content feed (post cards) — .pf-feed, NOT .pf-grid (that's the page layout) ===== */
.pf-feed{ display:grid; grid-template-columns:repeat(auto-fill, minmax(140px, 1fr)); gap:16px; padding:22px; }
/* Borderless tiles — they sit ON the panel, so no card-in-card. Small brand radius. */
.pf-pc{ display:flex; flex-direction:column; text-align:left; padding:0; margin:0; border:none; background:none; cursor:pointer; font:inherit; }
.pf-pc[hidden]{ display:none; }
.pf-pc__thumb{ position:relative; display:block; width:100%; aspect-ratio:1/1; border-radius:var(--pf-radius); overflow:hidden; background-color:#F0F0F0; background-size:cover; background-position:center; background-repeat:no-repeat; transition:transform .12s ease, box-shadow .12s ease; }
.pf-pc:hover .pf-pc__thumb{ transform:translateY(-3px); box-shadow:0 14px 28px -16px rgba(63, 63, 63, .42); }
.pf-pc:focus-visible .pf-pc__thumb{ outline:2px solid #FF6A13; outline-offset:2px; }
/* "Load More" under the post grid (pages of 24, /api/profile_posts) */
.pf-more{ display:flex; justify-content:center; padding:0 22px 22px; }
.pf-more__btn{ min-width:160px; background:#fff; color:var(--pf-ink); border-color:var(--pf-line); }
.pf-more__btn:hover{ background:#FAFAFA; border-color:#D4D4D8; }
.pf-more__btn:focus-visible{ outline:2px solid #FF6A13; outline-offset:2px; }
.pf-more__btn:disabled{ opacity:.6; cursor:default; transform:none; }
.pf-pc__img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; display:block; }
.pf-pc__lockbadge{ position:absolute; inset:0; display:flex; align-items:center; justify-content:center; color:#fff; font-size:1.5rem; background:rgba(18, 18, 18, .30); }
.pf-pc__play{ position:absolute; inset:0; display:flex; align-items:center; justify-content:center; color:#fff; font-size:1.7rem; text-shadow:0 2px 10px rgba(0,0,0,.55); pointer-events:none; }
.pf-pc__count{ position:absolute; right:8px; top:8px; background:rgba(18, 18, 18, .7); color:#fff; font-size:.7rem; font-weight:600; padding:2px 6px; border-radius:6px; display:inline-flex; align-items:center; gap:4px; }
.pf-pc__cap{ padding:9px 2px 0; font-size:.84rem; color:#33333a; line-height:1.38; display:-webkit-box; -webkit-line-clamp:2; line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
@media (max-width:560px){ .pf-feed{ grid-template-columns:repeat(2,1fr); gap:14px; padding:16px; } }

/* Content search */
.pf-toolbar{ padding:18px 22px 0; }
.pf-search{ position:relative; width:100%; }
.pf-search__icon{ position:absolute; left:12px; top:50%; transform:translateY(-50%); color:var(--pf-faint); font-size:.85rem; pointer-events:none; }
.pf-search__input{ width:100%; height:40px; padding:0 14px 0 34px; border:1px solid var(--pf-line); border-radius:var(--pf-radius); background:#fff; font:inherit; font-size:.92rem; color:var(--pf-ink); outline:none; transition:border-color .12s, box-shadow .12s; }
.pf-search__input:focus{ border-color:var(--pf-violet); box-shadow:0 0 0 3px rgba(255, 106, 19, .16); }
.pf-search__input::placeholder{ color:var(--pf-faint); }
.pf-feed__none{ padding:4px 22px 28px; color:var(--pf-muted); font-size:.92rem; margin:0; }

/* About / Links panels (moved out of the old sidebar) */
.pf-info{ padding:24px; }
.pf-info__bio{ font-size:1rem; line-height:1.6; color:#33333a; margin:0 0 1.2rem; white-space:pre-wrap; }
/* About: the bio fills the panel and the facts sit in their own column at the right, so half the panel is never left empty */
.pf-info--about{ display:grid; grid-template-columns:minmax(0,1fr) 260px; gap:24px 40px; align-items:start; }
.pf-info--about .pf-info__bio{ margin:0; }
.pf-info--about .pf-facts{ padding-left:24px; border-left:1px solid var(--pf-line, #ececf0); }
@media (max-width: 760px){
    .pf-info--about{ grid-template-columns:1fr; }
    .pf-info--about .pf-facts{ padding-left:0; border-left:0; }
}
.pf-info__empty{ color:var(--pf-muted); font-size:.92rem; margin:0; }
.pf-info .pf-links{ max-width:520px; }

/* ===== Full-post lightbox ===== */
.pf-plb{ position:fixed; inset:0; z-index:2000; background:rgba(12, 12, 12, .86); display:flex; align-items:flex-start; justify-content:center; overflow:auto; padding:44px 16px; }
.pf-plb[hidden]{ display:none; }
.pf-plb__close{ position:fixed; top:16px; right:20px; width:40px; height:40px; border-radius:50%; border:none; background:rgba(255,255,255,.15); color:#fff; font-size:1.15rem; cursor:pointer; }
.pf-plb__close:hover{ background:rgba(255,255,255,.28); }
.pf-plb__inner{ width:min(660px,100%); background:#fff; border-radius:2px; overflow:hidden; box-shadow:0 30px 80px -30px rgba(0,0,0,.6); }
.pf-plb__media img, .pf-plb__media video{ width:100%; display:block; background:#111; }
.pf-plb__media--carousel{ position:relative; }
.pf-plb__slide{ display:none; }
.pf-plb__slide.is-on{ display:block; }
.pf-plb__nav{ position:absolute; top:50%; transform:translateY(-50%); z-index:2; width:38px; height:38px; padding:0; border:0; border-radius:50%; background:rgba(0,0,0,.5); color:#fff; cursor:pointer; display:flex; align-items:center; justify-content:center; font-size:.9rem; }
.pf-plb__nav:hover{ background:rgba(0,0,0,.72); }
.pf-plb__nav--prev{ left:10px; }
.pf-plb__nav--next{ right:10px; }
.pf-plb__dots{ position:absolute; bottom:12px; left:0; right:0; display:flex; justify-content:center; gap:6px; z-index:2; }
.pf-plb__dot{ width:7px; height:7px; border-radius:50%; background:rgba(255,255,255,.5); }
.pf-plb__dot.is-on{ background:#fff; }
.pf-plb__body{ padding:16px 18px 20px; }
.pf-plb__body p{ margin:0; font-size:.95rem; line-height:1.5; color:#1d1d1f; white-space:pre-wrap; word-break:break-word; }
.pf-plb__date{ display:block; margin-top:.55rem; font-size:.78rem; color:#9a9aa2; }
.pf-plb__locked{ position:relative; aspect-ratio:4/5; background-color:#121212; background-size:cover; background-position:center; display:flex; align-items:center; justify-content:center; }
.pf-plb__lockmeta{ display:flex; flex-direction:column; align-items:center; gap:.7rem; color:#fff; background:rgba(14, 14, 14, .42); padding:2rem 2.4rem; border-radius:12px; text-align:center; }
.pf-plb__lockmeta i, .pf-plb__lockmeta svg.svg-inline--fa { font-size:1.9rem; }
.pf-plb__ppv{ display:flex; flex-direction:column; align-items:center; gap:.55rem; }
.pf-plb__bal{ font-size:.82rem; color:rgba(255,255,255,.72); }
.pf-plb__short{ font-size:.82rem; color:#ffcf8f; max-width:260px; line-height:1.4; }
.pf-plb__promo{ display:flex; gap:.4rem; margin-top:.6rem; width:100%; max-width:280px; }
.pf-plb__promo-input{ flex:1; min-width:0; height:36px; padding:0 .7rem; border:1px solid rgba(255,255,255,.3); border-radius:var(--pf-radius, 8px); background:rgba(255,255,255,.12); color:#fff; font-size:.85rem; text-transform:uppercase; }
.pf-plb__promo-input::placeholder{ color:rgba(255,255,255,.6); text-transform:none; }
.pf-plb__promo-apply{ height:36px; padding:0 .9rem; border:0; border-radius:var(--pf-radius, 8px); background:rgba(255,255,255,.92); color:#1d1d1f; font-size:.82rem; font-weight:600; cursor:pointer; }
.pf-plb__promo-apply:hover{ background:#fff; }
.pf-plb__promo-msg{ margin-top:.15rem; font-size:.78rem; min-height:1em; }
.pf-plb__promo-msg.is-ok{ color:#8ff0b6; }
.pf-plb__promo-msg.is-err{ color:#ffb3b3; }

/* ===== Lightbox engagement (likes / comments / views) ===== */
.pf-plb__engage{ display:flex; align-items:center; gap:1.1rem; margin:.9rem 0 .2rem; padding-top:.9rem; border-top:1px solid var(--pf-line); }
.pf-plb__like{ display:inline-flex; align-items:center; gap:.4rem; border:0; background:none; padding:0; font:inherit; font-size:.95rem; font-weight:600; color:#46464e; cursor:pointer; }
.pf-plb__like i, .pf-plb__like svg.svg-inline--fa { font-size:1.05rem; transition:transform .12s ease; }
.pf-plb__like:hover i, .pf-plb__like:hover svg.svg-inline--fa { transform:scale(1.14); }
.pf-plb__like.is-liked{ color:#e0245e; }
.pf-plb__estat{ display:inline-flex; align-items:center; gap:.4rem; font-size:.9rem; color:var(--pf-muted); }
.pf-plb__estat--views{ margin-left:auto; }
.pf-plb__comments{ margin-top:.3rem; }
.pf-plb__clist{ display:flex; flex-direction:column; gap:.9rem; margin:.7rem 0; }
.pf-plb__comments .pf-plb__cempty{ font-size:.8rem; color:var(--pf-muted); margin:.4rem 0; }
.pf-plb__cload{ font-size:.75rem; color:var(--pf-faint); padding:.5rem 0; }
.pf-plb__c{ display:flex; gap:.6rem; }
.pf-plb__cav{ width:32px; height:32px; flex:none; border-radius:50%; background:var(--pf-vsoft); color:var(--pf-violet); display:flex; align-items:center; justify-content:center; font-weight:700; font-size:.85rem; }
.pf-plb__cmain{ flex:1; min-width:0; }
.pf-plb__chead{ display:flex; align-items:center; gap:.5rem; }
.pf-plb__cname{ font-size:.86rem; font-weight:600; color:var(--pf-ink); }
.pf-plb__cwhen{ font-size:.76rem; color:var(--pf-faint); }
.pf-plb__cdel{ margin-left:auto; border:0; background:none; color:var(--pf-faint); cursor:pointer; font-size:.8rem; padding:.1rem .3rem; opacity:.6; transition:opacity .12s, color .12s; }
.pf-plb__cdel:hover{ opacity:1; color:var(--pf-ink); }
.pf-plb__cbody{ margin:.15rem 0 0; font-size:.9rem; line-height:1.45; color:#33333a; white-space:pre-wrap; word-break:break-word; }
.pf-plb__cform{ display:flex; gap:.5rem; margin-top:.7rem; }
.pf-plb__cinput{ flex:1; height:40px; padding:0 12px; border:1px solid var(--pf-line); border-radius:var(--pf-radius); font:inherit; font-size:.9rem; outline:none; }
.pf-plb__cinput:focus{ border-color:var(--pf-violet); box-shadow:0 0 0 3px rgba(255, 106, 19, .16); }
.pf-plb__csend{ height:40px; padding:0 1rem; flex:none; }
.pf-plb__cnote{ font-size:.86rem; color:var(--pf-muted); margin:.6rem 0 0; }
.pf-plb__cnote a{ color:var(--pf-violet7); }
.pf-verified{ color:var(--acc-ink); font-size:.7em; vertical-align:middle; margin-left:.1em; }
.pf-ai{ display:inline-flex; align-items:center; height:20px; padding:0 6px; margin-left:.25em; border:1px solid currentColor; border-radius:2px; font-size:11px; font-weight:700; letter-spacing:.04em; line-height:1; vertical-align:middle; opacity:.75; }
.pf-ai-line{ margin:6px 0 0; font-size:13px; opacity:.75; }
.pf-ai-line i{ font-size:.9em; margin-right:.25em; }

/* ---- signed-in viewers: the profile sits inside the app shell (sidebar + top bar) ---- */
.pf--app { min-height: 0; margin: -2.2rem -30px 0; }
.pf--app .pf-dock { top: var(--topbar-h, 62px); left: var(--side-w, 242px); transform: none; opacity: 0; visibility: hidden; transition: opacity .2s ease, visibility .2s; }
.pf--app .pf-dock.is-visible { opacity: 1; visibility: visible; }
.pf--app .pf-container { z-index: auto; }   /* lets the post viewer and lightbox cover the app top bar */
@media (max-width: 820px) {
    .pf--app { margin: -1.7rem -16px 0; }
    .pf--app .pf-dock { left: 0; }
}

/* /@handle/events/<id>: one event's own page */
.pf-focus{ display:flex; flex-direction:column; gap:14px; }
.pf-focus{ padding:16px 20px 20px; }
.pf-focus__back{ align-self:flex-start; display:inline-flex; align-items:center; gap:8px; font-size:14px; font-weight:500; color:#6f6c7b; text-decoration:none; }
.pf-focus__back:hover{ color:#242424; }
.pf-focus__back:focus-visible{ outline:2px solid #FF6A13; outline-offset:2px; border-radius:2px; }

/* ---- /@handle/events/<id>: the event is the page (profile cover + header hidden). Event column | registration card. ---- */
.pf--event .pf-cover, .pf--event .pf-hero{ display:none; }
.pf--event .pf-container{ max-width:1200px; margin-top:0; padding-top:32px; }   /* no cover to overlap */
.pf--app.pf--event .pf-container{ padding-top:8px; }   /* inside the app shell the top bar already gives the space */
.pf--event .pf-main{ background:none; border:0; box-shadow:none; padding:0; }
.pe{ display:block; background:none; border:0; padding:0; }
.pe-bar{ display:flex; align-items:center; justify-content:space-between; gap:16px; min-height:40px; margin-bottom:20px; }
.pe-back{ display:inline-flex; align-items:center; gap:8px; font-size:14px; font-weight:500; color:#6f6c7b; text-decoration:none; }
.pe-back:hover{ color:#1d1d1d; }
.pe-manage{ display:inline-flex; align-items:center; gap:8px; height:40px; padding:0 16px; border:1px solid #DCDAE2; border-radius:4px; background:#fff; font-size:14px; font-weight:600; color:#1d1d1d; text-decoration:none; }
.pe-manage:hover{ background:#F7F6F9; color:#1d1d1d; }
.pe-back:focus-visible, .pe-host:focus-visible, .pe-btn:focus-visible, .pe-manage:focus-visible, .pe-link:focus-visible{ outline:2px solid #FF6A13; outline-offset:2px; border-radius:4px; }
/* hero: the event's own header panel, with the date as the anchor */
.pe-hero{ position:relative; display:flex; align-items:flex-start; gap:28px; padding:28px 32px; margin-bottom:16px; border:1px solid #EFE3D9; border-radius:14px; overflow:hidden;
    background:radial-gradient(120% 140% at 0% 0%, #FFF1E6 0%, #FFF8F3 38%, #FFFFFF 70%); }
.pe-hero::after{ content:""; position:absolute; right:-60px; top:-60px; width:220px; height:220px; border-radius:50%; background:radial-gradient(circle, rgba(255,106,19,.10) 0%, rgba(255,106,19,0) 70%); pointer-events:none; }
.pe-hero__date{ flex:none; display:flex; flex-direction:column; align-items:center; justify-content:center; width:96px; height:108px; border-radius:12px; background:#fff; border:1px solid #F1DDCC; box-shadow:0 8px 24px -12px rgba(205,76,0,.35); overflow:hidden; }
.pe-hero__m{ align-self:stretch; padding:6px 0 5px; background:#CD4C00; color:#fff; font-size:13px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; text-align:center; }
.pe-hero__d{ margin-top:4px; font-size:38px; font-weight:800; line-height:1; letter-spacing:-.02em; color:#1d1d1d; font-variant-numeric:tabular-nums; }
.pe-hero__w{ margin-top:4px; font-size:13px; font-weight:600; color:#6f6c7b; }
.pe-hero__text{ position:relative; min-width:0; }
.pe-meta{ display:flex; align-items:center; flex-wrap:wrap; gap:12px 20px; }
.pe-type{ display:inline-flex; align-items:center; gap:8px; padding-left:20px; border-left:1px solid #EBDDD1; font-size:14px; font-weight:600; color:#3a3844; }
.pe-type i, .pe-type svg{ width:14px; height:14px; font-size:14px; color:#CD4C00; }
.pe-title{ margin:0 0 18px; font-size:32px; line-height:1.18; font-weight:800; letter-spacing:-.025em; color:#1d1d1d; overflow-wrap:anywhere; text-wrap:balance; }
.pe-title--long{ font-size:26px; line-height:1.22; letter-spacing:-.02em; }
.pe-host{ display:inline-flex; align-items:center; gap:12px; text-decoration:none; }
.pe-host__av{ width:40px; height:40px; flex:none; border-radius:50%; background:#FFF2EA center/cover no-repeat; color:#C2410C; font-weight:700; font-size:15px; display:inline-flex; align-items:center; justify-content:center; box-shadow:0 0 0 2px #fff, 0 0 0 3px #F1DDCC; }
.pe-host__text{ display:flex; flex-direction:column; line-height:1.3; }
.pe-host__by{ font-size:13px; color:#6f6c7b; }
.pe-host__name{ font-size:15px; font-weight:600; color:#1d1d1d; }
.pe-host:hover .pe-host__name{ text-decoration:underline; }

.pe-grid{ display:grid; grid-template-columns:minmax(0,1fr) 360px; gap:32px; align-items:start; }
.pe-main{ min-width:0; }
.pe-tiles{ display:grid; grid-template-columns:minmax(0,1fr); background:#fff; border:1px solid #EBEAEF; border-radius:10px; }
.pe-tile{ display:grid; grid-template-columns:180px minmax(0,1fr); column-gap:20px; align-items:start; min-width:0; padding:18px 22px; }
.pe-tile + .pe-tile{ border-top:1px solid #EFEEF2; }
.pe-tile > :not(.pe-tile__h){ grid-column:2; }
.pe-tile__h{ grid-row:1 / span 5; display:flex; align-items:center; gap:8px; margin:2px 0 0; font-size:14px; font-weight:600; color:#6f6c7b; }
.pe-tile__h i, .pe-tile__h svg{ width:14px; height:14px; font-size:14px; color:#CD4C00; }
.pe-tile__main{ margin:0; font-size:16px; font-weight:700; line-height:1.4; color:#1d1d1d; overflow-wrap:anywhere; }
.pe-tile__sub{ margin:2px 0 0; font-size:15px; line-height:1.5; color:#3a3844; overflow-wrap:anywhere; }
.pe a.pe-tile__link, .pe a.pe-tile__link:visited, .pe a.pe-tile__link:hover{ color:#C2410C; }
.pe-tile__link{ justify-self:start; display:inline-flex; align-items:center; gap:6px; margin-top:8px; font-size:14px; font-weight:600; color:#C2410C; text-decoration:none; }
.pe-tile__link i, .pe-tile__link svg{ width:11px; height:11px; font-size:11px; }
.pe-tile__link:hover{ text-decoration:underline; color:#C2410C; }
.pe-about{ margin-top:28px; }
.pe-about__h{ margin:0 0 8px; font-size:18px; font-weight:700; color:#1d1d1d; }
.pe-desc{ margin:0; max-width:68ch; font-size:16px; line-height:1.65; color:#3a3844; overflow-wrap:anywhere; }
.pe-about--instr{ padding:16px 20px; background:#fff; border:1px solid #EBEAEF; border-left:3px solid #CD4C00; border-radius:8px; }

/* the registration card is a ticket stub: details up top, a perforated tear line, the action below */
.pe-ticket{ position:sticky; top:24px; background:#fff; border:1px solid #EBEAEF; border-radius:14px; box-shadow:0 12px 32px -18px rgba(29,29,29,.28); }
.pe-ticket__top{ padding:22px 24px 20px; border-radius:14px 14px 0 0; background:linear-gradient(180deg, #FFF8F3 0%, #FFFFFF 100%); }
.pe-ticket__label{ margin:0 0 6px; font-size:13px; font-weight:600; color:#C2410C; }
.pe-ticket__price{ margin:0 0 12px; font-size:36px; font-weight:800; letter-spacing:-.02em; line-height:1.05; color:#1d1d1d; }
.pe-ticket__price span{ font-size:15px; font-weight:500; letter-spacing:0; color:#6f6c7b; }
.pe-ticket__row{ display:flex; align-items:center; gap:9px; margin:6px 0 0; font-size:15px; color:#3a3844; }
.pe-ticket__row i, .pe-ticket__row svg{ width:15px; height:15px; font-size:15px; color:#CD4C00; flex:none; }
.pe-ticket__tear{ position:relative; height:1px; margin:0 20px; border-top:2px dashed #E7E4EC; }
.pe-ticket__tear::before, .pe-ticket__tear::after{ content:""; position:absolute; top:-12px; width:22px; height:22px; border-radius:50%; background:var(--pf-bg, #F6F6F6); border:1px solid #EBEAEF; }
.pe-ticket__tear::before{ left:-32px; clip-path:inset(0 0 0 50%); }
.pe-ticket__tear::after{ right:-32px; clip-path:inset(0 50% 0 0); }
.pe-ticket__bottom{ padding:20px 24px 22px; }
.pe-card__sub{ margin:10px 0 0; font-size:14px; line-height:1.5; color:#6f6c7b; text-align:center; }
.pe-btn{ display:flex; width:100%; height:50px; align-items:center; justify-content:center; gap:8px; border:0; border-radius:8px; background:#CD4C00; color:#fff; font-size:16px; font-weight:700; cursor:pointer; text-decoration:none; transition:background .15s, transform .15s; box-shadow:0 6px 16px -8px rgba(205,76,0,.6); }
a.pe-btn, a.pe-btn:visited{ color:#fff; }
.pe-btn:hover, a.pe-btn:hover{ background:#B04100; color:#fff; }
.pe-btn:active{ transform:translateY(1px); }
.pe-btn:disabled{ opacity:.7; cursor:default; }
.pe-status{ display:flex; align-items:center; justify-content:center; gap:8px; min-height:50px; margin:0; padding:12px; border-radius:8px; background:#F4F3F6; font-size:15px; font-weight:600; color:#4b4957; text-align:center; }
.pe-status--ok{ background:#e7f6ee; color:#1a7a4a; }
.pe-cancel{ display:block; margin:12px auto 0; padding:4px 8px; border:0; background:none; font-size:14px; font-weight:500; color:#6f6c7b; text-decoration:underline; text-underline-offset:3px; cursor:pointer; }
.pe-cancel:hover{ color:#b1493f; }
.pe-cancel:disabled{ opacity:.6; cursor:default; }
.pe-cancel:focus-visible{ outline:2px solid #FF6A13; outline-offset:2px; border-radius:4px; }
@media (max-width:900px){
    .pf--event .pf-container{ padding-top:16px; }
    .pe-hero{ padding:20px; gap:18px; align-items:flex-start; }
    .pe-hero__date{ width:72px; height:84px; }
    .pe-hero__d{ font-size:30px; }
    .pe-title{ font-size:24px; }
    .pe-title--long{ font-size:21px; }
    .pe-grid{ grid-template-columns:minmax(0,1fr); gap:16px; }
    .pe-main{ display:contents; }   /* phones: header, then the ticket, then the details */
    .pe-hero{ order:1; margin-bottom:0; }
    .pe-ticket{ order:2; position:static; }
    .pe-tiles{ order:3; }
    .pe-about{ order:4; margin-top:8px; }
}
@media (max-width:560px){
    .pe-tile{ grid-template-columns:minmax(0,1fr); row-gap:4px; padding:16px; }
    .pe-tile > :not(.pe-tile__h){ grid-column:1; }
    .pe-tile__h{ grid-row:auto; margin-bottom:6px; }
    .pe-hero{ flex-direction:column; }
    .pe-type{ padding-left:0; border-left:0; }
}
.pf--event .pf-dock{ display:none; }   /* the event page shows its host itself; no floating profile bar */

/* ---- Events tab: one list, one row per event (date tile · title + meta · price). The row opens the event page. ---- */
.pel-list{ background:var(--pf-surface); border:1px solid var(--pf-line); border-radius:var(--pf-radius); overflow:hidden; }
.pel{ display:grid; grid-template-columns:56px minmax(0,1fr) auto 16px; align-items:center; gap:20px; padding:18px 20px; color:inherit; text-decoration:none; transition:background .12s; }
.pel + .pel{ border-top:1px solid var(--pf-line); }
.pel:hover{ background:#FBFAF9; color:inherit; }
.pel:focus-visible{ outline:2px solid #FF6A13; outline-offset:-2px; }
.pel__date{ display:flex; flex-direction:column; align-items:center; justify-content:center; width:56px; height:60px; border:1px solid #F1E3D8; border-radius:8px; background:#FFF7F1; }
.pel__m{ font-size:12px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:#C2410C; line-height:1.2; }
.pel__d{ font-size:22px; font-weight:800; color:#1d1d1d; line-height:1.1; font-variant-numeric:tabular-nums; }
.pel__body{ display:flex; flex-direction:column; gap:4px; min-width:0; }
.pel__title{ font-size:16px; font-weight:700; line-height:1.35; color:#1d1d1d; overflow-wrap:anywhere; }
.pel__flag{ display:inline-block; margin-left:6px; padding:2px 8px; border-radius:999px; font-size:12px; font-weight:600; vertical-align:2px; background:#F1F0F3; color:#6f6c7b; }
.pel__flag--ok{ background:#e7f6ee; color:#1a7a4a; }
.pel__meta{ display:flex; flex-wrap:wrap; align-items:center; gap:4px 8px; font-size:14px; color:#4b4957; min-width:0; }
.pel__where{ display:inline-flex; align-items:center; gap:6px; min-width:0; overflow-wrap:anywhere; }
.pel__where i, .pel__where svg{ width:12px; height:12px; font-size:12px; color:#8a8797; flex:none; }
.pel__sep{ color:#b5b3bf; }
.pel__desc{ font-size:14px; line-height:1.5; color:#6f6c7b; display:-webkit-box; -webkit-line-clamp:1; -webkit-box-orient:vertical; overflow:hidden; }
.pel__price{ display:flex; flex-direction:column; align-items:flex-end; gap:2px; text-align:right; }
.pel__amount{ font-size:16px; font-weight:700; color:#1d1d1d; white-space:nowrap; font-variant-numeric:tabular-nums; }
.pel__req{ font-size:13px; color:#6f6c7b; white-space:nowrap; }
.pel__go, svg.pel__go{ width:12px; height:12px; font-size:12px; color:#b5b3bf; }
.pel:hover .pel__go{ color:#C2410C; }
@media (max-width:640px){
    .pel{ grid-template-columns:48px minmax(0,1fr); gap:14px; padding:16px; }
    .pel__date{ width:48px; height:52px; }
    .pel__d{ font-size:19px; }
    .pel__price{ grid-column:2; flex-direction:row; align-items:baseline; gap:8px; }
    .pel__go{ display:none; }
    .pel{ align-items:start; }
    .pel__meta{ flex-direction:column; align-items:flex-start; gap:2px; }
    .pel__sep{ display:none; }
}
.pel__d--ic, .pe-hero__d--ic{ display:flex; align-items:center; justify-content:center; }
.pel__d--ic i, .pel__d--ic svg{ width:20px; height:20px; font-size:20px; color:#C2410C; }
.pe-hero__d--ic i, .pe-hero__d--ic svg{ width:30px; height:30px; font-size:30px; color:#C2410C; }

/* Secondary action under the main button on an event ticket (e.g. Register when Join Video is the main action). */
.pe-btn--secondary{ margin-top:10px; background:#fff; color:#1d1d1f; border:1px solid rgba(29,29,29,.14); box-shadow:none; }
.pe-btn--secondary:hover{ background:#f6f6f6; color:#1d1d1f; }

/* Event replay (public event page): a player for people who can watch, a buy card for everyone else */
.pe-replay{ margin-top:28px; }
.pe-replay__player{ border-radius:12px; overflow:hidden; background:#161618; }
.pe-replay__start{ display:flex; width:100%; aspect-ratio:16/9; align-items:center; justify-content:center; gap:12px; border:0; background:#161618; color:#fff; font-size:16px; font-weight:600; cursor:pointer; }
.pe-replay__start:hover .pe-replay__icon{ background:#CD4C00; color:#fff; }
.pe-replay__start:focus-visible{ outline:none; box-shadow:inset 0 0 0 3px rgba(255,106,19,.6); }
.pe-replay__start:disabled{ opacity:.7; cursor:progress; }
.pe-replay__video{ display:block; width:100%; aspect-ratio:16/9; background:#000; }
.pe-replay__icon{ flex:none; width:48px; height:48px; border-radius:50%; display:inline-flex; align-items:center; justify-content:center; background:#fff; color:#1d1d1d; font-size:16px; transition:background .15s, color .15s; }
.pe-replay__note{ margin:8px 0 0; font-size:14px; color:#6b6779; }
.pe-replay__locked{ display:flex; align-items:center; gap:16px; padding:18px 22px; background:#fff; border:1px solid #EFEEF2; border-radius:12px; }
.pe-replay__locked .pe-replay__icon{ background:#F4F3F6; color:#5c5968; }
.pe-replay__text{ flex:1; min-width:0; }
.pe-replay__main{ margin:0; font-size:16px; font-weight:600; color:#1d1d1d; }
.pe-replay__sub{ margin:2px 0 0; font-size:14px; color:#6b6779; }
.pe-replay__buy{ width:auto; flex:none; padding:0 22px; height:44px; font-size:15px; }
.pe-replay__jump{ display:inline-flex; align-items:center; gap:6px; color:#C2410C; text-decoration:none; font-weight:600; }
.pe-replay__jump:hover{ text-decoration:underline; }
@media (max-width:640px){ .pe-replay__locked{ flex-wrap:wrap; } .pe-replay__buy{ width:100%; } }

/* Events tab groups (Replays / Upcoming / Past Events) and replay rows with Buy / Watch */
.pel-group{ margin:24px 0 10px; font-size:14px; font-weight:700; color:#6f6c7b; }
.pf-panel[data-panel="events"] > .pel-group:first-child{ margin-top:0; }
.pel--replay{ grid-template-columns:minmax(0,1fr) auto; gap:16px; }
.pel--replay:hover{ background:transparent; }
.pel__link{ display:grid; grid-template-columns:56px minmax(0,1fr); align-items:center; gap:20px; color:inherit; text-decoration:none; min-width:0; border-radius:8px; }
.pel__link:hover .pel__title{ text-decoration:underline; }
.pel__link:focus-visible{ outline:2px solid #FF6A13; outline-offset:4px; }
.pel__buy{ display:flex; align-items:center; gap:12px; }
.pel__btn{ display:inline-flex; align-items:center; justify-content:center; height:38px; padding:0 18px; border:0; border-radius:8px; background:#CD4C00; color:#fff; font-size:14px; font-weight:700; text-decoration:none; cursor:pointer; white-space:nowrap; }
.pel__btn:hover{ background:#b54300; color:#fff; }
.pel__btn:focus-visible{ outline:2px solid #FF6A13; outline-offset:2px; }
.pel__btn:disabled{ opacity:.6; cursor:progress; }
@media (max-width:640px){ .pel--replay{ grid-template-columns:1fr; } .pel__buy{ justify-content:space-between; } }
/* Events tab sub-tabs */
.pel-subs{ display:inline-flex; gap:4px; padding:4px; margin:0 0 14px; background:#F1F0F3; border-radius:10px; }
.pel-sub{ border:0; background:none; padding:7px 16px; border-radius:7px; font-size:14px; font-weight:600; color:#6f6c7b; cursor:pointer; }
.pel-sub:hover{ color:#1d1d1d; }
.pel-sub.is-on{ background:#fff; color:#1d1d1d; box-shadow:0 1px 2px rgba(0,0,0,.08); }
.pel-sub:focus-visible{ outline:2px solid #FF6A13; outline-offset:1px; }
/* The replay row's Watch / Sign In to Buy are links styled as buttons: keep white text over the app shell's link colours */
.pel .pel__buy a.pel__btn, .pel .pel__buy a.pel__btn:link, .pel .pel__buy a.pel__btn:visited, .pel .pel__buy a.pel__btn:hover, .pel .pel__buy a.pel__btn:focus{ color:#fff; text-decoration:none; }

/* ---------- Phones ---------- */
@media (max-width: 620px) {
    .pf-container, .pf-dock__inner { max-width: none; }
    .pf-dock__inner { padding: .5rem 14px; gap: .6rem; }
    .pf-dock__name { max-width: none; }
    .pf-dock__id { flex: 1 1 auto; }
    .pf-dock .pf-btn { height: 40px; padding: 0 .75rem; }
    /* tabs scroll sideways instead of being cut off */
    .pf-tabs { overflow-x: auto; scrollbar-width: none; -webkit-overflow-scrolling: touch; padding: 0 8px; }
    .pf-tabs::-webkit-scrollbar { display: none; }
    .pf-tab { flex: none; white-space: nowrap; min-height: 48px; }
    .pf-bundle { flex-direction: column; align-items: stretch; gap: .8rem; }
    .pf-bundle .pf-plan__cta { width: 100%; height: 44px; }
    .pf-btn { min-height: 44px; }
    .pf-search__input { font-size: 16px; }
    .pf-plb input, .pf-plb textarea, .pf-plan input { font-size: 16px; }
    .pf { min-height: 100dvh; }
}
@media (max-width: 640px) {   /* post lightbox: close button sits in its own strip above the post, clear of the header controls */
    .pf-plb { padding: 76px 12px 24px; }
    .pf-plb__close { top: 16px; right: 12px; width: 44px; height: 44px; }
    .pf-plb [data-report-type] { min-width: 44px; min-height: 44px; }
}

/* ---- More Creators Like This (_similar.php) ---- */
.pf-sim { margin-top: 24px; }
.pf-sim__title { margin: 0 0 12px; font-size: 1rem; font-weight: 600; letter-spacing: -.01em; color: var(--pf-ink); }
.pf-sim__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.pf-sim__card { display: flex; align-items: center; gap: 12px; min-width: 0; padding: 12px; background: var(--pf-surface); border: 1px solid var(--pf-line); border-radius: var(--pf-radius); color: var(--pf-ink); text-decoration: none; transition: border-color .15s, box-shadow .15s; }
.pf-sim__card:hover { border-color: #DADADA; box-shadow: 0 1px 2px rgba(0, 0, 0, .05); }
.pf-sim__card:focus-visible { outline: none; box-shadow: 0 0 0 2px #fff, 0 0 0 4px var(--pf-violet); }
.pf-sim__avatar { width: 48px; height: 48px; flex: none; border-radius: 4px; background: #F2F2F2 center/cover no-repeat; }
.pf-sim__body { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.pf-sim__name, .pf-sim__handle, .pf-sim__price { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pf-sim__name { font-size: .9rem; font-weight: 600; }
.pf-sim__badge { font-size: .75rem; color: var(--pf-violet); }
.pf-sim__handle { font-size: .8rem; color: var(--pf-muted); }
.pf-sim__price { font-size: .75rem; color: var(--pf-faint); }
@media (max-width: 1100px) { .pf-sim__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px) {   /* two columns on phones: avatar above the text */
    .pf-sim__grid { gap: 8px; }
    .pf-sim__card { flex-direction: column; align-items: flex-start; gap: 8px; }
    .pf-sim__body { width: 100%; }
}
