/* Itinerary editor (dashboard) + public timeline. Scoped to .ltbi-editor / .ltbi-public. */
.ltbi-editor,.ltbi-public{--i-teal:#087F8C;--i-aqua:#27C7C4;--i-orange:#FF8A32;--i-cream:#FFF9F2;--i-navy:#08354A;--i-muted:#4c6b78;--i-line:rgba(8,53,74,.12)}

/* editor */
.ltbi-editor{display:grid;gap:14px;margin:4px 0 18px;padding:16px;border:1px solid var(--i-line);border-radius:16px;background:var(--i-cream)}
.ltbi-editor .ltbi-editor-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.ltbi-editor .ltbi-editor-sub{margin:4px 0 0;color:var(--i-muted);font-size:13px}
.ltbi-editor .ltbi-count{flex:none;padding:3px 10px;border-radius:999px;background:#dcf6f3;color:#056570;font-size:12px;font-weight:700}
.ltbi-editor .ltbi-steps{list-style:none;margin:0;padding:0;display:grid;gap:12px;counter-reset:none}
.ltbi-editor .ltbi-step{display:grid;gap:12px;padding:14px;background:#fff;border:1px solid var(--i-line);border-left:4px solid var(--i-aqua);border-radius:14px}
.ltbi-editor .ltbi-step:nth-child(2n){border-left-color:var(--i-orange)}
.ltbi-editor .ltbi-step-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.ltbi-editor .ltbi-step-num{display:grid;place-items:center;width:30px;height:30px;flex:none;border-radius:50%;background:var(--i-teal);color:#fff;font-weight:800;font-size:13px}
.ltbi-editor .ltbi-step-name{flex:1;min-width:120px;color:var(--i-navy);overflow-wrap:anywhere}
.ltbi-editor .ltbi-tools{display:flex;flex-wrap:wrap;gap:4px}
.ltbi-editor .ltbi-tool{min-height:36px;padding:4px 10px;border:1px solid var(--i-line);border-radius:999px;background:#fff;color:var(--i-teal);font:inherit;font-size:12.5px;font-weight:700;cursor:pointer}
.ltbi-editor .ltbi-tool:hover:not([disabled]){background:rgba(39,199,196,.14)}
.ltbi-editor .ltbi-tool[disabled]{opacity:.4;cursor:not-allowed}
.ltbi-editor .ltbi-tool.is-del{color:#a12c1b}
.ltbi-editor .ltbi-tool.is-del:hover{background:#fff1e6}
.ltbi-editor .ltbi-fields{display:grid;grid-template-columns:minmax(0,140px) minmax(0,1fr);gap:0 12px}
.ltbi-editor .ltbi-field{margin:0 0 10px}
.ltbi-editor .ltbi-f-desc{grid-column:1/-1}
.ltbi-editor textarea.jshd-input{resize:vertical;min-height:80px}
.ltbi-editor .ltbi-media{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.ltbi-editor .ltbi-thumb{position:relative;display:grid;place-items:center;width:96px;height:72px;flex:none;overflow:hidden;border-radius:10px;border:1px dashed rgba(8,127,140,.35);background:linear-gradient(135deg,#e0faf5,#fff0df)}
.ltbi-editor .ltbi-thumb img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ltbi-editor .ltbi-thumb img[hidden]{display:none}
.ltbi-editor .ltbi-thumb-empty{color:var(--i-teal);font-size:11px;font-weight:700}
.ltbi-editor .ltbi-thumb.has-image .ltbi-thumb-empty{display:none}
.ltbi-editor .ltbi-media-actions{display:flex;flex-wrap:wrap;align-items:center;gap:6px}
.ltbi-editor .ltbi-media-label{width:100%;font-size:13px;font-weight:700;color:var(--i-navy)}
.ltbi-editor .ltbi-sm{min-height:38px;padding:0 14px;font-size:13px}
.ltbi-editor [hidden]{display:none!important}
.ltbi-editor .ltbi-empty{display:grid;justify-items:center;gap:6px;padding:24px 16px;text-align:center;border:2px dashed rgba(8,127,140,.3);border-radius:14px;background:#fff}
.ltbi-editor .ltbi-empty p{margin:0;color:var(--i-muted);font-size:14px}
.ltbi-editor .ltbi-add{justify-self:start}
@media(max-width:520px){.ltbi-editor .ltbi-fields{grid-template-columns:minmax(0,1fr)}.ltbi-editor .ltbi-add{justify-self:stretch}}

/* public */
.ltbi-public[hidden]{display:none}
.ltbi-public{margin:0 0 18px;padding:18px;border-radius:14px;background:var(--i-cream);border:1px solid rgba(8,127,140,.18);border-top:4px solid var(--i-teal);color:var(--i-navy)}
.ltbi-public .ltbi-kicker{display:block;color:#b8560f;font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
.ltbi-public .ltbi-public-title{margin:4px 0 12px;font-size:19px;color:var(--i-navy);line-height:1.3}
.ltbi-public .ltbi-timeline{list-style:none;margin:0;padding:0;position:relative}
.ltbi-public .ltbi-timeline::before{content:"";position:absolute;left:15px;top:14px;bottom:14px;width:2px;background:linear-gradient(var(--i-aqua),var(--i-orange))}
.ltbi-public .ltbi-item{position:relative;margin:0 0 6px}
.ltbi-public .ltbi-item-head{display:flex;align-items:center;gap:12px;width:100%;min-height:48px;padding:6px 8px 6px 0;border:0;border-radius:10px;background:none;color:inherit;font:inherit;text-align:left}
.ltbi-public button.ltbi-item-head{cursor:pointer;touch-action:manipulation}
.ltbi-public button.ltbi-item-head:hover{background:rgba(39,199,196,.1)}
.ltbi-public .ltbi-item-head:focus-visible{outline:3px solid var(--i-aqua);outline-offset:2px}
.ltbi-public .ltbi-dot{position:relative;z-index:1;display:grid;place-items:center;width:32px;height:32px;flex:none;border-radius:50%;background:var(--i-teal);color:#fff;font-size:13px;font-weight:800;box-shadow:0 0 0 4px var(--i-cream)}
.ltbi-public .ltbi-item.is-open .ltbi-dot{background:var(--i-orange)}
.ltbi-public .ltbi-item-text{display:grid;min-width:0;flex:1}
.ltbi-public .ltbi-time{color:var(--i-teal);font-size:12px;font-weight:800;letter-spacing:.04em}
.ltbi-public .ltbi-item-title{font-weight:700;font-size:15px;overflow-wrap:anywhere}
.ltbi-public .ltbi-chev{width:9px;height:9px;flex:none;margin-right:6px;border-right:2px solid var(--i-teal);border-bottom:2px solid var(--i-teal);transform:rotate(45deg);transition:transform .2s}
.ltbi-public .ltbi-item.is-open .ltbi-chev{transform:rotate(-135deg)}
.ltbi-public .ltbi-panel{margin:4px 0 10px 44px;padding:12px;border-radius:12px;background:#fff;border:1px solid var(--i-line)}
.ltbi-public .ltbi-panel[hidden]{display:none}
.ltbi-public .ltbi-img{display:block;width:100%;height:auto;max-height:260px;aspect-ratio:16/10;object-fit:cover;border-radius:10px;margin:0 0 10px}
.ltbi-public .ltbi-desc{margin:0;color:var(--i-muted);font-size:14px;line-height:1.65;white-space:pre-line}
.ltbi-public .ltbi-public-empty{margin:0;padding:14px;border:2px dashed rgba(8,127,140,.3);border-radius:12px;background:#fff;color:var(--i-muted);font-size:14px}
.ltbi-public .ltbi-public-empty[hidden]{display:none}
@media(max-width:520px){.ltbi-public{padding:14px}.ltbi-public .ltbi-panel{margin-left:0}}
@media(prefers-reduced-motion:reduce){.ltbi-public .ltbi-chev{transition:none}}
