/* Shared look for the order, course, find-my-order and admin pages (matches the shop). */
:root{
  --ground:#FFFFFF; --band:#F3F3F3; --card:#FFFFFF; --ink:#000000; --muted:#6E6E6E; --line:#E3E3E3;
  --accent:#000000; --on-accent:#FAFAFA; --ok:#5E7A64; --bad:#9B3B35;
  --display:"Gilda Display","Didot","Bodoni 72",Georgia,serif;
  --text:"PT Serif",Georgia,"Times New Roman",serif;
  --gutter:clamp(16px,4vw,48px); color-scheme:light;
}
*{box-sizing:border-box}
[hidden]{display:none!important}
body{margin:0;background:var(--ground);color:var(--ink);font:400 1rem/1.6 var(--text);-webkit-font-smoothing:antialiased}
a{color:inherit}
img{max-width:100%;display:block}
h1,h2,h3{font-family:var(--display);font-weight:400;line-height:1.12;text-wrap:balance;margin:0}
.wrap{max-width:1000px;margin-inline:auto;padding-inline:var(--gutter)}
.label{font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin:0}
header.site{border-bottom:1px solid var(--line);background:var(--ground)}
header.site .wrap{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-block:.7rem;flex-wrap:wrap}
.brand{display:flex;align-items:center;gap:.7rem;text-decoration:none}
.brand img{height:30px;width:auto}
.brand span{font-family:var(--display);font-size:1.05rem;letter-spacing:.22em;text-transform:uppercase}
header.site nav a{font-size:.74rem;letter-spacing:.16em;text-transform:uppercase;text-decoration:none}
main{padding-block:clamp(2rem,6vw,4rem) clamp(3rem,7vw,5rem)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.6rem;font:inherit;font-size:.78rem;letter-spacing:.18em;text-transform:uppercase;background:transparent;color:var(--accent);border:1px solid var(--accent);border-radius:0;padding:1rem 1.6rem;text-decoration:none;cursor:pointer}
.btn:hover{background:var(--accent);color:var(--on-accent)}
.btn.ghost{background:transparent;color:var(--accent)}
.btn.ghost:hover{background:var(--accent);color:var(--on-accent)}
.btn[disabled]{opacity:.5;cursor:not-allowed}
:focus-visible{outline:2px solid var(--ink);outline-offset:3px}
input{font:inherit;font-size:.95rem;padding:.9rem 1rem;border:1px solid var(--line);border-radius:0;background:var(--card);color:var(--ink);min-width:0}
input:focus{outline:2px solid var(--ink);outline-offset:0}
.msg{margin:0;font-size:.9rem;color:var(--muted)}
.msg.ok{color:var(--ok)} .msg.bad{color:var(--bad)}
footer.site{padding-block:2.5rem;color:var(--muted);font-size:.85rem;border-top:1px solid var(--line)}
footer.site .wrap{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}
