/* ---- Scoped Styles ---- */
.klx-wrap{--brand:#80011F;--ink:#151516;--muted:#71767d;--card:#fff;--radius:18px;--shadow:0 10px 28px rgba(0,0,0,.06)}
.klx-wrap *{box-sizing:border-box}
.klx-pane{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);border:1px solid #f0f0f0;overflow:hidden}

/* ---- Package pills ---- */
.klx-pkg-tabs{display:flex;gap:12px;flex-wrap:wrap;padding:16px 16px 14px;background:#fff;border-bottom:1px solid #eee;will-change:contents}
.klx-tab{appearance:none;border:1px solid #e8e8e8;cursor:pointer;display:flex;align-items:center;gap:.55rem;
  padding:.7rem 1.05rem;border-radius:999px;font:700 15px/1.2 Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
  background:#f6f6f6;color:#2c2c2c;transition:background-color .16s ease, box-shadow .16s ease, transform .02s;
}
/* hover/focus = brand-tinted (no white flash) */
.klx-tab:hover,.klx-tab:focus-visible{background:color-mix(in oklab, var(--brand), white 88%);outline:none}
.klx-tab[aria-selected="true"]{color:#fff;background:linear-gradient(180deg, color-mix(in oklab, var(--brand), #fff 20%), var(--brand));border-color:transparent;
  box-shadow:0 6px 16px color-mix(in oklab, var(--brand), #000 80% / 18%)}
.klx-tab svg{width:18px;height:18px;opacity:.85}
.klx-tab[aria-selected="true"] svg{filter:brightness(0) invert(1)}

/* ---- Duration (destination) underline tabs ---- */
.klx-dur-tabs{display:flex;gap:24px;flex-wrap:wrap;padding:10px 18px 6px;background:#fafafa;border-bottom:1px solid #eee}
.klx-dur{appearance:none;background:transparent !important;border:none !important;cursor:pointer;
  font:700 15px/1.2 Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;color:#333;padding:10px 2px 12px;position:relative;
  display:flex;align-items:center;gap:.5rem;border-radius:10px;transition:color .16s ease, background-color .16s ease;
}
/* hover shows a faint brand tint behind text, still underline only */
.klx-dur:hover,.klx-dur:focus-visible{background:color-mix(in oklab, var(--brand), #fff 94%);outline:none}
.klx-dur svg{width:18px;height:18px;opacity:.6}
.klx-dur::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:#e6e6e6;border-radius:3px;
  transform:scaleX(0);transform-origin:left;transition:transform .22s ease,background .22s ease}
.klx-dur[aria-selected="true"]::after{transform:scaleX(1);background:var(--brand)}

/* ---- Itinerary ---- */
.klx-itinerary{padding:16px 18px 22px}
.klx-title{display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;align-items:center;padding:14px 16px;
  border:1px solid color-mix(in oklab, var(--brand), #fff 75%);background:#fff;color:var(--brand);border-radius:12px;margin:8px 0 16px;
  font:700 15.5px/1.4 Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif}
.klx-sub{color:color-mix(in oklab, var(--brand), #333 60%);font-weight:600}

/* ---- Accordion ---- */
.klx-accordion{display:flex;flex-direction:column;gap:12px}
details.klx-acc{border:1px solid #f1f1f1;border-radius:14px;background:#fff;overflow:hidden;will-change:height}
summary.klx-head{list-style:none;display:flex;align-items:center;gap:10px;padding:16px;font:700 15.5px/1.3 Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
  cursor:pointer;outline:0;background:#fff}
summary.klx-head::-webkit-details-marker{display:none}
.klx-badge{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:#fff;color:var(--brand);border:1.5px solid #f0c6cf;
  font-weight:800;font-size:.85rem}
.klx-chev{margin-left:auto;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;border:1px solid #f0f0f0;background:#fff;transition:transform .2s ease}
details[open] .klx-chev{transform:rotate(180deg)}
.klx-body{overflow:hidden;will-change:height}
.klx-inner{padding:14px 16px 16px;border-top:1px dashed #eee;background:#fff}
.klx-meta{color:#7a7f86;margin:0 0 8px}
.klx-list{margin:8px 0 0;padding:0;list-style:none;display:flex;flex-direction:column;gap:8px}
.klx-list li{position:relative;padding-left:22px;color:#444}
.klx-list li::before{content:"";position:absolute;left:0;top:.58em;width:9px;height:9px;border-radius:50%;background:var(--brand);
  box-shadow:0 0 0 2px #fff,0 0 0 3px color-mix(in oklab, var(--brand), #fff 80%);opacity:.9}

/* ---- Reduced motion ---- */
@media (prefers-reduced-motion: reduce){
  .klx-tab,.klx-dur,.klx-chev,.klx-body{transition:none !important}
}

/* ---- Responsive ---- */
@media (max-width:880px){
  .klx-pkg-tabs{gap:10px}
  .klx-dur-tabs{gap:16px}
}
@media (max-width:680px){
  .klx-tab{padding:.6rem .9rem;font-size:14px}
  .klx-dur{padding:8px 6px 10px;font-size:14px}
  summary.klx-head{padding:14px;font-size:15px}
  .klx-inner{padding:12px 14px 14px}
}

/* --- HARDENED OVERRIDES (beats theme button styles) --- */
.klx-wrap .klx-tab{all: unset; display:inline-flex; align-items:center; gap:.55rem; cursor:pointer;
  -webkit-user-select:none; user-select:none; border-radius:999px; padding:.7rem 1.05rem;
  font:700 15px/1.2 Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
  border:1px solid #e8e8e8; background:#f6f6f6 !important; color:#2c2c2c !important; box-shadow:none !important;
}
.klx-wrap .klx-tab:hover, .klx-wrap .klx-tab:focus{background:color-mix(in oklab, var(--brand), white 88%) !important; outline:none !important; box-shadow:none !important;}
.klx-wrap .klx-tab[aria-selected="true"]{background:linear-gradient(180deg, color-mix(in oklab, var(--brand), #fff 20%), var(--brand)) !important;
  color:#ffffff !important; border-color:transparent !important; box-shadow:0 6px 16px color-mix(in oklab, var(--brand), #000 80% / 18%) !important;}
.klx-wrap .klx-tab[aria-selected="true"] svg{filter:brightness(0) invert(1);}

/* Duration tabs must NEVER turn white */
.klx-wrap .klx-dur{all: unset; display:inline-flex; align-items:center; gap:.5rem; cursor:pointer;
  padding:10px 6px 12px; border-radius:10px; font:700 15px/1.2 Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
  background:transparent !important; color:#333 !important; box-shadow:none !important; border:none !important; position:relative;
}
.klx-wrap .klx-dur:hover, .klx-wrap .klx-dur:focus{background:color-mix(in oklab, var(--brand), #fff 94%) !important; outline:none !important;}
.klx-wrap .klx-dur::after{content:""; position:absolute; left:0; right:0; bottom:0; height:2px; background:#e6e6e6; border-radius:3px;
  transform:scaleX(0); transform-origin:left; transition:transform .22s ease, background .22s ease;}
.klx-wrap .klx-dur[aria-selected="true"]::after{transform:scaleX(1); background:var(--brand) !important;}
