/* Kayiwa Craves - Experience layer: live hero, currency lens, Taste Match.
   Uses the site's own tokens (--ink, --accent, --dark, --cream, --line, --radius). */

.kcx-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:12px 22px;border-radius:var(--radius-btn,6px);border:1px solid transparent;font-family:inherit;font-size:15px;font-weight:600;line-height:1.2;cursor:pointer;text-decoration:none;transition:background-color .15s,border-color .15s,transform .15s}
.kcx-btn--primary{background:var(--accent-ink,#C9420F);color:#fff}
.kcx-btn--primary:hover{background:#AE380B;color:#fff}
.kcx-btn--ghost{background:#fff;color:var(--ink,#14202B);border-color:var(--line,#EBDDC8)}
.kcx-btn--ghost:hover{border-color:var(--ink,#14202B)}
.kcx-btn--dark{background:var(--dark,#0D1B2E);color:#fff}
.kcx-btn--dark:hover{background:#1B3350;color:#fff}
.kcx-btn:focus-visible,.kcx-chip:focus-visible,.kcx-opt:focus-visible,.kcx-lens select:focus-visible{outline:3px solid var(--accent,#F1591E);outline-offset:2px}

/* ---------------------------------------------------------------- live hero */
.kch-hero__thumb img{transition:opacity .4s ease}
.kch-hero__thumb img.kcx-fade{opacity:0}

/* ------------------------------------------------------------ currency lens */
.kcx-lens{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;margin:16px 0 24px;padding:12px 14px;border:1px solid var(--line,#EBDDC8);background:var(--cream,#FFF3E0);border-radius:var(--radius,10px);max-width:100%}
.kcx-lens__label{font-family:var(--font-display,inherit);font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2,#4A5964)}
.kcx-lens__chips{display:flex;flex-wrap:wrap;gap:6px}
.kcx-chip{min-height:40px;padding:8px 14px;border-radius:999px;border:1px solid var(--line,#EBDDC8);background:#fff;color:var(--ink,#14202B);font-family:inherit;font-size:13px;font-weight:600;line-height:1;cursor:pointer;transition:background-color .15s,color .15s,border-color .15s}
.kcx-chip:hover{border-color:var(--ink,#14202B)}
.kcx-chip[aria-pressed="true"]{background:var(--dark,#0D1B2E);border-color:var(--dark,#0D1B2E);color:#fff}
.kcx-lens select{min-height:40px;max-width:100%;border:1px solid var(--line,#EBDDC8);border-radius:999px;padding:0 14px;background:#fff;color:var(--ink,#14202B);font-family:inherit;font-size:13px;font-weight:600}
.kcx-lens__note{flex-basis:100%;margin:0;font-size:12.5px;line-height:1.5;color:var(--ink-3,#5E6B75)}
.kcx-lens__note a{color:inherit;text-decoration:underline}
.kcx-m[data-conv]{border-bottom:1px dotted currentColor;cursor:help;white-space:nowrap}

/* --------------------------------------------------------------- taste match */
.kcx-match{max-width:900px;margin:0;color:var(--ink,#14202B)}
.kcx-match *{box-sizing:border-box}
.kcx-progress{display:flex;align-items:center;gap:14px;margin:0 0 26px}
.kcx-progress__bar{flex:1;height:6px;border-radius:99px;background:var(--line,#EBDDC8);overflow:hidden}
.kcx-progress__bar i{display:block;height:100%;width:0;background:var(--accent,#F1591E);border-radius:99px;transition:width .35s ease}
.kcx-progress__txt{font-size:13px;font-weight:700;color:var(--ink-2,#4A5964);white-space:nowrap}
.kcx-q{animation:kcx-in .35s ease both}
.kcx-q h2{margin:0 0 6px;font-family:var(--font-display,inherit);font-size:clamp(24px,3.2vw,36px);font-weight:700;line-height:1.1;letter-spacing:-.025em;outline:none}
.kcx-q__hint{margin:0 0 22px;color:var(--ink-2,#4A5964);font-size:15.5px;line-height:1.55}
.kcx-opts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.kcx-opt{display:flex;flex-direction:column;align-items:flex-start;gap:4px;width:100%;min-height:76px;padding:16px 18px;text-align:left;border:1.5px solid var(--line,#EBDDC8);border-radius:var(--radius,10px);background:#fff;color:var(--ink,#14202B);font-family:inherit;cursor:pointer;transition:border-color .15s,background-color .15s,transform .15s,box-shadow .15s}
.kcx-opt strong{font-size:16.5px;font-weight:700;line-height:1.25}
.kcx-opt span{font-size:13.5px;line-height:1.45;color:var(--ink-2,#4A5964)}
.kcx-opt:hover{border-color:var(--ink,#14202B);transform:translateY(-1px);box-shadow:0 8px 22px -14px rgba(13,27,46,.55)}
.kcx-opt[aria-pressed="true"]{border-color:var(--accent,#F1591E);background:#FFF3EC}
.kcx-months{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.kcx-months .kcx-opt{min-height:56px;align-items:center;justify-content:center;text-align:center;padding:10px}
.kcx-skip{grid-column:1/-1}
.kcx-back{margin-top:20px;padding:10px 0;border:0;background:none;color:var(--ink-2,#4A5964);font-family:inherit;font-size:14px;font-weight:600;cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.kcx-back:hover{color:var(--ink,#14202B)}
.kcx-back:focus-visible{outline:3px solid var(--accent,#F1591E);outline-offset:2px}

.kcx-res{animation:kcx-in .45s ease both}
.kcx-res__eyebrow{margin:0 0 10px;font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--accent-ink,#C9420F)}
.kcx-hero{position:relative;overflow:hidden;border-radius:var(--radius,10px);background:var(--dark,#0D1B2E);color:#fff;min-height:360px;display:flex;align-items:flex-end}
.kcx-hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.kcx-hero::after{content:"";position:absolute;inset:0;background:var(--scrim,linear-gradient(to top,rgba(7,17,30,.94) 8%,rgba(7,17,30,.55) 55%,rgba(7,17,30,.2) 100%))}
.kcx-hero__in{position:relative;z-index:1;width:100%;padding:clamp(20px,3vw,34px);display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:16px}
.kcx-hero__tag{margin:0 0 6px;font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#FFB48F}
.kcx-hero h2{margin:0;font-family:var(--font-display,inherit);font-size:clamp(38px,6vw,68px);font-weight:800;line-height:.98;letter-spacing:-.03em;color:#fff}
.kcx-pct{display:flex;align-items:baseline;gap:6px;padding:10px 16px;border:1px solid rgba(255,255,255,.35);border-radius:999px;background:rgba(13,27,46,.55);backdrop-filter:blur(6px)}
.kcx-pct b{font-family:var(--font-display,inherit);font-size:30px;font-weight:800;line-height:1}
.kcx-pct span{font-size:13px;font-weight:600;opacity:.9}
.kcx-why{margin:22px 0 0;padding:0;list-style:none;display:grid;gap:10px}
.kcx-why li{display:flex;gap:12px;align-items:flex-start;font-size:16px;line-height:1.5}
.kcx-why li::before{content:"";flex:none;width:9px;height:9px;margin-top:8px;border-radius:50%;background:var(--accent,#F1591E)}
.kcx-sub{margin:34px 0 12px;font-family:var(--font-display,inherit);font-size:20px;font-weight:700;letter-spacing:-.015em}
.kcx-dishes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.kcx-dish{padding:16px;border:1px solid var(--line,#EBDDC8);border-radius:var(--radius,10px);background:#fff}
.kcx-dish h4{margin:0 0 2px;font-size:16px;font-weight:700}
.kcx-dish__p{display:block;margin-bottom:8px;font-size:13px;font-weight:700;color:var(--accent-ink,#C9420F)}
.kcx-dish__u{font-weight:600;color:var(--ink-3,#5E6B75)}
.kcx-dish p{margin:0;font-size:14px;line-height:1.5;color:var(--ink-2,#4A5964)}
.kcx-facts{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0 0}
.kcx-fact{padding:8px 14px;border-radius:999px;background:var(--cream,#FFF3E0);border:1px solid var(--line,#EBDDC8);font-size:13.5px;font-weight:600}
.kcx-cta{display:flex;flex-wrap:wrap;gap:10px;margin:26px 0 0}
.kcx-runners{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.kcx-runner{display:flex;gap:14px;align-items:center;padding:12px;border:1px solid var(--line,#EBDDC8);border-radius:var(--radius,10px);background:#fff;color:var(--ink,#14202B);text-decoration:none;transition:border-color .15s,transform .15s}
.kcx-runner:hover{border-color:var(--ink,#14202B);transform:translateY(-1px)}
.kcx-runner img{flex:none;width:92px;height:68px;object-fit:cover;border-radius:6px}
.kcx-runner b{display:block;font-size:16px}
.kcx-runner span{display:block;font-size:13px;color:var(--ink-2,#4A5964)}
.kcx-shared{margin:0 0 22px;padding:14px 16px;border-radius:var(--radius,10px);background:var(--cream,#FFF3E0);border:1px solid var(--line,#EBDDC8);font-size:15px;line-height:1.5}
.kcx-fine{margin:30px 0 0;font-size:12.5px;line-height:1.55;color:var(--ink-3,#5E6B75)}
.kcx-toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);z-index:9999;padding:12px 18px;border-radius:999px;background:var(--dark,#0D1B2E);color:#fff;font-size:14px;font-weight:600;box-shadow:0 12px 30px rgba(0,0,0,.35)}

@keyframes kcx-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}

@media (max-width:720px){
  .kcx-opts{grid-template-columns:minmax(0,1fr)}
  .kcx-months{grid-template-columns:repeat(3,minmax(0,1fr))}
  .kcx-dishes{grid-template-columns:minmax(0,1fr)}
  .kcx-runners{grid-template-columns:minmax(0,1fr)}
  .kcx-hero{min-height:300px}
  .kcx-cta .kcx-btn{flex:1 1 100%}
}
@media (prefers-reduced-motion:reduce){
  .kcx-q,.kcx-res{animation:none}
  .kcx-opt,.kcx-runner,.kcx-btn,.kcx-progress__bar i,.kch-hero__thumb img{transition:none}
  .kcx-opt:hover,.kcx-runner:hover{transform:none}
}

/* guide list on the Taste Match page */
.kcx-guides{list-style:none;margin:22px 0 0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 clamp(20px,3vw,44px)}
.kcx-guides li{display:flex;flex-direction:column;gap:3px;padding:14px 0;border-bottom:1px solid var(--line,#EBDDC8)}
.kcx-guides a{font-weight:700;color:var(--ink,#14202B);text-decoration:none}
.kcx-guides a:hover{color:var(--accent-ink,#C9420F)}
.kcx-guides span{font-size:14px;line-height:1.55;color:var(--ink-2,#4A5964)}
@media (max-width:720px){.kcx-guides{grid-template-columns:minmax(0,1fr)}}

/* ------------------------------------------------------------- illustrations
   Flat vector art in the site palette (uploads/kc-experience/art/*.svg). Decorative only. */
.kcx-q--start{display:grid;grid-template-columns:minmax(0,1fr) minmax(200px,300px);gap:20px clamp(20px,4vw,48px);align-items:center;padding:clamp(22px,3.4vw,38px);border-radius:var(--radius,10px);background:var(--cream,#FFF3E0);border:1px solid var(--line,#EBDDC8)}
.kcx-q--start .kcx-q__hint{max-width:48ch}
.kcx-start__art{width:100%;height:auto;max-width:300px;justify-self:center;filter:drop-shadow(0 14px 18px rgba(13,27,46,.14));animation:kcx-bob 5s ease-in-out infinite}
.kcx-route{display:block;width:100%;max-width:720px;height:auto;margin:34px auto 0;opacity:.95}
@keyframes kcx-bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}

/* taste-match page: palm leaf beside the "how it works" copy */
.page-id-461 .band--cream{position:relative;overflow:hidden}
.page-id-461 .band--cream::after{content:"";position:absolute;right:clamp(8px,6vw,120px);bottom:-30px;width:clamp(180px,24vw,320px);aspect-ratio:1;background:url(/wp-content/uploads/kc-experience/art/palm.svg) no-repeat center/contain;pointer-events:none}
.page-id-461 .band--cream .prose{position:relative;z-index:1}

/* guides: a chili on the currency lens */
.kcx-lens{position:relative}
.kcx-lens::after{content:"";position:absolute;right:12px;top:50%;width:46px;height:44px;transform:translateY(-50%);background:url(/wp-content/uploads/kc-experience/art/spice.svg) no-repeat center/contain;pointer-events:none;opacity:.95}
@media (min-width:721px){.kcx-lens{padding-right:72px}}
@media (max-width:720px){
  .kcx-q--start{grid-template-columns:minmax(0,1fr)}
  .kcx-start__art{order:-1;max-width:210px}
  .kcx-lens::after{display:none}
  .page-id-461 .band--cream::after{display:none}
}
@media (prefers-reduced-motion:reduce){.kcx-start__art{animation:none}}

/* ===================================================== guide quick answer */
.kcx-quick{margin:6px 0 30px;padding:clamp(18px,2.6vw,26px);border:1px solid var(--line,#EBDDC8);border-left:5px solid var(--accent,#F1591E);border-radius:var(--radius,10px);background:linear-gradient(135deg,var(--cream,#FFF3E0) 0%,#fff 72%);box-shadow:0 14px 34px -26px rgba(13,27,46,.55)}
.kcx-quick__title{margin:0 0 14px;display:flex;flex-direction:column;gap:2px}
.kcx-quick__eyebrow{font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--accent-ink,#C9420F)}
.kcx-quick__title strong{font-family:var(--font-display,inherit);font-size:clamp(20px,2.4vw,26px);font-weight:800;letter-spacing:-.02em;line-height:1.1}
.kcx-quick__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:0 0 16px}
.kcx-quick__grid>div{padding:12px 14px;background:#fff;border:1px solid var(--line,#EBDDC8);border-radius:8px}
.kcx-quick__grid dt{margin:0;font-size:11.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3,#5E6B75)}
.kcx-quick__grid dd{margin:5px 0 0;font-size:17px;font-weight:700;line-height:1.25;color:var(--ink,#14202B)}
.kcx-quick__grid dd a{color:var(--accent-ink,#C9420F);text-decoration:none;border-bottom:1px dotted currentColor}
.kcx-quick__cta{display:flex;flex-wrap:wrap;gap:10px}
.kcx-quick__note{margin:14px 0 0;font-size:12.5px;line-height:1.55;color:var(--ink-3,#5E6B75)}
.kcx-quick__note a{color:inherit;text-decoration:underline}

/* ============================================================ save buttons */
.kcx-save{display:inline-flex;align-items:center;margin-top:10px;min-height:38px;padding:6px 14px;border:1px solid var(--line,#EBDDC8);border-radius:999px;background:#fff;color:var(--ink,#14202B);font-size:13px;font-weight:600;line-height:1;font-family:inherit;cursor:pointer;transition:background-color .15s,border-color .15s,color .15s}
.kcx-save:hover{border-color:var(--ink,#14202B)}
.kcx-save[aria-pressed="true"]{background:#FFE9DC;border-color:var(--accent,#F1591E);color:var(--accent-ink,#C9420F)}
.kcx-save:focus-visible,.kcx-bar__b:focus-visible,.kcx-trip-chip:focus-visible,.kcx-trip__rm:focus-visible,.kcx-trip__link:focus-visible,.kcx-sheet a:focus-visible{outline:3px solid var(--accent,#F1591E);outline-offset:2px}
.kcx-dish .kcx-save{margin-top:12px}
.kcx-btn[aria-pressed="true"].kcx-btn--dark{background:var(--leaf,#1F7A5C)}

/* ======================================================= My trip chip + bar */
.kcx-trip-chip{position:fixed;left:16px;bottom:18px;z-index:880;display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 8px 0 16px;border-radius:999px;background:var(--dark,#0D1B2E);color:#fff;font-size:14px;font-weight:700;line-height:1;font-family:inherit;text-decoration:none;box-shadow:0 12px 30px rgba(0,0,0,.35);transition:transform .15s}
.kcx-trip-chip:hover{transform:translateY(-2px);color:#fff}
.kcx-trip-chip[hidden]{display:none}
.kcx-trip-chip b{display:grid;place-items:center;min-width:28px;height:28px;padding:0 6px;border-radius:999px;background:var(--accent,#F1591E);font-size:13px}
.kcx-bar{display:none}
.kcx-sheet{display:none}
@media (max-width:720px){
  .kcx-bar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:900;gap:8px;padding:8px 10px calc(8px + env(safe-area-inset-bottom));background:rgba(13,27,46,.97);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
  .kcx-bar__b{flex:1;min-height:46px;border:0;border-radius:10px;background:rgba(255,255,255,.12);color:#fff;font-size:14px;font-weight:600;line-height:1;font-family:inherit;cursor:pointer}
  .kcx-bar__b[aria-pressed="true"]{background:var(--accent,#F1591E)}
  .kcx-sheet{position:fixed;left:10px;right:10px;bottom:74px;z-index:901;max-height:58vh;overflow:auto;padding:8px;background:#fff;border:1px solid var(--line,#EBDDC8);border-radius:12px;box-shadow:0 22px 50px rgba(0,0,0,.4)}
  .kcx-sheet:not([hidden]){display:block}
  .kcx-sheet a{display:block;padding:13px 14px;border-radius:8px;color:var(--ink,#14202B);font-weight:600;text-decoration:none}
  .kcx-sheet a:hover{background:var(--cream,#FFF3E0)}
  .kcx-has-bar{padding-bottom:72px}
  .kcx-has-bar .kcx-trip-chip{bottom:84px}
  .kcx-has-bar .kcx-toast{bottom:90px}
  .kcx-quick__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* ======================================================== My trip page */
.kcx-tripwrap{max-width:980px;color:var(--ink,#14202B)}
.kcx-tripwrap *{box-sizing:border-box}
.kcx-trip__empty{display:grid;grid-template-columns:minmax(150px,280px) minmax(0,1fr);gap:clamp(20px,4vw,48px);align-items:center;padding:clamp(22px,3.4vw,38px);border:1px solid var(--line,#EBDDC8);border-radius:var(--radius,10px);background:var(--cream,#FFF3E0)}
.kcx-trip__empty img{width:100%;height:auto}
.kcx-trip__empty h2{margin:0 0 8px;font-family:var(--font-display,inherit);font-size:clamp(24px,3vw,34px);letter-spacing:-.025em}
.kcx-trip__empty p{margin:0 0 18px;color:var(--ink-2,#4A5964);line-height:1.6}
.kcx-trip__total{display:flex;flex-direction:column;gap:2px;margin:0 0 18px;padding:20px 22px;border-radius:var(--radius,10px);background:var(--dark,#0D1B2E);color:#fff}
.kcx-trip__total span{font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.75)}
.kcx-trip__total strong{font-family:var(--font-display,inherit);font-size:clamp(32px,4.4vw,48px);font-weight:800;line-height:1.05;color:var(--gold,#F5B83D)}
.kcx-trip__total small{font-size:13px;color:rgba(255,255,255,.7)}
.kcx-trip__cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.kcx-trip__card{display:flex;flex-direction:column;gap:10px;padding:18px;border:1px solid var(--line,#EBDDC8);border-radius:var(--radius,10px);background:#fff}
.kcx-trip__head{display:flex;gap:14px;align-items:center}
.kcx-trip__head img{flex:none;width:96px;height:64px;object-fit:cover;border-radius:6px}
.kcx-trip__head h3{margin:0;font-family:var(--font-display,inherit);font-size:22px;letter-spacing:-.02em}
.kcx-trip__head h3 a{color:var(--ink,#14202B);text-decoration:none}
.kcx-trip__head h3 a:hover{color:var(--accent-ink,#C9420F)}
.kcx-trip__meta{margin:0;font-size:13.5px;line-height:1.5;color:var(--ink-2,#4A5964)}
.kcx-trip__days{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:10px 12px;border-radius:8px;background:var(--cream,#FFF3E0)}
.kcx-trip__days label{font-size:13px;font-weight:700}
.kcx-trip__days input{width:72px;min-height:40px;padding:0 10px;border:1px solid var(--line,#EBDDC8);border-radius:8px;font-size:15px;font-weight:600;font-family:inherit;background:#fff;color:var(--ink,#14202B)}
.kcx-trip__cost{margin-left:auto;font-weight:700;color:var(--accent-ink,#C9420F)}
.kcx-trip__sub{margin:6px 0 0;font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3,#5E6B75)}
.kcx-trip__dishes{margin:0;padding:0;list-style:none;display:grid;gap:4px}
.kcx-trip__dishes li{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 0;border-bottom:1px solid var(--line,#EBDDC8);font-size:14.5px}
.kcx-trip__dishes em{font-style:normal;font-size:13px;color:var(--accent-ink,#C9420F)}
.kcx-trip__rm{flex:none;width:36px;min-width:36px;height:36px;padding:0;border:0;border-radius:50%;background:transparent;box-shadow:none;color:var(--ink-3,#5E6B75);font-size:22px;line-height:1;cursor:pointer}
.kcx-trip__rm:hover{background:var(--cream,#FFF3E0);color:var(--ink,#14202B)}
.kcx-trip__link{align-self:flex-start;padding:6px 0;border:0;background:none;box-shadow:none;color:var(--ink-3,#5E6B75);font-size:13px;font-weight:600;font-family:inherit;text-decoration:underline;cursor:pointer}
.kcx-trip__actions{margin-top:24px}
@media (max-width:720px){
  .kcx-trip__empty{grid-template-columns:minmax(0,1fr)}
  .kcx-trip__empty img{max-width:200px}
  .kcx-trip__cards{grid-template-columns:minmax(0,1fr)}
}

/* ======================================================== video captions */
.vgrid .vtile{position:relative;overflow:hidden}
.vtile__t{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:34px 12px 10px;background:linear-gradient(to top,rgba(7,17,30,.94),rgba(7,17,30,0));color:#fff;font-size:13px;font-weight:600;line-height:1.3;text-align:left;pointer-events:none}

@media print{
  .kcx-trip__actions,.kcx-trip-chip,.kcx-bar,.kcx-sheet,.kcx-trip__rm,.kcx-trip__link,.kcx-trip__days input,header.subhero,.cta-band,footer,.kcx-toast{display:none!important}
  .kcx-trip__card{break-inside:avoid;border-color:#bbb}
  .kcx-trip__total{background:#fff;color:#000;border:1px solid #000}
  .kcx-trip__total strong,.kcx-trip__total span,.kcx-trip__total small{color:#000}
}
@media (prefers-reduced-motion:reduce){.kcx-trip-chip{transition:none}}

/* ================================================== practical post upgrade */
.kcx-post-on .kcx-fc{position:relative;display:block;margin:28px 0 32px;padding:clamp(18px,2.6vw,28px);border:1px solid var(--line,#EBDDC8);border-left:5px solid var(--accent,#F1591E);border-radius:var(--radius,10px);background:linear-gradient(135deg,var(--cream,#FFF3E0) 0%,#fff 75%);box-shadow:0 14px 34px -26px rgba(13,27,46,.55);color:var(--ink,#14202B)}
.kcx-post-on .kcx-fc .kcx-quick__eyebrow{display:block;margin:0 0 2px;padding:0 168px 0 0;font-size:12px;line-height:1.4}
.kcx-post-on .kcx-fc h2{margin:2px 0 14px!important;padding:0 168px 0 0;border:0;font-family:var(--font-display,inherit);font-size:clamp(22px,2.6vw,28px);font-weight:800;letter-spacing:-.02em;line-height:1.12;color:var(--ink,#14202B)}
.kcx-post-on .kcx-fc__status{display:flex;gap:12px;align-items:flex-start;margin:0 0 16px;padding:12px 14px;border:1px solid var(--line,#EBDDC8);border-radius:8px;background:#fff;font-size:15px;line-height:1.4}
.kcx-post-on .kcx-fc__status b{display:block;font-size:15.5px;color:var(--ink,#14202B)}
.kcx-post-on .kcx-fc__status small{display:block;margin-top:3px;font-size:12.5px;line-height:1.45;color:var(--ink-3,#5E6B75)}
.kcx-fc__dot{flex:none;width:12px;height:12px;margin-top:5px;border-radius:50%;background:#B8AEA0}
.kcx-fc__status.is-on .kcx-fc__dot{background:var(--leaf-2,#2E9A74);box-shadow:0 0 0 5px rgba(46,154,116,.22)}
.kcx-post-on .kcx-fc__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0 0 14px}
.kcx-post-on .kcx-fc__grid>div{padding:10px 12px;border:1px solid var(--line,#EBDDC8);border-radius:8px;background:#fff}
.kcx-post-on .kcx-fc__grid dt{margin:0;font-size:11.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3,#5E6B75)}
.kcx-post-on .kcx-fc__grid dd{margin:4px 0 0;font-size:15.5px;font-weight:600;line-height:1.4;color:var(--ink,#14202B)}
.kcx-post-on .kcx-fc__tip{margin:0 0 14px;font-size:15px;line-height:1.55;color:var(--ink-2,#4A5964)}
.kcx-post-on .kcx-fc__actions{display:flex;flex-wrap:wrap;gap:10px}
.kcx-post-on .kcx-fc .kcx-btn{text-decoration:none;font-size:15px}
.kcx-post-on .kcx-fc .kcx-btn--primary{color:#fff}
.kcx-post-on .kcx-fc .kcx-btn--ghost{color:var(--ink,#14202B)}
.kcx-post-on .kcx-fc__note{margin:14px 0 0;font-size:12.5px;line-height:1.55;color:var(--ink-3,#5E6B75)}
.kcx-post-on .kcx-fc__note a{color:inherit;text-decoration:underline}
.kcx-fc__art{position:absolute;right:18px;top:10px;width:auto;height:76px;max-width:150px;filter:drop-shadow(0 12px 16px rgba(13,27,46,.14))}
@media (max-width:640px){.kcx-fc__art{display:none}.kcx-post-on .kcx-fc h2,.kcx-post-on .kcx-fc .kcx-quick__eyebrow{padding-right:0}.kcx-post-on .kcx-fc__grid>div{padding:9px 12px}.kcx-post-on .kcx-fc__actions .kcx-btn{flex:1 1 calc(50% - 5px);justify-content:center;text-align:center;padding-left:12px;padding-right:12px}.kcx-post-on .kcx-fc__actions .kcx-btn--primary{flex-basis:100%}}
@media (max-width:560px){.kcx-post-on .kcx-fc__grid{grid-template-columns:minmax(0,1fr)}}

/* table: site look, fits the column, scrolls instead of overflowing */
.kcx-post-on .prose .wp-block-table{margin:24px 0;overflow-x:auto;-webkit-overflow-scrolling:touch}
.kcx-post-on .prose .wp-block-table table{width:100%;max-width:100%;table-layout:auto;border-collapse:separate;border-spacing:0;border:1px solid var(--line,#EBDDC8);border-radius:10px;overflow:hidden;font-size:15.5px;line-height:1.5}
.kcx-post-on .prose .wp-block-table th{padding:12px 14px;border:0;background:var(--dark,#0D1B2E);color:#fff;text-align:left;font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.kcx-post-on .prose .wp-block-table td{padding:12px 14px;border:0;border-top:1px solid var(--line,#EBDDC8);vertical-align:top;color:var(--ink,#14202B)}
.kcx-post-on .prose .wp-block-table td:first-child{width:34%;font-weight:700;background:var(--cream,#FFF3E0)}

/* numbered steps */
.kcx-post-on .prose ol{list-style:none;counter-reset:kcxstep;margin:18px 0;padding:0}
.kcx-post-on .prose ol>li{position:relative;counter-increment:kcxstep;margin:0 0 12px;padding:14px 16px 14px 62px;border:1px solid var(--line,#EBDDC8);border-radius:10px;background:#fff;line-height:1.6}
.kcx-post-on .prose ol>li::before{content:counter(kcxstep);position:absolute;left:14px;top:12px;display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--accent,#F1591E);color:#fff;font-family:var(--font-display,inherit);font-size:16px;font-weight:800}

/* FAQ */
.kcx-post-on .kcx-faq{margin:0 0 10px;border:1px solid var(--line,#EBDDC8);border-radius:10px;background:#fff;overflow:hidden}
.kcx-post-on .kcx-faq>summary{position:relative;display:block;padding:15px 52px 15px 18px;list-style:none;cursor:pointer;font-size:17px;font-weight:700;line-height:1.35;color:var(--ink,#14202B)}
.kcx-post-on .kcx-faq>summary::-webkit-details-marker{display:none}
.kcx-post-on .kcx-faq>summary::after{content:"+";position:absolute;right:18px;top:50%;transform:translateY(-50%);font-size:26px;font-weight:400;line-height:1;color:var(--accent-ink,#C9420F)}
.kcx-post-on .kcx-faq[open]>summary{background:var(--cream,#FFF3E0)}
.kcx-post-on .kcx-faq[open]>summary::after{content:"\2212"}
.kcx-post-on .kcx-faq>summary:focus-visible{outline:3px solid var(--accent,#F1591E);outline-offset:-3px}
.kcx-post-on .kcx-faq__a{padding:2px 18px 16px}
.kcx-post-on .kcx-faq__a p{margin:10px 0 0}

/* reading progress */
.kcx-progress-top{position:fixed;left:0;right:0;top:0;z-index:950;height:4px;pointer-events:none}
.kcx-progress-top i{display:block;height:100%;background:var(--accent,#F1591E);transform-origin:0 50%;transform:scaleX(0)}

/* phone toolbar links */
@media (max-width:720px){
  a.kcx-bar__b{display:flex;align-items:center;justify-content:center;color:#fff;text-decoration:none}
}

/* the story */
.kcx-post-on .kcx-pull{margin:30px 0;padding:4px 0 4px 22px;border:0;border-left:5px solid var(--accent,#F1591E);background:none;color:var(--ink,#14202B);font-style:normal}
.kcx-post-on .kcx-pull p{margin:0 0 10px;font-family:var(--font-display,inherit);font-size:clamp(20px,2.4vw,26px);font-weight:700;line-height:1.35;letter-spacing:-.012em;color:var(--ink,#14202B)}
.kcx-post-on .kcx-pull a{font-size:15px;font-weight:700;color:var(--accent-ink,#C9420F);text-decoration:none;border-bottom:1px solid currentColor}
.kcx-post-on .kcx-story{position:relative;margin:44px 0;padding:clamp(22px,3.2vw,36px);overflow:hidden;border-radius:var(--radius,10px);background:var(--dark,#0D1B2E);color:#fff}
.kcx-post-on .kcx-story::before{content:"\201C";position:absolute;right:18px;top:-26px;font-family:var(--font-display,inherit);font-size:170px;font-weight:800;line-height:1;color:var(--gold,#F5B83D);opacity:.22;pointer-events:none}
.kcx-post-on .kcx-story__eyebrow{margin:0 0 4px;font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--gold,#F5B83D)}
.kcx-post-on .kcx-story h2{margin:4px 0 14px!important;padding:0;border:0;color:#fff}
.kcx-post-on .kcx-story p{margin:0 0 16px;color:rgba(255,255,255,.9);font-size:clamp(18px,2vw,20px);line-height:1.7}
.kcx-post-on .kcx-story p:last-child{margin-bottom:0}
.kcx-post-on .kcx-story a{color:#FFD08A}

/* key-facts card without an illustration */
.kcx-post-on .kcx-fc--noart h2,.kcx-post-on .kcx-fc--noart .kcx-quick__eyebrow{padding-right:0}
.kcx-post-on .kcx-fc__grid dd a{color:var(--accent-ink,#C9420F);text-decoration:underline}

/* ============================================================= guide upgrades */

/* hero: let the country photo show on the right while the title stays readable */
.kcx-guide .subhero::after{background:linear-gradient(96deg,rgba(7,17,30,.94) 0%,rgba(7,17,30,.80) 34%,rgba(7,17,30,.30) 72%,rgba(7,17,30,.14) 100%)}
.kcx-guide-laos .subhero__bg img{object-position:50% 22%}
@media (max-width:720px){.kcx-guide .subhero::after{background:linear-gradient(180deg,rgba(7,17,30,.72) 0%,rgba(7,17,30,.88) 100%)}}

/* dish save buttons: compact, left aligned, not full width */
.dish .kcx-save{align-self:flex-start;width:auto;max-width:max-content;margin-top:12px}
.kcx-dish .kcx-save{align-self:flex-start;width:auto;max-width:max-content}

/* route at a glance */
.kcx-route-glance{margin:8px 0 26px;padding:clamp(16px,2.4vw,24px);border:1px solid var(--line,#EBDDC8);border-radius:var(--radius,10px);background:#fff;box-shadow:0 14px 34px -28px rgba(13,27,46,.55)}
.kcx-route-glance__head{display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px 14px;margin:0 0 14px;font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--accent-ink,#C9420F)}
.kcx-route-glance__head span:last-child{color:var(--ink-3,#5E6B75)}
.kcx-route-bar{display:flex;gap:4px;margin:0;padding:0;list-style:none}
.kcx-route-seg{flex-basis:0;min-width:0;margin:0;padding:0}
.kcx-route-seg a{display:flex;align-items:center;justify-content:center;min-height:44px;padding:8px 2px;white-space:nowrap;border-radius:8px;text-decoration:none;color:#fff;font-size:13.5px;font-weight:800;font-family:var(--font-display,inherit);transition:transform .15s,box-shadow .15s}
.kcx-route-seg a:hover{transform:translateY(-2px);box-shadow:0 10px 20px -12px rgba(13,27,46,.6)}
.kcx-route-seg a:focus-visible{outline:3px solid var(--ink,#14202B);outline-offset:2px}
.kcx-seg-0 a,.kcx-dot.kcx-seg-0{background:var(--accent-ink,#C9420F)}
.kcx-seg-1 a,.kcx-dot.kcx-seg-1{background:var(--gold,#F5B83D);color:var(--ink,#14202B)}
.kcx-seg-2 a,.kcx-dot.kcx-seg-2{background:var(--leaf,#1F7A5C)}
.kcx-seg-3 a,.kcx-dot.kcx-seg-3{background:var(--dark,#0D1B2E)}
.kcx-seg-4 a,.kcx-dot.kcx-seg-4{background:var(--chili,#D63A2B)}
.kcx-seg-5 a,.kcx-dot.kcx-seg-5{background:#2E7F8C}
.kcx-seg-6 a,.kcx-dot.kcx-seg-6{background:#8FCBD4;color:var(--ink,#14202B)}
.kcx-route-legend{display:flex;flex-wrap:wrap;gap:8px 18px;margin:14px 0 0;padding:0;list-style:none}
.kcx-route-legend li{margin:0}
.kcx-route-legend a{display:inline-flex;align-items:center;gap:7px;padding:2px 0;color:var(--ink,#14202B);font-size:14px;text-decoration:none}
.kcx-route-legend a:hover b{text-decoration:underline}
.kcx-route-legend a:focus-visible{outline:3px solid var(--accent,#F1591E);outline-offset:3px;border-radius:4px}
.kcx-route-legend small{color:var(--ink-3,#5E6B75);font-size:13px}
.kcx-dot{display:inline-block;width:12px;height:12px;border-radius:50%}
.kcx-route-glance__note{margin:14px 0 0;padding:12px 14px;border-left:4px solid var(--gold,#F5B83D);border-radius:0 8px 8px 0;background:var(--cream,#FFF3E0);font-size:14.5px;line-height:1.55;color:var(--ink-2,#4A5964)}
.itinerary li{scroll-margin-top:96px}

/* practical notes as cards */
.kcx-notes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:14px 0 8px}
.kcx-note{display:flex;gap:12px;align-items:flex-start;padding:14px 16px;border:1px solid var(--line,#EBDDC8);border-radius:10px;background:#fff}
.kcx-note__ic{flex:none;display:grid;place-items:center;width:40px;height:40px;border-radius:10px;background:var(--cream,#FFF3E0);color:var(--accent-ink,#C9420F)}
.kcx-note__b{min-width:0}
.kcx-note h3{margin:0 0 3px;font-family:var(--font-display,inherit);font-size:16px;font-weight:800;letter-spacing:-.01em;line-height:1.2}
.kcx-note p{margin:0;font-size:14.5px;line-height:1.6;color:var(--ink-2,#4A5964)}
.kcx-note.is-alert{border-color:#F2C2BA;background:#FFF8F6}
.kcx-note.is-alert .kcx-note__ic{background:#FBE1DC;color:var(--chili,#D63A2B)}
@media (max-width:720px){.kcx-notes{grid-template-columns:minmax(0,1fr)}}

/* where to base yourself: nights as a pill */
.kcx-bases td:last-child{white-space:nowrap;font-weight:700;color:var(--accent-ink,#C9420F)}

/* watch the food */
.kcx-watch{margin:28px 0 8px}
.kcx-watch__head{margin:0 0 12px;font-family:var(--font-display,inherit);font-size:20px;font-weight:800;letter-spacing:-.015em}
.kcx-watch__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.kcx-watch__card{display:flex;flex-direction:column;gap:8px}
.kcx-watch__thumb{position:relative;display:block;aspect-ratio:16/9;overflow:hidden;border-radius:10px;background:var(--dark,#0D1B2E)}
.kcx-watch__thumb img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .25s}
.kcx-watch__thumb:hover img{transform:scale(1.04)}
.kcx-watch__thumb:focus-visible{outline:3px solid var(--accent,#F1591E);outline-offset:2px}
.kcx-watch__play{position:absolute;left:50%;top:50%;width:54px;height:54px;margin:-27px 0 0 -27px;border-radius:50%;background:rgba(13,27,46,.78);box-shadow:0 8px 24px rgba(0,0,0,.35)}
.kcx-watch__play::before{content:"";position:absolute;left:21px;top:16px;border-left:18px solid #fff;border-top:11px solid transparent;border-bottom:11px solid transparent}
.kcx-watch__card b{font-size:15.5px;line-height:1.3}
.kcx-watch__more{font-size:14px;font-weight:700;color:var(--accent-ink,#C9420F);text-decoration:none;border-bottom:1px solid currentColor;align-self:flex-start}
@media (max-width:720px){.kcx-watch__grid{grid-template-columns:minmax(0,1fr)}}
@media (prefers-reduced-motion:reduce){.kcx-route-seg a,.kcx-watch__thumb img{transition:none}.kcx-route-seg a:hover,.kcx-watch__thumb:hover img{transform:none}}

/* wide tables (price tables with 3+ columns): let the first column size itself and keep numbers on one line */
.kcx-post-on .prose .wp-block-table table:has(th:nth-child(3)) td:first-child{width:auto;min-width:0}
.kcx-post-on .prose .wp-block-table table:has(th:nth-child(4)){font-size:14px}
.kcx-post-on .prose .wp-block-table table:has(th:nth-child(4)) th,
.kcx-post-on .prose .wp-block-table table:has(th:nth-child(4)) td{padding:10px 10px}
.kcx-post-on .prose .wp-block-table table:has(th:nth-child(4)) td:not(:first-child):not(:last-child){white-space:nowrap}
.kcx-post-on .prose .wp-block-table table:has(th:nth-child(4)) th{white-space:nowrap}
