/* Menu label-only rows (no link) */
.vl-menu-label-only {
  cursor: default;
  pointer-events: none;
  display: inline-block;
  text-decoration: none;
}
.vl-main-menu .nav-item-label-only > .vl-menu-label-only {
  color: inherit;
}

/* Lazy-loaded images — smooth fade-in when decoded */
img.shahi-lazy-img {
  max-width: 100%;
}
img.shahi-lazy-img[loading="lazy"] {
  content-visibility: auto;
}
html.shahi-slow-network img.shahi-lazy-img[loading="lazy"] {
  /* Same file downloads, but browser defers off-screen work on slow networks */
  content-visibility: auto;
  contain-intrinsic-size: 240px 160px;
}

/* Header logo swap: normal (light) vs sticky (dark) */
#vl-header-sticky .vl-logo .vl-site-logo.logo-dark {
  display: none;
}
#vl-header-sticky.header-sticky .vl-logo .vl-site-logo.logo-light {
  display: none;
}
#vl-header-sticky.header-sticky .vl-logo .vl-site-logo.logo-dark {
  display: inline-block;
}

/* Minimal public shell until new frontend theme is integrated */
:root {
  --si-bg: #f6f7f9;
  --si-text: #1a1d21;
  --si-muted: #5c6570;
  --si-accent: #2563eb;
  --si-border: #e2e6ea;
}
*,
*::before,
*::after {
  box-sizing: border-box;
}
body.si-public {
  margin: 0;
  font-family: system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
  font-size: 16px;
  line-height: 1.5;
  color: var(--si-text);
  background: var(--si-bg);
}
.si-wrap {
  max-width: 960px;
  margin: 0 auto;
  padding: 2rem 1.25rem 3rem;
}
.si-header {
  border-bottom: 1px solid var(--si-border);
  padding-bottom: 1rem;
  margin-bottom: 2rem;
}
.si-header a {
  color: var(--si-text);
  text-decoration: none;
  font-weight: 600;
}
.si-notice {
  background: #fff;
  border: 1px solid var(--si-border);
  border-radius: 8px;
  padding: 1.5rem;
}
.si-notice h1 {
  margin: 0 0 0.5rem;
  font-size: 1.35rem;
}
.si-notice p {
  margin: 0;
  color: var(--si-muted);
}
.si-form label {
  display: block;
  font-weight: 500;
  margin-bottom: 0.25rem;
}
.si-form input,
.si-form select,
.si-form textarea {
  width: 100%;
  max-width: 32rem;
  padding: 0.5rem 0.65rem;
  margin-bottom: 1rem;
  border: 1px solid var(--si-border);
  border-radius: 6px;
  font: inherit;
}
.si-form button {
  background: var(--si-accent);
  color: #fff;
  border: 0;
  padding: 0.6rem 1.25rem;
  border-radius: 6px;
  font: inherit;
  cursor: pointer;
}
.si-alert {
  padding: 0.75rem 1rem;
  border-radius: 6px;
  margin-bottom: 1rem;
}
.si-alert-success {
  background: #ecfdf5;
  color: #065f46;
}
.si-alert-error {
  background: #fef2f2;
  color: #991b1b;
}
.si-list {
  list-style: none;
  padding: 0;
  margin: 0;
}
.si-list li {
  padding: 0.5rem 0;
  border-bottom: 1px solid var(--si-border);
}
.si-list a {
  color: var(--si-accent);
}

/* Public email forms (footer + design templates) */
.js-shahi-form,
#footer-newsletter-form {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem;
}
.js-shahi-form input[type="hidden"],
#footer-newsletter-form input[type="hidden"] {
  position: absolute;
  width: 0;
  height: 0;
  opacity: 0;
  pointer-events: none;
}
.js-shahi-form input[type="email"],
#footer-newsletter-form input[type="email"] {
  flex: 1 1 8rem;
  min-width: 0;
  width: auto;
  padding-right: 1rem !important;
}
.js-shahi-form .vl-banner-frombtn,
#footer-newsletter-form .vl-banner-frombtn {
  position: static !important;
  top: auto !important;
  right: auto !important;
  flex-shrink: 0;
}
.js-shahi-form .js-shahi-form-msg,
#footer-newsletter-form .js-footer-newsletter-msg {
  flex: 0 0 100%;
  width: 100%;
}
@media (max-width: 479px) {
  .js-shahi-form,
  #footer-newsletter-form {
    flex-direction: column;
    align-items: stretch;
  }
  .js-shahi-form .vl-banner-frombtn .vl-primary-btn10,
  #footer-newsletter-form .vl-banner-frombtn .vl-primary-btn10 {
    width: 100%;
  }
}

/* Public form button loader */
.shahi-public-form-btn,
.shahi-footer-subscribe-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.45rem;
  min-width: 7.5rem;
  transition: opacity 0.2s ease;
}
.shahi-public-form-btn--loading,
.shahi-footer-subscribe-btn--loading {
  opacity: 0.88;
  pointer-events: none;
}
.shahi-public-form-btn--loading::before,
.shahi-footer-subscribe-btn--loading::before {
  content: "";
  width: 1rem;
  height: 1rem;
  border: 2px solid rgba(255, 255, 255, 0.35);
  border-top-color: #fff;
  border-radius: 50%;
  animation: shahi-footer-spin 0.65s linear infinite;
  flex-shrink: 0;
}
@keyframes shahi-footer-spin {
  to {
    transform: rotate(360deg);
  }
}

/* Newsletter SweetAlert — public footer */
.shahi-newsletter-swal.swal2-popup {
  border-radius: 16px;
  padding: 1.75rem 1.5rem 1.5rem;
  max-width: 26rem;
}
.shahi-newsletter-swal .swal2-icon.swal2-success {
  border-color: #2563eb;
  color: #2563eb;
}
.shahi-newsletter-swal .swal2-icon.swal2-success [class^="swal2-success-line"] {
  background-color: #2563eb;
}
.shahi-newsletter-swal .swal2-icon.swal2-success .swal2-success-ring {
  border-color: rgba(37, 99, 235, 0.25);
}
.shahi-newsletter-swal__title {
  font-size: 1.35rem !important;
  font-weight: 700 !important;
  color: #0f172a !important;
  letter-spacing: -0.02em;
}
.shahi-newsletter-swal__html {
  margin: 0.5rem 0 0 !important;
  text-align: center;
}
.shahi-newsletter-swal__lead {
  margin: 0 0 0.75rem;
  font-size: 1.05rem;
  line-height: 1.55;
  font-weight: 600;
  color: #1e40af;
}
.shahi-newsletter-swal__body {
  margin: 0;
  font-size: 0.95rem;
  line-height: 1.65;
  color: #475569;
}
.shahi-newsletter-swal__confirm.swal2-styled {
  border-radius: 999px !important;
  padding: 0.65rem 1.5rem !important;
  font-weight: 600 !important;
  font-size: 0.95rem !important;
}
