/* Rekha Class: สีและตัวอักษรชุดเดียวกับ Rekha Studio */
:root{--teal:#1C6E77;--teal-deep:#14505A;--ink:#17303A;--muted:#5C6F76;--orange:#DE7A3E;--orange-deep:#C4652C;--gold:#E3AE45;--mist:#EEF5F4;--line:#D8E5E3;--white:#fff;--paper:#FBF8F1;
  box-sizing:border-box;padding-top:env(safe-area-inset-top,0px)}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:env(safe-area-inset-top,0px)}
html,body{overflow-x:clip}
body{margin:0;background:var(--white);color:var(--ink);font-family:'Anuphan','IBM Plex Sans Thai',system-ui,sans-serif;font-size:17px;line-height:1.75;-webkit-font-smoothing:antialiased}
a{color:inherit}
img{max-width:100%}
.wrap{max-width:1080px;margin:0 auto;padding:0 22px}
.narrow{max-width:720px}
h1,h2,h3{font-family:'Anuphan',sans-serif;line-height:1.3;margin:0;color:var(--ink)}
h1{font-size:clamp(2rem,5.2vw,3.35rem);font-weight:700;letter-spacing:-.01em}
h2{font-size:clamp(1.55rem,3.4vw,2.2rem);font-weight:700}
h3{font-size:1.15rem;font-weight:600}
p{margin:0 0 1em}
:focus-visible{outline:3px solid var(--gold);outline-offset:3px;border-radius:6px}
[hidden]{display:none!important}

/* header */
.hdr{border-bottom:1px solid var(--line);background:var(--white)}
.hdr .wrap{display:flex;align-items:center;gap:18px;padding-top:12px;padding-bottom:12px;flex-wrap:wrap}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;font-weight:700;font-size:1.08rem;margin-right:auto}
.brand img{width:36px;height:auto}
.brand small{display:block;font-weight:400;color:var(--muted);font-size:.76rem;line-height:1.1}
.nav{display:flex;gap:4px;align-items:center}
.nav a{text-decoration:none;color:var(--muted);font-weight:500;font-size:.95rem;padding:6px 10px;border-radius:10px}
.nav a:hover{color:var(--ink);background:var(--mist)}
.nav a[aria-current="page"]{color:var(--teal);font-weight:600}
.who-btn{border:1px solid var(--line);background:var(--white);border-radius:999px;padding:6px 14px;font:inherit;font-size:.9rem;font-weight:600;color:var(--teal);cursor:pointer;max-width:16em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media (max-width:760px){
  .hdr .wrap{gap:8px}
  .nav{order:3;width:100%;overflow-x:auto;margin:0 -10px;padding-bottom:2px}
  .nav a{white-space:nowrap}
}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:14px;padding:15px 24px;font:inherit;font-weight:600;font-size:1.02rem;cursor:pointer;text-decoration:none;transition:background .15s}
.btn-buy{background:var(--orange);color:#fff;box-shadow:0 6px 0 var(--orange-deep)}
.btn-buy:hover{background:var(--orange-deep)}
.btn-line{background:#06C755;color:#fff;box-shadow:0 6px 0 #04a045}
.btn-ghost{background:transparent;color:var(--teal);border:2px solid var(--teal);padding:13px 22px}
.btn-teal{background:var(--teal);color:#fff}
.btn-teal:hover{background:var(--teal-deep)}
.btn-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px}
.btn[disabled]{opacity:.5;cursor:not-allowed}

/* sections */
section{padding:68px 0}
.mist{background:var(--mist)}
.sec-head{max-width:640px;margin-bottom:34px}
.sec-head p{color:var(--muted);margin-top:10px}

/* price */
.pr{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}
.pr b{font-size:2.1rem;line-height:1.1}
.pr s{color:#9aa7ab}
.pr .unit{font-weight:600}
.loyal{display:inline-block;background:#FFF1E6;color:var(--orange-deep);font-weight:600;font-size:.86rem;border-radius:999px;padding:3px 12px}
.owned{display:inline-block;background:rgba(28,110,119,.12);color:var(--teal);font-weight:600;font-size:.86rem;border-radius:999px;padding:3px 12px}

/* loyalty band */
.band{background:var(--ink);color:#fff}
.band .wrap{display:flex;align-items:center;gap:18px 28px;flex-wrap:wrap;padding-top:22px;padding-bottom:22px}
.band b{font-size:1.25rem;color:var(--gold)}
.band p{margin:0;color:#C9D8DA}

footer{padding:30px 0 40px;color:var(--muted);font-size:.88rem;border-top:1px solid var(--line)}
footer .wrap{display:flex;gap:10px 24px;flex-wrap:wrap;justify-content:space-between}
footer a{color:var(--teal);text-decoration:none;font-weight:600}

.note{background:var(--mist);border-radius:12px;padding:14px 16px;color:var(--muted);font-size:.95rem}
.loading{color:var(--muted)}

/* login dialog */
.dlg{border:0;border-radius:18px;padding:0;width:min(420px,calc(100% - 32px));color:var(--ink);box-shadow:0 30px 70px rgba(20,48,58,.3)}
.dlg::backdrop{background:rgba(23,48,58,.5)}
.dlg form{padding:26px 24px}
.dlg h2{font-size:1.4rem;margin-bottom:4px}
.dlg p{color:var(--muted);font-size:.95rem}
.dlg .tabs{display:grid;grid-template-columns:1fr 1fr;background:var(--mist);border-radius:10px;padding:4px;margin-bottom:14px}
.dlg .tabs button{border:0;background:transparent;padding:8px;border-radius:8px;font:inherit;font-weight:600;cursor:pointer;color:var(--muted)}
.dlg .tabs button[aria-selected="true"]{background:#fff;color:var(--ink);box-shadow:0 1px 2px rgba(0,0,0,.08)}
.dlg label{display:block;font-size:.9rem;font-weight:600;margin-bottom:6px}
.dlg input{width:100%;border:1px solid var(--line);background:#fff;border-radius:10px;padding:12px;font:inherit;font-size:1.05rem}
.dlg input.code{letter-spacing:.4em;text-align:center;font-size:1.4rem}
.dlg .btn{width:100%;margin-top:14px;box-shadow:none}
.dlg .row{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-top:12px}
.dlg .lk{background:none;border:0;color:var(--teal);font:inherit;font-weight:600;cursor:pointer;padding:0}
.dlg .err{color:#B4441F;font-size:.9rem;min-height:1.3em;margin:10px 0 0}
.dlg .x{position:absolute;top:10px;right:12px;border:0;background:none;font-size:1.5rem;line-height:1;color:var(--muted);cursor:pointer;padding:6px}

@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
