:root{
  --aq:#f7f5fc; --vjc:#1c142a; --zy:#6d28d9; --fxp:#827e8a; --xvw:#d6d5d9;
  --ngu:8px; --ej:640px;
  --rvn:0.90rem; --yw:1.80rem; --gm:2.70rem;
}
*{box-sizing:border-box;margin:0;padding:0}
html{font-size:16px;-webkit-text-size-adjust:100%}
body{background:var(--aq);color:var(--vjc);font-family:'Sarabun',-apple-system,'Segoe UI',Tahoma,sans-serif;line-height:1.75;font-size:1.05rem}
a{color:var(--zy);text-decoration:none}
a:hover{text-decoration:underline}
img{max-width:100%;height:auto;border-radius:var(--ngu)}
h1,h2,h3{font-family:'KoHo',sans-serif;font-weight:600;line-height:1.3;color:var(--vjc)}
h1{font-size:2rem;margin-bottom:var(--rvn)}
h2{font-size:1.5rem;margin:var(--yw) 0 var(--rvn)}
h3{font-size:1.2rem;margin:var(--rvn) 0}
p{margin-bottom:var(--rvn)}
ul{margin:0 0 var(--rvn) 1.4rem}
li{margin-bottom:.35rem}
.ftlv-container{max-width:var(--ej);margin:0 auto;padding:0 var(--rvn)}
section{margin-bottom:var(--yw)}

.ftlv-header{border-bottom:1px solid var(--xvw);padding:var(--rvn) 0;margin-bottom:var(--yw)}
.ftlv-brand{font-family:inherit;font-weight:700;font-size:1.4rem;color:var(--vjc)}
.ftlv-brand span{color:var(--zy)}
.ftlv-nav{display:flex;gap:var(--rvn)}
.ftlv-nav a{color:var(--fxp);font-size:.95rem}
.ftlv-header .ftlv-container{display:flex;align-items:center;gap:var(--rvn)}
.ftlv-header{background:var(--zy);border:none;margin-bottom:var(--yw)}
.ftlv-brand,.ftlv-brand span,.ftlv-nav a{color:#fff}
.ftlv-header .ftlv-container{justify-content:space-between}
.ftlv-layout{display:block}
.ftlv-main{min-width:0}
.ftlv-sidebar{display:none}
.ftlv-card{background:var(--aq);margin-bottom:var(--rvn);overflow:hidden}
.ftlv-card h3{margin-top:.5rem}
.ftlv-card img{width:100%;aspect-ratio:16/9;object-fit:cover}
.ftlv-card{position:relative;border-radius:var(--ngu)}
.ftlv-card img{aspect-ratio:16/10}
.ftlv-card h3{position:absolute;bottom:0;left:0;right:0;margin:0;padding:var(--rvn);color:#fff;background:linear-gradient(transparent,rgba(0,0,0,.8))}
.ftlv-card h3 a{color:#fff}
.ftlv-card p,.ftlv-card .ftlv-meta{padding:0 var(--rvn)}
.ftlv-footer{border-top:1px solid var(--xvw);margin-top:var(--gm);padding:var(--yw) 0;color:var(--fxp);font-size:.9rem}
.ftlv-footer .ftlv-container{text-align:center}
.ftlv-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:var(--yw)}
.ftlv-grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--yw)}
.ftlv-masonry{columns:3 260px;column-gap:var(--yw)}
.ftlv-masonry .ftlv-card{break-inside:avoid;margin-bottom:var(--yw)}
.ftlv-list .ftlv-card{border:none;border-bottom:1px solid var(--xvw);border-radius:0;padding:var(--rvn) 0}
.ftlv-timeline .ftlv-card{border-left:2px solid var(--zy);border-radius:0;padding-left:var(--rvn);margin-bottom:var(--yw)}

.ftlv-hero{padding:var(--yw) 0;}
.ftlv-hero p{color:var(--fxp);font-size:1.15rem}
.ftlv-article{max-width:720px}
.ftlv-article .ftlv-meta{color:var(--fxp);font-size:.9rem;margin-bottom:var(--yw)}
.ftlv-article a{text-decoration:underline}
.ftlv-meta{color:var(--fxp);font-size:.85rem}

