/* visibility-min */
/* --- Visibility & typography safety net --- */
html, body { color: #111 !important; }
body { opacity: 1 !important; visibility: visible !important; }

/* If theme hid content until JS */
body[style*="opacity: 0"] { opacity: 1 !important; }
.no-js & *, .preload &, .is-preload &, .loading & { opacity: 1 !important; visibility: visible !important; }

/* Ensure text isn't transparent on WebKit */
*, p, span, li, a, h1, h2, h3, h4, h5, h6 { -webkit-text-fill-color: initial !important; }

/* Links */
a { color: inherit; }

/* Mobile nav toggle */
#nav.open, .nav.open, .site-nav.open { display: block !important; }
@media (min-width: 961px){ #nav, .nav, .site-nav { display: flex !important; } }

/* Lightbox */
.lb-overlay { position: fixed; inset: 0; z-index: 9999; display: grid; place-items: center; }
.lb-backdrop { position: absolute; inset: 0; background: rgba(0,0,0,.6); }
.lb-figure { position: relative; z-index: 1; max-width: 90vw; max-height: 90vh; background: #fff;
  border-radius: 12px; padding: 12px; box-shadow: 0 10px 30px rgba(0,0,0,.3); }
.lb-figure img { max-width: 100%; max-height: 75vh; display: block; margin: 0 auto 8px; }
.lb-figure figcaption { text-align: center; font-size: 14px; color: #444; }
.lb-close { position: absolute; top: 6px; right: 8px; border: 0; background: none; font-size: 28px; line-height: 1; cursor: pointer; }

/* Ensure typical content containers are not transparent */
main, section, article, .content, .row__content, .widget, .paragraph, .textwidget, .ckeditor {
  opacity: 1 !important;
  visibility: visible !important;
}
