/* Taylor's Trailblazing Travels — Chiang Mai Travel Guide 2026 */
:root {
  --cm26-ink:#143e3d; --cm26-teal:#0e6b68; --cm26-teal-2:#1f8a84;
  --cm26-terra:#c9644b; --cm26-coral:#e07a5f; --cm26-cream:#fff7ed;
  --cm26-peach:#fbe7d8; --cm26-green:#e4f2ea; --cm26-blue:#e3f0f6;
  --cm26-violet:#eee8f7; --cm26-gold:#d7a43b; --cm26-white:#ffffff;
  --cm26-muted:#5f6f6c; --cm26-line:#d8e5e1;
  --cm26-shadow:0 18px 45px rgba(20,62,61,.10);
  --cm26-radius:28px;
}

body.ttt-cmguide26-imported .entry-header .entry-title,
body.ttt-cmguide26-imported .wp-block-post-title,
body.ttt-cmguide26-imported .post-title,
body.ttt-cmguide26-imported header.entry-header > h1 { display:none !important; }

/* Keep the featured image available for archives/social previews, but do not duplicate it above the in-article hero. */
body.ttt-cmguide26-imported .entry-header .post-thumbnail,
body.ttt-cmguide26-imported .entry-header .featured-media,
body.ttt-cmguide26-imported .entry-header .wp-post-image,
body.ttt-cmguide26-imported article > .post-thumbnail,
body.ttt-cmguide26-imported article > .featured-media { display:none !important; }

body.ttt-cmguide26-imported,
body.ttt-cmguide26-imported .site,
body.ttt-cmguide26-imported .site-content,
body.ttt-cmguide26-imported .content-area,
body.ttt-cmguide26-imported .site-main,
body.ttt-cmguide26-imported .entry-content { overflow-x:clip !important; }

.ttt-cm26,
.ttt-cm26 * { box-sizing:border-box; }

.ttt-cm26 {
  width:min(100%,1180px) !important;
  max-width:1180px !important;
  margin:0 auto !important;
  padding:0 18px 44px !important;
  color:var(--cm26-ink);
  font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
  font-size:18px;
  line-height:1.72;
  overflow-x:clip;
  overflow-wrap:anywhere;
}

.ttt-cm26 img,
.ttt-cm26 picture,
.ttt-cm26 svg,
.ttt-cm26 video,
.ttt-cm26 iframe {
  display:block;
  width:auto;
  max-width:100% !important;
  height:auto;
}

