/* Peony Haus — direct booking pages (book / pay / admin). Matches the main site's tokens. */
:root{
  --cream:#f7f2ea; --cream-deep:#efe6d8; --charcoal:#2b2723;
  --sage:#8a9a80; --sage-deep:#5f7256; --blush:#d9a8ad; --blush-deep:#c07f88;
  --wood:#a97e54; --line:rgba(43,39,35,0.12); --muted:rgba(43,39,35,0.62);
  --ok:#3f7a4f; --warn:#a36a1f; --err:#a3423a; --white:#fffdf9;
}
*{margin:0;padding:0;box-sizing:border-box;}
body{font-family:'Jost','Noto Sans Thai',sans-serif;color:var(--charcoal);background:var(--cream);line-height:1.6;font-weight:300;}
h1,h2,h3{font-family:'Cormorant Garamond','Noto Sans Thai',serif;font-weight:500;letter-spacing:.02em;}
html[lang="th"] h1,html[lang="th"] h2,html[lang="th"] h3{font-family:'Noto Sans Thai',serif;font-weight:500;}
a{color:inherit;}
button,input,select,textarea{font:inherit;color:inherit;}
.wrap{max-width:1080px;margin:0 auto;padding:0 20px;}

/* top bar */
.topbar{position:sticky;top:0;z-index:50;background:rgba(247,242,234,.94);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);}
.topbar .wrap{display:flex;align-items:center;justify-content:space-between;height:64px;gap:12px;}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;font-family:'Cormorant Garamond',serif;font-size:22px;letter-spacing:.06em;}
.brand img{height:38px;width:auto;filter:brightness(0);}
.lang{display:flex;border:1px solid var(--blush-deep);border-radius:30px;overflow:hidden;}
.lang button{background:none;border:0;padding:5px 12px;font-size:12px;letter-spacing:.05em;cursor:pointer;font-weight:500;}
.lang button.on{background:rgba(192,127,136,.22);color:var(--blush-deep);}

.eyebrow{font-size:12px;letter-spacing:.3em;text-transform:uppercase;color:var(--sage-deep);font-weight:500;}
.page-head{padding:44px 0 26px;text-align:center;}
.page-head h1{font-size:clamp(32px,5vw,48px);margin-top:8px;}
.page-head p{color:var(--muted);margin-top:8px;}

.card{background:var(--white);border:1px solid var(--line);border-radius:14px;padding:22px;}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:14px 26px;border-radius:40px;border:1px solid transparent;
  font-size:13px;letter-spacing:.12em;text-transform:uppercase;cursor:pointer;text-decoration:none;transition:all .25s ease;font-weight:500;}
html[lang="th"] .btn{letter-spacing:.02em;font-size:15px;text-transform:none;}
.btn-primary{background:var(--blush-deep);color:#fff;}
.btn-primary:hover{background:var(--sage-deep);}
.btn-primary:disabled{background:#cdbfb3;cursor:not-allowed;}
.btn-outline{border-color:var(--charcoal);background:transparent;}
.btn-outline:hover{background:var(--charcoal);color:var(--cream);}
.btn-line{background:#06C755;color:#fff;}
.btn-wa{background:#25D366;color:#fff;}
.btn-block{width:100%;}
.btn-sm{padding:8px 14px;font-size:12px;letter-spacing:.04em;}

.field{display:flex;flex-direction:column;gap:6px;margin-bottom:14px;}
.field label{font-size:13px;font-weight:500;}
.field input,.field select,.field textarea{border:1px solid var(--line);background:#fff;border-radius:10px;padding:12px 14px;font-size:16px;}
.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid var(--blush);border-color:transparent;}
.hint{font-size:12.5px;color:var(--muted);}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.notice{border-radius:10px;padding:12px 14px;font-size:14px;}
.notice.warn{background:#f6ead6;color:#6e4a12;}
.notice.err{background:#f5dedb;color:var(--err);}
.notice.ok{background:#e1eddf;color:#2f5a3a;}
.hidden{display:none!important;}
.muted{color:var(--muted);}
.mono{font-family:ui-monospace,Menlo,monospace;}
.pill{display:inline-block;padding:2px 10px;border-radius:20px;font-size:12px;font-weight:500;background:var(--cream-deep);}
footer.mini{text-align:center;padding:40px 0 50px;font-size:13px;color:var(--muted);}
@media(max-width:640px){.row2{grid-template-columns:1fr;}.card{padding:18px;}}
