/* ============================================================
   Smile Playground — Shared Styles
   ใช้ร่วมกันทุกหน้า sitelink (quote, catalog, why-us, portfolio)
   ============================================================ */
:root{
  --blue-50:#EAF4FF;
  --blue-100:#D6E8FF;
  --blue-200:#A9CDFF;
  --blue-400:#3D8BFF;
  --blue-500:#1F6FE5;
  --blue-600:#0B58CC;
  --blue-700:#073F94;
  --blue-900:#062553;
  --white:#FFFFFF;
  --ink:#0E1A2B;
  --muted:#6A7A8C;
  --line:#E3ECF6;
  --shadow:0 18px 40px -22px rgba(11,88,204,.35);
  --shadow-lg:0 28px 60px -28px rgba(11,88,204,.45);
  --radius:18px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  font-family:'Prompt','Inter',system-ui,sans-serif;
  color:var(--ink);background:#fff;line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
.container{max-width:1200px;margin:0 auto;padding:0 24px}

/* ===== NAVBAR ===== */
.nav{
  position:sticky;top:0;z-index:50;
  background:rgba(255,255,255,.92);backdrop-filter:saturate(140%) blur(14px);
  border-bottom:1px solid var(--line);
}
.nav-inner{display:flex;align-items:center;justify-content:space-between;height:64px}
.logo{display:flex;align-items:center;gap:10px;font-weight:800}
.logo-mark{
  width:36px;height:36px;border-radius:10px;
  background:linear-gradient(135deg,var(--blue-500),var(--blue-700));
  display:grid;place-items:center;color:#fff;font-weight:800;
  box-shadow:var(--shadow);
}
.logo span{font-size:17px;color:var(--blue-900)}
.logo small{display:block;font-size:9px;color:var(--muted);font-weight:500;letter-spacing:2px}
.nav-links{display:flex;gap:24px;align-items:center}
.nav-links a{font-size:14px;font-weight:500;color:var(--ink);transition:.2s}
.nav-links a:hover,.nav-links a.active{color:var(--blue-600)}
.nav-cta{
  background:linear-gradient(135deg,var(--blue-500),var(--blue-700));
  color:#fff !important;padding:9px 18px;border-radius:999px;
  font-weight:600;font-size:13px;box-shadow:var(--shadow);
}
.burger{display:none;font-size:24px;background:none;border:0;color:var(--blue-700);cursor:pointer}
#nav-backdrop{position:fixed;inset:0;background:rgba(6,37,83,.42);backdrop-filter:blur(2px);z-index:29;opacity:0;visibility:hidden;transition:.25s}
#nav-backdrop.show{opacity:1;visibility:visible}

/* ===== BUTTONS ===== */
.btn{
  display:inline-flex;align-items:center;gap:10px;
  padding:14px 24px;border-radius:12px;
  font-weight:600;font-size:15px;cursor:pointer;border:0;
  transition:.25s;font-family:inherit;
}
.btn-primary{
  background:linear-gradient(135deg,var(--blue-500),var(--blue-700));
  color:#fff;box-shadow:var(--shadow-lg);
}
.btn-primary:hover{transform:translateY(-2px)}
.btn-ghost{background:#fff;color:var(--blue-700);border:1.5px solid var(--blue-200)}
.btn-ghost:hover{border-color:var(--blue-500);background:var(--blue-50)}
.btn-white{background:#fff;color:var(--blue-700)}
.btn-outline-white{background:transparent;color:#fff;border:1.5px solid rgba(255,255,255,.4)}

/* ===== PAGE HERO (sitelink pages) ===== */
.page-hero{
  background:
    radial-gradient(900px 500px at 85% -10%, rgba(61,139,255,.18), transparent 60%),
    radial-gradient(700px 400px at -10% 30%, rgba(11,88,204,.14), transparent 60%),
    linear-gradient(180deg,#F4F9FF 0%, #FFFFFF 100%);
  padding:46px 0 34px;text-align:center;
}
.eyebrow{
  display:inline-flex;align-items:center;gap:8px;
  background:#fff;border:1px solid var(--blue-100);color:var(--blue-700);
  padding:7px 14px;border-radius:999px;font-size:12px;font-weight:600;
  box-shadow:var(--shadow);
}
.eyebrow .dot{
  width:7px;height:7px;border-radius:50%;background:var(--blue-500);
  animation:pulse 2s infinite;
}
@keyframes pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.4)}}
.page-hero h1{
  font-size:42px;line-height:1.15;font-weight:800;color:var(--blue-900);
  margin:18px 0 14px;letter-spacing:-.5px;max-width:780px;margin-left:auto;margin-right:auto;
}
.page-hero h1 .accent{
  background:linear-gradient(135deg,var(--blue-500),var(--blue-700));
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
.page-hero p.lead{font-size:17px;color:var(--muted);max-width:680px;margin:0 auto 24px}
.cta-row{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}

/* ===== SECTION ===== */
section{padding:34px 0}
.section-head{text-align:center;max-width:720px;margin:0 auto 24px}
.section-tag{
  display:inline-block;font-size:12px;font-weight:600;letter-spacing:3px;
  color:var(--blue-600);text-transform:uppercase;margin-bottom:10px;
}
.section-head h2{font-size:32px;font-weight:800;color:var(--blue-900);letter-spacing:-.5px;line-height:1.2}
.section-head p{font-size:16px;color:var(--muted);margin-top:10px}

/* ===== CTA BANNER ===== */
.cta-banner{
  background:linear-gradient(135deg,var(--blue-700),var(--blue-900));
  color:#fff;padding:30px 0;position:relative;overflow:hidden;
}
.cta-banner::before{
  content:"";position:absolute;width:500px;height:500px;border-radius:50%;
  background:radial-gradient(circle,rgba(61,139,255,.4),transparent 70%);
  top:-200px;right:-200px;
}
.cta-inner{position:relative;text-align:center;max-width:680px;margin:0 auto}
.cta-inner h2{font-size:30px;font-weight:800;margin-bottom:12px;letter-spacing:-.5px}
.cta-inner p{font-size:16px;opacity:.85;margin-bottom:22px}
.cta-row-white{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}

/* ===== FOOTER ===== */
footer{background:var(--blue-900);color:#fff;padding:24px 0 14px}
.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px;margin-bottom:16px}
.foot-brand p{font-size:14px;opacity:.7;margin-top:14px;line-height:1.7}
.foot-col h4{font-size:14px;font-weight:700;margin-bottom:14px;letter-spacing:1px}
.foot-col ul{list-style:none}
.foot-col li{margin-bottom:8px}
.foot-col a{font-size:14px;opacity:.7;transition:.2s}
.foot-col a:hover{opacity:1;color:var(--blue-200)}
.foot-bottom{
  border-top:1px solid rgba(255,255,255,.1);padding-top:18px;
  display:flex;justify-content:space-between;align-items:center;
  font-size:13px;opacity:.6;flex-wrap:wrap;gap:14px;
}

/* ===== FLOATING CALL ===== */
.float-call{
  position:fixed;bottom:24px;right:24px;z-index:40;
  background:linear-gradient(135deg,var(--blue-500),var(--blue-700));
  color:#fff;padding:14px 22px;border-radius:999px;
  font-weight:700;display:flex;align-items:center;gap:10px;
  box-shadow:var(--shadow-lg);
}

/* ===== RESPONSIVE ===== */
@media (max-width: 900px){
  .nav-links{display:flex;position:fixed;top:0;right:0;bottom:0;width:min(80vw,320px);flex-direction:column;align-items:flex-start;gap:4px;background:#fff;padding:82px 26px 26px;box-shadow:-12px 0 44px rgba(6,37,83,.2);transform:translateX(105%);transition:transform .3s cubic-bezier(.4,0,.2,1);z-index:30;overflow-y:auto}
  .nav-links.open{transform:translateX(0)}
  .nav-links a{font-size:16px;padding:10px 0;width:100%;border-bottom:1px solid var(--line)}
  .burger{display:block}
  .page-hero h1{font-size:30px}
  .foot-grid{grid-template-columns:1fr 1fr;gap:30px}
  .section-head h2,.cta-inner h2{font-size:24px}
  section{padding:24px 0}
}
@media (max-width: 520px){
  .foot-grid{grid-template-columns:1fr}
  .page-hero h1{font-size:24px}
  .float-call span{display:none}
  .float-call{padding:14px}
}

/* LINE buttons */
.nav-line{background:linear-gradient(135deg,#06C755,#04A94A) !important;margin-left:8px}
.float-line{position:fixed;bottom:92px;right:24px;z-index:40;background:linear-gradient(135deg,#06C755,#04A94A);color:#fff;padding:14px 22px;border-radius:999px;font-weight:700;display:flex;align-items:center;gap:10px;box-shadow:0 18px 40px -18px rgba(4,169,74,.55)}

/* Floating CTA pair (call + LINE) — เล็กลง ~12% วางคู่กัน */
.float-cta{position:fixed;bottom:18px;right:18px;z-index:40;display:flex;gap:8px;align-items:center}
.float-cta .float-call,.float-cta .float-line{position:static;bottom:auto;right:auto;padding:11px 18px;font-size:13.5px;animation:none;gap:8px}
@media (max-width:980px){.float-cta .float-call span,.float-cta .float-line span{display:none}.float-cta .float-call,.float-cta .float-line{padding:12px}}
