.pnav{display:flex!important;flex-wrap:wrap;gap:.2rem}.pnav a,.pnav button{color:var(--cream);background:none;border:0;text-decoration:none;margin-left:1rem;font:400 .85rem Lato;letter-spacing:.08em;text-transform:uppercase;cursor:pointer}
.pnav a.on{color:var(--gold2)}
.portal{max-width:980px;min-height:70vh}.portal h1{text-align:center;font-size:clamp(2rem,5vw,3rem);margin:.2rem 0 1.5rem}
.card{background:#fff;border-top:3px solid var(--gold);padding:1.5rem;margin:0 0 1.5rem;box-shadow:0 6px 20px rgba(0,0,0,.05)}
.authbox{max-width:440px;margin:auto}.tabs{text-align:center;margin-bottom:1rem}.tabs button{background:none;border:0;border-bottom:2px solid transparent;padding:.4rem 1rem;font:700 .85rem Lato;letter-spacing:.1em;text-transform:uppercase;cursor:pointer}.tabs button.on{border-color:var(--gold)}
.chk{display:flex!important;gap:.6rem;align-items:flex-start;font-weight:400!important}.chk input{width:auto;margin-top:.35rem}
.msg{padding:.6rem .9rem;margin:.5rem 0;border-radius:2px}.msg.e{background:#f7dcd0;color:#7a2c10}.msg.ok{background:#e3ead9;color:#3c4a2e}
.pgrid{display:grid;gap:.6rem;grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}.pgrid figure{margin:0;position:relative;background:#eee}
.pgrid img{width:100%;aspect-ratio:1;object-fit:cover;cursor:zoom-in}.pgrid figcaption{display:flex;justify-content:space-between;font-size:.8rem;padding:.3rem .2rem;background:#fff}
.pgrid figcaption a,.pgrid figcaption button{background:none;border:0;cursor:pointer;color:var(--rust);font-size:.85rem}.fav.on{color:var(--gold)!important}
.row{display:grid;gap:.8rem;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}
table{width:100%;border-collapse:collapse;font-size:.92rem}td,th{text-align:left;padding:.5rem;border-bottom:1px solid #e6dcc8;vertical-align:top}
.status{display:inline-block;padding:.1rem .55rem;border-radius:20px;font-size:.78rem;text-transform:uppercase;letter-spacing:.06em;background:#efe4cf}.status.approved,.status.scheduled{background:#e3ead9}.status.declined,.status.cancelled{background:#f2d9cd}
.thread{max-height:420px;overflow:auto;padding:.5rem;background:#faf6ee}.bub{max-width:78%;margin:.4rem 0;padding:.6rem .9rem;background:#fff;border-radius:10px;white-space:pre-wrap}.bub.me{margin-left:auto;background:#f3e6c8}.bub small{display:block;opacity:.6;font-size:.72rem}
.btn.sm{padding:.45rem .9rem;font-size:.75rem}.link{word-break:break-all;background:#faf6ee;padding:.5rem;font-size:.85rem}
.lb img{max-width:92vw;max-height:90vh}
.order-prints{color:var(--rust)!important;border-color:var(--rust)!important}.pl{align-items:end;margin-top:1rem}
.bsteps{display:flex;justify-content:center;gap:.4rem;list-style:none;padding:0;margin:0 0 1.2rem;flex-wrap:wrap;counter-reset:s}.bsteps li{counter-increment:s;font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;opacity:.55}.bsteps li:before{content:counter(s) ". "}.bsteps li.on{opacity:1;font-weight:700;color:var(--rust)}.bsteps li.done{opacity:.85}
.pkgs{display:grid;gap:.7rem;grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.pkg{display:flex;flex-direction:column;gap:.2rem;text-align:left;background:#faf6ee;border:1px solid #e6dcc8;padding:1rem;cursor:pointer;font:inherit;border-radius:2px}.pkg:hover,.pkg:focus{border-color:var(--gold);outline:none}.pkg .price{font-family:"Cormorant Garamond",serif;font-size:1.6rem;color:var(--rust)}
.card.hl{box-shadow:0 0 0 2px var(--gold)}
.cal{max-width:420px}.calhead{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.calhead button{background:none;border:1px solid var(--gold);width:2.2rem;height:2.2rem;cursor:pointer;font-size:1.2rem}.calhead button:disabled{opacity:.3}
.calgrid{display:grid;grid-template-columns:repeat(7,1fr);gap:.3rem;text-align:center}.dow{font-size:.75rem;opacity:.6}.day{aspect-ratio:1;border:1px solid var(--gold);background:#fff;cursor:pointer;font:inherit;border-radius:2px}.day:disabled{border-color:#eee;color:#bbb;background:#faf8f4;cursor:default;text-decoration:line-through}.day.sel{background:var(--gold);color:var(--dk);font-weight:700}
.slots{display:flex;flex-wrap:wrap;gap:.4rem}.slot{border:1px solid var(--gold);background:#fff;padding:.5rem .8rem;cursor:pointer;font:inherit}.slot:hover{background:var(--gold)}
.sum{background:#faf6ee;padding:.8rem 1rem;border-left:3px solid var(--gold)}
.acal{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;background:#e6dcc8;border:1px solid #e6dcc8}.acal>div{background:#fff;min-height:92px;padding:.25rem;font-size:.75rem;position:relative}.acal .dow{background:#faf6ee;min-height:0;text-align:center;font-weight:700}.acal .num{font-weight:700}.acal .blk{background:repeating-linear-gradient(45deg,#f7ece0,#f7ece0 6px,#fff 6px,#fff 12px)}.acal .ev{display:block;margin:.15rem 0;padding:.1rem .3rem;border-radius:3px;background:#efe4cf;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.acal .ev.confirmed{background:#e3ead9}.acal .ev.held{background:#fbe7b8}.acal .ev.requested{background:#f3e6c8}.acal .ev.needs_attention{background:#f2d9cd}.acal button.bk{position:absolute;right:2px;top:2px;border:0;background:none;cursor:pointer;font-size:.7rem;color:var(--rust)}
.avt td input{width:5.5rem;display:inline-block}
.contract{max-height:260px;overflow:auto;border:1px solid #e6dcc8;background:#fff;padding:.8rem 1rem;font-size:.9rem}.contract h1{font-size:1.5rem;text-align:left}
.pfl{list-style:none;padding:0;margin:0}.pfl li{display:grid;grid-template-columns:24px 120px 1fr;gap:.8rem;align-items:start;padding:.8rem 0;border-bottom:1px solid #e6dcc8;background:#fff}.pfl li.off img{opacity:.35}.pfl li.dragging{opacity:.5}.pfl img{width:120px;height:120px;object-fit:cover}.grip{cursor:grab;color:#b9a77f;font-weight:700;padding-top:2.5rem}.cats{display:flex;flex-wrap:wrap;gap:.2rem .9rem;margin:.3rem 0}.chk.inl{display:inline-flex!important;margin:0 .6rem .3rem 0}.pfe label{margin-bottom:.4rem}
