/* MOODA UI frontend: the parts of the public website, on the MOODA UI tokens (tokens.css). See README.md. */
@font-face{font-family:"Mooda Thai";src:url("fonts/CSChatThaiUI.otf") format("opentype");font-weight:400;font-display:swap;unicode-range:U+0E00-0E7F}

:root{
  --fe-font:"Mooda Thai",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI","Leelawadee UI","Noto Sans Thai",Roboto,Arial,sans-serif;
  --fe-ink:var(--mooda-gray-900);
  --fe-wrap:1180px;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;background:var(--ui-surface);color:var(--ui-text);font:400 16px/1.65 var(--fe-font);font-synthesis:none;overflow-x:hidden}
h1,h2,h3,h4,p,ul,ol,dl,dd,figure{margin:0;padding:0;font-weight:400}
ul,ol{list-style:none}
strong,b,th{font-weight:400}
a{color:inherit;text-decoration:none}
button,input,select{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--ui-primary-text);outline-offset:2px}
[id]{scroll-margin-top:84px}

.fe-wrap{width:min(var(--fe-wrap),100%);margin:0 auto;padding:0 var(--space-6)}
.fe-nb{display:inline-block}
.fe-num{font-variant-numeric:tabular-nums}
.fe-ic{width:24px;height:24px;flex:none;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
@media(max-width:640px){.fe-wrap{padding:0 var(--space-4)}}

/* logo: the wordmark in the two brand colours */
.fe-logo{display:block;width:112px;height:33px;flex:none;background:linear-gradient(90deg,#0E9BD8 0 62.5%,#F47521 62.5% 100%);-webkit-mask:url("images/wordmark.png") left center/contain no-repeat;mask:url("images/wordmark.png") left center/contain no-repeat}

/* actions */
.fe-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:var(--control-lg);padding:0 var(--space-6);border:1px solid transparent;border-radius:var(--radius-control);background:none;cursor:pointer;white-space:nowrap;transition:background var(--motion-fast),border-color var(--motion-fast),color var(--motion-fast)}
.fe-btn.primary{background:var(--ui-primary-fill);color:var(--ui-on-primary)}
.fe-btn.primary:hover{background:var(--ui-primary-hover)}
.fe-btn.secondary{background:var(--ui-surface);border-color:var(--ui-border);color:var(--ui-text)}
.fe-btn.secondary:hover{border-color:var(--ui-primary-text);color:var(--ui-primary-text)}
.fe-btn.small{min-height:var(--control-md);padding:0 var(--space-4)}
.fe-actions{display:flex;flex-wrap:wrap;gap:var(--space-3)}
.fe-tag{display:inline-flex;align-items:center;min-height:22px;padding:0 var(--space-2);border-radius:var(--radius-full);background:var(--ui-primary-soft);color:var(--ui-primary-text);font-size:12px;line-height:1;white-space:nowrap}
@media(max-width:560px){.fe-actions .fe-btn{flex:1 1 100%}}

/* header */
.fe-right{margin-left:auto;display:flex;align-items:center;gap:var(--space-2)}
.fe-lang{min-width:40px;min-height:var(--control-md);padding:0 var(--space-2);border:0;background:none;border-radius:var(--radius-control);cursor:pointer;color:var(--ui-text-secondary)}
.fe-lang:hover{color:var(--ui-primary-text)}
.fe-links{display:flex;gap:var(--space-6);color:var(--ui-text-secondary)}
.fe-links a:hover{color:var(--ui-primary-text)}
@media(max-width:960px){.fe-links{display:none}}
@media(max-width:560px){.fe-right .fe-btn.secondary{display:none}}

/* section heading */
.fe-head{max-width:720px;margin-bottom:var(--space-10)}
.fe-head h2{font-size:clamp(28px,4vw,42px);line-height:1.25;letter-spacing:-.01em}
.fe-head p{margin-top:var(--space-3);color:var(--ui-text-secondary);font-size:18px}

/* segmented choice */
.fe-seg{display:inline-flex;gap:var(--space-1);padding:var(--space-1);border:1px solid var(--ui-border-subtle);border-radius:var(--radius-control);background:var(--ui-surface-subtle)}
.fe-seg button{min-height:var(--control-sm);padding:0 var(--space-3);border:0;border-radius:var(--radius-sm);background:none;cursor:pointer;color:var(--ui-text-secondary)}
.fe-seg button[aria-pressed=true]{background:var(--ui-surface);color:var(--ui-primary-text);box-shadow:var(--shadow-xs)}
.fe-segs{display:flex;flex-wrap:wrap;gap:var(--space-2)}

/* statistics */
.fe-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-6)}
.fe-stat b{display:block;font-size:clamp(30px,4.2vw,48px);line-height:1.2;letter-spacing:-.01em;font-variant-numeric:tabular-nums}
.fe-stat span{display:block;margin-top:var(--space-1);color:var(--ui-text-secondary);font-size:15px;line-height:1.4}
@media(max-width:760px){.fe-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* tour of the app: tabs over the clickable demo (public/demo, one iframe per screen) */
.fe-tabs{display:flex;justify-content:center;gap:var(--space-2);margin-bottom:var(--space-6);flex-wrap:wrap}
.fe-tabs button{min-height:var(--control-lg);min-width:112px;padding:0 var(--space-5);border:1px solid var(--ui-border-subtle);border-radius:var(--radius-control);background:var(--ui-surface);cursor:pointer;color:var(--ui-text-secondary)}
.fe-tabs button:hover{color:var(--ui-primary-text)}
.fe-tabs button[aria-selected=true]{background:var(--ui-primary-fill);border-color:var(--ui-primary-fill);color:var(--ui-on-primary)}
.fe-demo{height:min(760px,84vh);border:1px solid var(--ui-border-subtle);border-radius:var(--radius-xl);background:var(--ui-surface);box-shadow:var(--shadow-lg);overflow:hidden}
.fe-demo iframe{display:block;width:100%;height:100%;border:0}
.fe-demo iframe[hidden]{display:none}
.fe-hint{margin-top:var(--space-2);color:var(--ui-text-muted);font-size:15px;text-align:center}
.fe-caption{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:var(--space-3);margin-top:var(--space-5);color:var(--ui-text-secondary);font-size:17px;text-align:center}

/* price table */
.fe-table{overflow-x:auto;-webkit-overflow-scrolling:touch}
.fe-table table{width:100%;min-width:760px;border-collapse:collapse;font-size:15px}
.fe-table th,.fe-table td{padding:var(--space-3) 14px;border-bottom:1px solid var(--ui-border-subtle);text-align:right;white-space:nowrap}
.fe-table th:first-child,.fe-table td:first-child{text-align:left;position:sticky;left:0;background:var(--ui-surface);color:var(--ui-text-secondary)}
.fe-table thead th{font-size:17px;color:var(--ui-text);border-bottom-color:var(--ui-border)}
.fe-table .price td{font-size:24px;padding:var(--space-4) 14px}
.fe-table .price td:first-child{font-size:15px}
.fe-table .pick{background:var(--ui-primary-soft)}

/* questions */
.fe-faq details{border-bottom:1px solid var(--ui-border-subtle)}
.fe-faq summary{display:flex;justify-content:space-between;gap:var(--space-4);min-height:56px;padding:14px 0;cursor:pointer;list-style:none;font-size:17px}
.fe-faq summary::-webkit-details-marker{display:none}
.fe-faq summary::after{content:"+";color:var(--ui-primary-text);font-size:22px;line-height:1.2}
.fe-faq details[open] summary::after{content:"\2212"}
.fe-faq details p{padding:0 var(--space-8) 18px 0;color:var(--ui-text-secondary)}

/* contact */
.fe-contact{display:grid;gap:var(--space-3)}
.fe-contact a{display:flex;gap:var(--space-3);align-items:center;min-height:var(--control-lg)}
.fe-contact .fe-ic{color:var(--ui-primary-text)}
.fe-contact small{display:block;color:var(--ui-text-muted);font-size:13px;line-height:1.4}

/* footer */
.fe-foot{padding:var(--space-10) 0 var(--space-8);background:var(--ui-surface-subtle);border-top:1px solid var(--ui-border-subtle);color:var(--ui-text-secondary);font-size:14px}
.fe-foot-in{display:flex;flex-wrap:wrap;justify-content:space-between;gap:var(--space-6)}
.fe-foot ul{display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-6)}
.fe-foot a:hover{color:var(--ui-primary-text)}

