.account-form{display:grid;gap:13px;width:100%;margin-top:4px}
.account-form label{display:grid;gap:6px;color:var(--navy);font-size:12px;font-weight:800}
.account-form input{width:100%;min-height:43px;padding:10px 12px;border:1px solid #cfc4b1;border-radius:5px;background:#fff;color:var(--text);font:inherit}
.account-form input:focus{outline:2px solid rgba(201,149,47,.32);border-color:var(--gold)}
.account-form .button{justify-self:start;border:0;cursor:pointer}
.account-form .button:disabled,.account-actions .button:disabled{opacity:.55;cursor:wait}
.account-message{margin:12px 0 0;padding:10px 12px;border-radius:5px;background:#f3f5f7;color:var(--navy);font-size:13px;line-height:1.4}
.account-message--error{background:#fff0f0;color:#8a1f1f}
.account-message--success{background:#edf8ef;color:#1f6b35}
.customer-signed-in{margin-top:12px;padding:16px;border:1px solid #d9c79e;border-radius:7px;background:#fdfaf5}
.customer-signed-in p{margin:0 0 12px}
.account-type-grid .customer-account-card{background:#fff}
.account-type-grid .customer-account-card .account-form{margin-top:16px}
.portal-coming-soon{display:inline-flex;align-self:flex-start;margin-top:auto;padding:8px 12px;border-radius:999px;background:#f2ede5;color:#6b6258;font-size:11px;font-weight:900;text-transform:uppercase}
.account-dashboard{min-height:620px;padding:56px 6%;background:linear-gradient(135deg,#fdfaf5,#f4eadb)}
.account-dashboard-shell{max-width:1120px;margin:auto}
.account-dashboard-header{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:26px}
.account-dashboard-header h1{font-family:Georgia,serif;font-size:clamp(36px,5vw,54px);color:var(--navy)}
.account-dashboard-header p{margin-top:8px;color:var(--muted)}
.account-actions{display:flex;gap:10px;flex-wrap:wrap}
.account-actions button{border:0;cursor:pointer}
.memorial-panel{padding:28px;border:1px solid #e3c98e;border-radius:10px;background:#fff;box-shadow:var(--shadow)}
.memorial-panel-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}
.memorial-panel h2{font-family:Georgia,serif;font-size:29px;color:var(--navy)}
.memorial-panel-intro{margin-top:6px;color:var(--muted);font-size:13px;line-height:1.5}
#openExistingMemorialButton:disabled{opacity:.48;cursor:not-allowed;background:#f4f1eb;color:#777;border-color:#d8d0c4}
.memorial-project-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.memorial-project-card{padding:22px;border:1px solid #eadfce;border-radius:8px;background:#fdfaf5}
.memorial-project-card h3{font-family:Georgia,serif;font-size:22px;color:var(--navy);overflow-wrap:anywhere}
.memorial-project-meta{margin:8px 0 5px;color:#4f5a64;font-size:13px}
.memorial-project-details{margin-bottom:18px;color:var(--muted);font-size:12px;overflow-wrap:anywhere}
.memorial-project-card .button{border:0;cursor:pointer}
.memorial-empty{padding:32px;border:1px dashed #d8c7a8;border-radius:8px;text-align:center;background:#fffaf3}
.memorial-empty h3{font-family:Georgia,serif;font-size:24px;color:var(--navy)}
.memorial-empty p{margin:9px auto 18px;max-width:520px;color:var(--muted)}
@media(max-width:800px){.account-dashboard-header,.memorial-panel-heading{align-items:stretch;flex-direction:column}.memorial-project-list{grid-template-columns:1fr}}

/* Paid package status is derived from verified server-side Stripe webhooks,
   never the browser checkout return URL or a selected package label. */
.memorial-payment-state{margin-top:14px;padding-top:12px;border-top:1px solid #e2d9cd;display:grid;gap:7px}
.memorial-payment-status{font-size:12px;font-weight:700;color:#744c2f;line-height:1.4}
.memorial-payment-status--verified{color:#206139}
.memorial-payment-state small{font-size:11px;color:#656565}
.memorial-checkout-button{justify-self:start;padding:9px 12px;font-size:12px;cursor:pointer}
.memorial-checkout-button:disabled{opacity:.55;cursor:wait}
