/* Nossa Vibe: the cookie banner (consent.js). The site's navy, cream and aqua; both choices the same size. */
.nvc { position: fixed; z-index: 50; left: 16px; right: 16px; bottom: max(16px, env(safe-area-inset-bottom)); margin: 0 auto; max-width: 640px; box-sizing: border-box; padding: 16px 18px; border-radius: 22px; background: #06155E; color: #FFF4D7; box-shadow: 0 10px 30px rgba(4, 12, 63, .35); font: 500 15px/1.45 'Jost', system-ui, sans-serif; }
.nvc[hidden] { display: none; }
.nvc__text { margin: 0 0 12px; }
.nvc__text a { color: #46E8C9; font-weight: 700; text-decoration: underline; text-underline-offset: 2px; }
.nvc__row { display: flex; flex-wrap: wrap; gap: 10px; }
.nvc__btn { flex: 1 1 150px; min-height: 44px; padding: 10px 18px; border: 0; border-radius: 999px; font: 700 15px/1.2 'Jost', system-ui, sans-serif; cursor: pointer; }
.nvc__btn--yes { background: #46E8C9; color: #06155E; }
.nvc__btn--no { background: transparent; color: #FFF4D7; box-shadow: inset 0 0 0 2px #FFF4D7; }
.nvc__btn:focus-visible, .nvc__text a:focus-visible { outline: 3px solid #F7BE86; outline-offset: 2px; }
/* Wide screens: bottom left, so the WhatsApp button on the right stays in view. */
@media (min-width: 760px) { .nvc { left: 24px; right: auto; bottom: 24px; margin: 0; width: min(560px, calc(100vw - 48px)); } }
@media (prefers-reduced-motion: no-preference) { .nvc { animation: nvc-in .25s ease-out; } }
@keyframes nvc-in { from { opacity: 0; transform: translateY(8px); } }
@media print { .nvc { display: none; } }