.ftlv-figure{margin:0 0 var(--rvn)}
.ftlv-figure figcaption{font-size:.85rem;color:var(--fxp);text-align:center;margin-top:.4rem}
.ftlv-legal{font-size:.8rem;margin-top:.5rem}
.ftlv-crumb{font-size:.85rem;color:var(--fxp);margin-bottom:var(--rvn)}
.ftlv-crumb a{color:var(--zy)}
.ftlv-toc{border:1px solid var(--xvw);border-radius:var(--ngu);padding:var(--rvn);margin:var(--rvn) 0;background:var(--aq)}
.ftlv-toc .tt{font-weight:700;margin-bottom:.4rem}
.ftlv-toc ol{margin:0 0 0 1.2rem}
.ftlv-toc li{margin-bottom:.25rem}
.ftlv-toc a{color:var(--zy)}
.ftlv-tags{display:flex;flex-wrap:wrap;gap:.5rem;margin:var(--rvn) 0}
.ftlv-tags span{font-size:.8rem;background:var(--xvw);color:var(--vjc);padding:.2rem .7rem;border-radius:999px}
.ftlv-authorbox{display:flex;gap:var(--rvn);align-items:center;margin:var(--yw) 0;padding:var(--rvn);border:1px solid var(--xvw);border-radius:var(--ngu);background:var(--aq)}
.ftlv-authorbox .av{width:56px;height:56px;border-radius:50%;background:var(--zy);color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.4rem;font-weight:700;flex-shrink:0;object-fit:cover}
.ftlv-authorbox .an{font-weight:700}
.ftlv-authorbox .ab{font-size:.9rem;color:var(--fxp)}
.ftlv-related{margin-top:var(--gm);border-top:1px solid var(--xvw);padding-top:var(--rvn)}
.ftlv-related ul{list-style:none;margin:0}
.ftlv-related li{margin-bottom:.5rem}
.ftlv-comments{margin-top:var(--yw);border-top:1px solid var(--xvw);padding-top:var(--rvn)}
.ftlv-comments .cbox{border:1px solid var(--xvw);border-radius:var(--ngu);padding:var(--rvn);color:var(--fxp);font-size:.9rem;text-align:center}

@media(max-width:820px){
  .ftlv-layout{display:block !important}
  .ftlv-sidebar{width:100% !important;margin-top:var(--yw)}
  .ftlv-grid,.ftlv-grid3,.ftlv-masonry{grid-template-columns:1fr !important;columns:1 !important}
  .ftlv-header .ftlv-container{flex-direction:column !important;align-items:flex-start !important;gap:.5rem}
  .ftlv-stats{gap:var(--rvn) !important}
  h1{font-size:1.6rem}
}
/* archetype sections (ธุรกิจ/บริการ/รีวิว) */
.ftlv-btn{display:inline-block;background:var(--zy);color:#fff;padding:.6rem 1.4rem;border-radius:var(--ngu);margin-top:var(--rvn);font-weight:600}
.ftlv-tcard{border:1px solid var(--xvw);border-radius:var(--ngu);padding:var(--rvn);background:var(--aq)}
.ftlv-tcard h3{margin-top:0}
.ftlv-stats{display:flex;flex-wrap:wrap;gap:var(--gm);margin:var(--yw) 0;padding:var(--yw) 0;border-top:1px solid var(--xvw);border-bottom:1px solid var(--xvw)}
.ftlv-stats>div{display:flex;flex-direction:column}
.ftlv-stats strong{font-size:1.9rem;color:var(--zy);font-family:'KoHo',sans-serif}
.ftlv-stats span{color:var(--fxp);font-size:.9rem}
.ftlv-more{display:inline-block;margin-top:var(--rvn);color:var(--zy);font-weight:600}
/* webboard (รายการกระทู้) */
.ftlv-threads{display:flex;flex-direction:column}
.ftlv-thread{display:flex;align-items:center;gap:var(--rvn);padding:var(--rvn) 0;border-bottom:1px solid var(--xvw)}
.ftlv-thread-main{flex:1;min-width:0}
.ftlv-thread-main a{font-weight:600}
.ftlv-thread-stat{text-align:center;min-width:58px;color:var(--fxp)}
.ftlv-thread-stat span{display:block;font-weight:700;color:var(--vjc)}
.ftlv-thread-stat small{font-size:.75rem}
/* listing (ประกาศ/สินค้า) */
.ftlv-listing{position:relative}
.ftlv-chip{display:inline-block;background:var(--zy);color:#fff;font-size:.72rem;padding:.15rem .6rem;border-radius:999px;margin-bottom:.3rem}