/* ════════════════════════════════════════════════════════════
   AUTHOROS — forms: login (magic link) + checkout
   ════════════════════════════════════════════════════════════ */

/* inputs */
.aos-input {
    width: 100%;
    background: var(--aos-alcove);
    border: 1px solid var(--aos-bronze);
    border-radius: var(--aos-r-md);
    color: var(--aos-parchment);
    font-family: var(--aos-font-body);
    font-size: var(--aos-text-base);
    padding: 0.85rem 1rem;
    transition: border-color var(--aos-t-fast), box-shadow var(--aos-t-fast);
}
.aos-input:focus { border-color: var(--aos-amber); outline: none; box-shadow: 0 0 0 3px var(--aos-amber-glow); }
.aos-input::placeholder { color: var(--aos-dust); }
.aos-field { margin-bottom: var(--aos-space-5); }
.aos-field label { display: block; font-family: var(--aos-font-heading); font-size: var(--aos-text-xs); letter-spacing: var(--aos-tracking-wide); text-transform: uppercase; color: var(--aos-dust); margin-bottom: var(--aos-space-2); }

/* ── LOGIN ── */
.aos-auth { min-height: 100vh; display: grid; place-items: center; padding: var(--aos-space-8); }
.aos-auth-card { width: 100%; max-width: 420px; text-align: center; }
.aos-auth-orb { width: 88px; height: 88px; margin: 0 auto var(--aos-space-6); }
.aos-auth-wordmark { font-family: var(--aos-font-display); font-size: var(--aos-text-3xl); letter-spacing: var(--aos-tracking-widest); color: var(--aos-parchment); margin: 0 0 var(--aos-space-2); }
.aos-auth-wordmark-img { display: block; width: 260px; max-width: 74%; margin: 0 auto var(--aos-space-3); }
.aos-auth-wordmark .tm { font-size: 0.5em; color: var(--aos-dust); vertical-align: super; }
.aos-auth-attr { font-size: var(--aos-text-sm); color: var(--aos-dust); margin: 0 0 var(--aos-space-10); }
.aos-auth-form { text-align: left; }
.aos-auth .aos-btn { width: 100%; justify-content: center; }
.aos-or { display: flex; align-items: center; gap: var(--aos-space-4); margin: var(--aos-space-5) 0; color: var(--aos-dust); font-size: var(--aos-text-xs); letter-spacing: var(--aos-tracking-wide); text-transform: uppercase; }
.aos-or::before, .aos-or::after { content: ""; flex: 1; height: 1px; background: var(--aos-bronze-dim); }
.aos-google { width: 100%; justify-content: center; display: inline-flex; align-items: center; gap: var(--aos-space-3); background: var(--aos-nook); color: var(--aos-parchment); border: 1px solid var(--aos-bronze); font-family: var(--aos-font-heading); font-size: var(--aos-text-sm); padding: 0.85rem 1rem; border-radius: var(--aos-r-md); cursor: pointer; transition: border-color var(--aos-t-fast); }
.aos-google:hover { border-color: var(--aos-copper); }
.aos-auth-sent { background: var(--aos-nook); border: 1px solid var(--aos-bronze-dim); border-radius: var(--aos-r-lg); padding: var(--aos-space-8); }
.aos-auth-sent h3 { font-family: var(--aos-font-display); font-size: var(--aos-text-2xl); font-weight: 400; color: var(--aos-parchment); margin: 0 0 var(--aos-space-3); }
.aos-auth-sent p { font-size: var(--aos-text-base); color: var(--aos-vellum); line-height: var(--aos-leading-relaxed); margin: 0 0 var(--aos-space-6); }
.aos-auth-foot { margin-top: var(--aos-space-10); font-size: var(--aos-text-xs); color: var(--aos-dust); }
.aos-auth-foot a { color: var(--aos-vellum); }

/* ── CHECKOUT ── */
.aos-co-top { border-bottom: 1px solid var(--aos-bronze-dim); }
.aos-co-top-inner { max-width: 1080px; margin: 0 auto; padding: var(--aos-space-5) var(--aos-space-8); display: flex; align-items: center; justify-content: space-between; }
.aos-co { max-width: 1080px; margin: 0 auto; padding: var(--aos-space-16) var(--aos-space-8) var(--aos-space-24); display: grid; grid-template-columns: 1fr 380px; gap: var(--aos-space-16); align-items: start; }
@media (max-width: 880px) { .aos-co { grid-template-columns: 1fr; gap: var(--aos-space-10); } }

.aos-co-steps { display: flex; align-items: center; gap: var(--aos-space-3); margin-bottom: var(--aos-space-10); }
.aos-co-dot { display: flex; align-items: center; gap: var(--aos-space-3); }
.aos-co-dot .n { width: 28px; height: 28px; border-radius: 50%; display: grid; place-items: center; border: 1px solid var(--aos-bronze); color: var(--aos-dust); font-family: var(--aos-font-heading); font-size: var(--aos-text-sm); }
.aos-co-dot .lbl { font-family: var(--aos-font-heading); font-size: var(--aos-text-sm); color: var(--aos-dust); }
.aos-co-dot.done .n, .aos-co-dot.active .n { border-color: var(--aos-amber); color: var(--aos-amber); }
.aos-co-dot.active .lbl { color: var(--aos-parchment); }
.aos-co-dot.done .n { background: var(--aos-amber); color: var(--aos-void); }
.aos-co-line { width: 28px; height: 1px; background: var(--aos-bronze-dim); }

.aos-co-h { font-family: var(--aos-font-display); font-size: var(--aos-text-3xl); font-weight: 400; color: var(--aos-parchment); margin: 0 0 var(--aos-space-6); }

