/* Live Chat on the website, Dazzle Monk's look "H2 Ink": a black top with the greeting in white,
   white cards, black buttons that turn the chat colour on hover. Flat: lines, no gradients or glow.
   Loaded only when the Live Chat app is on. Works left-to-right and right-to-left. */
.dm-lc {
  --lc: #ff6d00;
  --lc-ink: #010f1c;
  --lc-bg: var(--dm-bg, #fff);
  --lc-text: var(--dm-text, #010f1c);
  --lc-mut: color-mix(in srgb, var(--lc-text) 60%, var(--lc-bg));
  --lc-line: color-mix(in srgb, var(--lc-text) 11%, transparent);
  --lc-soft: color-mix(in srgb, var(--lc-text) 5%, var(--lc-bg));
  --lc-ease: cubic-bezier(.22, 1, .36, 1);
  position: fixed; z-index: 62; bottom: calc(var(--lc-bottom) + env(safe-area-inset-bottom, 0px));
  display: flex; flex-direction: column; align-items: flex-end; gap: 0.75rem;
  font-family: var(--dm-font, 'Poppins', system-ui, sans-serif); color: var(--lc-text);
}
.dm-lc[hidden] { display: none; }
.dm-lc.is-end { inset-inline-end: calc(var(--lc-gap) + env(safe-area-inset-right, 0px)); }
.dm-lc.is-start { inset-inline-start: calc(var(--lc-gap) + env(safe-area-inset-left, 0px)); align-items: flex-start; }
.dm-lc button { font: inherit; }
.dm-lc .dm-i, .dm-lc svg { flex: none; }
.dm-lc-grow { flex: 1; min-width: 0; }

/* The WhatsApp button and back-to-top sit above the chat bubble on the same side (--lc-stack is set by livechat.js). */
@media (min-width: 641px) {
  body:has(.dm-lc.is-stack.is-end:not([hidden])) .dm-wa.is-end, body:has(.dm-lc.is-stack.is-start:not([hidden])) .dm-wa.is-start,
  body:has(.dm-lc.is-end:not([hidden])) .dm-top-btn { bottom: calc(var(--lc-stack, 5rem) + 0.85rem + env(safe-area-inset-bottom, 0px)); }
  body:has(.dm-lc.is-stack.is-end:not([hidden])) .dm-wa.is-end ~ .dm-top-btn { bottom: calc(var(--lc-stack, 5rem) + 4.75rem + env(safe-area-inset-bottom, 0px)); }
}
@media (max-width: 640px) {
  body:has(.dm-lc.is-stack.is-ph-end:not([hidden])) .dm-wa.is-end, body:has(.dm-lc.is-stack.is-ph-start:not([hidden])) .dm-wa.is-start,
  body:has(.dm-lc.is-ph-end:not([hidden])) .dm-top-btn { bottom: calc(var(--lc-ph-stack, 9rem) + 0.85rem + env(safe-area-inset-bottom, 0px)) !important; }
}

/* The back-to-top button is the same size as the chat bubble. */
body:has(.dm-lc:not([hidden])) .dm-top-btn { width: var(--lc-btn, 3.5rem); height: var(--lc-btn, 3.5rem); }
body:has(.dm-lc:not([hidden])) .dm-top-btn svg { width: 22px; height: 22px; }
/* On the other side from the bubble it sits on the same line. */
@media (min-width: 641px) { body:has(.dm-lc.is-start:not([hidden])) .dm-top-btn { bottom: calc(var(--lc-low, 24px) + env(safe-area-inset-bottom, 0px)); } }
@media (max-width: 640px) { body:has(.dm-lc.is-ph-start:not([hidden])) .dm-top-btn { bottom: calc(var(--lc-ph-low, 88px) + env(safe-area-inset-bottom, 0px)) !important; } }

/* ---- the bubble ---- */
.dm-lc-btn { position: relative; display: inline-flex; align-items: center; justify-content: center; gap: 0.55rem; width: var(--lc-size); height: var(--lc-size); padding: 0; border: 0; border-radius: 999px; background: var(--lc); color: #fff; cursor: pointer; transition: transform 0.35s var(--lc-ease), background-color 0.25s; }
.dm-lc.is-pill .dm-lc-btn { width: auto; padding-inline: calc(var(--lc-size) * 0.3) calc(var(--lc-size) * 0.4); }
.dm-lc-btn:hover { transform: translateY(-2px) scale(1.03); }
/* Black bubble (default) that turns the chat colour on hover and while open. */
.dm-lc.is-btn-ink .dm-lc-btn { background: var(--lc-ink); }
.dm-lc.is-btn-ink .dm-lc-btn:hover, .dm-lc.is-btn-ink.is-open .dm-lc-btn { background: var(--lc); }
.dm-lc.is-btn-ink .dm-lc-badge { background: var(--lc); }
/* Over dark parts of the page the black bubble turns white with a black icon (Settings › Bubble). */
.dm-lc-btn { transition: transform 0.35s var(--lc-ease), background-color 0.3s, color 0.3s; }
.dm-lc.is-btn-ink.is-auto:not(.is-open) .dm-lc-btn.is-on-dark { background: #fff; color: var(--lc-ink); }
.dm-lc.is-btn-ink.is-auto:not(.is-open) .dm-lc-btn.is-on-dark:hover { background: var(--lc); color: #fff; }
.dm-lc-btn:active { transform: scale(0.96); }
.dm-lc-btn:focus-visible { outline: 3px solid color-mix(in srgb, var(--lc) 45%, transparent); outline-offset: 3px; }
.dm-lc-btn-i { display: grid; place-items: center; transition: transform 0.4s var(--lc-ease), opacity 0.25s; }
.dm-lc-btn-i img { width: calc(var(--lc-size) * 0.5); height: calc(var(--lc-size) * 0.5); object-fit: contain; }
.dm-lc-btn-i.is-close { position: absolute; opacity: 0; transform: rotate(-90deg) scale(0.6); }
.dm-lc.is-pill .dm-lc-btn-i.is-close { position: absolute; inset-inline-start: calc(var(--lc-size) * 0.3); }
.dm-lc.is-open .dm-lc-btn-i.is-open { opacity: 0; transform: rotate(90deg) scale(0.6); }
.dm-lc.is-open .dm-lc-btn-i.is-close { opacity: 1; transform: none; }
.dm-lc-btn-t { font-weight: 600; font-size: 0.92rem; white-space: nowrap; transition: opacity 0.25s; }
.dm-lc.is-open .dm-lc-btn-t { opacity: 0; }
.dm-lc-badge { position: absolute; top: -0.2rem; inset-inline-end: -0.2rem; display: grid; place-items: center; min-width: 1.35rem; height: 1.35rem; padding: 0 0.3rem; border: 2px solid var(--lc-bg); border-radius: 999px; background: var(--lc-ink); color: #fff; font-size: 0.7rem; font-weight: 700; animation: dm-lc-pop 0.4s var(--lc-ease); }
@keyframes dm-lc-pop { from { transform: scale(0.3); } }

.dm-lc-peek { position: relative; max-width: min(17rem, calc(100vw - 6rem)); padding: 0.8rem 2.1rem 0.8rem 1rem; border: 1px solid var(--lc-line); border-radius: 1.1rem; border-end-end-radius: 0.3rem; background: var(--lc-bg); color: var(--lc-text); font-size: 0.86rem; line-height: 1.45; text-align: start; cursor: pointer; animation: dm-lc-rise 0.5s var(--lc-ease); }
.dm-lc.is-start .dm-lc-peek { border-end-end-radius: 1.1rem; border-end-start-radius: 0.3rem; }
.dm-lc-peek-x { position: absolute; top: 0.45rem; inset-inline-end: 0.45rem; display: grid; place-items: center; width: 1.4rem; height: 1.4rem; border-radius: 50%; color: var(--lc-mut); }
.dm-lc-peek-x:hover { background: var(--lc-soft); color: var(--lc-text); }
@keyframes dm-lc-rise { from { opacity: 0; transform: translateY(10px) scale(0.97); } }

/* ---- the backdrop (like the theme's drawers: black 50 %, a little blur) ---- */
.dm-lc-shade { position: fixed; inset: 0; z-index: -1; background: rgb(0 0 0 / 0.5); -webkit-backdrop-filter: blur(4px); backdrop-filter: blur(4px); opacity: 0; visibility: hidden; transition: opacity 0.3s var(--lc-ease), visibility 0.3s; }
.dm-lc.is-open .dm-lc-shade { opacity: 1; visibility: visible; }

/* ---- the window ---- */
.dm-lc-win { display: flex; flex-direction: column; width: 24rem; height: min(41rem, calc(100dvh - var(--lc-bottom) - var(--lc-size) - 2.5rem)); border: 1px solid var(--lc-line); border-radius: 1.6rem; background: var(--lc-bg); overflow: hidden; transform-origin: bottom right; animation: dm-lc-open 0.45s var(--lc-ease); }
.dm-lc.is-start .dm-lc-win { transform-origin: bottom left; }
[dir='rtl'] .dm-lc.is-end .dm-lc-win { transform-origin: bottom left; }
@keyframes dm-lc-open { from { opacity: 0; transform: translateY(14px) scale(0.96); } }
.dm-lc-win[hidden] { display: none; }
.dm-lc-view { display: flex; flex-direction: column; flex: 1; min-height: 0; animation: dm-lc-fade 0.3s ease; }
.dm-lc-view[hidden] { display: none; }
@keyframes dm-lc-fade { from { opacity: 0; } }
.dm-lc-x, .dm-lc-back, .dm-lc-icon { display: grid; place-items: center; width: 2.2rem; height: 2.2rem; padding: 0; border: 0; border-radius: 50%; background: none; color: inherit; cursor: pointer; transition: background-color 0.2s; }
.dm-lc-x:hover, .dm-lc-back:hover, .dm-lc-icon:hover { background: color-mix(in srgb, currentColor 10%, transparent); }
[dir='rtl'] .dm-lc-back svg { transform: scaleX(-1); }

/* Home */
.dm-lc-band { display: flex; flex-direction: column; gap: 1.8rem; padding: 1.3rem 1.3rem 2.4rem; background: var(--lc-ink); color: #fff; }
.dm-lc-brandrow { display: flex; align-items: center; gap: 0.6rem; }
.dm-lc-brandrow .dm-lc-x { margin-inline-start: 0.4rem; color: #94a3b8; }
.dm-lc-brandrow .dm-lc-x:hover { color: #fff; }
.dm-lc-mark { display: grid; place-items: center; width: 2.2rem; height: 2.2rem; border-radius: 0.6rem; background: #fff; color: var(--lc-ink); font: 700 0.85rem var(--dm-font-head, 'Unbounded', sans-serif); overflow: hidden; }
.dm-lc-mark img { width: 100%; height: 100%; object-fit: contain; }
.dm-lc-faces { display: flex; margin-inline-start: auto; }
.dm-lc-faces img { width: 2.15rem; height: 2.15rem; border: 2.5px solid var(--lc-ink); border-radius: 50%; margin-inline-start: -0.6rem; background: #fff; }
.dm-lc-faces img:first-child { margin-inline-start: 0; }
.dm-lc-faces.is-sm img { width: 1.85rem; height: 1.85rem; border-color: var(--lc-bg); }
.dm-lc-greet { display: flex; flex-direction: column; gap: 0.35rem; margin: 0; font: 600 1.85rem/1.08 var(--dm-font-head, 'Unbounded', sans-serif); letter-spacing: -0.045em; text-wrap: balance; }
.dm-lc-greet-sub { font: 400 0.92rem/1.45 var(--dm-font, 'Poppins', sans-serif); letter-spacing: 0; color: #94a3b8; }
.dm-lc-scroll { flex: 1; display: flex; flex-direction: column; gap: 0.6rem; margin-top: -1.3rem; padding: 0 1rem 1rem; overflow-y: auto; }
.dm-lc-card { display: flex; align-items: center; gap: 0.85rem; width: 100%; padding: 0.95rem 1.05rem; border: 1px solid var(--lc-line); border-radius: 1.1rem; background: var(--lc-bg); color: var(--lc-text); text-align: start; text-decoration: none; cursor: pointer; transition: border-color 0.25s, transform 0.35s var(--lc-ease); }
.dm-lc-card:hover { border-color: color-mix(in srgb, var(--lc-text) 35%, transparent); transform: translateY(-2px); }
.dm-lc-card[hidden] { display: none; }
.dm-lc-card b { display: block; font-size: 0.92rem; font-weight: 600; }
.dm-lc-card small { display: flex; align-items: center; gap: 0.4rem; margin-top: 0.1rem; color: var(--lc-mut); font-size: 0.8rem; }
.dm-lc-card > svg { color: var(--lc-mut); }
[dir='rtl'] .dm-lc-card > svg { transform: scaleX(-1); }
.dm-lc-send { padding-block: 1.1rem; }
.dm-lc-go { display: grid; place-items: center; width: 2.5rem; height: 2.5rem; border-radius: 50%; background: var(--lc-ink); color: #fff; transition: background-color 0.3s; }
[dir='rtl'] .dm-lc-go svg, [dir='rtl'] .dm-lc-snd svg, [dir='rtl'] .dm-lc-newbtn svg { transform: scaleX(-1); }
.dm-lc-send:hover .dm-lc-go { background: var(--lc); }
.dm-lc-live { width: 0.45rem; height: 0.45rem; flex: none; border-radius: 50%; background: #22c55e; }
.dm-lc-live.is-away { background: #f59e0b; }
.dm-lc-pic { display: grid; place-items: center; width: 2.6rem; height: 2.6rem; flex: none; border-radius: 0.8rem; background: var(--lc-soft); color: var(--lc-text); }
.dm-lc-pic.is-wa { background: #dcfce7; color: #128c7e; }
.dm-lc-last img { width: 2.6rem; height: 2.6rem; border-radius: 50%; }
.dm-lc-last small { display: block; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.dm-lc-dot { width: 0.55rem; height: 0.55rem; flex: none; border-radius: 50%; background: var(--lc); }
.dm-lc-dot[hidden] { display: none; }

/* Tabs */
.dm-lc-tabs { display: flex; border-top: 1px solid var(--lc-line); background: var(--lc-bg); }
.dm-lc-tabs[hidden] { display: none; }
.dm-lc-tabs button { position: relative; flex: 1; display: flex; flex-direction: column; align-items: center; gap: 0.2rem; padding: 0.65rem 0 0.75rem; border: 0; background: none; color: var(--lc-mut); font-size: 0.74rem; cursor: pointer; transition: color 0.2s; }
.dm-lc-tabs button:hover { color: var(--lc-text); }
.dm-lc-tabs button[aria-current='page'] { color: var(--lc-text); font-weight: 600; }
.dm-lc-tabs button[aria-current='page']::before { content: ''; position: absolute; top: -1px; width: 1.75rem; height: 2px; border-radius: 2px; background: var(--lc); }
.dm-lc-tabs i { position: absolute; top: 0.35rem; margin-inline-start: 1.6rem; min-width: 1rem; height: 1rem; padding: 0 0.25rem; border-radius: 999px; background: var(--lc); color: #fff; font: 600 0.62rem/1rem var(--dm-font, sans-serif); font-style: normal; text-align: center; }
.dm-lc-tabs i[hidden] { display: none; }

/* Messages */
.dm-lc-ph { display: flex; align-items: center; gap: 0.6rem; padding: 1.3rem 1.1rem 0.8rem 1.3rem; }
.dm-lc-ph h2 { flex: 1; margin: 0; font: 600 1.3rem var(--dm-font-head, 'Unbounded', sans-serif); letter-spacing: -0.03em; }
.dm-lc-convs { flex: 1; overflow-y: auto; }
.dm-lc-conv { display: flex; align-items: flex-start; gap: 0.75rem; width: 100%; padding: 0.9rem 1.3rem; border: 0; border-top: 1px solid var(--lc-line); background: none; color: inherit; text-align: start; cursor: pointer; transition: background-color 0.2s; }
.dm-lc-conv:hover { background: var(--lc-soft); }
.dm-lc-conv img, .dm-lc-conv .dm-lc-mono { width: 2.5rem; height: 2.5rem; flex: none; border-radius: 50%; }
.dm-lc-mono { display: grid; place-items: center; background: var(--lc-ink); color: #fff; font-weight: 700; font-size: 0.8rem; }
.dm-lc-conv b { display: flex; justify-content: space-between; gap: 0.5rem; font-size: 0.88rem; }
.dm-lc-conv b small { font-weight: 400; color: var(--lc-mut); font-size: 0.74rem; }
.dm-lc-conv p { margin: 0.15rem 0 0; color: var(--lc-mut); font-size: 0.82rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.dm-lc-conv.is-unread p { color: var(--lc-text); font-weight: 500; }
.dm-lc-conv .dm-lc-dot { margin-top: 1rem; }
.dm-lc-empty { padding: 2rem 1.3rem; color: var(--lc-mut); font-size: 0.86rem; text-align: center; }
.dm-lc-newbtn { display: flex; align-items: center; justify-content: center; gap: 0.6rem; margin: 0.8rem 1.3rem 1rem; height: 3.1rem; border: 0; border-radius: 999px; background: var(--lc-ink); color: #fff; font-weight: 600; font-size: 0.9rem; cursor: pointer; transition: background-color 0.3s; }
.dm-lc-newbtn:hover { background: var(--lc); }

/* One chat */
.dm-lc-chd { display: flex; align-items: center; gap: 0.6rem; padding: 0.8rem 0.8rem 0.8rem 0.5rem; border-bottom: 1px solid var(--lc-line); }
.dm-lc-chd b { display: block; font-size: 0.9rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.dm-lc-chd small { display: flex; align-items: center; gap: 0.35rem; color: var(--lc-mut); font-size: 0.75rem; white-space: nowrap; overflow: hidden; }
.dm-lc-chd .dm-lc-faces { margin: 0; }
.dm-lc-msgs { flex: 1; display: flex; flex-direction: column; gap: 0.6rem; padding: 1rem; overflow-y: auto; overscroll-behavior: contain; }
.dm-lc-sys { align-self: center; max-width: 90%; padding: 0.25rem 0.75rem; border-radius: 999px; background: var(--lc-soft); color: var(--lc-mut); font-size: 0.74rem; text-align: center; }
.dm-lc-sys.is-away { border-radius: 0.9rem; padding: 0.6rem 0.9rem; line-height: 1.45; }
.dm-lc-m { display: flex; align-items: flex-end; gap: 0.5rem; max-width: 86%; animation: dm-lc-in 0.35s var(--lc-ease); }
@keyframes dm-lc-in { from { opacity: 0; transform: translateY(6px); } }
.dm-lc-m > img, .dm-lc-m > .dm-lc-mono { width: 1.75rem; height: 1.75rem; flex: none; border-radius: 50%; font-size: 0.62rem; }
.dm-lc-b { padding: 0.6rem 0.9rem; border-radius: 1.1rem 1.1rem 1.1rem 0.35rem; background: var(--lc-soft); font-size: 0.875rem; line-height: 1.5; white-space: pre-wrap; overflow-wrap: anywhere; }
[dir='rtl'] .dm-lc-b { border-radius: 1.1rem 1.1rem 0.35rem 1.1rem; }
.dm-lc-m small { display: block; margin-top: 0.25rem; color: var(--lc-mut); font-size: 0.68rem; }
.dm-lc-m.is-me { align-self: flex-end; }
.dm-lc-m.is-me .dm-lc-b { background: var(--lc); color: #fff; border-radius: 1.1rem 1.1rem 0.35rem 1.1rem; }
[dir='rtl'] .dm-lc-m.is-me .dm-lc-b { border-radius: 1.1rem 1.1rem 1.1rem 0.35rem; }
.dm-lc-m.is-me small { text-align: end; }
.dm-lc-m.is-sending { opacity: 0.6; }
.dm-lc-m.is-failed .dm-lc-b { background: #dc2626; cursor: pointer; }
.dm-lc-typing { display: inline-flex; gap: 0.2rem; padding: 0.2rem 0; }
.dm-lc-typing i { width: 0.4rem; height: 0.4rem; border-radius: 50%; background: var(--lc-mut); animation: dm-lc-dots 1.2s infinite ease-in-out; }
.dm-lc-typing i:nth-child(2) { animation-delay: 0.15s; } .dm-lc-typing i:nth-child(3) { animation-delay: 0.3s; }
@keyframes dm-lc-dots { 0%, 60%, 100% { transform: translateY(0); opacity: 0.5; } 30% { transform: translateY(-4px); opacity: 1; } }

.dm-lc-rate { display: flex; flex-direction: column; align-items: center; gap: 0.4rem; margin: 0 1rem 0.6rem; padding: 0.8rem; border: 1px solid var(--lc-line); border-radius: 1.1rem; font-size: 0.86rem; animation: dm-lc-rise 0.4s var(--lc-ease); }
.dm-lc-rate[hidden] { display: none; }
.dm-lc-stars { display: flex; gap: 0.15rem; }
.dm-lc-stars button { display: grid; place-items: center; width: 2.4rem; height: 2.4rem; padding: 0; border: 0; border-radius: 50%; background: none; color: color-mix(in srgb, var(--lc-text) 25%, transparent); cursor: pointer; transition: color 0.15s, transform 0.25s var(--lc-ease); }
.dm-lc-stars button:hover { transform: scale(1.12); }
.dm-lc-stars button.is-on { color: var(--lc); }
.dm-lc-stars button.is-on svg { fill: currentColor; }

.dm-lc-form { display: flex; flex-direction: column; gap: 0.5rem; padding: 0 0.8rem 0.8rem; }
.dm-lc-ask { display: flex; flex-direction: column; gap: 0.5rem; padding: 0.9rem; border: 1px solid var(--lc-line); border-radius: 1.1rem; animation: dm-lc-rise 0.4s var(--lc-ease); }
.dm-lc-ask[hidden] { display: none; }
.dm-lc-ask > b { font-size: 0.86rem; }
.dm-lc-field { display: flex; flex-direction: column; gap: 0.2rem; font-size: 0.75rem; color: var(--lc-mut); }
.dm-lc-field em { font-style: normal; opacity: 0.8; }
.dm-lc-field input { height: 2.5rem; padding: 0 0.8rem; border: 1px solid var(--lc-line); border-radius: 0.75rem; background: var(--lc-bg); color: var(--lc-text); font: inherit; font-size: 0.9rem; }
.dm-lc-field input:focus { outline: 0; border-color: var(--lc-text); }
.dm-lc-field input.is-bad { border-color: #dc2626; }
.dm-lc-priv { color: var(--lc-mut); font-size: 0.72rem; line-height: 1.4; }
.dm-lc-hp { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
.dm-lc-err { margin: 0; padding: 0 0.3rem; color: #dc2626; font-size: 0.78rem; }
.dm-lc-err[hidden] { display: none; }
.dm-lc-comp { display: flex; align-items: flex-end; gap: 0.5rem; padding: 0.35rem 0.35rem 0.35rem 1rem; border: 1px solid var(--lc-line); border-radius: 1.4rem; transition: border-color 0.2s; }
[dir='rtl'] .dm-lc-comp { padding: 0.35rem 1rem 0.35rem 0.35rem; }
.dm-lc-comp:focus-within { border-color: var(--lc-text); }
.dm-lc-comp textarea { flex: 1; min-width: 0; max-height: 7.5rem; padding: 0.55rem 0; border: 0; outline: 0; resize: none; background: none; color: var(--lc-text); font: inherit; font-size: 0.9rem; line-height: 1.45; }
.dm-lc-snd { display: grid; place-items: center; width: 2.4rem; height: 2.4rem; flex: none; padding: 0; border: 0; border-radius: 50%; background: var(--lc-ink); color: #fff; cursor: pointer; transition: background-color 0.3s, transform 0.25s var(--lc-ease); }
.dm-lc-snd:hover { background: var(--lc); }
.dm-lc-snd:active { transform: scale(0.92); }
.dm-lc-snd:disabled { opacity: 0.5; cursor: default; }

/* The answer helper: its face, quick replies and cards */
.dm-lc-mono.is-bot { background: var(--lc); color: #fff; }
.dm-lc-chips { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 0.4rem; animation: dm-lc-in 0.35s var(--lc-ease); }
.dm-lc-chips button { padding: 0.45rem 0.85rem; border: 1px solid var(--lc-text); border-radius: 999px; background: var(--lc-bg); color: var(--lc-text); font-size: 0.82rem; font-weight: 500; cursor: pointer; transition: background-color 0.2s, color 0.2s, border-color 0.2s; }
.dm-lc-chips button:hover { border-color: var(--lc); background: var(--lc); color: #fff; }
.dm-lc-card2 { display: flex; align-items: center; gap: 0.6rem; margin-top: 0.4rem; padding: 0.6rem 0.75rem; border: 1px solid var(--lc-line); border-radius: 0.9rem; background: var(--lc-bg); color: var(--lc-text); text-decoration: none; font-size: 0.82rem; transition: border-color 0.2s; }
a.dm-lc-card2:hover { border-color: var(--lc-text); }
.dm-lc-card2 img { width: 2.6rem; height: 2.6rem; flex: none; border-radius: 0.5rem; object-fit: cover; background: var(--lc-soft); }
.dm-lc-card2 b { display: block; font-weight: 600; overflow-wrap: anywhere; }
.dm-lc-card2 small { display: block; color: var(--lc-mut); font-size: 0.76rem; }
.dm-lc-card2.is-ok small { color: #15803d; }
.dm-lc-card2.is-warn small { color: #b45309; }
.dm-lc-card-l, .dm-lc-copy { flex: none; font-size: 0.76rem; font-weight: 600; color: var(--lc); }
.dm-lc-copy { padding: 0.3rem 0.6rem; border: 1px solid var(--lc); border-radius: 999px; background: none; cursor: pointer; }

/* Dark pages: the ink band and buttons stay dark; the window follows the theme's colours. */
:root[data-theme='dark'] .dm-lc, .dm-dark .dm-lc { --lc-ink: #000; }
:root[data-theme='dark'] .dm-lc-mark { background: #fff; }

/* Phones: a full-screen sheet; the bubble keeps its own phone side and height. */
@media (max-width: 640px) {
  .dm-lc { bottom: calc(var(--lc-ph-bottom) + env(safe-area-inset-bottom, 0px)); }
  .dm-lc.is-ph-end { inset-inline-start: auto; inset-inline-end: calc(1rem + env(safe-area-inset-right, 0px)); align-items: flex-end; }
  .dm-lc.is-ph-start { inset-inline-end: auto; inset-inline-start: calc(1rem + env(safe-area-inset-left, 0px)); align-items: flex-start; }
  .dm-lc-win { position: fixed; inset: 0; width: auto; height: 100dvh; border: 0; border-radius: 0; padding-top: env(safe-area-inset-top, 0px); padding-bottom: env(safe-area-inset-bottom, 0px); z-index: 70; animation: dm-lc-sheet 0.45s var(--lc-ease); }
  @keyframes dm-lc-sheet { from { transform: translateY(100%); } }
  .dm-lc.is-open { z-index: 1000; }
  .dm-lc.is-open .dm-lc-btn, .dm-lc.is-open .dm-lc-peek { visibility: hidden; }
  .dm-lc-greet { font-size: 1.65rem; }
}
@media (prefers-reduced-motion: reduce) {
  .dm-lc *, .dm-lc *::before { animation: none !important; transition: none !important; }
}

/* Use my location */
.dm-lc-loc { cursor: default; }
.dm-lc-loc:hover { transform: none; }
.dm-lc-loc small { display: block; }
.dm-lc-locbtn { flex: none; padding: 0.45rem 0.85rem; border: 1px solid var(--lc-text); border-radius: 999px; background: var(--lc-text); color: var(--lc-bg); font: 600 0.78rem inherit; font-family: inherit; cursor: pointer; transition: background-color 0.2s, border-color 0.2s, color 0.2s; }
.dm-lc-locbtn:hover:not(:disabled) { border-color: #ff6d00; background: #ff6d00; color: #fff; }
.dm-lc-locbtn:disabled { opacity: 0.6; cursor: progress; }
.dm-lc-locbtn.is-ghost { background: none; color: var(--lc-text); }
.dm-lc-locbtn[hidden] { display: none; }
.dm-lc-locbtn:focus-visible { outline: 2px solid #ff6d00; outline-offset: 2px; }
.dm-lc-loc.is-on .dm-lc-pic { color: #ff6d00; }