.ttt-cm26 a { color:var(--cm26-teal); text-decoration-thickness:1.5px; text-underline-offset:3px; }
.ttt-cm26 a:hover { color:var(--cm26-terra); }
.ttt-cm26 a:focus-visible { outline:3px solid var(--cm26-gold); outline-offset:4px; border-radius:5px; }
.ttt-cm26 p { margin:0 0 1.05rem; }
.ttt-cm26 h1,.ttt-cm26 h2,.ttt-cm26 h3 { color:var(--cm26-ink); line-height:1.14; letter-spacing:-.025em; }
.ttt-cm26 h1 { font-size:clamp(2.45rem,5.8vw,5.35rem); margin:.45rem 0 .65rem; color:#fff; max-width:990px; }
.ttt-cm26 .ttt-display-title { font-size:clamp(2.45rem,5.8vw,5.35rem); font-weight:800; line-height:1.14; letter-spacing:-.025em; margin:.45rem 0 .65rem; color:#fff; max-width:990px; }
.ttt-cm26 h2 { font-size:clamp(1.75rem,3.2vw,2.65rem); margin:0; }
.ttt-cm26 h3 { font-size:clamp(1.16rem,2vw,1.48rem); margin:1.7rem 0 .65rem; }
.ttt-cm26 ul,.ttt-cm26 ol { margin:.75rem 0 1.25rem; padding-left:1.45rem; }
.ttt-cm26 li { margin:.35rem 0; }
.ttt-cm26 sup a { text-decoration:none; font-weight:700; }

.ttt-cm26__hero {
  position:relative;
  width:100% !important;
  max-width:100% !important;
  min-height:clamp(560px,72vw,790px);
  margin:18px 0 24px !important;
  border-radius:34px;
  overflow:hidden !important;
  isolation:isolate;
  background:#173f3d;
  box-shadow:var(--cm26-shadow);
}
.ttt-cm26__hero img {
  position:absolute !important; inset:0 !important;
  width:100% !important; max-width:100% !important; height:100% !important;
  object-fit:cover !important; object-position:center center !important;
  margin:0 !important; padding:0 !important; border:0 !important;
}
.ttt-cm26__hero::after {
  content:""; position:absolute; inset:0; z-index:1;
  background:linear-gradient(90deg,rgba(6,36,35,.90) 0%,rgba(6,36,35,.70) 48%,rgba(6,36,35,.24) 100%),
             linear-gradient(0deg,rgba(5,27,27,.75) 0%,transparent 55%);
}
.ttt-cm26__hero-content { position:absolute; z-index:2; left:clamp(26px,5vw,72px); right:clamp(26px,5vw,72px); bottom:clamp(34px,6vw,76px); color:#fff; }
.ttt-cm26__eyebrow { display:inline-flex; align-items:center; gap:9px; padding:8px 14px; border-radius:999px; background:rgba(255,247,237,.94); color:var(--cm26-terra); font-size:.78rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.ttt-cm26__subtitle { max-width:860px; margin:0 0 1.25rem; color:#fff; font-size:clamp(1.05rem,2vw,1.35rem); line-height:1.48; text-shadow:0 2px 18px rgba(0,0,0,.22); }
.ttt-cm26__chips { display:flex; flex-wrap:wrap; gap:10px; }
.ttt-cm26__chip { display:inline-flex; align-items:center; gap:8px; padding:9px 13px; border:1px solid rgba(255,255,255,.35); border-radius:999px; background:rgba(8,45,44,.68); color:#fff; font-size:.88rem; backdrop-filter:blur(8px); }
.ttt-cm26__chip::before { content:""; width:8px; height:8px; border-radius:50%; background:var(--cm26-gold); }

.ttt-cm26__byline { display:flex; align-items:center; justify-content:center; gap:9px; margin:0 0 28px; padding:12px 18px; border:1px solid var(--cm26-line); border-radius:999px; background:#fff; color:var(--cm26-muted); font-size:.9rem; text-align:center; }
.ttt-cm26__byline::before { content:"✦"; color:var(--cm26-terra); }

.ttt-cm26__opening { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(300px,.85fr); gap:26px; align-items:stretch; margin:0 0 24px; }
.ttt-cm26__intro,
.ttt-cm26__quick { border-radius:var(--cm26-radius); padding:clamp(24px,4vw,42px); }
.ttt-cm26__intro { background:#fff; border:1px solid var(--cm26-line); box-shadow:0 10px 30px rgba(20,62,61,.06); }
.ttt-cm26__intro p:first-child::first-letter { float:left; font-family:Georgia,serif; font-size:4.2rem; line-height:.8; margin:.12rem .5rem 0 0; color:var(--cm26-terra); }
.ttt-cm26__quick { position:relative; background:linear-gradient(145deg,var(--cm26-green),#f8fffb); border:1px solid #c8dfd2; }
.ttt-cm26__quick::before { content:"QUICK ANSWER"; display:inline-block; margin-bottom:14px; padding:6px 10px; border-radius:999px; background:var(--cm26-teal); color:#fff; font-size:.73rem; font-weight:800; letter-spacing:.08em; }
.ttt-cm26__quick h2 { font-size:1.45rem; margin:0 0 .8rem; }
.ttt-cm26__quick p:last-child { margin-bottom:0; }

.ttt-cm26__disclosure { display:flex; gap:12px; align-items:flex-start; margin:0 0 26px; padding:13px 17px; border-left:4px solid var(--cm26-gold); border-radius:12px; background:#fffaf0; color:#5f5a4e; font-size:.86rem; }
.ttt-cm26__disclosure::before { content:"i"; flex:0 0 24px; width:24px; height:24px; border-radius:50%; display:grid; place-items:center; background:var(--cm26-gold); color:#fff; font-weight:800; }
.ttt-cm26__disclosure p { margin:0; }

.ttt-cm26__nav { margin:0 0 28px; padding:clamp(26px,4vw,42px); border-radius:32px; background:linear-gradient(145deg,var(--cm26-cream),var(--cm26-peach)); border:1px solid #eed8c6; }
.ttt-cm26__nav-header { display:flex; align-items:center; gap:14px; margin-bottom:20px; }
.ttt-cm26__nav-icon { width:48px; height:48px; border-radius:16px; display:grid; place-items:center; background:#fff; color:var(--cm26-terra); font-size:1.4rem; box-shadow:0 8px 18px rgba(201,100,75,.12); }
.ttt-cm26__nav h2 { font-size:1.72rem; }
.ttt-cm26__nav-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:9px 22px; counter-reset:guide-nav; }
.ttt-cm26__nav-grid a { counter-increment:guide-nav; display:flex; align-items:flex-start; gap:10px; padding:8px 6px; color:var(--cm26-ink); text-decoration:none; border-radius:10px; }
.ttt-cm26__nav-grid a::before { content:counter(guide-nav,decimal-leading-zero); flex:0 0 30px; color:var(--cm26-terra); font-size:.72rem; font-weight:800; letter-spacing:.04em; }
.ttt-cm26__nav-grid a:hover { background:rgba(255,255,255,.66); color:var(--cm26-teal); }

.ttt-cm26__summary { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; margin:0 0 28px; }
.ttt-cm26__summary-card { min-width:0; padding:22px; border-radius:24px; background:#fff; border:1px solid var(--cm26-line); box-shadow:0 9px 24px rgba(20,62,61,.06); }
.ttt-cm26__summary-card:nth-child(2n) { background:var(--cm26-green); }
.ttt-cm26__summary-card:nth-child(3) { background:var(--cm26-peach); }
.ttt-cm26__summary-label { display:block; color:var(--cm26-terra); font-size:.72rem; font-weight:800; letter-spacing:.07em; text-transform:uppercase; margin-bottom:8px; }
.ttt-cm26__summary-card h3 { margin:0 0 .45rem; font-size:1.14rem; }
.ttt-cm26__summary-card p { margin:0; font-size:.9rem; color:var(--cm26-muted); }

.ttt-cm26__related { margin:0 0 32px; padding:28px; border-radius:28px; background:linear-gradient(145deg,var(--cm26-green),#f7fcf9); border:1px solid #c9dfd2; }
.ttt-cm26__related h2 { font-size:1.48rem; margin-bottom:14px; }
.ttt-cm26__related-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }
.ttt-cm26__related a { display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:76px; padding:15px 16px; background:#fff; border:1px solid var(--cm26-line); border-radius:17px; color:var(--cm26-ink); font-size:.88rem; font-weight:700; text-decoration:none; }
.ttt-cm26__related a::after { content:"→"; color:var(--cm26-terra); font-size:1.25rem; }
.ttt-cm26__related a:hover { transform:translateY(-2px); box-shadow:0 8px 20px rgba(20,62,61,.08); }

.ttt-cm26__method { margin:0 0 28px; padding:18px 20px; border-radius:18px; background:#f7f3fb; border:1px solid #ded3ee; font-size:.9rem; color:#514d59; }
.ttt-cm26__method .ttt-cm26__label { color:#79599c; }
.ttt-cm26__label { display:inline-block; margin-right:7px; color:var(--cm26-terra); font-size:.72rem; font-weight:800; letter-spacing:.07em; text-transform:uppercase; }

.ttt-cm26__section { --accent:var(--cm26-teal); margin:0 0 28px; padding:clamp(26px,4.5vw,52px); border-radius:32px; background:#fff; border:1px solid var(--cm26-line); border-left:9px solid var(--accent); box-shadow:var(--cm26-shadow); scroll-margin-top:24px; }
.ttt-cm26__section--terra { --accent:var(--cm26-terra); }
.ttt-cm26__section-head { display:flex; gap:17px; align-items:flex-start; margin-bottom:24px; }
.ttt-cm26__number { flex:0 0 44px; width:44px; height:44px; border-radius:14px; display:grid; place-items:center; background:var(--accent); color:#fff; font-size:.9rem; font-weight:800; box-shadow:0 8px 18px color-mix(in srgb,var(--accent) 25%,transparent); }
.ttt-cm26__section-kicker { color:var(--accent); font-size:.72rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; margin-bottom:6px; }
.ttt-cm26__section h3 { color:var(--cm26-ink); }
.ttt-cm26__back { display:inline-flex; margin-top:1.2rem; padding:7px 11px; border-radius:999px; background:#f4f8f7; color:var(--cm26-muted); font-size:.78rem; text-decoration:none; }
.ttt-cm26__back:hover { background:var(--cm26-green); }

.ttt-cm26__table-wrap { width:100%; max-width:100%; overflow-x:auto; overscroll-behavior-inline:contain; -webkit-overflow-scrolling:touch; margin:1.2rem 0 1.45rem; border-radius:20px; border:1px solid var(--cm26-line); box-shadow:0 10px 25px rgba(20,62,61,.06); }
.ttt-cm26 table { width:100%; min-width:760px; border-collapse:separate; border-spacing:0; margin:0; background:#fff; font-size:.89rem; line-height:1.5; }
.ttt-cm26 th { padding:15px 16px; background:linear-gradient(135deg,var(--cm26-teal),var(--cm26-teal-2)); color:#fff; text-align:left; vertical-align:bottom; font-size:.82rem; letter-spacing:.025em; }
.ttt-cm26 th:first-child { border-top-left-radius:18px; }
.ttt-cm26 th:last-child { border-top-right-radius:18px; }
.ttt-cm26 td { padding:15px 16px; vertical-align:top; border-bottom:1px solid #e8efed; }
.ttt-cm26 tbody tr:nth-child(even) td { background:#f9fbfa; }
.ttt-cm26 tbody tr:last-child td { border-bottom:0; }
.ttt-cm26 .ttt-cm26__table-note { margin:-.55rem 0 1.2rem; color:var(--cm26-muted); font-size:.77rem; }
.ttt-cm26 .ttt-cm26__table-note::before { content:"Price check: "; color:var(--cm26-terra); font-weight:800; }

.ttt-cm26__callout { margin:1.25rem 0; padding:20px 22px; border-radius:18px; border:1px solid var(--cm26-line); background:#f7fbfa; }
.ttt-cm26__callout--tip { background:var(--cm26-green); border-color:#c8dfd2; }
.ttt-cm26__callout--warning { background:#fff3e8; border-color:#f1d1b8; }
.ttt-cm26__callout--booking { background:var(--cm26-blue); border-color:#cbdfe8; }
.ttt-cm26__callout--source { background:#f7f3fb; border-color:#ddd2ec; font-size:.88rem; }
.ttt-cm26__callout h3 { margin:0 0 .55rem; font-size:1.08rem; }
.ttt-cm26__callout p:last-child { margin-bottom:0; }

.ttt-cm26__button-row { display:flex; flex-wrap:wrap; gap:10px; margin-top:14px; }
.ttt-cm26__button { display:inline-flex; align-items:center; justify-content:center; min-height:46px; padding:11px 17px; border-radius:999px; background:var(--cm26-teal); color:#fff !important; font-size:.86rem; font-weight:800; text-decoration:none !important; box-shadow:0 8px 18px rgba(14,107,104,.18); }
.ttt-cm26__button:hover { background:var(--cm26-terra); transform:translateY(-1px); }
.ttt-cm26__button--secondary { background:#fff; color:var(--cm26-teal) !important; border:1px solid #bcd7d5; box-shadow:none; }

.ttt-cm26__figure { margin:1.55rem 0; max-width:100%; }
.ttt-cm26__figure img { width:100% !important; max-width:100% !important; height:auto !important; border-radius:22px; border:1px solid var(--cm26-line); box-shadow:0 14px 32px rgba(20,62,61,.08); }
.ttt-cm26__figure figcaption { margin-top:9px; padding:0 5px; color:var(--cm26-muted); font-size:.78rem; line-height:1.5; }

.ttt-cm26__split { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; margin:1.2rem 0; }
.ttt-cm26__mini-card { padding:22px; border-radius:20px; background:#f8fbfa; border:1px solid var(--cm26-line); }
.ttt-cm26__mini-card:nth-child(2n) { background:#fff7f1; }
.ttt-cm26__mini-card h3 { margin:0 0 .6rem; }

.ttt-cm26__proscons { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.ttt-cm26__pros,.ttt-cm26__cons { padding:24px; border-radius:22px; }
.ttt-cm26__pros { background:var(--cm26-green); border:1px solid #c8dfd2; }
.ttt-cm26__cons { background:var(--cm26-peach); border:1px solid #eed0bd; }
.ttt-cm26__pros h3,.ttt-cm26__cons h3 { margin-top:0; }

.ttt-cm26__mistakes { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; margin-top:1rem; counter-reset:mistake; }
.ttt-cm26__mistake { counter-increment:mistake; padding:19px 20px; border-radius:18px; border:1px solid var(--cm26-line); background:#fbfcfc; }
.ttt-cm26__mistake h3 { display:flex; gap:10px; align-items:flex-start; margin:0 0 .55rem; font-size:1.02rem; }
.ttt-cm26__mistake h3::before { content:counter(mistake); flex:0 0 30px; height:30px; display:grid; place-items:center; border-radius:10px; background:var(--cm26-terra); color:#fff; font-size:.78rem; }
.ttt-cm26__mistake p { margin:0; font-size:.9rem; }

.ttt-cm26__faq details { margin:0 0 10px; border:1px solid var(--cm26-line); border-radius:16px; background:#fff; overflow:hidden; }
.ttt-cm26__faq summary { cursor:pointer; list-style:none; padding:17px 48px 17px 18px; position:relative; font-size:1rem; font-weight:750; line-height:1.35; }
.ttt-cm26__faq summary::-webkit-details-marker { display:none; }
.ttt-cm26__faq summary::after { content:"+"; position:absolute; right:18px; top:50%; transform:translateY(-50%); width:28px; height:28px; display:grid; place-items:center; border-radius:50%; background:var(--cm26-green); color:var(--cm26-teal); font-size:1.25rem; }
.ttt-cm26__faq details[open] summary::after { content:"–"; }
.ttt-cm26__faq .ttt-cm26__answer { padding:0 18px 18px; color:#425553; }
.ttt-cm26__faq .ttt-cm26__answer p:last-child { margin-bottom:0; }

.ttt-cm26__final { padding:clamp(26px,4vw,42px); border-radius:28px; background:linear-gradient(145deg,var(--cm26-teal),#174c49); color:#fff; }
.ttt-cm26__final h2,.ttt-cm26__final h3 { color:#fff; }
.ttt-cm26__final p:last-child { margin-bottom:0; }

.ttt-cm26__sources { font-size:.86rem; }
.ttt-cm26__sources ol { padding-left:1.3rem; }
.ttt-cm26__sources li { margin:.65rem 0; }
.ttt-cm26__sources a { overflow-wrap:anywhere; }
.ttt-cm26__credit { margin:28px 0; padding:18px 20px; border-top:1px solid var(--cm26-line); border-bottom:1px solid var(--cm26-line); color:var(--cm26-muted); font-size:.86rem; text-align:center; }

.ttt-cm26__author { display:grid; grid-template-columns:80px minmax(0,1fr); gap:20px; align-items:center; margin:0 0 28px; padding:26px; border-radius:26px; background:linear-gradient(145deg,var(--cm26-green),#fff); border:1px solid #c9dfd2; }
.ttt-cm26__author-mark { width:80px; height:80px; border-radius:24px; display:grid; place-items:center; background:var(--cm26-teal); color:#fff; font-family:Georgia,serif; font-size:2rem; }
.ttt-cm26__author h2 { font-size:1.42rem; margin:0 0 .55rem; }
.ttt-cm26__author p { margin:0 0 .65rem; font-size:.9rem; }
.ttt-cm26__author a { font-weight:750; }

.ttt-cm26__screen-reader { position:absolute !important; width:1px !important; height:1px !important; padding:0 !important; margin:-1px !important; overflow:hidden !important; clip:rect(0,0,0,0) !important; white-space:nowrap !important; border:0 !important; }

@media (max-width:960px) {
  .ttt-cm26__opening { grid-template-columns:1fr; }
  .ttt-cm26__summary { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .ttt-cm26__related-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .ttt-cm26__nav-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

@media (max-width:680px) {
  .ttt-cm26 { padding:0 12px 36px !important; font-size:16.5px; }
  .ttt-cm26__hero { min-height:650px; margin-top:10px !important; border-radius:24px; }
  .ttt-cm26__hero::after { background:linear-gradient(0deg,rgba(5,31,30,.93) 0%,rgba(5,31,30,.68) 60%,rgba(5,31,30,.25) 100%); }
  .ttt-cm26__hero-content { left:22px; right:22px; bottom:28px; }
  .ttt-cm26 h1,.ttt-cm26 .ttt-display-title { font-size:clamp(2.35rem,12vw,3.45rem); }
  .ttt-cm26__subtitle { font-size:1.02rem; }
  .ttt-cm26__byline { border-radius:18px; }
  .ttt-cm26__nav-grid,.ttt-cm26__summary,.ttt-cm26__related-grid,.ttt-cm26__split,.ttt-cm26__proscons,.ttt-cm26__mistakes { grid-template-columns:1fr; }
  .ttt-cm26__section { padding:24px 20px; border-left-width:6px; border-radius:24px; }
  .ttt-cm26__section-head { gap:12px; }
  .ttt-cm26__number { flex-basis:38px; width:38px; height:38px; border-radius:12px; }
  .ttt-cm26__nav,.ttt-cm26__related { padding:23px 19px; border-radius:24px; }
  .ttt-cm26__table-wrap { margin-right:0; margin-left:0; }
  .ttt-cm26 table { min-width:690px; font-size:.83rem; }
  .ttt-cm26 th,.ttt-cm26 td { padding:13px; }
  .ttt-cm26__author { grid-template-columns:1fr; text-align:left; }
}

@media (prefers-reduced-motion:reduce) {
  .ttt-cm26 * { scroll-behavior:auto !important; transition:none !important; animation:none !important; }
}
