/* Dil, o assistente de IA do BRDeals (06/11/2026). */
.dil {
    --dil-verde: #1f7a3f;
    --dil-verde-escuro: #155c2e;
    --dil-texto: #17262f;
    --dil-suave: #566a73;
    --dil-linha: #dfe8e3;
    --dil-fundo: #eaf4ee;
    --dil-base: calc(var(--barra-inferior-altura, 0px) + var(--consentimento-altura, 0px) + env(safe-area-inset-bottom, 0px));
    color: var(--dil-texto);
}
.dil [hidden] { display: none !important; }

.dil__botao {
    position: fixed;
    right: calc(10px + env(safe-area-inset-right, 0px));
    bottom: calc(10px + var(--dil-base));
    z-index: 55;
    width: 104px;
    height: 104px;
    padding: 0;
    border: 0;
    background: none;
    cursor: pointer;
    display: grid;
    place-items: center;
    transition: transform .15s;
}
.dil__botao:hover { transform: scale(1.05); }
.dil__botao:focus-visible,
.dil__topo button:focus-visible,
.dil__sugestoes button:focus-visible,
.dil__envio button:focus-visible { outline: 3px solid #1b4f9c; outline-offset: 2px; }
.dil__botao img { width: 104px; height: 104px; object-fit: contain; filter: drop-shadow(0 6px 10px rgba(23, 38, 47, .28)); }
.dil__x {
    display: grid;
    place-items: center;
    width: 54px;
    height: 54px;
    border-radius: 50%;
    background: #fff;
    border: 3px solid var(--dil-verde);
    color: var(--dil-verde);
    font-size: 24px;
    font-weight: 800;
    box-shadow: 0 6px 16px rgba(23, 38, 47, .22);
}

.dil__recado {
    position: fixed;
    right: calc(14px + env(safe-area-inset-right, 0px));
    bottom: calc(118px + var(--dil-base));
    z-index: 55;
    max-width: 230px;
    padding: 10px 32px 10px 14px;
    background: #fff;
    border: 1px solid var(--dil-linha);
    border-radius: 16px 16px 4px 16px;
    box-shadow: 0 8px 22px rgba(23, 38, 47, .16);
    font-weight: 700;
    font-size: 15px;
    line-height: 1.35;
    animation: dil-surge .3s ease-out;
}
.dil__recado button {
    position: absolute;
    top: 5px;
    right: 5px;
    padding: 2px 6px;
    border: 0;
    background: none;
    color: var(--dil-suave);
    cursor: pointer;
}

.dil__painel {
    position: fixed;
    right: calc(14px + env(safe-area-inset-right, 0px));
    bottom: calc(82px + var(--dil-base));
    z-index: 55;
    width: min(370px, calc(100vw - 28px));
    height: min(540px, calc(100dvh - 110px - var(--dil-base)));
    display: flex;
    flex-direction: column;
    overflow: hidden;
    background: #fff;
    border-radius: 18px;
    box-shadow: 0 14px 40px rgba(23, 38, 47, .28);
    animation: dil-surge .2s ease-out;
}
.dil__topo { display: flex; align-items: center; gap: 10px; padding: 10px 12px; background: var(--dil-verde); color: #fff; }
.dil__topo img { flex: none; width: 42px; height: 42px; padding: 2px; border-radius: 50%; background: #fff; }
.dil__topo div { flex: 1; min-width: 0; line-height: 1.2; }
.dil__topo strong { display: block; font-size: 17px; }
.dil__topo small { font-size: 13px; opacity: .92; }
.dil__topo button { width: 32px; height: 32px; border: 0; border-radius: 50%; background: rgba(255, 255, 255, .18); color: #fff; cursor: pointer; }

.dil__idioma { display: inline-flex; flex: none; padding: 2px; border: 1px solid rgba(255, 255, 255, .45); border-radius: 999px; }
.dil__idioma a { padding: 3px 8px; border-radius: 999px; color: #fff; font-size: 12px; font-weight: 800; line-height: 1.2; text-decoration: none; }
.dil__idioma a[aria-current="true"] { background: #fff; color: var(--dil-verde-escuro); }
.dil__idioma a:focus-visible { outline: 3px solid #fff; outline-offset: 1px; }

.dil__fala { flex: 1; min-height: 0; overflow-y: auto; display: flex; flex-direction: column; gap: 10px; padding: 14px; background: #fbfdfc; }
.dil__m { max-width: 90%; margin: 0; padding: 9px 12px; border-radius: 14px; font-size: 15px; line-height: 1.42; white-space: pre-line; overflow-wrap: anywhere; }
.dil__m-dil { align-self: flex-start; background: var(--dil-fundo); border-bottom-left-radius: 4px; }
.dil__m-eu { align-self: flex-end; background: var(--dil-verde); color: #fff; border-bottom-right-radius: 4px; }
.dil__m-pensando { color: var(--dil-suave); font-style: italic; }
.dil__acao { display: inline-block; margin-top: 6px; padding: 6px 12px; border-radius: 9px; background: var(--dil-verde); color: #fff !important; font-size: 14px; font-weight: 800; text-decoration: none; }
.dil__acao:hover { background: var(--dil-verde-escuro); }

.dil__sugestoes { display: flex; flex-direction: column; gap: 7px; }
.dil__sugestoes button { padding: 8px 11px; border: 1.5px solid var(--dil-verde); border-radius: 12px; background: #fff; color: var(--dil-verde-escuro); font: inherit; font-size: 14px; font-weight: 700; text-align: left; cursor: pointer; }
.dil__sugestoes button:hover { background: var(--dil-fundo); }

.dil__voltar { align-self: flex-start; padding: 7px 11px; border: 0; border-radius: 10px; background: none; color: var(--dil-verde-escuro); font: inherit; font-size: 14px; font-weight: 800; text-decoration: underline; cursor: pointer; }
.dil__voltar:hover { background: var(--dil-fundo); }
.dil__voltar:focus-visible { outline: 3px solid #1b4f9c; outline-offset: 2px; }

.dil__pe { padding: 9px 10px 7px; border-top: 1px solid var(--dil-linha); background: #fff; }
.dil__envio { display: flex; gap: 7px; margin: 0; }
.dil__envio input { flex: 1; min-width: 0; padding: 9px 11px; border: 1px solid var(--dil-linha); border-radius: 11px; background: #fff; color: var(--dil-texto); font: inherit; font-size: 16px; }
.dil__envio button { width: 42px; border: 0; border-radius: 11px; background: var(--dil-verde); color: #fff; cursor: pointer; }
.dil__pe small { display: block; margin-top: 5px; color: var(--dil-suave); font-size: 12px; text-align: center; }

@media (max-width: 719px) {
    .dil__botao, .dil__botao img { width: 84px; height: 84px; }
    .dil__recado { bottom: calc(98px + var(--dil-base)); }
    .dil__painel { bottom: calc(76px + var(--dil-base)); height: calc(100dvh - 96px - var(--dil-base)); }
}
@keyframes dil-surge { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) {
    .dil__botao { transition: none; }
    .dil__recado, .dil__painel { animation: none; }
}
@media print { .dil { display: none; } }
/* No celular, o Dil sai da frente enquanto um aviso do site ocupa o mesmo canto. */
@media (max-width: 719px) {
    body:has(.aviso-proibidos:not([hidden])) .dil,
    body:has(.install-card:not([hidden])) .dil { display: none; }
}