/* the page */
.fe-page{background:var(--ui-bg)}
.fe-sec{padding:80px 0}
.fe-sec.w{background:var(--ui-surface)}
.fe-sec .fe-head{margin-inline:auto;text-align:center}
.fe-lead{margin-top:var(--space-4);color:var(--ui-text-secondary);font-size:18px}
.fe-center{display:flex;justify-content:center;margin-bottom:var(--space-6)}
.fe-sample{display:inline-flex;align-items:center;min-height:24px;padding:0 10px;border:1px dashed var(--ui-warning);border-radius:var(--radius-full);background:var(--ui-warning-soft);color:var(--ui-warning);font-size:13px;line-height:1;white-space:nowrap}
[hidden]{display:none!important}

/* top of the page */
.fe-hero{position:relative;overflow:hidden;background:linear-gradient(155deg,var(--ui-gate-bg-start),var(--ui-gate-bg-end) 70%);padding:20px 0 96px}
.fe-hero::before,.fe-hero::after{content:"";position:absolute;width:420px;height:420px;border:1px solid #ffffff38;border-radius:50%;pointer-events:none}
.fe-hero::before{top:-190px;right:-120px}
.fe-hero::after{bottom:-240px;left:-130px}
.fe-nav{position:relative;z-index:2;display:flex;align-items:center;gap:28px;padding:10px 12px 10px 20px;border-radius:var(--radius-xl);background:var(--ui-surface);box-shadow:var(--shadow-md)}
.fe-hero-card{position:relative;z-index:1;width:min(780px,100%);margin:128px auto 0;padding:88px 56px 44px;border-radius:var(--radius-2xl);background:var(--ui-surface);box-shadow:var(--shadow-lg);text-align:center}
.fe-mascot{position:absolute;top:-104px;left:50%;width:190px;height:190px;transform:translateX(-50%);filter:drop-shadow(0 10px 14px #075b7d30)}
.fe-hero-card h1{font-size:clamp(36px,5.6vw,60px);line-height:1.16;letter-spacing:-.015em;color:var(--ui-primary-text)}
.fe-hero-card .fe-lead{margin-inline:auto;max-width:560px}
.fe-hero-card .fe-actions{justify-content:center;margin-top:28px}

/* the figures under the top of the page; only when real ones exist */
.fe-stats-card{position:relative;z-index:2;margin:-52px auto 0;width:min(1020px,calc(100% - 32px));padding:28px 32px;border-radius:var(--radius-2xl);background:var(--ui-surface);box-shadow:var(--shadow-md)}
.fe-stats-card .fe-stat b{font-size:clamp(26px,3.4vw,38px);color:var(--ui-primary-text)}
.fe-stats-note{margin-bottom:var(--space-5);color:var(--ui-text-muted);font-size:14px}

.fe-tour{width:min(1180px,100%);margin:0 auto}

/* what it does */
.fe-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-4)}
.fe-card{padding:var(--space-6);border:1px solid var(--ui-border-subtle);border-radius:var(--radius-lg);background:var(--ui-surface)}
.fe-card .fe-ic{color:var(--ui-primary-text)}
.fe-card h3{margin:var(--space-2) 0 var(--space-1);font-size:22px;line-height:1.3}
.fe-card>p{color:var(--ui-text-secondary);font-size:15px;line-height:1.5}
.fe-card ul{display:grid;gap:var(--space-2);margin-top:14px;padding-top:14px;border-top:1px solid var(--ui-border-subtle);font-size:14.5px;line-height:1.45}
.fe-card li{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-2)}
.fe-points{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px 40px}
.fe-points li{display:flex;gap:14px}
.fe-points .fe-ic{margin-top:3px;color:var(--ui-primary-text)}
.fe-points h3{font-size:18px;line-height:1.4}
.fe-points p{color:var(--ui-text-secondary);font-size:15px;line-height:1.5}

