.aviso { position: fixed; left: 12px; right: 12px; bottom: 12px; z-index: 350; display: grid; gap: 10px; max-width: 460px; padding: 14px 16px; border-radius: 16px; background: #f0efeb; color: #12150f; border: 2px solid #12150f; box-shadow: 0 14px 40px rgba(0, 0, 0, 0.25); font-family: 'Instrument Sans', system-ui, sans-serif; font-size: 14.5px; line-height: 1.5; opacity: 0; transform: translateY(16px); transition: opacity 0.35s cubic-bezier(0.4, 0, 0.2, 1), transform 0.35s cubic-bezier(0.4, 0, 0.2, 1); }
.aviso.is-on { opacity: 1; transform: none; }
.aviso p { margin: 0; }
.aviso a { color: #016738; font-weight: 700; text-underline-offset: 3px; }
.aviso button { justify-self: start; min-height: 44px; padding: 0 22px; border: 0; border-radius: 999px; background: #016738; color: #fff; font: 600 15px/1 'Instrument Sans', system-ui, sans-serif; cursor: pointer; }
.aviso button:active { transform: translateY(1px) scale(0.98); }
.aviso a:focus-visible, .aviso button:focus-visible { outline: 3px solid #016738; outline-offset: 3px; }
@media (hover: hover) and (pointer: fine) { .aviso button:hover { background: #0d3a29; } }
@media (min-width: 700px) { .aviso { left: 20px; right: auto; bottom: 20px; } }
@media (prefers-reduced-motion: reduce) { .aviso { transition: none; transform: none; } }
