/* Pocket Lab | Alba, assistente de IA (balão flutuante + encaixe na seção) */
.alba { position: fixed; right: 24px; bottom: 24px; z-index: 90; font-family: var(--font); }
.alba { width: auto; display: flex; flex-direction: column; align-items: flex-end; gap: 12px; pointer-events: none; }
.alba > * { pointer-events: auto; }
/* Barra de conversa flutuante */
.alba__barra { position: relative; display: flex; align-items: center; gap: 12px; width: auto; min-width: 0; padding: 7px 20px 7px 7px; cursor: text; border-radius: 20px; background: rgba(1, 29, 38, .92); -webkit-backdrop-filter: blur(16px); backdrop-filter: blur(16px); box-shadow: 0 24px 50px -18px rgba(1, 29, 38, .7), inset 0 0 0 1px rgba(249, 250, 250, .14); transition: translate .45s cubic-bezier(.2, .7, .2, 1), opacity .3s, box-shadow .3s; }
.alba__barra::before { content: ""; position: absolute; inset: -1px; z-index: -1; border-radius: 21px; padding: 1px; background: conic-gradient(from var(--ang, 0deg), transparent 0 60%, rgba(244, 182, 63, .9) 75%, transparent 90%); -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); -webkit-mask-composite: xor; mask-composite: exclude; animation: alba-borda 4.5s linear infinite; }
@property --ang { syntax: "<angle>"; inherits: false; initial-value: 0deg; }
@keyframes alba-borda { to { --ang: 360deg; } }
.alba__barra:hover, .alba.is-foco .alba__barra { box-shadow: 0 28px 56px -18px rgba(1, 29, 38, .8), inset 0 0 0 1px rgba(244, 182, 63, .7); }
.alba__marca { flex: none; display: grid; place-items: center; width: 42px; height: 42px; border: 0; border-radius: 14px; background: linear-gradient(145deg, #12597C, #011D26); box-shadow: inset 0 0 0 1px rgba(249, 250, 250, .16); cursor: pointer; }
.alba__marca svg, .alba__av svg { width: 24px; height: 24px; }
.alba__sp1 { fill: var(--yellow); transform-origin: 11px 11px; animation: alba-brilho 3.2s ease-in-out infinite; }
.alba__sp2 { fill: #F6D18A; transform-origin: 18.5px 5px; animation: alba-brilho 3.2s ease-in-out 1.1s infinite; }
@keyframes alba-brilho { 0%, 100% { scale: 1; opacity: 1; } 50% { scale: .82; opacity: .75; } }
.alba__barra-l { position: absolute; left: 61px; right: 12px; top: 0; bottom: 0; display: flex; align-items: center; }
.alba__barra input { width: 100%; padding: 10px 2px; opacity: 0; border: 0; background: transparent; font: inherit; font-size: 15px; color: var(--neutral-000); outline: none; }
.alba__barra-dica { position: relative; display: flex; flex-direction: column; gap: 1px; pointer-events: none; overflow: hidden; white-space: nowrap; transition: opacity .2s; }
.alba__barra-dica b { font-weight: 500; font-size: 14px; color: var(--neutral-000); }
.alba__barra-dica em { width: 0; min-width: 100%; font-style: normal; font-size: 12.5px; color: var(--neutral-300); overflow: hidden; text-overflow: ellipsis; }
.alba__barra-dica.is-on em { animation: alba-dica .5s cubic-bezier(.2, .7, .2, 1); }
@keyframes alba-dica { from { opacity: 0; translate: 0 8px; } }
.alba.is-foco .alba__barra-dica, .alba.is-digitando .alba__barra-dica { opacity: 0; }
.alba__barra-env { flex: none; display: grid; place-items: center; width: 42px; height: 42px; border: 0; border-radius: 14px; background: var(--yellow); color: var(--blue-900); cursor: pointer; transition: background-color .2s, translate .2s; }
.alba__barra-env:hover { background: #F6D18A; translate: 2px 0; }
.alba[data-estado="aberto"] .alba__barra, .alba[data-estado="ancorado"] .alba__barra { opacity: 0; translate: 0 24px; pointer-events: none; }
.alba[data-estado="ancorado"] .alba__oi { display: none; }
/* Barra compacta durante a rolagem (expande no hover ou foco) */
.alba.is-compacto:not(:hover):not(.is-foco) .alba__barra-dica em { display: none; }
.alba__barra { transition: width .45s cubic-bezier(.2, .7, .2, 1), translate .45s cubic-bezier(.2, .7, .2, 1), opacity .3s, box-shadow .3s; }
/* Balão de boas-vindas */
.alba__oi { position: relative; width: 300px; padding: 16px 40px 16px 18px; border-radius: 18px 18px 6px 18px; background: #fff; color: var(--neutral-800); box-shadow: 0 30px 60px -24px rgba(1, 29, 38, .45), 0 0 0 1px rgba(34, 37, 38, .06); font-size: 14px; line-height: 1.45; cursor: pointer; animation: alba-entra .6s cubic-bezier(.2, .8, .2, 1); }
.alba__oi[hidden] { display: none; }
.alba__oi b { font-weight: 600; color: var(--blue-900); }
.alba__oi-x { position: absolute; right: 8px; top: 8px; display: grid; place-items: center; width: 26px; height: 26px; border: 0; border-radius: 8px; background: transparent; color: var(--neutral-500); cursor: pointer; }
.alba__oi-x:hover { background: var(--neutral-100); }
.alba__av { flex: none; display: grid; place-items: center; width: 44px; height: 44px; border-radius: 14px; background: linear-gradient(145deg, #12597C, #011D26); box-shadow: inset 0 0 0 1px rgba(249, 250, 250, .16); }
.alba__painel { display: none; flex-direction: column; overflow: hidden; border-radius: 26px; background: var(--blue-900) radial-gradient(70% 45% at 85% 0%, rgba(18, 89, 124, .65), transparent 70%); color: var(--neutral-100); box-shadow: 0 50px 90px -40px rgba(1, 29, 38, .75), inset 0 0 0 1px rgba(249, 250, 250, .1); }
.alba[data-estado="aberto"] .alba__painel { display: flex; position: fixed; right: 24px; bottom: 24px; width: min(400px, calc(100vw - 32px)); height: min(620px, calc(100vh - 110px)); }
.alba-doca { position: relative; min-height: 640px; }
.alba-doca .alba__painel { display: flex; position: absolute; inset: 0; border-radius: 30px; box-shadow: 0 70px 120px -50px rgba(1, 29, 38, .75); }
.alba-doca .alba__x { display: none; }
.alba__painel.is-entra { animation: alba-entra .55s cubic-bezier(.2, .8, .2, 1); }
@keyframes alba-entra { from { opacity: 0; translate: 0 24px; scale: .97; } }

.alba__cab { display: flex; align-items: center; gap: 14px; padding: 18px 20px; border-bottom: 1px solid rgba(249, 250, 250, .1); }
.alba__cab p { flex: 1; display: flex; flex-direction: column; gap: 2px; }
.alba__cab b { font-weight: 500; font-size: 17px; color: var(--neutral-000); }
.alba__cab span { display: flex; align-items: center; gap: 7px; font-size: 12.5px; color: var(--neutral-300); }
.alba__on { width: 7px; height: 7px; border-radius: 50%; background: #4fbf8a; box-shadow: 0 0 0 3px rgba(79, 191, 138, .2); }
.alba__x { display: grid; place-items: center; width: 36px; height: 36px; border: 0; border-radius: 10px; background: rgba(249, 250, 250, .08); color: var(--neutral-100); cursor: pointer; }
.alba__x:hover { background: rgba(249, 250, 250, .16); }
.alba__msgs { flex: 1; display: flex; flex-direction: column; gap: 12px; padding: 20px; overflow-y: auto; scroll-behavior: smooth; scrollbar-width: thin; scrollbar-color: rgba(249, 250, 250, .2) transparent; }
.alba__m { max-width: 86%; padding: 13px 16px; border-radius: 18px; font-size: 15px; line-height: 1.5; animation: alba-entra .4s cubic-bezier(.2, .7, .2, 1); }
.alba__m--ia { align-self: flex-start; background: rgba(249, 250, 250, .08); box-shadow: inset 0 0 0 1px rgba(249, 250, 250, .1); border-bottom-left-radius: 6px; }
.alba__m--eu { align-self: flex-end; background: var(--yellow); color: var(--blue-900); border-bottom-right-radius: 6px; }
.alba__m--dig { display: flex; gap: 5px; align-self: flex-start; background: rgba(249, 250, 250, .08); }
.alba__m--dig i { width: 7px; height: 7px; border-radius: 50%; background: var(--neutral-300); animation: alba-dig 1.2s infinite; }
.alba__m--dig i:nth-child(2) { animation-delay: .15s; } .alba__m--dig i:nth-child(3) { animation-delay: .3s; }
@keyframes alba-dig { 0%, 60%, 100% { opacity: .3; translate: 0 0; } 30% { opacity: 1; translate: 0 -3px; } }
.alba__cta { display: flex; width: max-content; align-items: center; gap: 8px; margin-top: 10px; padding: 10px 14px; border-radius: 10px; background: var(--yellow); color: var(--blue-900); font-size: 12.5px; letter-spacing: .5px; text-transform: uppercase; }
.alba__base { padding: 14px 18px 18px; border-top: 1px solid rgba(249, 250, 250, .1); background: rgba(0, 0, 0, .12); }
.alba__sugrot, .alba__lbl { display: block; margin-bottom: 8px; font-size: 11px; letter-spacing: .12em; text-transform: uppercase; color: var(--neutral-400); }
.alba__sug { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 14px; }
.alba__sug button { padding: 9px 14px; border: 0; border-radius: 99px; background: rgba(249, 250, 250, .08); box-shadow: inset 0 0 0 1px rgba(249, 250, 250, .2); font: inherit; font-size: 13px; color: var(--neutral-000); cursor: pointer; transition: background-color .2s, box-shadow .2s; }
.alba__sug button:hover { background: rgba(244, 182, 63, .16); box-shadow: inset 0 0 0 1px var(--yellow); }
.alba__campo { display: flex; gap: 8px; padding: 6px; border-radius: 16px; background: var(--neutral-000); box-shadow: 0 0 0 0 rgba(244, 182, 63, .5); }
.alba__painel .alba__campo { animation: alba-campo 2.4s ease-out infinite; }
.alba__painel.is-usado .alba__campo { animation: none; }
@keyframes alba-campo { 0% { box-shadow: 0 0 0 0 rgba(244, 182, 63, .55); } 80%, 100% { box-shadow: 0 0 0 10px rgba(244, 182, 63, 0); } }
.alba__campo:focus-within { box-shadow: 0 0 0 3px var(--yellow); }
.alba__campo input { flex: 1; min-width: 0; padding: 12px 12px; border: 0; background: transparent; font: inherit; font-size: 15.5px; color: var(--neutral-900); outline: none; }
.alba__campo input::placeholder { color: var(--neutral-500); }
.alba__env { display: inline-flex; align-items: center; gap: 8px; padding: 0 16px; border: 0; border-radius: 11px; background: var(--blue-900); color: var(--neutral-000); font: inherit; font-size: 13px; letter-spacing: .5px; text-transform: uppercase; cursor: pointer; }
.alba__env:hover { background: var(--yellow); color: var(--blue-900); }

/* Seção de encaixe */
.alba-sec { position: relative; background: var(--neutral-000); color: var(--neutral-900); }
.alba-sec__in { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: 72px; align-items: center; padding: 112px max(40px, calc((100% - 1286px) / 2)); }
.alba-sec__esq { display: flex; flex-direction: column; align-items: flex-start; gap: 26px; }
.alba-sec h2 { display: flex; flex-direction: column; font-weight: 300; font-size: clamp(34px, 3.5vw, 50px); line-height: 1.05; letter-spacing: -.01em; color: var(--neutral-900); }
.alba-sec h2 .is-dim { color: var(--neutral-400); }
.alba-sec__lead { max-width: 460px; font-size: 16px; line-height: 1.55; color: var(--neutral-600); }
.alba-sec__sel { display: flex; flex-direction: column; gap: 10px; }
.alba-sec__sel li { display: flex; align-items: center; gap: 10px; font-size: 15px; color: var(--neutral-800); }
.alba-sec__sel svg { width: 18px; height: 18px; color: #c98a12; }
.alba-sec__dica { display: inline-flex; align-items: center; gap: 12px; padding: 12px 18px; border-radius: 99px; background: rgba(244, 182, 63, .18); color: var(--blue-900); font-size: 14px; }
.alba-sec__dica .ico-arrow { animation: alba-seta 1.4s ease-in-out infinite; }
@keyframes alba-seta { 50% { translate: 6px 0; } }

@media (max-width: 1100px) {
  .alba-sec__in { grid-template-columns: minmax(0, 1fr); gap: 36px; padding: 88px 24px; }
  .alba-sec__dica .ico-arrow { rotate: 90deg; }
  .alba-doca { min-height: 600px; }
}
@media (max-width: 640px) {
  .alba { right: 16px; bottom: 16px; }
  .alba { width: auto; max-width: calc(100vw - 32px); }
  .alba__barra { width: auto; padding-right: 7px; }
  .alba__barra-l { position: absolute; inset: 0; opacity: 0; pointer-events: none; }
  .alba__barra-dica { position: static; translate: none; min-width: 150px; }
  .alba__barra-dica em { display: none; }
  .alba__oi { width: min(300px, 100%); }
  .alba[data-estado="aberto"] .alba__painel { right: 8px; left: 8px; bottom: 8px; width: auto; height: calc(100vh - 90px); }
  .alba__env span { display: none; }
  .alba__m { max-width: 92%; }
}
@media (prefers-reduced-motion: reduce) { .alba__barra::before, .alba__sp1, .alba__sp2, .alba__campo, .alba-sec__dica .ico-arrow { animation: none !important; } }

/* v6.5: barra só com o necessário; ao focar, abre espaço para digitar */
.alba.is-foco .alba__barra, .alba.is-digitando .alba__barra { min-width: 340px; }
.alba.is-foco .alba__barra input, .alba.is-digitando .alba__barra input { opacity: 1; }
.alba__barra input::placeholder { color: var(--neutral-400); }
.alba__barra-env { display: none; }
.alba__oi.is-sai { animation: alba-sai .45s ease forwards; }
@keyframes alba-sai { to { opacity: 0; translate: 0 10px; } }
@media (max-width: 640px) { .alba.is-foco .alba__barra { min-width: 0; } }

/* =====================================================================
   Aviso de cookies (global, junto com a Alba)
   ===================================================================== */
.ck { position: fixed; left: 24px; bottom: 24px; z-index: 95; width: min(440px, calc(100vw - 32px)); display: flex; flex-direction: column; gap: 14px; padding: 18px 20px; border-radius: 18px; background: #fff; color: var(--neutral-800); box-shadow: 0 30px 60px -24px rgba(1, 29, 38, .5), 0 0 0 1px rgba(34, 37, 38, .06); font-family: var(--font); animation: alba-entra .5s cubic-bezier(.2, .8, .2, 1); }
.ck[hidden] { display: none; }
.ck__t { margin: 0; font-size: 14px; line-height: 1.5; }
.ck__t b { font-weight: 600; color: var(--blue-900); }
.ck__t a { color: var(--blue-900); text-decoration: underline; text-decoration-color: var(--yellow); text-underline-offset: 3px; }
.ck__b { display: flex; flex-wrap: wrap; gap: 8px; }
.ck__b button, .ckm__acoes button { padding: 10px 14px; border: 0; border-radius: 10px; font: inherit; font-size: 13px; cursor: pointer; }
.ck__sim, .ckm__salvar { background: var(--blue-900); color: var(--neutral-000); }
.ck__sim:hover, .ckm__salvar:hover { background: var(--yellow); color: var(--blue-900); }
.ck__nao { background: var(--neutral-100); color: var(--neutral-800); }
.ck__pref, .ckm__fechar { background: none; color: var(--neutral-600); text-decoration: underline; text-underline-offset: 3px; }
.ckm { position: fixed; inset: 0; z-index: 120; display: grid; place-items: center; padding: 16px; background: rgba(1, 29, 38, .55); -webkit-backdrop-filter: blur(4px); backdrop-filter: blur(4px); font-family: var(--font); }
.ckm[hidden] { display: none; }
.ckm__caixa { width: min(520px, 100%); display: flex; flex-direction: column; gap: 14px; padding: 26px; border-radius: 22px; background: #fff; color: var(--neutral-800); box-shadow: 0 40px 80px -30px rgba(0, 0, 0, .6); }
.ckm__rot { margin: 0; font-size: 11px; letter-spacing: .14em; text-transform: uppercase; color: var(--neutral-500); }
.ckm__caixa h2 { margin: 0 0 4px; font-weight: 400; font-size: 24px; color: var(--neutral-900); }
.ckm__item { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 14px 16px; border-radius: 14px; background: #F4F6F6; cursor: pointer; }
.ckm__item b { font-weight: 500; font-size: 15px; color: var(--neutral-900); }
.ckm__item p { margin: 2px 0 0; font-size: 13px; color: var(--neutral-600); }
.ckm__sempre { flex: none; font-size: 12px; color: var(--neutral-500); }
.ckm__sw { flex: none; appearance: none; width: 44px; height: 26px; border-radius: 99px; background: var(--neutral-300); position: relative; cursor: pointer; transition: background-color .2s; }
.ckm__sw::after { content: ""; position: absolute; top: 3px; left: 3px; width: 20px; height: 20px; border-radius: 50%; background: #fff; transition: translate .2s; }
.ckm__sw:checked { background: var(--blue-900); }
.ckm__sw:checked::after { translate: 18px 0; background: var(--yellow); }
.ckm__sw:focus-visible { outline: 2px solid var(--yellow); outline-offset: 2px; }
.ckm__acoes { display: flex; gap: 8px; justify-content: flex-end; }
@media (max-width: 640px) {
  .ck { left: 16px; right: 16px; bottom: 16px; width: auto; }
  .cookies-pendente .alba:not([data-estado="aberto"]) { display: none; }
  .cookies-pendente .alba[data-estado="aberto"] { z-index: 110; }
}

/* v7.5 | Fluxos guiados: briefing e diagnóstico conduzidos no chat */
.alba__sug button.is-fluxo { background: rgba(244, 182, 63, .14); box-shadow: inset 0 0 0 1px rgba(244, 182, 63, .6); color: #fff; }
.alba__sug button.is-fluxo:hover { background: var(--yellow); color: var(--blue-900); }
.alba__ops { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; }
.alba__ops button { padding: 9px 14px; border: 0; border-radius: 99px; background: rgba(249, 250, 250, .06); box-shadow: inset 0 0 0 1px rgba(249, 250, 250, .22); font: inherit; font-size: 13.5px; line-height: 1.3; color: var(--neutral-000); text-align: left; cursor: pointer; transition: background-color .2s, box-shadow .2s, color .2s, opacity .2s; }
.alba__ops button:hover:not(:disabled) { background: rgba(244, 182, 63, .16); box-shadow: inset 0 0 0 1px var(--yellow); }
.alba__ops button.is-on { background: var(--yellow); box-shadow: none; color: var(--blue-900); }
.alba__ops button:disabled:not(.is-on) { opacity: .35; cursor: default; }
.alba__sair { display: inline-block; margin-top: 10px; padding: 0; border: 0; background: none; font: inherit; font-size: 12px; color: var(--neutral-400); text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.alba__sair:hover:not(:disabled) { color: #fff; }
.alba__sair:disabled { display: none; }
.alba__res { margin: 12px 0 0; padding: 12px 14px; list-style: none; display: flex; flex-direction: column; gap: 7px; border-radius: 12px; background: rgba(0, 0, 0, .18); }
.alba__res li { display: grid; grid-template-columns: 92px minmax(0, 1fr); gap: 10px; font-size: 13.5px; }
.alba__res li span { color: var(--neutral-400); }
.alba__res li b { font-weight: 500; color: #fff; overflow-wrap: anywhere; }
.alba__lgpd { margin: 10px 0 0; font-size: 12px; color: var(--neutral-400); }
.alba__lgpd a { color: var(--neutral-200); text-decoration: underline; }
.is-fluxo .alba__sug, .is-fluxo .alba__sugrot { display: none; }
