/* AuraWhite shared page styles — used by service/promo/reviews/contact pages */
:root{
  --aura-blue:#1E6FD9; --deep-blue:#0B5D93; --sky-blue:#83CFF4;
  --blush-pink:#F7D8E4; --soft-lavender:#B79BE8; --cloud-white:#F8FAFD;
  --charcoal:#3F4C5D; --line-green:#04863C; --price-red:#E8362E; --gold:#F5A623;
  --radius:18px; --shadow:0 4px 20px rgba(11,93,147,.08);
  --grad-aura:linear-gradient(93deg,#1E6FD9 0%,#B79BE8 38%,#F27BA9 70%,#E8362E 100%);
  --grad-soft:linear-gradient(135deg,#EAF4FE 0%,#F6EFFA 55%,#FDEEF5 100%);
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:'Prompt','Noto Sans Thai',sans-serif;font-size:17px;line-height:1.75;color:var(--charcoal);background:var(--cloud-white);padding-bottom:70px}
h1,h2,h3{font-family:'Mitr','Prompt',sans-serif;font-weight:600;color:var(--deep-blue);line-height:1.4;letter-spacing:-.01em}
h1{font-size:clamp(2rem,1.71rem + 1.43vw,2.4rem)} h2{font-size:clamp(1.5rem,1.32rem + 0.89vw,1.75rem);margin:34px 0 12px} h3{font-size:clamp(1.18rem,1.13rem + 0.25vw,1.25rem);margin:18px 0 8px}
p{margin-bottom:14px} ul,ol{padding-left:24px;margin-bottom:14px}
img{max-width:100%;display:block}
a{text-decoration:none;color:var(--aura-blue)}
.wrap{max-width:980px;margin:0 auto;padding:0 20px}
.grad-text{background:var(--grad-aura);-webkit-background-clip:text;background-clip:text;color:transparent}
.kicker{display:inline-block;background:#E7F1FD;color:#1A62BE;font-weight:600;font-size:.85rem;padding:6px 16px;border-radius:999px;margin-bottom:12px}
.kicker.pink{background:#FDECF3;color:#C2306B}
.kicker.lav{background:#F1EAFB;color:#6D3FBF}
.kicker.gold{background:#FEF3DC;color:#8A5606}

/* header/nav */
header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.94);backdrop-filter:blur(10px);box-shadow:0 1px 0 rgba(11,93,147,.08)}
.nav{display:flex;align-items:center;justify-content:space-between;height:66px;gap:12px}
.brand{display:flex;align-items:center;gap:10px}
.brand img{height:42px;width:auto}
.brand-name{font-family:'Prompt';font-weight:600;color:var(--deep-blue);font-size:1rem;line-height:1.15}
.brand-name small{display:block;font-family:'Prompt';font-weight:400;font-size:.64rem;letter-spacing:.14em;color:var(--aura-blue)}
nav.links{display:flex;gap:18px;font-weight:500;font-size:.92rem}
nav.links a{color:var(--charcoal)}
nav.links a:hover,nav.links a.on{color:var(--aura-blue)}
@media(max-width:960px){nav.links{display:none}}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:'Prompt';font-weight:600;font-size:1rem;border-radius:999px;padding:13px 24px;min-height:48px;transition:.2s;border:2px solid transparent}
.btn-line{background:var(--line-green);color:#fff;box-shadow:0 6px 18px rgba(4,134,60,.3)}
.btn-line:hover{filter:brightness(1.06)}
.btn-call{background:var(--aura-blue);color:#fff}
.btn-map{border-color:var(--aura-blue);color:var(--aura-blue);background:#fff}
.btn-sm{padding:10px 20px;min-height:42px;font-size:.9rem}

/* page hero */
.page-hero{background:
  radial-gradient(480px 340px at 6% 10%,rgba(131,207,244,.35),transparent 60%),
  radial-gradient(520px 380px at 96% 24%,rgba(247,216,228,.5),transparent 60%),
  var(--cloud-white);
  padding:48px 0 36px}
.page-hero .sub{color:#5b6c81;max-width:680px;margin:12px 0 22px}
.hero-ctas{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:18px}
.trust{display:flex;flex-wrap:wrap;gap:10px}
.trust span{background:#fff;border:1px solid #E9E2F2;border-radius:999px;padding:7px 15px;font-size:.83rem;font-weight:500;box-shadow:0 2px 8px rgba(11,93,147,.05)}
.crumb{font-size:.82rem;color:#5B6A7D;margin-bottom:10px}
.crumb a{color:#5B6A7D}

/* cards & grids */
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
@media(max-width:820px){.grid2,.grid3{grid-template-columns:1fr}}
.box{background:#fff;border-radius:var(--radius);box-shadow:var(--shadow);padding:22px 24px}
.box.accent{border-top:4px solid var(--accent,var(--aura-blue))}
.check-list{list-style:none;padding:0}
.check-list li{padding:6px 0 6px 30px;position:relative}
.check-list li::before{content:"✓";position:absolute;left:2px;color:var(--line-green);font-weight:700}
.warn-list li::before{content:"•";color:var(--price-red)}
.price-tag{font-family:'Prompt';font-weight:600;color:var(--price-red);font-size:1.15rem}

/* price table */
.tbl{width:100%;background:#fff;border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden;border-collapse:collapse;margin:8px 0 12px}
.tbl th{background:var(--deep-blue);color:#fff;font-family:'Prompt';font-weight:500;text-align:left;padding:12px 18px;font-size:.95rem}
.tbl td{padding:12px 18px;border-top:1px solid #EEF3F9;font-size:.95rem;vertical-align:top}
.tbl td:last-child{white-space:nowrap;font-weight:600;color:var(--deep-blue)}
.tbl tr:nth-child(even) td{background:#FAFCFE}
@media(max-width:760px){.tbl td:last-child{white-space:normal}}

/* steps */
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:10px 0}
.step{background:#fff;border-radius:var(--radius);box-shadow:var(--shadow);padding:22px}
.step .num{font-family:'Prompt';font-size:2rem;font-weight:700;line-height:1;margin-bottom:8px;background:var(--grad-aura);-webkit-background-clip:text;background-clip:text;color:transparent}
@media(max-width:820px){.steps{grid-template-columns:1fr}}

/* FAQ */
.faq details{background:#fff;border-radius:14px;box-shadow:var(--shadow);margin-bottom:12px;padding:4px 22px}
.faq summary{font-family:'Prompt';font-weight:500;color:var(--deep-blue);font-size:1rem;cursor:pointer;padding:13px 0;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:10px}
.faq summary::after{content:"+";font-size:1.4rem;color:var(--aura-blue)}
.faq details[open] summary::after{content:"—";font-size:1rem}
.faq details p{padding:0 0 16px;font-size:.93rem;color:#5b6c81}

/* CTA band */
.cta-band{background:linear-gradient(110deg,#1E6FD9 0%,#7D6BE0 45%,#D9569C 80%,#E8362E 110%);border-radius:24px;padding:36px;color:#fff;display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;margin:40px 0;box-shadow:0 16px 40px rgba(30,111,217,.28)}
.cta-band h2{color:#fff;margin:0 0 4px;font-size:1.4rem}
.cta-band p{color:#EDE7FF;font-size:.93rem;margin:0}
.cta-band .btns{display:flex;gap:12px;flex-wrap:wrap}
.btn-white{background:#fff;color:var(--deep-blue)}

/* review gallery */
.rev-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:14px 0}
.rev-gallery figure{background:#fff;border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}
/* รูปรีวิวมีข้อความฝังในภาพ ห้ามครอป — แสดงเต็มตามสัดส่วนจริง */
.rev-gallery img{width:100%;height:auto;display:block}
.rev-gallery video{width:100%;aspect-ratio:4/5;object-fit:cover}
.rev-gallery figcaption{padding:10px 14px;font-size:.85rem;color:#5b6c81}
@media(max-width:760px){.rev-gallery{grid-template-columns:1fr 1fr}}
/* มือถือแคบ: รีวิวมีข้อความฝังในรูป ต้องแสดงคอลัมน์เดียวให้อ่านออก */
@media(max-width:520px){.rev-gallery{grid-template-columns:1fr;gap:14px}}

.disclaimer{font-size:.8rem;color:#5B6A7D;margin:16px 0}
footer{background:var(--deep-blue);color:#BBD5EA;padding:38px 0 40px;font-size:.88rem;margin-top:40px}
.foot{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap}
footer .fbrand{color:#fff;font-family:'Prompt';font-weight:600;font-size:1.05rem;margin-bottom:6px}
footer a{color:#fff}

/* sticky bar */
.sticky-bar{position:fixed;left:0;right:0;bottom:0;z-index:60;display:grid;grid-template-columns:1fr 1.5fr 1fr;gap:8px;background:rgba(255,255,255,.97);box-shadow:0 -4px 20px rgba(11,93,147,.14);padding:8px 10px calc(8px + env(safe-area-inset-bottom))}
.sticky-bar a{display:flex;align-items:center;justify-content:center;gap:6px;min-height:48px;border-radius:12px;font-weight:600;font-size:.9rem}
.sb-call{background:#EAF2FC;color:#1A62BE}
.sb-line{background:var(--line-green);color:#fff;box-shadow:0 4px 14px rgba(4,134,60,.35)}
.sb-map{background:#F1F5FA;color:var(--charcoal)}

/* ===== ฟอร์มลงทะเบียน (AuraWhite) ===== */
.awf{--b:#1E6FD9;--d:#0B5D93;--c:#3F4C5D;--line:#04863C;background:#fff;border-radius:18px;
 box-shadow:0 4px 20px rgba(11,93,147,.10);padding:26px 24px;margin:30px 0;border-top:5px solid var(--b)}
.awf h2{font-family:'Prompt',sans-serif;color:var(--d);font-size:1.25rem;margin:0 0 6px;line-height:1.5}
.awf .awf-sub{font-size:.94rem;color:#5B6A7D;margin:0 0 18px}
.awf label{display:block;font-weight:500;font-size:.92rem;color:var(--c);margin-bottom:6px}
.awf .req{color:#C62016}
.awf-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.awf-f{margin-bottom:16px}
.awf input[type=text],.awf input[type=tel],.awf select{width:100%;font-family:inherit;font-size:16px;
 color:var(--c);background:#FAFCFE;border:1.5px solid #DCE7F3;border-radius:12px;padding:12px 14px;
 min-height:48px;transition:border-color .15s,box-shadow .15s}
.awf input:focus,.awf select:focus{outline:none;border-color:var(--b);box-shadow:0 0 0 3px rgba(30,111,217,.13);background:#fff}
.awf select{appearance:none;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='9' viewBox='0 0 14 9'%3E%3Cpath fill='%230B5D93' d='M1 1l6 6 6-6'/%3E%3C/svg%3E");
 background-repeat:no-repeat;background-position:right 15px center;padding-right:40px}
.awf-chips{display:flex;flex-wrap:wrap;gap:9px}
.awf-chip{position:relative}
.awf-chip input{position:absolute;opacity:0;width:0;height:0}
.awf-chip span{display:inline-block;font-size:.9rem;padding:10px 16px;min-height:44px;line-height:24px;
 border:1.5px solid #DCE7F3;border-radius:999px;background:#FAFCFE;color:var(--c);cursor:pointer;transition:all .15s}
.awf-chip input:checked+span{background:var(--b);border-color:var(--b);color:#fff;font-weight:500}
.awf-chip input:focus-visible+span{box-shadow:0 0 0 3px rgba(30,111,217,.3)}
.awf-chip span:hover{border-color:var(--b)}
.awf-submit{width:100%;font-family:'Prompt',sans-serif;font-size:1.02rem;font-weight:500;color:#fff;
 background:var(--b);border:none;border-radius:999px;padding:14px;min-height:52px;cursor:pointer;
 margin-top:6px;transition:filter .15s}
.awf-submit:hover{filter:brightness(1.08)}
.awf-submit:disabled{opacity:.6;cursor:not-allowed}
.awf-note{font-size:.8rem;color:#5B6A7D;text-align:center;margin:12px 0 0;line-height:1.6}
.awf-err{display:none;font-size:.86rem;color:#E8362E;margin-top:8px}
.awf-err.on{display:block}
.awf-ok{display:none;text-align:center;padding:14px 4px}
.awf-ok.on{display:block}
.awf-ok .ic{font-size:2.6rem;line-height:1}
.awf-ok h3{font-family:'Prompt',sans-serif;color:var(--d);font-size:1.15rem;margin:10px 0 8px}
.awf-ok p{font-size:.95rem;color:#5B6A7D;margin:0 0 16px}
.awf-ok a{display:inline-flex;align-items:center;gap:8px;background:var(--line);color:#fff;font-weight:600;
 text-decoration:none;border-radius:999px;padding:12px 24px;min-height:46px}
@media(max-width:600px){.awf{padding:22px 18px}.awf-row{grid-template-columns:1fr;gap:0}}

/* เฟส 1: หัวเว็บมือถือไม่ล้นกรอบ (ปุ่มตัดบรรทัดที่ <=430px) */
@media(max-width:430px){header .btn,header .nav .btn,header .wrap .btn{font-size:.78rem;padding:0 13px;min-height:44px;white-space:nowrap;line-height:1;gap:5px}}

/* ลิงก์นโยบายใน footer */
.foot-legal{margin-top:10px;font-size:.85rem}
.foot-legal a{text-decoration:underline}
.foot-legal button{background:none;border:0;color:#fff;font:inherit;text-decoration:underline;cursor:pointer;padding:0}

/* หน้านโยบาย — ตารางและกล่องเนื้อหายาว */
.legal h2{margin-top:30px}
.legal h3{margin-top:20px}
.legal .updated{font-size:.88rem;color:#5B6A7D;margin-bottom:0}
/* ตารางในหน้านโยบายมีข้อความยาว ต้องยอมให้ตัดบรรทัด (ทับกฎ nowrap ของตารางราคา) */
.legal .tbl td:last-child{white-space:normal;font-weight:400;color:var(--charcoal)}
.legal .tbl td{vertical-align:top}
@media(max-width:600px){.legal .tbl,.legal .tbl tbody,.legal .tbl tr,.legal .tbl td,.legal .tbl th{display:block;width:100%}
  .legal .tbl td{border-top:0;padding:2px 16px}
  .legal .tbl tr{border-top:1px solid #EEF3F9;padding:10px 0}
  .legal .tbl td:first-child{font-weight:600;color:var(--deep-blue);padding-top:10px}}
