/* CA108 customer portal. Uses the site's tokens (--navy, --red, --line, --muted, --canvas) and .btn styles. */
.pt-page{max-width:980px}
.pt-page h1{margin-bottom:16px}
.pt-page h2{font-size:1.3rem;margin:0 0 12px}
.pt-page h3{font-size:1.1rem;margin:0 0 4px}
.pt-muted{color:var(--muted,#526274)}
.pt-fine{font-size:.9rem}
.pt-card{background:#fff;border:1px solid var(--line,#d7dee5);border-radius:8px;padding:20px;margin:0 0 16px}
.pt-note{margin:10px 0;padding:10px 12px;border-radius:6px;background:#edf3f8;color:var(--ink,#082341)}
.pt-note.pt-ok{background:#e6f3ec;color:#0f4d34}
.pt-note.pt-warn{background:#fff6dc;color:#6b4a00}
.pt-note.pt-error{background:#fdeaea;color:#8a1016}
.pt-signin-wrap{max-width:460px}
.pt-signin label{display:block;font-weight:650;margin:12px 0 6px}
.pt-signin input[type=email]{width:100%;padding:12px;border:1px solid #9baab8;border-radius:4px;font:inherit}
.pt-signin .btn{width:100%;margin-top:14px}
.pt-or{text-align:center;margin:14px 0 0;color:var(--muted,#526274)}
.pt-google{gap:10px}
.pt-g{width:20px;height:20px;flex:none}
.pt-who{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;margin:0 0 16px}
.pt-who p{margin:0}
.pt-section{margin:24px 0}
.pt-list{list-style:none;margin:0;padding:0}
.pt-order,.pt-saved{display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;align-items:center}
.pt-order p,.pt-saved p{margin:4px 0}
.pt-order-side{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.pt-step{display:inline-block;padding:4px 10px;border-radius:999px;background:#edf3f8;color:var(--navy,#102f4f);font-weight:700;font-size:.9rem}
.pt-steps{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:0 0 12px;padding:0;counter-reset:s}
.pt-steps li{counter-increment:s;flex:1 1 140px;padding:10px 12px;border:1px solid var(--line,#d7dee5);border-radius:6px;color:var(--muted,#526274);font-weight:600}
.pt-steps li::before{content:counter(s) ". "}
.pt-steps li.done{background:#e6f3ec;color:#0f4d34;border-color:#b9dcc8}
.pt-steps li.done::before{content:"✓ "}
.pt-steps li.current{background:var(--navy,#102f4f);color:#fff;border-color:var(--navy,#102f4f)}
.pt-staff-note{font-weight:600}
.pt-money dl,.pt-card dl{margin:0}
.pt-card dl>div{display:flex;justify-content:space-between;gap:16px;padding:8px 0;border-bottom:1px solid var(--line,#d7dee5)}
.pt-card dl>div:last-child{border-bottom:0}
.pt-card dt{color:var(--muted,#526274)}
.pt-card dd{margin:0;font-weight:650;text-align:right}
.pt-photo{margin:0 0 12px}
.pt-photo img{width:100%;height:auto;border-radius:6px;display:block}
.pt-details summary{cursor:pointer;font-weight:650;color:var(--navy,#102f4f)}
.pt-summary .retained-section{margin-top:12px}
.pt-summary .retained-section h3{font-size:1rem;margin:0 0 4px}
.pt-plan fieldset{border:0;border-top:1px solid var(--line,#d7dee5);margin:0;padding:14px 0}
.pt-plan legend{font-weight:700;padding:0;margin-bottom:8px}
.pt-choices{display:flex;flex-wrap:wrap;gap:8px 18px}
.pt-choices label,.pt-check label{display:flex;gap:8px;align-items:flex-start}
.pt-check label{margin:6px 0}
.pt-sub{display:block;margin-top:10px;color:var(--muted,#526274);font-size:.95rem}
.pt-sub textarea{display:block;width:100%;margin-top:4px;padding:10px;border:1px solid #9baab8;border-radius:4px;font:inherit;color:var(--ink,#082341)}
.pt-plan>.btn{margin-top:12px}
.pt-photos-box input[type=file]{position:absolute;width:1px;height:1px;opacity:0}
.pt-photos-box input[type=file]:focus-visible+div,.pt-upload:focus-within{outline:3px solid #2b6cb0}
.pt-photos{list-style:none;margin:12px 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}
.pt-photos img{width:100%;height:120px;object-fit:cover;border-radius:6px;display:block}
.pt-table-wrap{overflow-x:auto}
.pt-table{width:100%;border-collapse:collapse;background:#fff}
.pt-table th,.pt-table td{padding:8px 10px;border-bottom:1px solid var(--line,#d7dee5);text-align:left;white-space:nowrap}
.pt-page form label[for]{display:block;font-weight:650;margin:10px 0 4px}
.pt-page select,.pt-page input[type=text],.pt-page input:not([type]){width:100%;max-width:520px;padding:10px;border:1px solid #9baab8;border-radius:4px;font:inherit}
/* Save button on building pages */
.pt-save{margin:12px 0}
.pt-save .pt-save-msg{margin:6px 0 0;font-size:.95rem;color:var(--muted,#526274)}
.draft-bar .pt-save{margin:0;display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.draft-bar .pt-save .btn{min-height:36px;padding:6px 14px;font-size:15px}
.draft-bar .pt-save .pt-save-msg{margin:0}
.nav-account{font-weight:700}
@media (max-width:600px){.pt-card{padding:16px}.pt-card dl>div{flex-direction:column;gap:2px}.pt-card dd{text-align:left}}
.pt-page .text-button{background:none;border:0;padding:4px 0;color:var(--navy,#102f4f);font:inherit;font-weight:650;text-decoration:underline;cursor:pointer}
@media (min-width:760px){.pt-building .pt-photo{max-width:560px}}
.pt-need-account{border:1px solid var(--line,#d7dee5);border-left:4px solid var(--navy,#102f4f);border-radius:6px;padding:14px 16px;margin:0 0 10px;background:#fff}
.pt-need-account .pt-need-title{font-weight:750;margin:0 0 6px}
.pt-need-account p{margin:0 0 10px}
[data-bn-pay-go][hidden]{display:none!important}
.pt-manage{margin:20px 0 8px;padding:16px 18px;border:1px solid var(--line,#d7dee5);border-left:4px solid var(--navy,#102f4f);border-radius:6px;background:#fff}
.pt-manage p{margin:0 0 12px}
.pt-order .pt-where{margin:6px 0 0;color:var(--ink,#082341)}
/* Richer order cards (Ben: "feels incomplete") */
.pt-order{display:grid;grid-template-columns:200px 1fr;gap:20px;align-items:start}
.pt-thumb img{width:100%;height:150px;object-fit:cover;border-radius:6px;display:block}
.pt-order-main h3{font-size:1.25rem}
.pt-mini{display:flex;gap:4px;list-style:none;margin:10px 0 8px;padding:0}
.pt-mini li{flex:1;min-width:0;border-top:4px solid var(--line,#d7dee5);padding-top:6px;font-size:.8rem;color:var(--muted,#526274);font-weight:600}
.pt-mini li span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pt-mini li.done{border-color:#2e8b57;color:#0f4d34}
.pt-mini li.current{border-color:var(--navy,#102f4f);color:var(--navy,#102f4f)}
.pt-money-line{display:flex;flex-wrap:wrap;gap:6px 22px;margin:8px 0 0;color:var(--muted,#526274)}
.pt-money-line strong{color:var(--ink,#082341)}
.pt-order-actions{display:flex;flex-wrap:wrap;gap:10px 14px;align-items:center;margin-top:14px}
.pt-order-actions .pt-next:empty{display:none}
.pt-plan-link{color:var(--navy,#102f4f);font-weight:600}
.pt-empty p{margin:0 0 12px}.pt-empty p:last-child{margin:0}
@media (max-width:640px){.pt-order{grid-template-columns:1fr}.pt-thumb img{height:170px}.pt-mini li span{display:none}.pt-mini li.current span{display:block}}
/* What to expect */
.pt-expect .pt-exp{padding:0;margin:0 0 8px}
.pt-exp summary{cursor:pointer;padding:14px 18px;font-weight:700;color:var(--navy,#102f4f);list-style-position:inside}
.pt-exp[open] summary{border-bottom:1px solid var(--line,#d7dee5)}
.pt-exp p{margin:12px 18px;line-height:1.55}
.pt-exp p:last-child{margin-bottom:16px}
.pt-after{margin:14px 2px 0}
/* Cancelled order (full refund) */
.pt-mini.pt-cancelled li,.pt-steps.pt-cancelled li{color:var(--muted,#526274);text-decoration:line-through;border-color:var(--line,#d7dee5);background:#fff}
.pt-steps.pt-cancelled li::before{content:none}
.pt-cancel-note{font-weight:700;margin:0 0 10px}
/* CA185 (Ben, Oct 6, 2026): required lift, never in the price (same look as order-summary.css). */
.mcu-lift{margin:8px 0;padding:8px 12px;border-left:4px solid #D9A441;border-radius:4px;background:var(--warning-surface,#FFF5E5);color:var(--warning,#8A4B00);line-height:1.45}
.mcu-lift strong{color:var(--ink,#082341)}
.pt-money .mcu-lift strong{display:block}
