/* The customer account spans stores and keeps a neutral marketplace identity. */
:root { --text:#24211d; --muted:#665f57; --line:#e8e1d9; --soft:#f7f4ef; }
* { box-sizing:border-box; }
body { margin:0; background:#fff; color:var(--text); font:15px/1.6 Arial,sans-serif; }
a { color:inherit; text-underline-offset:4px; }
header,main { max-width:1120px; margin:auto; padding:28px 40px; }
header { display:flex; justify-content:space-between; align-items:center; gap:24px; flex-wrap:wrap; border-bottom:1px solid var(--line); }
header>a { font:26px Georgia,serif; text-decoration:none; }
main { padding-top:40px; padding-bottom:64px; }
h1 { margin:8px 0 16px; font:clamp(30px,4vw,42px)/1.2 Georgia,serif; overflow-wrap:anywhere; }
h2 { margin:0 0 16px; font:24px/1.3 Georgia,serif; overflow-wrap:anywhere; }
p { overflow-wrap:anywhere; }
.card { margin:24px 0; padding:28px; border:1px solid var(--line); }
.muted,small { color:var(--muted); }
.eyebrow { margin:0; color:var(--muted); text-transform:uppercase; letter-spacing:.12em; font-size:11px; }
.row,.page-head,.actions { display:flex; justify-content:space-between; flex-wrap:wrap; gap:16px; }
.account-nav { display:flex; align-items:center; flex-wrap:wrap; gap:8px; }
.account-nav a,.account-nav button { display:inline-flex; align-items:center; min-height:44px; padding:10px 14px; text-decoration:none; font-size:13px; }
.account-nav a.active { background:var(--soft); }
.account-nav form { margin:0; }
.account-nav button { background:transparent; color:var(--text); border-color:transparent; }
label { display:block; margin:16px 0 8px; font-size:13px; font-weight:600; }
input,select,button { min-height:48px; padding:12px 14px; border:1px solid var(--line); border-radius:6px; font:inherit; }
input,select { width:100%; max-width:440px; background:white; color:var(--text); }
input:disabled { background:var(--soft); color:var(--muted); }
button { background:var(--text); color:white; cursor:pointer; }
a:focus-visible,input:focus-visible,select:focus-visible,button:focus-visible { outline:2px solid #9a6730; outline-offset:3px; }
.auth { max-width:520px; margin:auto; }
.auth button { display:block; margin-top:24px; }
.error,.success { padding:16px; margin-bottom:24px; border-left:3px solid; }
.error { background:#fff5f4; color:#8b211b; }
.success { background:#eef9f1; color:#25623a; }
.form-card small { display:block; max-width:560px; }
.actions { justify-content:flex-start; margin-top:24px; }
small { font-size:12px; }
dl { display:grid; grid-template-columns:1fr 1fr; gap:12px; padding-top:20px; border-top:1px solid var(--line); }
dd { margin:0; text-align:right; overflow-wrap:anywhere; }
dt { color:var(--muted); }
.pagination { display:flex; align-items:center; flex-wrap:wrap; gap:20px; margin:24px 0; }
.pagination a { padding:12px; }
.order-status { display:flex; flex-wrap:wrap; gap:8px; margin:20px 0; }
.status-label { padding:6px 10px; background:var(--soft); font-size:12px; }
.order-card h2 { margin-top:20px; }
.order-card h2 a { text-decoration:none; }
.order-card h2 a:hover { text-decoration:underline; }
.order-bottom { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:16px; border-top:1px solid var(--line); padding-top:18px; }
.order-bottom strong { font-size:24px; font-weight:500; }
.order-bottom a { display:inline-flex; min-height:44px; align-items:center; font-size:13px; }
.order-reference { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.order-items { list-style:none; margin:0; padding:0; }
.order-items li { display:flex; justify-content:space-between; gap:20px; padding:18px 0; border-top:1px solid var(--line); }
.order-items li>div { min-width:0; overflow-wrap:anywhere; }
.order-items small { display:block; margin-top:4px; }
.order-items .price { white-space:nowrap; }
@media(max-width:560px) {
    header,main { padding:20px 16px; }
    main { padding-top:28px; }
    .account-nav { width:100%; border-top:1px solid var(--line); padding-top:12px; gap:4px; }
    .account-nav a,.account-nav button { padding:10px; }
    .card { padding:20px; }
    input,select { font-size:16px; }
    .row { gap:8px; }
    .order-items li { gap:12px; }
}
