:root {
    --ptb-ui-bg: #ffffff;
    --ptb-ui-surface: #ffffff;
    --ptb-ui-soft: #f6f6f4;
    --ptb-ui-text: #171717;
    --ptb-ui-muted: #66645f;
    --ptb-ui-border: #d8d7d2;
    --ptb-ui-accent: #171717;
    --ptb-ui-accent-hover: #000000;
    --ptb-ui-danger: #a22c2c;
    --ptb-ui-success: #23764a;
    --ptb-ui-radius: 12px;
    --ptb-ui-space: clamp(1rem, 3vw, 1.5rem);
}
.ptb-app-shell-active,.ptb-app-shell-active *{box-sizing:border-box}
.ptb-app-shell-active{background:var(--ptb-ui-bg);color:var(--ptb-ui-text)}
.ptb-app-shell-active .wp-block-post-title,.ptb-app-shell-active .entry-title,.ptb-app-shell-active .page-title,.ptb-app-shell-active header.entry-header{display:none!important}
.ptb-app-shell-active main{padding-bottom:1.5rem}
.ptb-app-shell-active .ptb-shell{width:min(calc(100% - 2rem),46rem);margin-inline:auto;padding:clamp(1.5rem,5vw,3rem) 0}
.ptb-page-header{display:grid;gap:.6rem;margin:0 0 clamp(1.5rem,5vw,2.5rem)}
.ptb-page-header h1,.ptb-app-shell-active .ptb-shell>h1{margin:0;font-size:clamp(2.3rem,10vw,4.25rem);line-height:1.02;letter-spacing:-.04em;overflow-wrap:normal;word-break:normal;hyphens:none}
.ptb-page-header p{max-width:42rem;margin:0;color:var(--ptb-ui-muted);font-size:clamp(1rem,3.8vw,1.2rem);line-height:1.55}
.ptb-panel{padding:var(--ptb-ui-space);border:1px solid var(--ptb-ui-border);border-radius:var(--ptb-ui-radius);background:var(--ptb-ui-surface)}
.ptb-form{display:grid;gap:1rem}
.ptb-form-section{display:grid;gap:1rem;margin:0}
.ptb-form-section h2{margin:0;font-size:clamp(1.3rem,5vw,1.65rem)}
.ptb-form label{display:grid;gap:.45rem;font-weight:650}
.ptb-form input,.ptb-form select,.ptb-form textarea{width:100%;min-height:48px;padding:.75rem .85rem;border:1px solid var(--ptb-ui-border);border-radius:9px;background:#fff;color:var(--ptb-ui-text);font:inherit}
.ptb-form input:disabled{background:var(--ptb-ui-soft);color:var(--ptb-ui-muted)}
.ptb-form input:focus,.ptb-form select:focus,.ptb-form textarea:focus{outline:3px solid color-mix(in srgb,var(--ptb-ui-accent) 18%,transparent);border-color:var(--ptb-ui-accent)}
.ptb-check{display:flex!important;align-items:center;gap:.65rem;font-weight:500!important}.ptb-check input{width:24px;min-height:24px;margin:0}.ptb-check span{flex:1}
.ptb-button,.ptb-form button{display:inline-flex;min-height:48px;align-items:center;justify-content:center;padding:.75rem 1rem;border:1px solid var(--ptb-ui-accent);border-radius:9px;background:var(--ptb-ui-accent);color:#fff;font:inherit;font-weight:700;text-decoration:none;cursor:pointer}
.ptb-button:hover,.ptb-form button:hover{background:var(--ptb-ui-accent-hover);border-color:var(--ptb-ui-accent-hover);color:#fff}
.ptb-button--secondary{background:#fff;color:var(--ptb-ui-text);border-color:var(--ptb-ui-border)}
.ptb-button--danger{background:#fff;color:var(--ptb-ui-danger);border-color:color-mix(in srgb,var(--ptb-ui-danger) 45%,var(--ptb-ui-border))}
.ptb-notice{margin:0 0 1rem;padding:.9rem 1rem;border:1px solid var(--ptb-ui-border);border-left-width:4px;border-radius:9px;background:var(--ptb-ui-soft)}
.ptb-notice--success{border-left-color:var(--ptb-ui-success)}.ptb-notice--error{border-left-color:var(--ptb-ui-danger)}
.ptb-help{margin:0;color:var(--ptb-ui-muted);font-size:.95rem;line-height:1.5}
.ptb-page-actions{display:flex;flex-wrap:wrap;gap:1rem;margin-top:1rem}.ptb-page-actions a{color:inherit;text-underline-offset:.2em}
.ptb-profile-summary{display:flex;align-items:center;gap:1rem;margin-bottom:1rem}.ptb-profile-summary>div:last-child{display:grid;gap:.2rem}.ptb-profile-summary span{color:var(--ptb-ui-muted);overflow-wrap:anywhere}
.ptb-avatar{display:grid;place-items:center;width:64px;height:64px;flex:0 0 64px;border-radius:50%;background:var(--ptb-ui-soft);font-size:1.5rem;font-weight:800}
.ptb-home .ptb-page-header{margin-bottom:0}
.ptb-app-footer{width:min(calc(100% - 2rem),46rem);margin:3rem auto 1rem;padding:1rem 0;border-top:1px solid var(--ptb-ui-border);color:var(--ptb-ui-muted);font-size:.9rem}
.ptb-app-navigation{position:relative}.ptb-app-navigation__toggle{display:none;min-width:44px;min-height:44px;padding:.5rem .8rem;border:1px solid var(--ptb-ui-border);border-radius:8px;background:#fff;color:inherit;font:inherit}
.ptb-app-navigation__list{display:flex;flex-wrap:wrap;gap:1rem 1.5rem;align-items:center;list-style:none;margin:0;padding:0}.ptb-app-navigation .wp-block-navigation-item__content{text-decoration:none}.ptb-app-navigation .current-menu-item .wp-block-navigation-item__content{text-decoration:underline;text-underline-offset:.3em}
.ptb-connections__nav,.ptb-search-row{display:flex!important;flex-wrap:wrap;gap:.75rem!important;margin-bottom:1.5rem}.ptb-card-list{display:grid;gap:1rem}.ptb-card,.ptb-empty{padding:var(--ptb-ui-space);border:1px solid var(--ptb-ui-border)!important;border-radius:var(--ptb-ui-radius)!important;background:#fff}.ptb-card{display:flex;align-items:center;justify-content:space-between;gap:1rem}.ptb-card h2,.ptb-card h3,.ptb-card p{margin:0}.ptb-empty p{margin:0}
@media(max-width:781px){.ptb-app-navigation__toggle{display:inline-flex;align-items:center;justify-content:center}.ptb-app-navigation__list{position:absolute;z-index:1000;right:0;top:calc(100% + .5rem);width:min(20rem,calc(100vw - 2rem));max-height:calc(100vh - 9rem);overflow-y:auto;padding:1rem;border:1px solid var(--ptb-ui-border);border-radius:10px;background:#fff;color:var(--ptb-ui-text);flex-direction:column;align-items:stretch;box-shadow:0 12px 32px rgba(0,0,0,.12)}.ptb-app-navigation__list[hidden]{display:none!important}.ptb-app-navigation .wp-block-navigation-item__content{display:block;min-height:44px;padding:.6rem}.ptb-card{align-items:stretch;flex-direction:column}.ptb-card .ptb-button,.ptb-card button,.ptb-card form{width:100%}.ptb-form button,.ptb-button{width:100%}}


/* MVP UI polish 2.5.0 */
.ptb-app-shell-active main { padding-block: clamp(1rem, 3vw, 2rem) clamp(3rem, 8vw, 5rem); }
.ptb-app-shell-active.ptb-page-home main { padding-top: 0; }
.ptb-app-shell-active .ptb-shell { padding-block: clamp(2rem, 7vw, 4rem); }
.ptb-page-header { margin-bottom: clamp(2rem, 7vw, 3.5rem); }
.ptb-panel + .ptb-panel, .ptb-card-list + .ptb-panel, .ptb-panel + .ptb-card-list { margin-top: clamp(1.5rem, 5vw, 2.5rem); }
.ptb-form { gap: 1.25rem; }
.ptb-form-section { gap: 1.25rem; }
.ptb-form-section + .ptb-form-section { margin-top: .5rem; padding-top: 1.75rem; border-top: 1px solid var(--ptb-ui-border); }
.ptb-card-list { gap: 1.25rem; }
.ptb-card, .ptb-empty, .ptb-panel { padding: clamp(1.25rem, 4vw, 1.75rem); }
.ptb-card { min-height: 5rem; }
.ptb-card > div { display: grid; gap: .35rem; }
.ptb-app-footer { margin-top: clamp(4rem, 10vw, 7rem); }
.ptb-page-home .ptb-app-footer { margin-top: clamp(2.25rem, 6vw, 3.5rem); }
.ptb-app-navigation__toggle { width: 48px; height: 48px; padding: 0; }
.ptb-app-navigation__icon { display: grid; gap: 5px; width: 22px; }
.ptb-app-navigation__icon span { display: block; width: 100%; height: 2px; border-radius: 999px; background: currentColor; transition: transform .18s ease, opacity .18s ease; }
.ptb-app-navigation__toggle[aria-expanded="true"] .ptb-app-navigation__icon span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.ptb-app-navigation__toggle[aria-expanded="true"] .ptb-app-navigation__icon span:nth-child(2) { opacity: 0; }
.ptb-app-navigation__toggle[aria-expanded="true"] .ptb-app-navigation__icon span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
@media (max-width: 781px) {
    body.ptb-navigation-open { overflow: hidden; }
    .ptb-app-navigation__list { gap: .35rem; padding: 1.25rem; }
    .ptb-app-navigation .wp-block-navigation-item__content { padding: .8rem; border-radius: 8px; }
    .ptb-app-navigation .current-menu-item .wp-block-navigation-item__content { background: var(--ptb-ui-soft); text-decoration: none; }
    .ptb-page-actions, .ptb-connections__nav, .ptb-search-row { gap: .9rem !important; }
}


/* Stabilisatie 2.5.1: vaste verticale sectieruimte */
.ptb-connections > h1 { margin-bottom: clamp(1.75rem, 6vw, 3rem) !important; }
.ptb-connections__nav { margin-bottom: clamp(2.75rem, 8vw, 4.5rem) !important; }
.ptb-connections > h2 { margin: 0 0 clamp(1.5rem, 5vw, 2.25rem); }
.ptb-connections .ptb-card-list, .ptb-connections .ptb-empty { margin-top: 0; }
.ptb-shell > h1 + .ptb-panel, .ptb-shell > h1 + .ptb-form, .ptb-shell > h1 + .ptb-notice { margin-top: clamp(1.75rem, 6vw, 3rem); }
.ptb-shell > h2 { margin-block: clamp(2.5rem, 8vw, 4rem) clamp(1.25rem, 4vw, 2rem); }
.ptb-card form { margin: 0; }
@media (max-width: 781px) {
    .ptb-connections__nav { gap: 1rem !important; }
    .ptb-connections > h2 { line-height: 1.08; }
}

/* App Shell 2.0.3: fotografische landingzone en compact merkbeeld */
.ptb-app-brand {
    display: inline-flex;
    align-items: center;
    gap: .75rem;
    min-height: 52px;
    color: #171717;
    text-decoration: none;
}
.ptb-app-brand:hover,
.ptb-app-brand:focus-visible {
    color: #171717;
    text-decoration: none;
}
.ptb-app-brand:focus-visible {
    outline: 3px solid #7a7a76;
    outline-offset: 4px;
    border-radius: 999px;
}
.ptb-app-brand__mark {
    display: block;
    width: 52px;
    height: 52px;
    flex: 0 0 52px;
    border: 1px solid #c8c7c2;
    border-radius: 50%;
    object-fit: cover;
    background: #f6f5f2;
}
.ptb-app-brand__name {
    font-size: clamp(1.25rem, 4vw, 1.65rem);
    font-weight: 750;
    letter-spacing: -.025em;
    line-height: 1.1;
}
.ptb-home--landing {
    --ptb-landing-text: #171717;
    --ptb-landing-muted: #5f5e5a;
    --ptb-landing-border: #d8d7d2;
    --ptb-landing-soft: #f4f1ec;
    color: var(--ptb-landing-text);
}
.ptb-home--landing.ptb-shell {
    width: 100%;
    max-width: none;
    padding: 0;
    margin-top: calc(-1 * clamp(2.6rem, 9vw, 4.25rem));
}
.ptb-landing {
    display: grid;
    gap: 0;
}
.ptb-landing__hero {
    position: relative;
    isolation: isolate;
    display: grid;
    align-items: center;
    min-height: clamp(29rem, 61svh, 38rem);
    width: 100vw;
    margin-left: calc(50% - 50vw);
    overflow: hidden;
    background-color: #e8e2d9;
    background-image: url('../images/landing/ptb-home-caravan-original.png');
    background-repeat: no-repeat;
    background-size: auto 100%;
    background-position: 16% 42%;
}
.ptb-landing__hero::before {
    content: '';
    position: absolute;
    inset: 0;
    z-index: -1;
    background: linear-gradient(90deg, rgba(250,248,244,.94) 0%, rgba(250,248,244,.84) 41%, rgba(250,248,244,.20) 72%, rgba(250,248,244,.04) 100%);
    pointer-events: none;
}
.ptb-landing__hero-content {
    display: grid;
    gap: clamp(1rem, 4vw, 1.4rem);
    width: min(calc(100% - 3rem), 44rem);
    margin-inline: auto;
    padding-block: clamp(1.8rem, 5vw, 3rem);
}
.ptb-landing__title {
    max-width: 10ch;
    margin: 0;
    font-size: clamp(2.55rem, 10vw, 4.6rem);
    font-weight: 650;
    line-height: 1.02;
    letter-spacing: -.045em;
    text-wrap: balance;
}
.ptb-landing__intro {
    max-width: 27rem;
    margin: 0;
    color: var(--ptb-landing-muted);
    font-size: clamp(1.05rem, 4.5vw, 1.3rem);
    line-height: 1.48;
}
.ptb-landing__actions {
    display: grid;
    gap: .75rem;
    width: min(100%, 21rem);
    margin-top: .45rem;
}
.ptb-home--landing .ptb-landing__primary,
.ptb-home--landing .ptb-landing__secondary {
    width: 100%;
    min-height: 52px;
    border-radius: 10px;
    font-size: 1rem;
    backdrop-filter: blur(4px);
}
.ptb-home--landing .ptb-landing__primary {
    border-color: #1d1d1d;
    background: #1d1d1d;
    color: #fff;
}
.ptb-home--landing .ptb-landing__primary:hover,
.ptb-home--landing .ptb-landing__primary:focus-visible {
    border-color: #000;
    background: #000;
    color: #fff;
}
.ptb-home--landing .ptb-landing__secondary {
    border-color: #343432;
    background: rgba(255,255,255,.72);
    color: var(--ptb-landing-text);
}
.ptb-home--landing .ptb-landing__secondary:hover,
.ptb-home--landing .ptb-landing__secondary:focus-visible {
    border-color: #1f1f1f;
    background: rgba(255,255,255,.90);
    color: var(--ptb-landing-text);
}
.ptb-home--landing .ptb-landing__primary:focus-visible,
.ptb-home--landing .ptb-landing__secondary:focus-visible {
    outline: 3px solid #777671;
    outline-offset: 3px;
}
.ptb-landing__quote {
    display: flex;
    align-items: center;
    gap: .8rem;
    width: min(calc(100% - 3rem), 44rem);
    margin: clamp(.8rem, 3vw, 1.2rem) auto 0;
    padding: 1rem 1.1rem;
    border: 1px solid #ebe8e2;
    border-radius: 12px;
    background: #faf9f7;
    color: #777570;
}
.ptb-landing__infinity {
    flex: 0 0 auto;
    color: #c1bfb9;
    font-family: Georgia, 'Times New Roman', serif;
    font-size: 1.7rem;
    line-height: 1;
}
.ptb-landing__quote blockquote,
.ptb-landing__quote p {
    margin: 0;
}
.ptb-landing__quote blockquote {
    border: 0;
    padding: 0;
    font-size: .96rem;
    line-height: 1.45;
}
.ptb-landing__quote p {
    font-style: italic;
}
@media (min-width: 782px) {
    .ptb-landing__hero {
        min-height: 33rem;
        background-size: cover;
        background-position: center 24%;
    }
    .ptb-landing__hero-content {
        width: min(calc(100% - 5rem), 68rem);
    }
    .ptb-landing__quote {
        width: min(calc(100% - 5rem), 68rem);
    }
}
@media (max-width: 520px) {
    .ptb-landing__hero {
        min-height: 30rem;
        background-size: auto 100%;
        background-position: 16% 38%;
    }
    .ptb-landing__hero::before {
        background: linear-gradient(90deg, rgba(250,248,244,.96) 0%, rgba(250,248,244,.86) 62%, rgba(250,248,244,.22) 100%);
    }
    .ptb-landing__hero-content {
        width: min(calc(100% - 2.5rem), 28rem);
        margin-inline: 0;
        padding-left: 1.25rem;
        padding-right: 1.25rem;
    }
    .ptb-landing__title {
        max-width: 9.5ch;
    }
    .ptb-landing__intro {
        max-width: 19rem;
    }
    .ptb-landing__actions {
        width: min(100%, 18rem);
    }
    .ptb-landing__quote {
        width: calc(100% - 2.5rem);
        margin-top: .9rem;
    }
}
@media (max-width: 359px) {
    .ptb-app-brand {
        gap: .55rem;
    }
    .ptb-app-brand__mark {
        width: 46px;
        height: 46px;
        flex-basis: 46px;
    }
    .ptb-app-brand__name {
        font-size: 1.16rem;
    }
    .ptb-landing__title {
        font-size: 2.35rem;
    }
}

/* App-brede Visual Language v1 - dev12 */
:root{
    --ptb-color-bg:#fbfaf8;
    --ptb-color-surface:#ffffff;
    --ptb-color-surface-soft:#f6f3ed;
    --ptb-color-text:#141414;
    --ptb-color-muted:#6f6b65;
    --ptb-color-border:rgba(20,20,20,.10);
    --ptb-color-accent:#171717;
    --ptb-color-accent-warm:#c08a3d;
    --ptb-color-danger:#9f2f2f;
    --ptb-radius-sm:12px;
    --ptb-radius-md:18px;
    --ptb-radius-lg:26px;
    --ptb-shadow-soft:0 12px 32px rgba(38,31,23,.07);
    --ptb-space-1:.25rem;
    --ptb-space-2:.5rem;
    --ptb-space-3:.75rem;
    --ptb-space-4:1rem;
    --ptb-space-5:1.25rem;
    --ptb-space-6:1.5rem;
    --ptb-space-8:2rem;
    --ptb-content-max:52rem;
    --ptb-touch-min:44px;
    --ptb-ui-bg:var(--ptb-color-bg);
    --ptb-ui-surface:var(--ptb-color-surface);
    --ptb-ui-soft:var(--ptb-color-surface-soft);
    --ptb-ui-text:var(--ptb-color-text);
    --ptb-ui-muted:var(--ptb-color-muted);
    --ptb-ui-border:#dedbd5;
    --ptb-ui-danger:var(--ptb-color-danger);
    --ptb-ui-radius:var(--ptb-radius-md);
}
.ptb-app-shell-active{background:var(--ptb-color-bg);color:var(--ptb-color-text)}
.ptb-app-shell-active .ptb-shell{width:min(calc(100% - 1.5rem),var(--ptb-content-max));padding-block:clamp(1.25rem,4vw,2.5rem)}
.ptb-app-shell-active main{padding-top:clamp(.5rem,2vw,1.25rem)}
.ptb-app-brand{gap:.8rem}.ptb-app-brand__mark{width:56px;height:56px;flex-basis:56px}.ptb-app-brand__name{font-size:clamp(1.3rem,4vw,1.75rem);font-weight:800}
.ptb-app-navigation__toggle{width:52px;height:52px;border-radius:14px;border-color:var(--ptb-color-border);background:#fff}
.ptb-app-navigation__list{border-radius:18px!important;box-shadow:var(--ptb-shadow-soft)!important}
.ptb-page-header{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;margin-bottom:clamp(1.4rem,5vw,2.2rem)}
.ptb-page-header>div{display:grid;gap:.35rem}.ptb-page-header h1{font-size:clamp(2.25rem,9vw,4rem);letter-spacing:-.055em}.ptb-page-header p{line-height:1.45}
.ptb-eyebrow{margin:0!important;font-size:.78rem!important;font-weight:750;letter-spacing:.08em;text-transform:uppercase;color:var(--ptb-color-muted)!important}
.ptb-button,.ptb-form button,.ptb-form-grid button{min-height:48px;border-radius:14px;border-color:var(--ptb-color-accent);background:var(--ptb-color-accent);color:#fff;padding:.8rem 1.05rem;box-shadow:none}
.ptb-button--secondary{background:#fff;color:var(--ptb-color-text);border-color:var(--ptb-color-border)}
.ptb-button--danger{background:#fff;color:var(--ptb-color-danger);border-color:rgba(159,47,47,.3)}
.ptb-button--compact{min-height:40px;padding:.55rem .75rem;border-radius:11px;font-size:.9rem;width:auto!important}
.ptb-button--iconic{white-space:nowrap}
.ptb-panel,.ptb-card,.ptb-empty,.ptb-section-card,.ptb-story-card,.ptb-privacy-card,.ptb-manage-drawer{border:1px solid var(--ptb-color-border)!important;border-radius:var(--ptb-radius-md)!important;background:var(--ptb-color-surface);box-shadow:var(--ptb-shadow-soft)}
.ptb-form,.ptb-form-grid{display:grid;gap:1rem}.ptb-form-grid>label,.ptb-form-grid>fieldset,.ptb-form-grid>.ptb-event-picker,.ptb-form-grid>.ptb-inline-event,.ptb-form-grid>.ptb-account-picker{display:grid;gap:.65rem;margin:0;padding:1rem;border:1px solid var(--ptb-color-border);border-radius:var(--ptb-radius-md);background:#fff}
.ptb-form-grid fieldset{min-width:0}.ptb-form-grid legend{padding:0 .35rem;font-weight:800}.ptb-form-grid label{display:grid;gap:.45rem;font-weight:700}.ptb-form-grid input,.ptb-form-grid select,.ptb-form-grid textarea,.ptb-form input,.ptb-form select,.ptb-form textarea{width:100%;min-height:50px;border:1px solid #d8d5cf;border-radius:12px;padding:.8rem .9rem;background:#fff;color:var(--ptb-color-text);font:inherit}.ptb-form-grid textarea{min-height:120px;resize:vertical}
.ptb-notice{border-radius:14px;background:#fff;box-shadow:var(--ptb-shadow-soft)}
.ptb-muted{color:var(--ptb-color-muted)}
.ptb-content-list{display:grid;gap:.85rem}.ptb-content-card{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:1rem;padding:.8rem;border:1px solid var(--ptb-color-border);border-radius:var(--ptb-radius-md);background:#fff;color:inherit;text-decoration:none;box-shadow:var(--ptb-shadow-soft)}.ptb-content-card:hover{color:inherit;transform:translateY(-1px)}.ptb-content-card__thumb{display:grid;place-items:center;width:76px;height:64px;border-radius:14px;background:linear-gradient(145deg,#efe9de,#fbfaf8);color:#b8afa1;font-size:1.5rem}.ptb-content-card__date{display:grid;place-items:center;width:64px;height:64px;border:1px solid var(--ptb-color-border);border-radius:14px;background:var(--ptb-color-surface-soft)}.ptb-content-card__date strong{font-size:1.5rem;line-height:1}.ptb-content-card__date small{font-size:.7rem}.ptb-content-card__body{display:grid;gap:.2rem;min-width:0}.ptb-content-card__body strong{font-size:1.05rem}.ptb-content-card__body small,.ptb-content-card__body span{color:var(--ptb-color-muted);line-height:1.35}.ptb-content-card__chevron{font-size:1.8rem;color:#777}
.ptb-section-card{padding:1rem}.ptb-section-card__heading{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.9rem}.ptb-section-card__heading h2{margin:0;font-size:1.2rem}.ptb-section-card__heading a{color:inherit;text-underline-offset:.2em}
.ptb-entity-detail{display:grid;gap:1rem}.ptb-entity-hero{position:relative;isolation:isolate;min-height:clamp(13rem,55vw,22rem);overflow:hidden;border-radius:var(--ptb-radius-lg);background:linear-gradient(135deg,#eee8de 0%,#faf8f3 45%,#e4d6c5 100%);border:1px solid var(--ptb-color-border)}.ptb-entity-hero:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 72% 24%,rgba(255,210,142,.55),transparent 28%),linear-gradient(to top,rgba(48,35,20,.08),transparent 45%)}.ptb-entity-hero__mark{position:absolute;right:1.2rem;bottom:.8rem;font-size:clamp(3rem,14vw,7rem);line-height:1;color:rgba(90,78,60,.12)}.ptb-entity-hero__label{position:absolute;left:1rem;bottom:1rem;padding:.55rem .75rem;border-radius:999px;background:rgba(255,255,255,.72);backdrop-filter:blur(8px);color:#766f64;font-size:.82rem}.ptb-entity-badge{position:absolute;z-index:2;left:1rem;top:1rem;padding:.55rem .8rem;border-radius:999px;background:#171717;color:#fff;font-size:.85rem;font-weight:700}
.ptb-entity-heading{position:relative;display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:.15rem .1rem .3rem}.ptb-entity-heading__copy{display:grid;gap:.55rem;min-width:0}.ptb-entity-heading h1{margin:0;font-size:clamp(2.2rem,9vw,4rem);line-height:1;letter-spacing:-.055em}.ptb-entity-meta{display:flex;flex-wrap:wrap;gap:.4rem .85rem;color:var(--ptb-color-muted)}.ptb-entity-meta a{color:inherit;text-underline-offset:.18em}.ptb-entity-meta span+span:before{content:"·";margin-right:.85rem;color:#b0aba3}
.ptb-action-menu{position:relative;flex:0 0 auto}.ptb-action-menu summary{list-style:none;display:grid;place-items:center;width:48px;height:48px;border:1px solid var(--ptb-color-border);border-radius:14px;background:#fff;font-size:1.2rem;font-weight:900;cursor:pointer}.ptb-action-menu summary::-webkit-details-marker{display:none}.ptb-action-menu__panel{position:absolute;z-index:20;right:0;top:calc(100% + .5rem);display:grid;min-width:14rem;padding:.45rem;border:1px solid var(--ptb-color-border);border-radius:14px;background:#fff;box-shadow:0 18px 45px rgba(25,20,15,.16)}.ptb-action-menu__panel a{padding:.75rem .8rem;border-radius:10px;color:inherit;text-decoration:none}.ptb-action-menu__panel a:hover{background:var(--ptb-color-surface-soft)}.ptb-action-menu__panel a.is-danger{color:var(--ptb-color-danger)}
.ptb-story-card{padding:1.15rem}.ptb-story-card p{margin:0;font-size:clamp(1rem,3.8vw,1.12rem);line-height:1.7}.ptb-story-card__text{max-height:9rem;overflow:hidden;mask-image:none}.ptb-story-card.has-overflow .ptb-story-card__text{mask-image:linear-gradient(to bottom,#000 70%,transparent)}.ptb-story-card.is-expanded .ptb-story-card__text{max-height:none;mask-image:none}.ptb-text-action{margin-top:.75rem;padding:0;border:0;background:transparent;color:var(--ptb-color-text);font:inherit;font-weight:800;cursor:pointer}.ptb-story-card:not(.is-expanded) .ptb-story-card__text p{margin-bottom:0}
.ptb-people-list{display:flex;flex-wrap:wrap;gap:.5rem;list-style:none;margin:0;padding:0}.ptb-people-list li{display:inline-flex;align-items:center;gap:.35rem;padding:.55rem .7rem;border-radius:999px;background:var(--ptb-color-surface-soft);font-size:.92rem}.ptb-people-list li.is-owner{font-weight:800}.ptb-people-list small{color:var(--ptb-color-muted);font-size:.72rem}
.ptb-context-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(13rem,1fr));gap:.75rem}.ptb-context-card,.ptb-privacy-card{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:.8rem;padding:1rem;color:inherit;text-decoration:none}.ptb-context-card__icon{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:#f6efe3;color:var(--ptb-color-accent-warm);font-weight:900}.ptb-context-card strong,.ptb-context-card small,.ptb-privacy-card strong,.ptb-privacy-card small{display:block}.ptb-context-card small,.ptb-privacy-card small{margin-top:.15rem;color:var(--ptb-color-muted)}.ptb-context-card__chevron{font-size:1.8rem;color:#777}.ptb-privacy-card{grid-template-columns:auto 1fr}
.ptb-visual-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(12rem,1fr));gap:.75rem}.ptb-visual-card{overflow:hidden;border:1px solid var(--ptb-color-border);border-radius:15px;background:#fff;color:inherit;text-decoration:none}.ptb-visual-card__placeholder{display:grid;place-items:center;min-height:7rem;background:linear-gradient(145deg,#e9e1d4,#faf8f3);color:#b6aa98;font-size:2rem}.ptb-visual-card__image{display:block;aspect-ratio:16/9;overflow:hidden;background:#f4efe7}.ptb-visual-card__image img{width:100%;height:100%;object-fit:cover;display:block}.ptb-visual-card__body{display:grid;gap:.2rem;padding:.75rem}.ptb-visual-card__body small{color:var(--ptb-color-muted)}
.ptb-manage-drawer{scroll-margin-top:1rem}.ptb-manage-drawer>summary{padding:1rem;cursor:pointer;font-weight:800;list-style:none}.ptb-manage-drawer>summary::-webkit-details-marker{display:none}.ptb-manage-drawer>summary:after{content:"+";float:right}.ptb-manage-drawer[open]>summary:after{content:"−"}.ptb-manage-drawer__body{display:grid;gap:1rem;padding:0 1rem 1rem}.ptb-manage-drawer--danger{border-color:rgba(159,47,47,.22)!important}.ptb-manage-list{display:grid;gap:.6rem}.ptb-manage-row{display:flex;align-items:center;justify-content:space-between;gap:.8rem;padding:.65rem .75rem;border-radius:12px;background:var(--ptb-color-surface-soft)}.ptb-manage-row form{margin:0}.ptb-compact-form{margin-top:1rem}
.ptb-comments{display:grid;gap:.75rem}.ptb-comment{padding:.85rem;border-radius:12px;background:var(--ptb-color-surface-soft)}.ptb-comment p{margin:.3rem 0}.ptb-comment small{color:var(--ptb-color-muted)}
@media(max-width:640px){
  .ptb-page-header{align-items:stretch;flex-direction:column}.ptb-page-header .ptb-button{width:100%}
  .ptb-entity-heading h1{font-size:clamp(2rem,11vw,3.2rem)}
  .ptb-entity-meta{display:grid;gap:.3rem}.ptb-entity-meta span+span:before{display:none}
  .ptb-context-grid{grid-template-columns:1fr}
  .ptb-manage-row{align-items:stretch;flex-direction:column}.ptb-manage-row form,.ptb-manage-row button{width:100%!important}
}
.ptb-member-home{display:grid;gap:1rem}.ptb-member-home__hero{position:relative;overflow:hidden;padding:clamp(1.35rem,6vw,2.5rem);border:1px solid var(--ptb-color-border);border-radius:var(--ptb-radius-lg);background:linear-gradient(135deg,rgba(255,255,255,.96),rgba(247,241,231,.82)),linear-gradient(120deg,#f0e1c8,#fff);box-shadow:var(--ptb-shadow-soft)}.ptb-member-home__hero:after{content:"∞";position:absolute;right:1rem;bottom:-1.4rem;color:rgba(121,99,65,.09);font-size:8rem;line-height:1}.ptb-member-home__hero h1{position:relative;z-index:1;max-width:10ch;margin:.35rem 0 .65rem;font-size:clamp(2.5rem,10vw,4.6rem);line-height:.98;letter-spacing:-.06em}.ptb-member-home__hero>p:not(.ptb-eyebrow){position:relative;z-index:1;max-width:34rem;margin:0 0 1.15rem;color:var(--ptb-color-muted);font-size:1.05rem;line-height:1.5}.ptb-member-home__hero .ptb-button{position:relative;z-index:1}.ptb-member-home__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.ptb-home-card{display:grid;grid-template-columns:1fr auto;gap:.2rem .6rem;padding:1rem;border:1px solid var(--ptb-color-border);border-radius:var(--ptb-radius-md);background:#fff;color:inherit;text-decoration:none;box-shadow:var(--ptb-shadow-soft)}.ptb-home-card strong{font-size:1.05rem}.ptb-home-card span{color:var(--ptb-color-muted);font-size:.9rem}.ptb-home-card b{grid-column:2;grid-row:1/3;align-self:center;font-size:1.7rem;color:#777}@media(max-width:520px){.ptb-member-home__grid{grid-template-columns:1fr}}

/* dev13 responsive density + affordance hardening */
.ptb-app-shell-active .ptb-shell,
.ptb-app-shell-active .ptb-shell *{min-width:0}
.ptb-app-shell-active input,
.ptb-app-shell-active select,
.ptb-app-shell-active textarea,
.ptb-app-shell-active button{max-width:100%}
.ptb-check{display:flex!important;align-items:center!important;gap:.7rem!important;width:100%;font-weight:600!important}
.ptb-check input[type="checkbox"]{width:1.4rem!important;height:1.4rem!important;min-height:1.4rem!important;flex:0 0 1.4rem;margin:0;padding:0}
.ptb-check span{min-width:0;overflow-wrap:anywhere}
.ptb-account--login .ptb-form{overflow:hidden}
.ptb-app-shell-active main{padding-top:0}
.ptb-app-shell-active .ptb-shell{padding-top:clamp(.7rem,2.5vw,1.15rem)}
.ptb-page-header{margin-bottom:1rem}
.ptb-page-header h1{font-size:clamp(2.15rem,8.5vw,3.6rem)}
.ptb-overview .ptb-page-header{padding-top:.2rem}
.ptb-overview .ptb-page-header .ptb-button--iconic:before{content:"+";display:inline-grid;place-items:center;margin-right:.55rem;width:1.45rem;height:1.45rem;border:2px solid currentColor;border-radius:50%;font-weight:600;line-height:1}
.ptb-notice{position:relative;display:flex;align-items:center;gap:.7rem;padding:1rem 2.6rem 1rem 1rem;border-left-width:1px!important}
.ptb-notice--success{background:#f1f8f3;border-color:#bdd9c5!important;color:#286e3c}
.ptb-notice--success:before{content:"✓";display:grid;place-items:center;flex:0 0 1.75rem;width:1.75rem;height:1.75rem;border-radius:50%;background:#2f8a4d;color:#fff;font-weight:900}
.ptb-notice--error{background:#fff5f4;border-color:#e1b8b4!important;color:#8b2f2a}
.ptb-content-list{gap:.7rem}
.ptb-content-card{min-height:6.3rem;padding:.75rem .85rem;box-shadow:0 8px 24px rgba(38,31,23,.055)}
.ptb-content-card__thumb{width:78px;height:78px;background:linear-gradient(145deg,#efe4d4,#fbfaf8);border:1px solid rgba(192,138,61,.10)}
.ptb-content-card__body strong{font-size:1.08rem}
.ptb-content-card__body span{font-size:.91rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.ptb-entity-detail{gap:.8rem}
.ptb-entity-heading{padding-top:0}
.ptb-form-grid .ptb-account-picker{background:linear-gradient(180deg,#fff,#fbfaf7)}
.ptb-account-picker>label:before{content:"＋";display:inline-grid;place-items:center;float:left;margin-right:.45rem;width:1.5rem;height:1.5rem;border-radius:50%;background:#f2eadf;color:#8e642a;font-weight:900}
.ptb-selected-members:not(:empty){padding-top:.15rem}
.ptb-selected-member{box-shadow:0 5px 14px rgba(38,31,23,.045)}
.ptb-manage-drawer .ptb-form-grid>button.ptb-button{background:#171717;color:#fff}
@media(max-width:640px){
  .ptb-app-shell-active .ptb-shell{width:min(calc(100% - 1.35rem),var(--ptb-content-max))}
  .ptb-page-header{gap:.8rem}
  .ptb-page-header p{font-size:1rem}
  .ptb-content-card{grid-template-columns:auto minmax(0,1fr) auto;gap:.75rem}
  .ptb-content-card__thumb,.ptb-content-card__date{width:68px;height:68px}
  .ptb-form,.ptb-panel,.ptb-form-grid>label,.ptb-form-grid>fieldset,.ptb-form-grid>.ptb-account-picker{max-width:100%;overflow-wrap:anywhere}
}
@media(max-width:359px){
  .ptb-content-card__thumb,.ptb-content-card__date{width:58px;height:58px}
  .ptb-content-card{gap:.6rem;padding:.65rem}
  .ptb-content-card__body strong{font-size:1rem}
}

/* dev26 mobile visual-consistency hotfix: BV-094 t/m BV-099 */
.ptb-content-card--event{
    grid-template-columns:7.25rem minmax(0,1fr) auto;
    align-items:stretch;
    min-height:7rem;
    overflow:hidden;
}
.ptb-content-card--event .ptb-content-card__thumb,
.ptb-content-card--event .ptb-content-card__date{
    width:7.25rem;
    height:100%;
    min-height:6.5rem;
    align-self:stretch;
    border-radius:14px;
}
.ptb-content-card--event .ptb-content-card__thumb--image img{
    width:100%;height:100%;min-height:6.5rem;object-fit:cover;display:block;
}
.ptb-content-card--event .ptb-content-card__body{align-self:center;overflow:hidden}
.ptb-content-card--event .ptb-content-card__body strong,
.ptb-content-card--event .ptb-content-card__body small,
.ptb-content-card--event .ptb-content-card__body span{max-width:100%;overflow:hidden;text-overflow:ellipsis}
.ptb-content-card--event .ptb-content-card__body span{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}

.ptb-event-detail .ptb-entity-hero--event{
    width:100%;
    aspect-ratio:16/10;
    min-height:0;
    max-height:22rem;
}
.ptb-event-detail .ptb-entity-hero--event img{
    position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
}
.ptb-memory-detail .ptb-entity-hero{
    aspect-ratio:4/3;
    min-height:0;
    max-height:28rem;
}
.ptb-memory-detail .ptb-entity-hero img{width:100%;height:100%;object-fit:cover}
.ptb-entity-detail.ptb-shell{padding-top:.5rem}

.ptb-action-menu__header{display:none}
.ptb-action-backdrop{position:fixed;inset:0;z-index:1000;background:rgba(10,10,10,.28);backdrop-filter:blur(2px)}
body.ptb-action-sheet-open{overflow:hidden}

@media(max-width:781px){
    .ptb-app-shell-active main{padding-top:0}
    .ptb-app-shell-active .ptb-entity-detail.ptb-shell{padding-top:.25rem}
    .ptb-event-detail .ptb-entity-hero--event{aspect-ratio:16/10;max-height:none}
    .ptb-memory-detail .ptb-entity-hero{aspect-ratio:4/3;max-height:none}
    .ptb-entity-heading h1{font-size:clamp(2.4rem,12vw,3.55rem)}

    .ptb-content-card--event{
        grid-template-columns:6.6rem minmax(0,1fr) 1.4rem;
        gap:.8rem;
        padding:.7rem;
        min-height:6.8rem;
    }
    .ptb-content-card--event .ptb-content-card__thumb,
    .ptb-content-card--event .ptb-content-card__date{
        width:6.6rem;height:6.1rem;min-height:6.1rem;
    }
    .ptb-content-card--event .ptb-content-card__thumb--image img{min-height:0}
    .ptb-content-card--event .ptb-content-card__chevron{align-self:center;font-size:1.65rem}

    .ptb-action-menu{z-index:1001}
    .ptb-action-menu__panel{
        position:fixed;
        z-index:1002;
        left:max(1rem,env(safe-area-inset-left));
        right:max(1rem,env(safe-area-inset-right));
        top:auto;
        bottom:max(1rem,env(safe-area-inset-bottom));
        width:auto;
        min-width:0;
        max-height:min(70vh,34rem);
        overflow-y:auto;
        padding:.75rem;
        border-radius:22px;
        box-shadow:0 24px 70px rgba(0,0,0,.26);
    }
    .ptb-action-menu__header{
        display:flex;align-items:center;justify-content:space-between;gap:1rem;
        padding:.25rem .25rem .65rem .55rem;border-bottom:1px solid var(--ptb-color-border);
        margin-bottom:.35rem;
    }
    .ptb-action-menu__header strong{font-size:1.05rem}
    .ptb-action-menu__header button{
        display:grid;place-items:center;width:42px;height:42px;border:0;border-radius:50%;
        background:var(--ptb-color-surface-soft);color:inherit;font:inherit;font-size:1.55rem;line-height:1;cursor:pointer;
    }
    .ptb-action-menu__panel a{
        display:flex;align-items:center;min-height:50px;padding:.85rem .75rem;
        font-size:1rem;line-height:1.25;white-space:normal;
    }
    .ptb-action-menu__panel a.is-danger{margin-top:.35rem;border-top:1px solid rgba(159,47,47,.16);border-radius:0;padding-top:1rem}
}
