/* DMK Prisma · acabamento final do PDV (carrega por último).
   Zoom 100% como padrão: margens confortáveis, botões com volume, sem efeitos decorativos piscando.
   Não muda nenhuma função: só aparência. */

/* ---------- Efeitos antigos que só pesavam (pulsos e anéis decorativos infinitos) ---------- */
.notification-pulse, .dmk-sub-badge::before, .dmk-sub-hero::after,
#providerWorkspace .isp-live-dot, #providerWorkspace .pv-dot { animation: none !important; }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { animation-duration: 0s !important; transition-duration: 0s !important; } }

/* ---------- Botões com volume (os "achatados" ganham relevo suave) ---------- */
:is(.btn, .chat-round-btn):not(.btn-link):not(.btn-close):not(:disabled) {
  box-shadow: 0 1px 2px rgba(15, 23, 42, .08), 0 1px 0 rgba(255, 255, 255, .5) inset;
  transition: box-shadow .15s ease, transform .15s ease, filter .15s ease, background-color .15s ease, border-color .15s ease;
}
:is(.btn-primary, .btn-success, .btn-danger, .btn-warning, .btn-info, .btn-dark):not(:disabled) {
  background-image: linear-gradient(180deg, rgba(255, 255, 255, .14), rgba(0, 0, 0, .05)) !important;
  box-shadow: 0 1px 2px rgba(15, 23, 42, .14), 0 6px 14px -8px rgba(15, 23, 42, .45), 0 1px 0 rgba(255, 255, 255, .22) inset !important;
}
:is(.btn, .chat-round-btn):not(.btn-link):not(.btn-close):not(:disabled):hover { transform: translateY(-1px); box-shadow: 0 4px 12px -4px rgba(15, 23, 42, .22), 0 1px 0 rgba(255, 255, 255, .25) inset; }
:is(.btn, .chat-round-btn):not(.btn-link):not(.btn-close):not(:disabled):active { transform: none; filter: brightness(.97); box-shadow: 0 1px 2px rgba(15, 23, 42, .12) inset; }
body[data-theme=dark] :is(.btn, .chat-round-btn):not(.btn-link):not(.btn-close):not(:disabled) { box-shadow: 0 1px 2px rgba(0, 0, 0, .4); }

/* ---------- Celular: barra de ações do topo rola de lado com indicação visual ---------- */
@media (max-width: 760px) {
  .top-actions.top-actions-pro {
    overflow-x: auto; scrollbar-width: none; scroll-snap-type: x proximity;
    -webkit-mask-image: linear-gradient(90deg, #000 88%, transparent); mask-image: linear-gradient(90deg, #000 88%, transparent);
  }
  .top-actions.top-actions-pro::-webkit-scrollbar { display: none; }
  .top-actions.top-actions-pro > * { flex: 0 0 auto; scroll-snap-align: start; }
}

/* =====================================================================
   Campos de texto: UMA borda só ao digitar (antes: borda + contorno afastado = "duas bordas")
   ===================================================================== */
:root { --px-pdv: var(--ws-primary, var(--dmk-primary, var(--primary, var(--brand, #178058)))); }
:is(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]):not([type=file]):not([type=submit]):not([type=button]):not([type=reset]), textarea, select, .form-control, .form-select):is(:focus, :focus-visible):not(:is(.sale-search-input-row, .dmk-login-input, .dmk-dialog-secret, .dmk-smart-control-v11413, .isp-filters > label, .amx164-chat-compose, .chat-input-wrap) *) {
  outline: none !important; outline-offset: 0 !important;
  border-color: var(--px-pdv) !important;
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--px-pdv) 16%, transparent) !important;
}
/* campos dentro de uma "caixa" que já ganha o destaque: o campo interno fica limpo */
:is(.sale-search-input-row, .dmk-login-input, .dmk-dialog-secret, .dmk-smart-control-v11413, .isp-filters > label) :is(input, textarea, select):focus { outline: none !important; box-shadow: none !important; }
:is(.sale-search-input-row, .dmk-login-input, .dmk-dialog-secret, .dmk-smart-control-v11413, .isp-filters > label):focus-within { outline: none !important; border-color: var(--px-pdv) !important; box-shadow: 0 0 0 3px color-mix(in srgb, var(--px-pdv) 16%, transparent) !important; }

/* =====================================================================
   Chat da empresa (Central de Atendimento): balões limpos e padronizados
   ===================================================================== */
.chat-msg-row .chat-bubble-v83 { border-radius: 16px !important; box-shadow: 0 1px 2px rgba(15, 23, 42, .08) !important; }
.chat-msg-row.in .chat-bubble-v83 { border-top-left-radius: 6px !important; }
.chat-msg-row.out .chat-bubble-v83 { border-top-right-radius: 6px !important; }
.chat-msg-row .chat-msg-head { gap: 8px; }
.chat-msg-row .chat-msg-head b { font-size: 12px; letter-spacing: .01em; }
.chat-msg-row .chat-msg-head span { font-size: 11px; opacity: .8; white-space: nowrap; }
/* ferramentas do balão (responder, reagir, fixar...) aparecem ao passar o mouse; no celular ficam discretas */
.chat-msg-row .chat-msg-tools { display: flex; gap: 2px; justify-content: flex-end; margin-top: 4px; }
.chat-msg-row .chat-msg-tools button { width: 28px; height: 26px; padding: 0 !important; border: 0 !important; border-radius: 8px !important; background: transparent !important; color: inherit; opacity: .6; box-shadow: none !important; transform: none !important; }
.chat-msg-row .chat-msg-tools button:hover { opacity: 1; background: color-mix(in srgb, var(--px-pdv) 12%, transparent) !important; color: var(--px-pdv); }
@media (hover: hover) and (pointer: fine) {
  .chat-msg-row .chat-msg-tools { height: 0; margin-top: 0; overflow: hidden; opacity: 0; transition: opacity .15s ease; }
  .chat-msg-row:is(:hover, :focus-within) .chat-msg-tools { height: auto; margin-top: 4px; opacity: 1; }
}
/* "digitando…" com três pontinhos animados */
.chat-presence.typing { color: var(--px-pdv) !important; font-weight: 600; }
.chat-presence.typing::after, .amx164-chat-meta.typing::after { content: ""; display: inline-block; width: 18px; height: 6px; margin-left: 4px; vertical-align: middle;
  background: radial-gradient(circle closest-side, currentColor 92%, transparent) 0 50% / 6px 6px no-repeat, radial-gradient(circle closest-side, currentColor 92%, transparent) 6px 50% / 6px 6px no-repeat, radial-gradient(circle closest-side, currentColor 92%, transparent) 12px 50% / 6px 6px no-repeat;
  animation: px-digitando 1.1s steps(3, end) infinite; }
@keyframes px-digitando { 0% { clip-path: inset(0 12px 0 0); } 100% { clip-path: inset(0 -1px 0 0); } }

/* =====================================================================
   Chat do site da empresa: campos e cabeçalho no padrão
   ===================================================================== */
.amx164-chat-panel :is(input, textarea, select) { border-radius: 12px !important; }
.amx164-chat-panel :is(input, textarea, select):focus { outline: none !important; border-color: var(--px-pdv) !important; box-shadow: 0 0 0 3px color-mix(in srgb, var(--px-pdv) 16%, transparent) !important; }
.amx164-chat-compose:focus-within { outline: none !important; }
.amx164-message { border-radius: 16px !important; }
