.ck-aviso,.ck-painel{
  position:fixed;left:16px;bottom:16px;z-index:80;width:min(380px,calc(100vw - 32px));
  background:var(--navy-deep);color:var(--on-dark);padding:1.2rem 1.25rem 1.15rem;
  border-radius:6px;box-shadow:0 24px 48px -20px rgba(0,0,0,.55);font-size:.9rem;line-height:1.5;
}
.ck-aviso[hidden],.ck-painel[hidden],.ck-aba[hidden]{display:none}
.ck-aviso__tit{margin:0 0 .4rem;font-family:var(--f-display);font-weight:600;font-size:1.1rem;color:var(--white)}
.ck-aviso__txt{margin:0}
.ck-aviso a,.ck-painel a{color:var(--white);text-decoration:underline;text-underline-offset:3px}
.ck-aviso__btns{display:grid;grid-template-columns:1fr 1fr;gap:.6rem;margin-top:1rem}
.ck-btn{
  font:inherit;font-weight:600;font-size:.92rem;min-height:44px;padding:0 1rem;border-radius:var(--r);cursor:pointer;
  background:var(--paper);color:var(--ink);border:1px solid var(--paper);transition:background .2s ease,color .2s ease;
}
@media (hover:hover) and (pointer:fine){ .ck-btn:hover{background:transparent;color:var(--paper)} }

.ck-aba{
  position:fixed;left:0;bottom:24px;z-index:70;
  writing-mode:vertical-rl;transform:rotate(180deg);
  padding:.9rem .45rem;min-width:30px;border:0;cursor:pointer;
  background:var(--navy-deep);color:var(--on-dark-soft);font:600 .74rem/1 "Figtree",sans-serif;letter-spacing:.06em;
  box-shadow:0 8px 20px -10px rgba(0,0,0,.45);transition:color .2s ease,padding .2s ease;
}

.ck-aba{border-radius:6px 0 0 6px}
@media (hover:hover) and (pointer:fine){ .ck-aba:hover{color:var(--white);padding-left:.6rem} }

.ck-painel{bottom:16px}
.ck-painel__topo{display:flex;align-items:center;justify-content:space-between;margin-bottom:.4rem}
.ck-fechar{width:40px;height:40px;margin:-8px -10px 0 0;display:inline-flex;align-items:center;justify-content:center;background:none;border:0;color:var(--on-dark-soft);cursor:pointer}
.ck-fechar svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}
.ck-linha{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.85rem 0;border-top:1px solid color-mix(in srgb,var(--paper) 14%,transparent);cursor:default}
label.ck-linha{cursor:pointer;position:relative}
.ck-linha b{display:block;color:var(--white);font-weight:600}
.ck-linha span{font-size:.82rem;color:var(--on-dark-soft)}
.ck-sempre{white-space:nowrap;font-size:.78rem !important}
.ck-sw{position:absolute;opacity:0;width:1px;height:1px}
.ck-sw-ui{flex:none;position:relative;width:44px;height:24px;border-radius:12px;background:color-mix(in srgb,var(--paper) 25%,transparent);transition:background .2s ease}
.ck-sw-ui::after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:var(--paper);transition:transform .2s ease}
.ck-sw:checked + .ck-sw-ui{background:#4CAF7A}
.ck-sw:checked + .ck-sw-ui::after{transform:translateX(20px)}
.ck-sw:focus-visible + .ck-sw-ui{outline:2px solid var(--white);outline-offset:2px}
.ck-painel__pe{margin:.4rem 0 .9rem;font-size:.82rem}
.ck-btn--ok{width:100%}

.imv-mapa__off{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;padding:1.5rem;text-align:center;color:var(--ink)}
.imv-mapa__off svg{width:28px;height:28px;fill:none;stroke:currentColor;stroke-width:1.6}
.imv-mapa__off p{margin:0;font-size:.9rem;color:var(--muted);max-width:36ch}
.ck-link{font:inherit;font-weight:600;font-size:.9rem;color:var(--ink);background:none;border:0;padding:.4rem;cursor:pointer;text-decoration:underline;text-underline-offset:3px}

@media (max-width:640px){
  .ck-aviso,.ck-painel{left:8px;right:8px;bottom:8px;width:auto}
  .ck-aba{bottom:16px}
}
@media (prefers-reduced-motion:reduce){ .ck-sw-ui,.ck-sw-ui::after,.ck-btn,.ck-aba{transition:none} }

.imv-mapa__off p{max-width:none;white-space:nowrap}
@media (max-width:360px){ .imv-mapa__off p{font-size:.84rem} }

.ck-aba{opacity:.5;transition:opacity .2s ease,color .2s ease,padding .2s ease}
.ck-aba:focus-visible,.ck-aba[aria-expanded="true"]{opacity:1}
@media (hover:hover) and (pointer:fine){ .ck-aba:hover{opacity:1} }

@keyframes ckEntra{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.ck-painel:not([hidden]){animation:ckEntra .26s cubic-bezier(.22,.61,.36,1)}
@media (prefers-reduced-motion:reduce){ .ck-painel:not([hidden]){animation:none} }
