/* ===== Knowledge bank, Thailand practice, tools, booking ===== */
.k-hero{padding:72px 0 40px;}
.k-hero h1{font-size:clamp(2.4rem,5vw,4rem);max-width:760px;}
.k-hero .k-lead{font-size:1.05rem;line-height:1.8;color:var(--m);max-width:620px;margin-top:20px;}
.k-chips{display:flex;flex-wrap:wrap;gap:8px;margin:28px 0 8px;}
.k-chip{border:1px solid var(--b);background:var(--w);padding:7px 14px;font-size:.74rem;letter-spacing:.06em;text-transform:uppercase;color:var(--m);cursor:pointer;font-family:var(--fb);}
.k-chip.on,.k-chip:hover{border-color:var(--d);color:var(--d);}
.k-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:36px;}
.k-card{display:flex;flex-direction:column;background:var(--w);border:1px solid var(--b);transition:border-color .2s;color:inherit;}
.k-card:hover{border-color:var(--o);}
.k-card .k-img{aspect-ratio:16/9;background:var(--c);overflow:hidden;}
.k-card .k-img img{width:100%;height:100%;object-fit:cover;}
.k-card .k-body{padding:22px 22px 24px;display:flex;flex-direction:column;flex:1;}
.k-kicker{font-size:.66rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--o);margin-bottom:10px;}
.k-card h3{font-size:1.18rem;line-height:1.3;margin-bottom:10px;}
.k-card p{font-size:.88rem;line-height:1.7;flex:1;}
.k-meta{font-size:.74rem;color:var(--m);margin-top:16px;letter-spacing:.02em;}
.k-empty{padding:56px 24px;text-align:center;border:1px dashed var(--b);color:var(--m);margin-top:36px;}
.k-article{max-width:740px;margin:0 auto;}
.k-article .k-head{padding:64px 0 28px;}
.k-article h1{font-size:clamp(2rem,4.4vw,3.2rem);line-height:1.12;}
.k-article .k-sum{font-size:1.12rem;line-height:1.75;color:var(--m);margin-top:20px;}
.k-byline{display:flex;flex-wrap:wrap;gap:6px 18px;font-size:.78rem;color:var(--m);margin-top:22px;padding-top:18px;border-top:1px solid var(--b);}
.k-cover{width:100%;max-height:440px;object-fit:cover;margin:8px 0 32px;}
.tb-prose{font-size:1.02rem;line-height:1.85;color:#333;}
.tb-prose h2{font-size:1.6rem;margin:40px 0 14px;}
.tb-prose h3{font-size:1.2rem;margin:30px 0 10px;}
.tb-prose p{margin:0 0 18px;color:#333;}
.tb-prose ul,.tb-prose ol{margin:0 0 18px;padding-left:24px;}
.tb-prose li{margin-bottom:8px;}
.tb-prose a{color:var(--o);text-decoration:underline;}
.tb-prose blockquote{border-left:3px solid var(--o);padding:4px 0 4px 18px;margin:24px 0;font-family:var(--fd);font-size:1.15rem;color:var(--d);}
.tb-prose table{width:100%;border-collapse:collapse;margin:20px 0;font-size:.9rem;}
.tb-prose th,.tb-prose td{border-bottom:1px solid var(--b);padding:10px 8px;text-align:left;}
.tb-prose th{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:var(--m);}
.tb-prose img{max-width:100%;height:auto;margin:16px 0;}
.k-sources{margin-top:40px;padding-top:22px;border-top:1px solid var(--b);}
.k-sources h4{margin-bottom:12px;}
.k-sources li{font-size:.84rem;line-height:1.7;color:var(--m);margin-left:18px;word-break:break-word;}
.k-note{background:var(--c);border-left:3px solid var(--o);padding:16px 18px;font-size:.86rem;line-height:1.7;color:var(--m);margin:28px 0;}
.k-share{display:flex;gap:10px;flex-wrap:wrap;margin:32px 0 0;}
.k-share a,.k-share button{border:1px solid var(--b);padding:8px 14px;font-size:.74rem;letter-spacing:.06em;text-transform:uppercase;color:var(--d);background:var(--w);cursor:pointer;font-family:var(--fb);}
.k-share a:hover,.k-share button:hover{border-color:var(--d);}
.k-news{background:var(--d);color:#fff;padding:40px;margin:56px 0 0;display:grid;grid-template-columns:1.2fr 1fr;gap:32px;align-items:center;}
.k-news h3{color:#fff;font-size:1.5rem;margin-bottom:8px;}
.k-news p{color:rgba(255,255,255,.6);font-size:.9rem;}
.k-form{display:flex;flex-direction:column;gap:10px;}
.k-form input[type=text],.k-form input[type=email],.k-form input[type=tel],.k-form select,.k-form textarea{width:100%;padding:13px 14px;border:1px solid var(--b);background:var(--w);font-family:var(--fb);font-size:.9rem;color:var(--d);}
.k-news .k-form input[type=email],.k-news .k-form input[type=text]{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.2);color:#fff;}
.k-form .k-row{display:flex;gap:10px;}
.k-form .k-row>*{flex:1;}
.k-consent{display:flex;gap:10px;align-items:flex-start;font-size:.76rem;line-height:1.55;color:var(--m);}
.k-news .k-consent{color:rgba(255,255,255,.55);}
.k-consent input{margin-top:3px;flex:none;}
.k-consent a{text-decoration:underline;}
.k-hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0;}
.k-ok{padding:16px 18px;background:#ECFDF3;color:#166534;font-size:.9rem;line-height:1.6;}
.k-news .k-ok{background:rgba(255,255,255,.08);color:#fff;}
.k-err{color:#B91C1C;font-size:.82rem;}
/* Thailand practice */
.k-decisions{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--b);border:1px solid var(--b);margin-top:44px;}
.k-dec{background:var(--w);padding:30px 26px;}
.k-dec .q{font-family:var(--fd);font-size:1.18rem;line-height:1.35;color:var(--d);margin-bottom:12px;}
.k-dec p{font-size:.86rem;}
.k-diag{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:44px;}
.k-dg{border:1px solid var(--b);background:var(--w);padding:30px 26px;display:flex;flex-direction:column;}
.k-dg h3{font-size:1.25rem;margin:6px 0 12px;}
.k-dg .k-q{font-family:var(--fd);font-style:italic;color:var(--d);margin-bottom:16px;line-height:1.5;}
.k-dg h5{font-size:.64rem;letter-spacing:.14em;text-transform:uppercase;color:var(--m);margin:16px 0 6px;font-weight:600;}
.k-dg ul{padding-left:18px;}
.k-dg li{font-size:.86rem;line-height:1.65;color:var(--m);margin-bottom:4px;}
.k-dg .btn{margin-top:22px;align-self:flex-start;}
.k-two{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:start;}
.k-two>*,.k-tool>*,.k-grid>*{min-width:0;}
.k-list{list-style:none;}
.k-list li{padding:14px 0;border-bottom:1px solid var(--b);font-size:.92rem;line-height:1.7;color:var(--m);}
.k-list li b{color:var(--d);font-weight:600;}
.k-lang{display:inline-flex;border:1px solid var(--b);margin-left:6px;}
.k-lang button{padding:5px 9px;font-size:.68rem;letter-spacing:.06em;background:var(--w);color:var(--m);border:none;cursor:pointer;font-family:var(--fb);}
.k-lang button.on{background:var(--d);color:#fff;}
/* Pulse */
.k-pulse-tbl{width:100%;border-collapse:collapse;margin-top:18px;font-size:.92rem;}
.k-pulse-tbl th{font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:var(--m);text-align:left;padding:10px 12px;border-bottom:2px solid var(--d);}
.k-pulse-tbl td{padding:12px;border-bottom:1px solid var(--b);vertical-align:top;}
.k-pulse-tbl td.v{font-weight:600;white-space:nowrap;}
.k-up{color:#166534;}.k-down{color:#B91C1C;}
.k-dest{font-family:var(--fd);font-size:1.4rem;margin:36px 0 4px;}
/* Glossary / FAQ */
.k-search{width:100%;max-width:420px;padding:13px 14px;border:1px solid var(--b);font-size:.92rem;font-family:var(--fb);margin-top:28px;}
.k-gl{margin-top:30px;columns:2;column-gap:56px;}
.k-gl .k-term{break-inside:avoid;padding:16px 0;border-bottom:1px solid var(--b);}
.k-gl dt{font-weight:600;font-size:.98rem;margin-bottom:6px;color:var(--d);}
.k-gl dd{font-size:.88rem;line-height:1.7;color:var(--m);}
.k-letter{font-family:var(--fd);font-size:1.6rem;color:var(--o);margin-top:18px;break-after:avoid;}
.k-faq details{border-bottom:1px solid var(--b);padding:18px 0;}
.k-faq summary{cursor:pointer;font-weight:600;font-size:1rem;list-style:none;display:flex;justify-content:space-between;gap:20px;color:var(--d);}
.k-faq summary::-webkit-details-marker{display:none;}
.k-faq summary::after{content:"+";color:var(--o);font-size:1.3rem;line-height:1;}
.k-faq details[open] summary::after{content:"\2212";}
.k-faq .tb-prose{margin-top:12px;font-size:.94rem;}
.k-faq h3.k-grp{margin:40px 0 4px;font-size:1.2rem;}

.k-sea{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--b);border:1px solid var(--b);margin-top:44px;}
.k-sea-c{background:var(--w);padding:30px 26px;display:flex;flex-direction:column;transition:background .15s;}
.k-sea-c:hover{background:var(--c);}
.k-sea-c.on{background:#FDF0E6;}
.k-sea-c h3{font-size:1.35rem;margin-bottom:10px;}
.k-sea-c p{font-size:.88rem;line-height:1.7;flex:1;margin-bottom:18px;}
.k-sea-c span{font-size:.78rem;font-weight:600;color:var(--o);}
.k-sea-tools{display:grid;grid-template-columns:repeat(3,1fr);gap:0 32px;}
@media(max-width:900px){.k-sea{grid-template-columns:1fr 1fr;}.k-sea-tools{grid-template-columns:1fr 1fr;}}
@media(max-width:640px){.k-sea,.k-sea-tools{grid-template-columns:1fr;}}
/* Tools */
.k-dish{display:grid;grid-template-columns:1fr 1fr 1fr;gap:6px;padding:12px 0;border-top:1px solid var(--b);position:relative;}
.k-dish .m-name{grid-column:1/-1;padding-right:40px;font-weight:600;}
.k-dish span{display:block;font-size:.62rem;letter-spacing:.08em;text-transform:uppercase;color:var(--m);margin-bottom:3px;}
.k-dish input{padding:9px 8px!important;font-size:.88rem!important;}
.k-dish-x{position:absolute;right:0;top:12px;width:34px;height:40px;border:1px solid var(--b);background:var(--w);color:var(--m);font-size:1.1rem;cursor:pointer;}
.k-dish-x:hover{color:#B91C1C;border-color:#B91C1C;}
.k-tag{display:inline-block;font-size:.66rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;padding:4px 8px;border:1px solid var(--b);white-space:nowrap;}
.k-tag-star{color:#15803D;border-color:#15803D;}
.k-tag-workhorse{color:#B45309;border-color:#B45309;}
.k-tag-puzzle{color:#1D4ED8;border-color:#1D4ED8;}
.k-tag-dog{color:#B91C1C;border-color:#B91C1C;}

.k-tool{display:grid;grid-template-columns:380px 1fr;gap:40px;align-items:start;margin-top:36px;}
.k-panel{border:1px solid var(--b);background:var(--w);padding:26px;}
.k-panel label{display:block;font-size:.7rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--m);margin:14px 0 6px;}
.k-panel label:first-child{margin-top:0;}
.k-panel input,.k-panel select{width:100%;padding:11px 12px;border:1px solid var(--b);font-family:var(--fb);font-size:.95rem;}
.k-panel .k-hint{font-size:.74rem;color:var(--m);margin-top:4px;line-height:1.5;}
.k-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--b);border:1px solid var(--b);}
.k-kpi{background:var(--w);padding:22px 20px;}
.k-kpi .n{font-family:var(--fd);font-size:1.7rem;font-weight:700;color:var(--d);line-height:1.1;}
.k-kpi .l{font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:var(--m);margin-top:8px;}
.k-kpi.hl .n{color:var(--o);}
.k-sens{width:100%;border-collapse:collapse;margin-top:24px;font-size:.86rem;}
.k-sens th,.k-sens td{border:1px solid var(--b);padding:9px 10px;text-align:right;}
.k-sens th{background:var(--c);font-size:.7rem;letter-spacing:.06em;text-transform:uppercase;color:var(--m);}
.k-sens td.base{background:#FDF0E6;font-weight:600;}
.k-sens td.neg{color:#B91C1C;}
.k-q-item{padding:18px 0;border-bottom:1px solid var(--b);}
.k-q-item .q{font-size:.98rem;color:var(--d);margin-bottom:10px;line-height:1.5;}
.k-opts{display:flex;gap:8px;flex-wrap:wrap;}
.k-opts label{border:1px solid var(--b);padding:8px 14px;font-size:.8rem;cursor:pointer;color:var(--m);}
.k-opts input{display:none;}
.k-opts input:checked+span{color:var(--d);font-weight:600;}
.k-opts label:has(input:checked){border-color:var(--d);background:var(--c);}
.k-meter{height:8px;background:var(--b);margin-top:8px;}
.k-meter div{height:100%;background:var(--o);}
.k-area{padding:16px 0;border-bottom:1px solid var(--b);}
.k-area .h{display:flex;justify-content:space-between;font-weight:600;font-size:.92rem;}
/* Booking */
.k-days{display:flex;gap:8px;overflow-x:auto;padding-bottom:6px;}
.k-day{flex:none;border:1px solid var(--b);background:var(--w);padding:10px 12px;text-align:center;cursor:pointer;min-width:74px;font-family:var(--fb);}
.k-day b{display:block;font-size:1.1rem;color:var(--d);}
.k-day span{font-size:.68rem;letter-spacing:.06em;text-transform:uppercase;color:var(--m);}
.k-day.on{border-color:var(--o);background:#FDF0E6;}
.k-slots{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:14px;}
.k-slot{border:1px solid var(--b);background:var(--w);padding:10px 6px;font-size:.84rem;cursor:pointer;font-family:var(--fb);line-height:1.35;}
.k-slot small{display:block;font-size:.68rem;color:var(--m);}
.k-slot.on{border-color:var(--o);background:var(--o);color:#fff;}
.k-slot.on small{color:rgba(255,255,255,.85);}
/* Map */
#k-map{height:420px;border:1px solid var(--b);margin-top:28px;background:var(--c);z-index:0;}
.foot-news{margin-top:22px;max-width:300px;}
.foot-news .k-form input[type=email]{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.18);color:#fff;padding:11px 12px;font-size:.84rem;}
.foot-news .k-consent{color:rgba(255,255,255,.4);font-size:.7rem;}
.foot-news button{background:#E87820;color:#fff;border:none;padding:11px 14px;font-size:.74rem;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;font-family:var(--fb);}
.foot-news .k-ok{background:rgba(255,255,255,.08);color:#fff;font-size:.84rem;}
@media(max-width:900px){
  .k-grid,.k-decisions,.k-diag{grid-template-columns:1fr 1fr;}
  .k-tool{grid-template-columns:1fr;}
}
@media(max-width:768px){
  .k-hero{padding:44px 0 24px;}
  .k-grid,.k-decisions,.k-diag,.k-two,.k-news{grid-template-columns:1fr!important;gap:20px;}
  .k-news{padding:28px 22px;}
  .k-gl{columns:1;}
  .k-kpis{grid-template-columns:1fr 1fr;}
  .k-slots{grid-template-columns:repeat(3,1fr);}
  .k-form .k-row{flex-direction:column;}
  .k-sens{font-size:.74rem;}
  .k-sens th,.k-sens td{padding:6px 4px;}
  #k-map{height:320px;}
}
.k-panel label.k-consent{display:flex;text-transform:none;letter-spacing:0;font-size:.78rem;font-weight:400;margin:4px 0 0;color:var(--m);}
.k-dg .btn{padding:12px 18px;}
.k-consent span{flex:1;min-width:0;}
.k-consent input[type=checkbox]{width:auto!important;padding:0;}
