/* Shared overlays inherit the current Vibe page, including React portals.
   Keep consent, forms, display conditions and overlay geometry unchanged. */
body[data-vibe-universe] .nc-cookie {
  --cookie-green: var(--vibe-shell-ink);
  --cookie-deep: var(--vibe-shell-bg);
  --cookie-cream: var(--vibe-shell-bg);
  --cookie-coral: var(--vibe-shell-ink);
  border-color: var(--vibe-shell-divider);
}
body[data-vibe-universe] .nc-cookie :is(.nc-cookie-footer, .nc-cookie-category) {
  border-color: var(--vibe-shell-divider);
}
body[data-vibe-universe] .nc-cookie .nc-cookie-switch-track {
  background: var(--vibe-popup-hover);
  border-color: var(--vibe-shell-ink);
}
body[data-vibe-universe] .nc-cookie .nc-cookie-switch input:checked + .nc-cookie-switch-track {
  background: var(--vibe-shell-ink);
}
body[data-vibe-universe] .nc-cookie :is(.nc-cookie-close, .nc-cookie-button:not(.nc-cookie-button-accept)):hover {
  background: var(--vibe-popup-hover);
}
body[data-vibe-universe] .nc-cookie .nc-cookie-button-accept:hover {
  background: var(--vibe-shell-ink);
  color: var(--vibe-shell-bg);
}

body[data-vibe-universe] :is(.ninety-member-join, .nc-hc-panel, .nc-hc-dialog, .ninety-checkout-dialog, .shop-drawer) {
  background: var(--vibe-shell-bg);
  color: var(--vibe-shell-ink);
  border-color: var(--vibe-shell-divider);
}
body[data-vibe-universe] .ninety-member-join {
  border-top-color: var(--vibe-shell-ink);
}
body[data-vibe-universe] :is(.ninety-member-join, .nc-hc-dialog, .ninety-checkout-dialog, .shop-drawer) :is(h2, .nmj-close, .nc-hc-close, .ninety-checkout-close, .page-kicker, .form-status, .ninety-checkout-status) {
  color: var(--vibe-shell-ink);
}
body[data-vibe-universe] :is(.nc-hc-panel .nc-hc-item small, .ninety-member-join .nmj-note, .shop-drawer .cart-note, .shop-drawer .drawer-item small) {
  opacity: 1;
}
body[data-vibe-universe] :is(.ninety-member-join .nmj-cta, .nc-hc-dialog .button, .ninety-checkout-dialog .button, .shop-drawer .button) {
  background: var(--vibe-shell-ink);
  color: var(--vibe-shell-bg);
}
body[data-vibe-universe] :is(.ninety-member-join .nmj-cta, .nc-hc-dialog .button, .ninety-checkout-dialog .button, .shop-drawer .button):hover {
  background: var(--vibe-shell-ink);
  color: var(--vibe-shell-bg);
  text-decoration: underline;
}
body[data-vibe-universe] :is(.ninety-member-join .nmj-close, .nc-hc-panel .nc-hc-item):hover {
  background: var(--vibe-popup-hover);
}
body[data-vibe-universe] .nc-hc-item {
  border-color: var(--vibe-shell-divider);
}
body[data-vibe-universe] :is(.nc-hc-dialog, .ninety-checkout-dialog) :is(input:not([type="hidden"]), select, textarea) {
  background: #fff5ee;
  color: #090e18;
  border-color: var(--vibe-shell-ink);
  color-scheme: light;
}
body[data-vibe-universe] :is(.nc-hc-dialog, .ninety-checkout-dialog) :is(input, textarea)::placeholder {
  color: #374151;
  opacity: 1;
}
body[data-vibe-universe] :is(.nc-hc-dialog, .vibe-checkout)::backdrop,
body[data-vibe-universe] :is(.ninety-checkout-overlay, .shop-drawer-backdrop) {
  background: var(--vibe-popup-backdrop);
}
body[data-vibe-universe] .shop-drawer :is(.drawer-item, .cart-subtotal) {
  border-color: var(--vibe-shell-divider);
}
body[data-vibe-universe] .shop-drawer .cart-qty button {
  background: var(--vibe-popup-hover);
  color: var(--vibe-shell-ink);
  border-color: var(--vibe-shell-divider);
}
body[data-vibe-universe] :is(.ninety-member-join, .nc-hc-panel, .nc-hc-dialog, .ninety-checkout-dialog, .shop-drawer) :is(a, button, input, select, textarea):focus-visible {
  outline: 3px solid var(--vibe-shell-ink);
  outline-offset: 3px;
}