/* plan finder */
.fe-find{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--space-6);width:min(920px,100%);margin:0 auto}
.fe-find-form{display:grid;gap:18px;padding:28px;border-radius:var(--radius-2xl);background:var(--ui-bg)}
.fe-field{display:flex;justify-content:space-between;align-items:center;gap:var(--space-3)}
.fe-step{display:inline-flex;align-items:center;border:1px solid var(--ui-border);border-radius:var(--radius-control);background:var(--ui-surface)}
.fe-step button{width:44px;height:44px;border:0;background:none;cursor:pointer;color:var(--ui-primary-text);font-size:20px}
.fe-step output{min-width:44px;text-align:center}
.fe-find-form select{height:44px;max-width:170px;padding:0 var(--space-3);border:1px solid var(--ui-border);border-radius:var(--radius-control);background:var(--ui-surface)}
.fe-check{display:flex;align-items:center;gap:10px;min-height:32px;cursor:pointer}
.fe-check input{flex:none;width:20px;height:20px;accent-color:var(--ui-primary-fill)}
.fe-result{position:relative;display:flex;flex-direction:column;padding:28px;border-radius:var(--radius-2xl);background:var(--ui-primary-soft)}
.fe-result>img{position:absolute;right:var(--space-4);top:var(--space-3);width:84px;height:84px}
.fe-result small{color:var(--ui-text-muted);font-size:14px}
.fe-result-plan{display:flex;flex:1;flex-direction:column}
.fe-result h3{font-size:32px;line-height:1.25;color:var(--ui-primary-text)}
.fe-result-price{margin-top:var(--space-2);font-size:28px}
.fe-result-price small{font-size:15px}
.fe-result ul{display:grid;gap:var(--space-1);margin:14px 0 20px;color:var(--ui-text-secondary);font-size:15px}
.fe-result .fe-btn{margin-top:auto}
.fe-compare{width:min(920px,100%);margin:20px auto 0}
.fe-compare summary{display:flex;align-items:center;justify-content:center;min-height:44px;cursor:pointer;color:var(--ui-primary-text)}
.fe-private{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:var(--space-4);width:min(920px,100%);margin:var(--space-6) auto 0;padding:var(--space-6) 28px;border-radius:var(--radius-2xl);background:var(--fe-ink);color:#fff}
.fe-private h3{font-size:22px;line-height:1.35}
.fe-private p{color:#C9D3DF;font-size:15px}
.fe-private .fe-btn.secondary{color:var(--ui-text)}

/* end of the page */
.fe-two{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,4fr);gap:64px}
.fe-two h2{margin-bottom:var(--space-4);font-size:30px;line-height:1.3}
.fe-foot-co{margin-top:var(--space-3)}

/* a page that does not exist */
.fe-error main{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-3);min-height:100vh;padding:var(--space-6);text-align:center}
.fe-error h1{margin-top:var(--space-4);font-size:32px;line-height:1.3}
.fe-error p{color:var(--ui-text-secondary)}

@media(max-width:1080px){.fe-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:860px){.fe-sec{padding:64px 0}.fe-two,.fe-find{grid-template-columns:1fr;gap:40px}.fe-find{gap:var(--space-6)}.fe-points{grid-template-columns:repeat(2,minmax(0,1fr))}.fe-hero-card{padding:88px 20px 32px;margin-top:124px}.fe-nav .fe-btn.secondary{display:none}}
@media(max-width:560px){.fe-cards,.fe-points{grid-template-columns:1fr}.fe-stats-card{padding:20px}.fe-hero-card h1{font-size:30px}.fe-tabs{flex-wrap:nowrap}.fe-tabs button{flex:1 1 0;min-width:0;padding:0 var(--space-2)}.fe-seg button{min-height:var(--control-lg)}}