.aos-co-pkg { display: flex; flex-direction: column; gap: var(--aos-space-3); }
.aos-co-pkgcard { text-align: left; display: flex; align-items: center; justify-content: space-between; gap: var(--aos-space-5); padding: var(--aos-space-5) var(--aos-space-6); border: 1px solid var(--aos-bronze-dim); border-radius: var(--aos-r-lg); background: var(--aos-shelf); cursor: pointer; transition: border-color var(--aos-t-fast); }
.aos-co-pkgcard:hover { border-color: var(--aos-copper); }
.aos-co-pkgcard.sel { border-color: var(--aos-amber); background: var(--aos-alcove); }
.aos-co-pkgcard .nm { font-family: var(--aos-font-display); font-size: var(--aos-text-2xl); color: var(--aos-parchment); }
.aos-co-pkgcard .ds { font-size: var(--aos-text-sm); color: var(--aos-dust); margin-top: 3px; }
.aos-co-pkgcard .pr { font-family: var(--aos-font-display); font-size: var(--aos-text-2xl); color: var(--aos-amber); white-space: nowrap; }

.aos-co-pay { display: flex; flex-direction: column; gap: var(--aos-space-3); margin-bottom: var(--aos-space-6); }
.aos-co-radio { display: flex; align-items: center; gap: var(--aos-space-4); padding: var(--aos-space-5); border: 1px solid var(--aos-bronze-dim); border-radius: var(--aos-r-md); cursor: pointer; transition: border-color var(--aos-t-fast); }
.aos-co-radio.sel { border-color: var(--aos-amber); }
.aos-co-radio .ring { width: 18px; height: 18px; border-radius: 50%; border: 1px solid var(--aos-bronze); flex: 0 0 auto; position: relative; }
.aos-co-radio.sel .ring { border-color: var(--aos-amber); }
.aos-co-radio.sel .ring::after { content: ""; position: absolute; inset: 3px; border-radius: 50%; background: var(--aos-amber); }
.aos-co-radio .t { font-size: var(--aos-text-base); color: var(--aos-parchment); } .aos-co-radio .s { font-size: var(--aos-text-sm); color: var(--aos-dust); }
.aos-co-card-mock { background: var(--aos-alcove); border: 1px solid var(--aos-bronze); border-radius: var(--aos-r-md); padding: var(--aos-space-4); display: flex; gap: var(--aos-space-3); align-items: center; color: var(--aos-dust); font-family: var(--aos-font-mono); font-size: var(--aos-text-sm); }
.aos-co-pays { display: flex; gap: var(--aos-space-3); margin-top: var(--aos-space-4); }
.aos-co-finenote { font-size: var(--aos-text-xs); color: var(--aos-dust); line-height: 1.5; margin: var(--aos-space-4) 0 0; }
.aos-co-pays .pill { flex: 1; text-align: center; padding: var(--aos-space-3); border: 1px solid var(--aos-bronze-dim); border-radius: var(--aos-r-md); color: var(--aos-vellum); font-family: var(--aos-font-heading); font-size: var(--aos-text-sm); }

.aos-co-check { display: flex; gap: var(--aos-space-3); align-items: flex-start; font-size: var(--aos-text-sm); color: var(--aos-vellum); margin: var(--aos-space-4) 0; line-height: 1.5; }
.aos-co-check input { margin-top: 3px; accent-color: var(--aos-amber); }
.aos-co-check a { color: var(--aos-amber); }

.aos-co-actions { display: flex; gap: var(--aos-space-4); margin-top: var(--aos-space-8); }

/* summary */
.aos-co-summary { background: var(--aos-shelf); border: 1px solid var(--aos-bronze-dim); border-radius: var(--aos-r-xl); padding: var(--aos-space-8); position: sticky; top: var(--aos-space-8); }
.aos-co-summary h4 { font-family: var(--aos-font-heading); font-size: var(--aos-text-xs); letter-spacing: var(--aos-tracking-wider); text-transform: uppercase; color: var(--aos-dust); margin: 0 0 var(--aos-space-5); }
.aos-co-sumline { display: flex; justify-content: space-between; padding: var(--aos-space-3) 0; font-size: var(--aos-text-sm); color: var(--aos-vellum); border-bottom: 1px solid var(--aos-bronze-dim); }
.aos-co-sumline .v { font-family: var(--aos-font-mono); color: var(--aos-parchment); }
.aos-co-sumtotal { display: flex; justify-content: space-between; align-items: baseline; padding-top: var(--aos-space-5); margin-top: var(--aos-space-3); }
.aos-co-sumtotal .l { font-family: var(--aos-font-heading); color: var(--aos-parchment); }
.aos-co-sumtotal .v { font-family: var(--aos-font-display); font-size: var(--aos-text-3xl); color: var(--aos-amber); }
.aos-co-sumnote { font-size: var(--aos-text-xs); color: var(--aos-dust); margin-top: var(--aos-space-5); line-height: 1.5; }

.aos-co-done { text-align: center; max-width: 520px; margin: var(--aos-space-32) auto; }
.aos-co-done .aos-auth-orb { margin-bottom: var(--aos-space-8); }
.aos-co-done h2 { font-family: var(--aos-font-display); font-size: var(--aos-text-4xl); font-weight: 400; color: var(--aos-parchment); margin: 0 0 var(--aos-space-5); }
.aos-co-done p { font-size: var(--aos-text-lg); color: var(--aos-vellum); line-height: var(--aos-leading-relaxed); margin: 0 0 var(--aos-space-8); }
