/* Local runtime helpers replacing the former WordPress/WVC runtime. */
[hidden]{display:none!important}
html{scroll-behavior:smooth}
section[id]{scroll-margin-top:7rem}

/* Mobile navigation sheet */
.pp-sheet{position:fixed;inset:0;z-index:60}
.pp-sheet-overlay{position:absolute;inset:0;background:rgb(0 0 0/.5);animation:pp-fade .2s ease-out}
.pp-sheet-panel{position:absolute;top:0;right:0;bottom:0;height:100%;overflow-y:auto;gap:1rem;box-shadow:0 10px 30px rgb(0 0 0/.25);animation:pp-slide .3s cubic-bezier(.2,.8,.2,1)}
@media (min-width:640px){.pp-sheet-panel{max-width:24rem}}
.pp-sheet-x{position:absolute;top:1rem;right:1rem;display:inline-flex;padding:.25rem;color:var(--foreground);background:transparent;border:0;cursor:pointer}
@keyframes pp-fade{from{opacity:0}to{opacity:1}}
@keyframes pp-slide{from{transform:translateX(100%)}to{transform:translateX(0)}}
body.pp-locked{overflow:hidden}

/* Gallery lightbox */
.pp-lightbox{position:fixed;inset:0;z-index:70;display:flex;align-items:center;justify-content:center;padding:1rem;background:rgb(10 10 12/.88);animation:pp-fade .2s ease-out}
.pp-lightbox figure{margin:0;max-width:min(1100px,100%);width:100%;display:flex;flex-direction:column;gap:.75rem}
.pp-lightbox img{width:100%;max-height:78dvh;object-fit:contain;border-radius:.5rem;background:#111}
.pp-lightbox figcaption{color:#f4f4f5;font-size:.9rem;line-height:1.5}
.pp-lightbox figcaption strong{display:block;font-size:1.05rem;margin-bottom:.15rem}
.pp-lb-btn{position:absolute;display:inline-flex;align-items:center;justify-content:center;width:2.75rem;height:2.75rem;border-radius:999px;border:1px solid rgb(255 255 255/.25);background:rgb(0 0 0/.45);color:#fafafa;cursor:pointer;font-size:1.25rem;line-height:1}
.pp-lb-btn:hover{background:rgb(0 0 0/.7)}
.pp-lb-close{top:1rem;right:1rem}
.pp-lb-prev{left:1rem;top:50%;transform:translateY(-50%)}
.pp-lb-next{right:1rem;top:50%;transform:translateY(-50%)}

/* Email-draft form flow */
.pp-email-note{margin:.25rem 0 .9rem;padding:.75rem .9rem;border:1px solid var(--border);border-left:3px solid var(--primary);border-radius:.375rem;background:var(--muted);color:var(--foreground);font-size:.8125rem;line-height:1.5}
.pp-email-note a{color:inherit;font-weight:600;text-decoration:underline}
.pp-field-error{margin-top:.35rem;font-size:.8125rem;font-weight:500;color:var(--destructive)}
[aria-invalid="true"]{border-color:var(--destructive)!important}
.pp-email-status{margin-top:1rem;padding:1rem 1.1rem;border:1px solid var(--border);border-radius:.5rem;background:var(--card);color:var(--card-foreground);font-size:.875rem;line-height:1.55}
.pp-email-status h4{margin:0 0 .35rem;font-size:1rem;font-weight:700}
.pp-email-status p{margin:0 0 .6rem;color:var(--muted-foreground)}
.pp-email-status textarea{width:100%;min-height:9rem;margin:.25rem 0 .75rem;padding:.6rem;border:1px solid var(--input);border-radius:.375rem;font:inherit;font-size:.8125rem;background:var(--background);color:var(--foreground)}
.pp-email-actions{display:flex;flex-wrap:wrap;gap:.5rem}
.pp-email-actions a,.pp-email-actions button{display:inline-flex;align-items:center;justify-content:center;height:2.25rem;padding:0 .9rem;border-radius:.375rem;font-size:.8125rem;font-weight:600;cursor:pointer;text-decoration:none;border:1px solid var(--border);background:var(--background);color:var(--foreground)}
.pp-email-actions .pp-primary{background:var(--primary);color:var(--primary-foreground);border-color:var(--primary)}
