/* Thailand Implant Planner, v2 (2026-11-11): photo led travel guide, stacked sections, ribbon label cards. */
:root{
  --teal:#0F766E; --teal-d:#0B5A54; --sand:#F4EDE1; --sand-d:#E6DCCB; --white:#FFFFFF;
  --ink:#18212B; --ink-2:#4A5560; --coral:#E8765A;
  --font:"Trebuchet MS","Lucida Sans",Arial,sans-serif;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--white);color:var(--ink);font-family:"Trebuchet MS","Lucida Sans",Arial,sans-serif;font-size:17px;line-height:1.6}
img{max-width:100%;height:auto;display:block}
a{color:var(--teal);text-underline-offset:2px}
a:hover{color:var(--teal-d)}
a:focus-visible,button:focus-visible{outline:3px solid var(--coral);outline-offset:2px;border-radius:2px}
.th-frame{max-width:780px;margin:0 auto;padding:0 18px}

/* bar */
.th-bar{background:var(--teal);color:#fff}
.th-bar-in{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px 18px;padding-top:12px;padding-bottom:12px;max-width:1100px}
.th-mark{color:#fff;font-weight:700;text-decoration:none;font-size:18px}
.th-nav{display:flex;gap:18px}
.th-nav a{color:#fff;text-decoration:none;font-size:15px;padding:4px 0;border-bottom:2px solid transparent}
.th-nav a:hover{border-bottom-color:#fff;color:#fff}
.th-mark:focus-visible,.th-nav a:focus-visible{outline-color:#fff}

/* full width photo at the top */
.th-hero{margin:0;background:var(--sand)}
.th-hero img{width:100%;height:clamp(200px,42vw,460px);object-fit:cover}
.th-hero figcaption{max-width:1100px;margin:0 auto;padding:4px 18px;font-size:12px;color:var(--ink-2);text-align:right}

/* heading block */
.th-head{padding:22px 0 4px}
.th-crumbs{font-size:14px;color:var(--ink-2);margin:0 0 6px}
h1{font-size:clamp(28px,5.4vw,40px);line-height:1.2;margin:0 0 6px;color:var(--ink)}
h2{font-size:clamp(22px,3.6vw,27px);line-height:1.25;margin:0 0 10px;color:var(--teal-d)}
h3{font-size:19px;margin:0 0 6px}

/* stacked sections */
.th-sec{padding:26px 0;border-top:1px solid var(--sand-d)}
.th-sec.th-open{border-top:0;padding-top:6px}
.th-sec p{margin:0 0 12px}
.th-lead{font-size:19px;line-height:1.55}
.th-ans{font-weight:700;font-size:18px}
.th-src{font-size:13px;font-style:italic;color:var(--ink-2);margin-top:12px}
.th-src a{color:var(--ink-2)}

/* bullet styles: small coral diamond instead of a dot */
.th-ticks{list-style:none;margin:0 0 14px;padding:0}
.th-ticks li{position:relative;padding-left:22px;margin:0 0 7px}
.th-ticks li::before{content:"";position:absolute;left:3px;top:.6em;width:8px;height:8px;background:var(--coral);transform:rotate(45deg)}
.th-steps{counter-reset:s;list-style:none;margin:0 0 14px;padding:0}
.th-steps li{counter-increment:s;position:relative;padding:2px 0 10px 44px;margin:0}
.th-steps li::before{content:counter(s);position:absolute;left:0;top:0;width:30px;height:30px;border-radius:50%;background:var(--sand);color:var(--teal-d);font-weight:700;display:flex;align-items:center;justify-content:center;font-size:15px}

/* the citation note: sand box, thin border on all sides */
.th-note{background:var(--sand);border:1px solid var(--sand-d);border-radius:6px;padding:14px 16px;margin:6px 0 16px}
.th-note p{margin:0 0 8px}
.th-note .th-ticks{margin:0}

/* the site's own card: a ribbon label with a swallowtail end, pinned over the card's top edge */
.th-ribbon{display:inline-block;margin:0;position:relative;background:var(--coral);color:var(--ink);font-weight:700;font-size:14px;letter-spacing:.02em;padding:5px 26px 5px 12px;clip-path:polygon(0 0,100% 0,calc(100% - 12px) 50%,100% 100%,0 100%)}

.th-slips{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:22px 16px;margin:18px 0 18px}
.th-slip{background:var(--white);border:1px solid var(--sand-d);border-radius:6px;padding:0 14px 14px;position:relative}
.th-slip .th-ribbon{transform:translate(-15px,-11px)}
.th-slip-v{font-size:24px;font-weight:700;color:var(--teal-d);margin:0 0 4px!important;line-height:1.2}
.th-slip-n{display:block;font-size:14px;color:var(--ink-2)}

/* city cards: photo, ribbon, three facts */
.th-cities{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px;margin:14px 0 16px}
.th-city{background:var(--sand);border-radius:8px;overflow:hidden;padding:0 0 12px}
.th-city .th-ribbon{margin:-16px 0 0 0;position:relative;z-index:1}
.th-city h3{padding:8px 16px 0}
.th-city h3 a{color:var(--ink)}
.th-city ul{list-style:none;margin:6px 0 0;padding:0 16px}
.th-city li{padding:5px 0;border-top:1px solid var(--sand-d);font-size:16px}
.th-city-pic{margin:0}
.th-city-pic img{width:100%;aspect-ratio:16/10;object-fit:cover}
.th-city-pic figcaption{font-size:12px;color:var(--ink-2);padding:3px 16px 0;text-align:right}
.th-one-city{grid-template-columns:1fr}
.th-one-city .th-city-pic img{aspect-ratio:21/9}

/* photo beside bullets */
.th-split{display:grid;grid-template-columns:1fr;gap:12px;margin:0 0 12px;align-items:start}
@media (min-width:700px){.th-split{grid-template-columns:260px 1fr;gap:20px}}
.th-pic{margin:0}
.th-pic img{border-radius:6px;width:100%;aspect-ratio:4/3;object-fit:cover}
.th-pic figcaption{font-size:12px;color:var(--ink-2);margin-top:3px}

/* tables and chart */
.th-tbl{overflow-x:auto;margin:0 0 14px;border:1px solid var(--sand-d);border-radius:6px}
table{border-collapse:collapse;width:100%;font-size:15px;min-width:420px}
th,td{text-align:left;padding:9px 11px;border-bottom:1px solid var(--sand-d);vertical-align:top}
th{background:var(--sand);color:var(--ink)}
tr:last-child td{border-bottom:0}
.th-fig{margin:6px 0 14px}
.th-fig svg{width:100%;height:auto;background:var(--white)}

/* FAQ */
.th-faq{padding:26px 0;border-top:1px solid var(--sand-d)}
.th-qa{margin:0}
.th-pair{border:1px solid var(--sand-d);border-radius:6px;padding:12px 14px;margin:0 0 12px}
.th-pair dt{font-weight:700;margin:0 0 6px}
.th-pair dd{margin:0}
.th-pair dd p{margin:0 0 8px}

aside[data-disclosure]{font-size:14px;color:var(--ink-2);border:1px solid var(--sand-d);border-radius:6px;padding:10px 14px;margin:8px 0 28px}

.th-colophon{background:var(--ink);color:#E9EEF2;padding:22px 0;font-size:14px}
.th-colo-in{max-width:1100px}
.th-colophon p{margin:0 0 8px}
.th-colophon a{color:#fff}
.th-colophon a:focus-visible{outline-color:#fff}

/* Mobile pass (2026-11-12): phones only, desktop unchanged */
@media (max-width:760px){
  .th-frame{padding:0 18px}
  .th-bar-in{padding-top:4px;padding-bottom:4px;gap:0 8px}
  .th-mark{display:inline-flex;align-items:center;min-height:44px;font-size:17px}
  .th-nav{gap:8px;margin-left:-10px}
  .th-nav a{display:inline-flex;align-items:center;min-height:44px;min-width:44px;padding:0 10px;justify-content:center}
  .th-hero img{height:200px}
  .th-hero figcaption,.th-city-pic figcaption,.th-pic figcaption{font-size:13px}
  .th-head{padding:16px 0 2px}
  h1{font-size:30px;line-height:1.2}
  .th-crumbs a{display:inline-flex;align-items:center;min-height:44px}
  .th-crumbs{margin:0}
  .th-city h3 a{display:inline-flex;align-items:center;min-height:44px}
  .th-slips,.th-cities{grid-template-columns:1fr}
  .th-tbl{position:relative}
  .th-tbl::before{content:"Swipe the table sideways \2192";display:block;position:sticky;left:0;font-size:13px;color:var(--ink-2);padding:6px 11px;background:var(--white)}
  .th-tbl th:first-child,.th-tbl td:first-child{position:sticky;left:0;background:var(--sand);z-index:1;min-width:120px}
  .th-tbl td:first-child{background:var(--white);box-shadow:1px 0 0 var(--sand-d)}
  .th-fig{overflow-x:auto}
  .th-fig::before{content:"Swipe the chart sideways \2192";display:block;position:sticky;left:0;font-size:13px;color:var(--ink-2);padding:0 0 4px}
  .th-fig svg{min-width:640px}
  .th-colophon{padding-bottom:calc(22px + env(safe-area-inset-bottom))}
  .th-colo-r{display:flex;flex-wrap:wrap;gap:8px;color:transparent}
  .th-colo-r a{display:inline-flex;align-items:center;min-height:44px;min-width:44px;padding:0 6px;color:#fff}
}
/* header and footer CTA 2026-11-12 */
.th-topcta{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:6px 16px;background:var(--coral);color:var(--ink);font-weight:700;font-size:15px;text-decoration:none;border-radius:4px}
.th-topcta:hover{background:#fff;color:var(--ink)}
.th-colophon .th-topcta{color:var(--ink)}
.th-bar-in .th-nav{margin-left:auto}
.th-footcta{padding:0 0 18px;margin:0 0 16px;border-bottom:1px solid #3a4652}
.th-footcta p{margin:0 0 12px!important;font-size:16px;color:#fff;max-width:46em}
.th-footbtn{padding:8px 20px}
@media (max-width:760px){
  .th-bar-in .th-nav{margin-left:-10px}
  .th-bar .th-topcta{flex:1 0 100%;margin:0 -18px -4px;border-radius:0;padding:4px 18px;font-size:15px}
}
/* strip-w1 */
.th-strip{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;margin:1.6em 0;padding:10px 14px;border:1px solid rgba(0,0,0,.18);border-radius:6px;line-height:1.45}
.th-strip-tag{font-size:14px;letter-spacing:.06em;text-transform:uppercase;font-weight:700}
.th-strip-text{flex:1 1 260px;margin:0}
.th-strip-btn{flex:0 0 auto;min-height:44px;display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;margin:0}
@media (max-width:480px){.th-strip-btn{width:100%}}
header .th-topcta{white-space:normal;min-height:44px}
/* /strip-w1 */
