/* Header language + currency control */
.dt-loc{position:relative;flex:none}
.dt-loc-btn{display:inline-flex;align-items:center;gap:7px;height:44px;padding:0 12px 0 9px;border:0;border-radius:999px;cursor:pointer;background:rgba(255,255,255,.16);color:inherit;font:700 13px/1 var(--dt-mono,ui-monospace,monospace);letter-spacing:.04em;transition:background .2s}
.dt-loc-btn:hover,.dt-loc.open .dt-loc-btn{background:rgba(255,255,255,.28)}
.dt-top.scrolled .dt-loc-btn{background:rgba(255,255,255,.55)}
.dt-loc-btn:focus-visible,.dt-loc-opt:focus-visible{outline:2px solid var(--dt-coral,#ff8a4c);outline-offset:2px}
.dt-loc-dot{opacity:.55}
.dt-loc-cur{font-weight:800}
.dt-loc-chev{opacity:.7;transition:transform .2s}
.dt-loc.open .dt-loc-chev{transform:rotate(180deg)}
.dt-flag{display:inline-block;flex:none;border-radius:50%;overflow:hidden;box-shadow:0 0 0 1.5px rgba(255,255,255,.35)}
.dt-flag svg{display:block}

.dt-loc-panel{position:absolute;right:0;top:calc(100% + 12px);z-index:95;width:316px;max-width:calc(100vw - 24px);padding:16px;border-radius:20px;background:var(--dt-abyss,#021627);color:#fff;border:1px solid rgba(143,230,238,.22);box-shadow:0 24px 60px rgba(0,0,0,.45)}
.dt-loc-panel[hidden]{display:none}
.dt-loc-sec+.dt-loc-sec{margin-top:16px;padding-top:14px;border-top:1px solid rgba(255,255,255,.12)}
.dt-loc-h{display:block;margin-bottom:8px;font:500 11px/1 var(--dt-mono,ui-monospace,monospace);letter-spacing:.09em;text-transform:uppercase;color:var(--foam,#9fe7f0)}
.dt-loc-list{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.dt-loc-curs{grid-template-columns:1fr 1fr}
.dt-loc-opt{display:flex;align-items:center;gap:10px;width:100%;min-height:44px;padding:8px 12px;border:1px solid rgba(255,255,255,.14);border-radius:14px;background:rgba(255,255,255,.05);color:#fff;font:600 15px/1.2 var(--dt-body,inherit);text-align:left;cursor:pointer;text-decoration:none;transition:background .15s,border-color .15s}
.dt-loc-opt:hover{background:rgba(255,255,255,.11)}
.dt-loc-opt[aria-current],.dt-loc-opt[aria-pressed="true"]{border-color:var(--dt-coral,#ff8a4c);background:rgba(255,138,76,.14)}
.dt-loc-opt small{display:block;margin-top:2px;font:400 12px/1.2 var(--dt-body,inherit);color:#bfdde4}
.dt-loc-sym{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:rgba(255,255,255,.12);font:800 14px/1 var(--dt-body,inherit);flex:none}
.dt-loc-note{margin:12px 0 0;font-size:12px;line-height:1.45;color:#bfdde4}

@media (max-width:560px){
  .dt-loc-btn{padding:0 10px 0 8px;gap:6px}
  .dt-loc-code,.dt-loc-dot{display:none}
  .dt-loc-panel{position:fixed;left:12px;right:12px;top:76px;width:auto;max-width:none}
}

/* Floating WhatsApp button */
.dt-wa-float{position:fixed;right:20px;bottom:24px;z-index:80;width:58px;height:58px;border-radius:50%;display:grid;place-items:center;background:#25d366;color:#fff;box-shadow:0 10px 28px rgba(0,0,0,.38),0 0 0 4px rgba(37,211,102,.22);transition:transform .2s,box-shadow .2s}
.dt-wa-float svg{width:30px;height:30px;fill:currentColor}
.dt-wa-float:hover{transform:scale(1.07);box-shadow:0 14px 34px rgba(0,0,0,.45),0 0 0 6px rgba(37,211,102,.28)}
.dt-wa-float:focus-visible{outline:3px solid #fff;outline-offset:3px}
@media (max-width:1000px){.dt-wa-float{right:14px;bottom:calc(92px + env(safe-area-inset-bottom,0px));width:54px;height:54px}}
/* Phones: the tab bar (Chat) or the trip page book bar (chat button) already offers the chat, so the floating bubble would only cover content. */
@media (max-width:760px){body.has-bookbar .dt-wa-float,body:has(.tabbar a.is-chat) .dt-wa-float{display:none}}
@media print{.dt-wa-float{display:none}}

.dt-loc-opt.is-draft{opacity:.62;border-style:dashed}
span.dt-loc-opt.is-draft{cursor:not-allowed}

/* Chat channel. Pages whose language uses Telegram swap the WhatsApp green for Telegram blue (body class dt-chat-tg);
   the copy box replaces a prefilled message, which Telegram direct chats do not support. */
body.dt-chat-tg{--wa:#229ed9;--dt-wa:#229ed9}
body.dt-chat-tg .btn.wa:hover,body.dt-chat-tg .dt-btn.dt-wa:hover{background:#4db4e4}
body.dt-chat-tg .dt-wa-float{background:#229ed9;box-shadow:0 10px 28px rgba(0,0,0,.38),0 0 0 4px rgba(34,158,217,.25)}
body.dt-chat-tg .dt-wa-float:hover{box-shadow:0 14px 34px rgba(0,0,0,.45),0 0 0 6px rgba(34,158,217,.32)}
.cbox.tg .ico{background:#229ed9;color:#fff}
.chat-copy{display:grid;gap:8px;margin-top:12px}
.chat-copy[hidden]{display:none}
.chat-msg{width:100%;resize:none;font:500 12.5px/1.45 var(--f-body);padding:10px 12px;border-radius:12px;border:1px solid #c9e3e9;background:#f4fafb;color:var(--card-ink);color-scheme:light}
.chat-copy-btn{justify-self:start;min-height:38px;padding:0 16px;border-radius:999px;border:1px solid #9cc9d4;background:#eef7f9;color:var(--card-ink);font:800 14px/1 var(--f-body);cursor:pointer;transition:background .2s}
.chat-copy-btn:hover{background:#dff0f4}
.chat-copy-btn:focus-visible{outline:2px solid #229ed9;outline-offset:2px}
.chat-copy .chat-hint{font-size:12px;line-height:1.4;color:var(--muted)}
/* the copy box makes the sticky trip card taller than a laptop screen: let the card scroll inside itself */
body.dt-chat-tg aside>.bookcard{max-height:calc(100vh - 112px);overflow-y:auto;overscroll-behavior:contain}
