:root{
  --cream:#F3E8D0; --cream-soft:#E9DBB2; --ink:#2A1D12; --ink-soft:#6B573A;
  --gold:#8F6A1E; --gold-bright:#C0942F; --rust:#9C4429; --line:rgba(42,29,18,.16);
  --shadow:rgba(42,29,18,.18); color-scheme:light;
}
@media (prefers-color-scheme: dark){
  :root{
    --cream:#1A130C; --cream-soft:#241A10; --ink:#F1E4C8; --ink-soft:#C7B285;
    --gold:#D9AE5C; --gold-bright:#EAC77C; --rust:#DD8A63; --line:rgba(241,228,200,.16);
    --shadow:rgba(0,0,0,.4); color-scheme:dark;
  }
}
*{box-sizing:border-box;}
body{
  margin:0; background:var(--cream); color:var(--ink);
  font-family:'Schibsted Grotesk',system-ui,sans-serif; line-height:1.6;
}
h1,h2,h3{font-family:'Cormorant Garamond',Georgia,serif;font-weight:600;margin:0 0 .3em;}
.wrap{max-width:760px;margin:0 auto;padding:2rem clamp(1.1rem,4vw,2rem) 4rem;}
.eyebrow{font-weight:600;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);margin-bottom:.6em;}
.tagline{font-family:'Cormorant Garamond',serif;font-style:italic;color:var(--gold);margin-bottom:1.5rem;}
a{color:var(--gold);}
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.5em;
  font-weight:600;font-size:.9rem;padding:.9em 1.6em;border-radius:100px;border:1px solid transparent;
  cursor:pointer;text-decoration:none;background:var(--gold);color:var(--cream);transition:background .15s;
}
.btn:hover{background:var(--gold-bright);}
.btn:disabled{opacity:.55;cursor:not-allowed;}
.btn-line{background:transparent;color:var(--ink);border-color:var(--line);}
.field{margin-bottom:1.1rem;}
.field label{display:block;font-size:.78rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-soft);margin-bottom:.4rem;}
.field input,.field textarea,.field select{
  width:100%;padding:.8em 1em;border-radius:10px;border:1px solid var(--line);
  background:var(--cream-soft);color:var(--ink);font-family:inherit;font-size:.95rem;
}
.card{background:var(--cream-soft);border:1px solid var(--line);border-radius:16px;padding:1.2rem;margin-bottom:1rem;}
.item-row{display:flex;flex-wrap:wrap;gap:.7rem;align-items:flex-end;justify-content:space-between;}
.item-row .grow{flex:1 1 200px;}
.cart{border-top:1px dashed var(--line);margin-top:1.4rem;padding-top:1.2rem;}
.cart-line{display:flex;justify-content:space-between;padding:.4rem 0;font-size:.9rem;border-bottom:1px solid var(--line);}
.cart-line button{background:none;border:none;color:var(--rust);cursor:pointer;font-size:.8rem;}
.total-row{display:flex;justify-content:space-between;font-family:'Cormorant Garamond',serif;font-size:1.4rem;font-weight:600;margin-top:.8rem;}
.badge{display:inline-block;padding:.3em .8em;border-radius:100px;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;}
.badge-pending{background:color-mix(in srgb, var(--gold) 20%, transparent);color:var(--gold);}
.badge-paid{background:color-mix(in srgb, #2f9e5c 20%, transparent);color:#2f9e5c;}
.badge-failed{background:color-mix(in srgb, var(--rust) 20%, transparent);color:var(--rust);}
table{width:100%;border-collapse:collapse;font-size:.86rem;}
th,td{text-align:left;padding:.6em .5em;border-bottom:1px solid var(--line);vertical-align:top;}
th{font-size:.72rem;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-soft);}
.error-banner{background:color-mix(in srgb, var(--rust) 14%, transparent);border:1px solid var(--rust);color:var(--rust);padding:.9em 1.1em;border-radius:12px;margin-bottom:1.3rem;font-size:.88rem;}
.muted{color:var(--ink-soft);font-size:.88rem;}
