.header-wrap {
  width: 100% !important;
  max-width: none !important;
}

.topbar-box,
.header-wrapper-inner {
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  box-sizing: border-box;
}

.topbar-box {
  min-height: 50px;
  display: flex;
  align-items: center;
  background: linear-gradient(90deg, #0f3d73 0%, #18579f 55%, #2f78c7 100%) !important;
}

.topbar-box > .wp-block-group,
.topbar-box .top-header {
  width: 100%;
}

.top-header.wp-block-columns,
.top-header {
  align-items: center !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

.top-header .wp-block-column,
.header-info-box {
  display: flex !important;
  align-items: center !important;
}

.top-header .wp-block-column:nth-child(1),
.header-info-box:nth-child(1) {
  justify-content: flex-start !important;
}

.top-header .wp-block-column:nth-child(2),
.header-info-box:nth-child(2) {
  justify-content: center !important;
}

.top-header .wp-block-column:nth-child(3),
.header-info-box:nth-child(3) {
  justify-content: flex-end !important;
}

.top-header p,
.header-info-box p {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  line-height: 1.2 !important;
}

.header-info-box span.dashicons {
  top: 0 !important;
  margin-right: 0 !important;
}

.header-wrapper-inner {
  min-height: 82px;
  display: flex;
  align-items: center;
  background: linear-gradient(90deg, #e8f2ff 0%, #c8ddf8 45%, #8db8ea 100%) !important;
  box-shadow: 0 8px 20px rgba(15, 61, 115, 0.12);
}

.header-wrapper-inner > .header-main,
.header-wrapper-inner > .wp-block-columns {
  width: 100%;
}

.home main.wp-block-group,
.home .entry-content,
.home .wp-block-post-content {
  margin-top: 0 !important;
  margin-block-start: 0 !important;
  padding-top: 0 !important;
}

.home .wp-site-blocks > header,
.home .wp-site-blocks > main,
.home .wp-site-blocks > header + main {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  margin-block-start: 0 !important;
  margin-block-end: 0 !important;
}

.home main.wp-block-group > :first-child,
.home .wp-block-post-content > :first-child,
.home .entry-content > :first-child {
  margin-top: 0 !important;
  margin-block-start: 0 !important;
}

.home .wp-block-post-content > .wp-block-cover:first-child,
.home main.wp-block-group .wp-block-cover:first-child {
  margin-top: 0 !important;
  margin-block-start: 0 !important;
}

/* Zero out all block gaps and background bleed on the home page. */
.home .wp-site-blocks {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  --wp--style--block-gap: 0px !important;
  row-gap: 0 !important;
  background-color: #ffffff !important;
}

/* Force all direct wp-site-blocks children to have no gap */
.home .wp-site-blocks > * {
  margin-block-start: 0 !important;
  margin-block-end: 0 !important;
}

/* Ensure the <main> wrapper and post-content have no padding/margin */
.home main.wp-block-group,
.home .wp-block-post-content,
.home .entry-content {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  background-color: transparent !important;
}

/* Gallery section (last before footer) — explicit white background */
.home .wp-block-post-content > .wp-block-group > .wp-block-group.alignfull:last-child {
  background-color: #ffffff !important;
}

.home .wp-site-blocks > header {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

.home .wp-site-blocks > header + main,
.home .wp-site-blocks > header + .wp-block-group,
.home .wp-site-blocks > header + .wp-block-cover,
.home .wp-site-blocks > header + .alignfull {
  margin-top: 0 !important;
  margin-block-start: 0 !important;
  padding-top: 0 !important;
}

.home .wp-site-blocks > main,
.home .wp-site-blocks > .wp-block-group,
.home .wp-site-blocks > .wp-block-cover {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

.home .wp-site-blocks > main > .wp-block-group:first-child,
.home .wp-site-blocks > main > .wp-block-cover:first-child,
.home .wp-site-blocks > main > .alignfull:first-child {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

.home .wp-site-blocks > header + main > :first-child,
.home .wp-site-blocks > header + .wp-block-group > :first-child,
.home .wp-site-blocks > header + .alignfull > :first-child {
  margin-top: 0 !important;
  margin-block-start: 0 !important;
}

/* Hero primary CTA: force gray over has-body-text-background-color black. */
.home .wp-block-cover .wp-block-button__link.has-body-text-background-color {
  background: #ffffff !important;
  border-color: #ffffff !important;
  color: #1f2937 !important;
}

.home .wp-block-cover .wp-block-button__link.has-body-text-background-color:hover {
  background: #f3f4f6 !important;
  border-color: #f3f4f6 !important;
  color: #111827 !important;
}

.header-main {
  flex-wrap: nowrap !important;
  gap: 10px !important;
  align-items: center !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

@media (min-width: 901px) {
  .header-main.wp-block-columns {
    display: grid !important;
    grid-template-columns: minmax(285px, 0.95fr) minmax(390px, 1.6fr) minmax(120px, 0.45fr);
    align-items: center !important;
  }

  .header-main > .wp-block-column {
    width: auto !important;
    min-width: 0;
    flex-basis: auto !important;
    display: flex !important;
    align-items: center !important;
  }
}

.header-main .wp-block-site-logo {
  flex: 0 0 auto;
}

.header-main .wp-block-site-title,
.header-main .wp-block-site-title a {
  white-space: nowrap;
  overflow-wrap: normal;
  word-break: normal;
}

.header-main .wp-block-site-title a {
  font-size: 20px !important;
  line-height: 1.05 !important;
  color: #0f2f52 !important;
}

.header-nav .wp-block-navigation__container {
  flex-wrap: nowrap !important;
  gap: 8px !important;
}

.header-nav .wp-block-navigation-item__content {
  white-space: nowrap;
  color: #163f70 !important;
  font-weight: 600 !important;
  transition: color 0.2s ease;
}

.header-nav ul li a {
  padding-left: 6px !important;
  padding-right: 6px !important;
}

.header-nav .wp-block-navigation-item__content:hover,
.header-nav .wp-block-navigation-item.current-menu-item > .wp-block-navigation-item__content {
  color: #0a2f59 !important;
}

.call-box .wp-block-button__link {
  white-space: nowrap;
  padding-left: 16px !important;
  padding-right: 16px !important;
  background: #ffffff !important;
  border: 1px solid #e5e7eb !important;
  color: #1f2937 !important;
  box-shadow: 0 4px 10px rgba(15, 23, 42, 0.12);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.call-box .wp-block-button__link:hover {
  background: #f8fafc !important;
  border-color: #d1d5db !important;
  color: #111827 !important;
  transform: translateY(-1px);
  box-shadow: 0 6px 14px rgba(15, 23, 42, 0.16);
}

.call-box,
.header-nav {
  display: flex !important;
  align-items: center !important;
}

.header-nav {
  justify-content: center !important;
}

.call-box {
  justify-content: flex-end !important;
}

.header-nav nav,
.header-nav .wp-block-navigation,
.call-box .wp-block-buttons {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

@media (max-width: 1180px) and (min-width: 901px) {
  .header-wrapper-inner {
    padding-left: 8px !important;
    padding-right: 8px !important;
  }

  .header-main.wp-block-columns {
    grid-template-columns: minmax(270px, 0.9fr) minmax(360px, 1.55fr) minmax(112px, 0.45fr);
  }

  .header-main .wp-block-site-logo img,
  .header-main .wp-block-site-logo a {
    width: 44px !important;
    height: auto !important;
  }

  .header-main .wp-block-site-title a {
    font-size: 18px !important;
  }

  .header-nav .wp-block-navigation__container {
    gap: 4px !important;
  }

  .header-nav .wp-block-navigation-item__content {
    font-size: 14px !important;
  }

  .header-nav ul li a {
    padding-left: 4px !important;
    padding-right: 4px !important;
  }

  .call-box .wp-block-button__link {
    padding-left: 12px !important;
    padding-right: 12px !important;
    font-size: 13px !important;
  }

  .top-header p {
    font-size: 13px !important;
  }
}

@media (max-width: 900px) {
  .topbar-box,
  .header-wrapper-inner {
    border-radius: 0 !important;
  }

  .topbar-box,
  .header-wrapper-inner {
    min-height: auto;
  }

  .top-header.wp-block-columns,
  .top-header,
  .header-main {
    justify-content: center !important;
  }

  .top-header .wp-block-column,
  .header-info-box {
    justify-content: center !important;
  }

  .header-main {
    flex-wrap: wrap !important;
  }

  .header-main .wp-block-site-title,
  .header-main .wp-block-site-title a,
  .header-nav .wp-block-navigation-item__content {
    white-space: normal;
  }
}

/* ============================================================
   MODERN SECTION REDESIGN — CSS only, all blocks stay editable
   ============================================================ */

/* ── Feature Cards (Patient Records / Clinical / Gallery & Contact) ── */

/* Make columns stretch to equal height */
.home .wp-block-columns.are-vertically-aligned-stretch {
  gap: 22px !important;
  align-items: stretch !important;
  display: flex !important;
}

/* Each column fills the row height */
.home .wp-block-columns.are-vertically-aligned-stretch > .wp-block-column {
  display: flex !important;
  flex-direction: column !important;
}

/* Card fills its column fully */
.home .wp-block-columns.are-vertically-aligned-stretch .wp-block-group.has-border-color {
  border-color: transparent !important;
  border-radius: 18px !important;
  background: #ffffff !important;
  box-shadow: 0 4px 24px rgba(15, 61, 115, 0.09);
  border-top: 4px solid #2f78c7 !important;
  transition: transform 0.22s ease, box-shadow 0.22s ease;
  padding: 28px 26px !important;
  flex: 1 1 auto !important;
  height: 100% !important;
  box-sizing: border-box !important;
}

.home .wp-block-columns.are-vertically-aligned-stretch .wp-block-group.has-border-color:hover {
  transform: translateY(-4px);
  box-shadow: 0 10px 32px rgba(15, 61, 115, 0.16);
}

.home .wp-block-columns.are-vertically-aligned-stretch .wp-block-group.has-border-color h3 {
  color: #0f2f52 !important;
  font-size: 1.1rem !important;
  font-weight: 700 !important;
  margin-bottom: 10px !important;
}

.home .wp-block-columns.are-vertically-aligned-stretch .wp-block-group.has-border-color p {
  color: #4b5563 !important;
  font-size: 0.95rem !important;
  line-height: 1.65 !important;
}

/* ── About The System section ── */
.home .wp-block-group.alignfull.has-tertiary-background-color {
  background: #f0f7ff !important;
  position: relative !important;
  overflow: hidden !important;
}

/* Decorative geometric accent — top-right corner circle */
.home .wp-block-group.alignfull.has-tertiary-background-color::before {
  content: "" !important;
  position: absolute !important;
  top: -80px !important;
  right: -80px !important;
  width: 320px !important;
  height: 320px !important;
  border-radius: 50% !important;
  background: radial-gradient(circle, rgba(47,120,199,0.12) 0%, transparent 70%) !important;
  pointer-events: none !important;
}

/* Decorative bottom-left accent dot */
.home .wp-block-group.alignfull.has-tertiary-background-color::after {
  content: "" !important;
  position: absolute !important;
  bottom: -60px !important;
  left: -60px !important;
  width: 220px !important;
  height: 220px !important;
  border-radius: 50% !important;
  background: radial-gradient(circle, rgba(15,61,115,0.08) 0%, transparent 70%) !important;
  pointer-events: none !important;
}

/* Image — modern framed look */
.home .wp-block-group.alignfull.has-tertiary-background-color figure img {
  border-radius: 20px !important;
  box-shadow: 0 20px 60px rgba(15, 61, 115, 0.18), 0 4px 16px rgba(15, 61, 115, 0.1) !important;
  transition: transform 0.4s ease, box-shadow 0.4s ease !important;
}

.home .wp-block-group.alignfull.has-tertiary-background-color figure:hover img {
  transform: scale(1.02) !important;
  box-shadow: 0 28px 70px rgba(15, 61, 115, 0.24) !important;
}

/* "ABOUT THE SYSTEM" label — hidden */
.home .wp-block-group.alignfull.has-tertiary-background-color h4.wp-block-heading {
  display: none !important;
}

/* Main heading — strong, with a left accent bar */
.home .wp-block-group.alignfull.has-tertiary-background-color h3.wp-block-heading {
  font-size: 1.85rem !important;
  line-height: 1.25 !important;
  color: #0d1f3c !important;
  font-weight: 800 !important;
  padding-left: 16px !important;
  border-left: 4px solid #2f78c7 !important;
  margin-bottom: 16px !important;
}

/* Body paragraph */
.home .wp-block-group.alignfull.has-tertiary-background-color p {
  color: #374151 !important;
  line-height: 1.75 !important;
  font-size: 0.97rem !important;
}

/* Bullet list — custom blue checkmark style */
.home .wp-block-group.alignfull.has-tertiary-background-color ul {
  list-style: none !important;
  padding-left: 0 !important;
  margin-top: 14px !important;
}

.home .wp-block-group.alignfull.has-tertiary-background-color li {
  color: #1e3a5f !important;
  line-height: 1.65 !important;
  font-size: 0.93rem !important;
  padding: 7px 0 7px 28px !important;
  position: relative !important;
  border-bottom: 1px solid rgba(47,120,199,0.1) !important;
}

.home .wp-block-group.alignfull.has-tertiary-background-color li:last-child {
  border-bottom: none !important;
}

.home .wp-block-group.alignfull.has-tertiary-background-color li::before {
  content: "✓" !important;
  position: absolute !important;
  left: 0 !important;
  top: 7px !important;
  color: #2f78c7 !important;
  font-weight: 700 !important;
  font-size: 0.85rem !important;
}

/* ── Gallery section image hover ── */
.home .wp-block-group.alignfull:not(.has-tertiary-background-color):not(.has-primary-background-color) .wp-block-image figure {
  overflow: hidden;
  border-radius: 18px;
}

.home .wp-block-group.alignfull:not(.has-tertiary-background-color):not(.has-primary-background-color) .wp-block-image img {
  transition: transform 0.4s ease;
  display: block;
  width: 100%;
}

.home .wp-block-group.alignfull:not(.has-tertiary-background-color):not(.has-primary-background-color) .wp-block-image figure:hover img {
  transform: scale(1.05);
}

/* ── Footer ── */

/* Cover the <footer> element itself so no gap/bleed shows above the content */
.wp-block-template-part[id*="footer"],
footer.wp-block-template-part,
.wp-site-blocks > footer {
  background: #2f78c7 !important;
  margin-top: 0 !important;
  padding-top: 0 !important;
}

.wp-block-group.alignfull.has-primary-background-color {
  background: linear-gradient(135deg, #0a2647 0%, #0f3d73 45%, #1a5599 100%) !important;
  /* Override the 3rem inline padding-top from the block pattern */
  padding-top: 0 !important;
}

/* Column layout padding — minimal */
.wp-block-group.alignfull.has-primary-background-color > .wp-block-columns,
.wp-block-group.alignfull.has-primary-background-color > .wp-block-columns.alignwide {
  padding-top: 16px !important;
  padding-bottom: 16px !important;
  gap: 28px !important;
}

/* Brand heading (col 1) */
.wp-block-group.alignfull.has-primary-background-color h2.wp-block-heading {
  color: #ffffff !important;
  font-size: 0.95rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.01em;
  margin-bottom: 5px !important;
  padding-bottom: 5px !important;
  border-bottom: 1px solid rgba(255,255,255,0.15) !important;
}

/* Column headings (Project Pages / Contact) */
.wp-block-group.alignfull.has-primary-background-color h3.wp-block-heading {
  color: #ffffff !important;
  font-size: 0.68rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  margin-bottom: 6px !important;
  padding-bottom: 5px !important;
  border-bottom: 2px solid #2f78c7 !important;
  display: inline-block !important;
}

/* Body / contact text */
.wp-block-group.alignfull.has-primary-background-color p {
  color: #aecde8 !important;
  line-height: 1.5 !important;
  font-size: 0.82rem !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

/* Nav list — clean, no bullets */
.wp-block-group.alignfull.has-primary-background-color ul {
  list-style: none !important;
  padding-left: 0 !important;
  margin: 0 !important;
}

.wp-block-group.alignfull.has-primary-background-color ul li {
  padding: 0 !important;
  margin: 0 !important;
  border-bottom: 1px solid rgba(255,255,255,0.06) !important;
}

.wp-block-group.alignfull.has-primary-background-color ul li:last-child {
  border-bottom: none !important;
}

/* Links */
.wp-block-group.alignfull.has-primary-background-color a {
  color: #aecde8 !important;
  text-decoration: none !important;
  font-size: 0.82rem !important;
  display: block !important;
  padding: 3px 0 !important;
  transition: color 0.2s ease, padding-left 0.2s ease;
}

.wp-block-group.alignfull.has-primary-background-color a:hover {
  color: #ffffff !important;
  padding-left: 5px !important;
}

/* ── Footer copyright bar ── */
.wp-block-group.alignfull.has-foreground-background-color {
  background: #061320 !important;
  border-top: 1px solid rgba(47, 120, 199, 0.2) !important;
  padding-top: 8px !important;
  padding-bottom: 8px !important;
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
}

.wp-block-group.alignfull.has-foreground-background-color > *,
.wp-block-group.alignfull.has-foreground-background-color p {
  color: #6b8faf !important;
  font-size: 0.75rem !important;
  letter-spacing: 0.03em;
  margin: 0 !important;
  text-align: center !important;
  width: 100% !important;
  max-width: 100% !important;
}

/* ── Footer mobile ── */
@media (max-width: 768px) {
  .wp-block-group.alignfull.has-primary-background-color > .wp-block-columns {
    flex-direction: column !important;
    padding-top: 14px !important;
    padding-bottom: 14px !important;
  }

  .wp-block-group.alignfull.has-primary-background-color h2.wp-block-heading,
  .wp-block-group.alignfull.has-primary-background-color h3.wp-block-heading {
    display: block !important;
  }
}

/* ── Mobile adjustments ── */
@media (max-width: 768px) {
  .home .wp-block-columns.are-vertically-aligned-stretch .wp-block-group.has-border-color {
    margin-bottom: 12px;
  }
}

/* ============================================================
   INNER PAGES — Hero banner + content layout
   ============================================================ */

/* Page hero — matches header gradient direction */
.page .wp-block-cover,
.page-template-default .wp-block-cover,
body:not(.home) .wp-block-cover.alignfull {
  background: linear-gradient(135deg, #0a2647 0%, #0f3d73 50%, #2f78c7 100%) !important;
}

body:not(.home) .wp-block-cover .wp-block-cover__background {
  background: linear-gradient(135deg, #0a2647 0%, #0f3d73 50%, #2f78c7 100%) !important;
  opacity: 0.82 !important;
}

/* Hero title text */
body:not(.home) .wp-block-cover .wp-block-heading,
body:not(.home) .wp-block-cover h1,
body:not(.home) .wp-block-cover h2 {
  color: #ffffff !important;
  font-weight: 800 !important;
  letter-spacing: 0.08em !important;
  text-shadow: 0 2px 16px rgba(10, 38, 71, 0.4) !important;
}

/* Page content wrapper — clean card */
body:not(.home) .wp-block-post-content {
  background: #f4f8ff !important;
  padding-top: 0 !important;
  padding-bottom: 40px !important;
}

/* Lead paragraph on inner pages */
body:not(.home) .wp-block-post-content > .wp-block-group > p:first-of-type,
body:not(.home) .vb-lead {
  color: #4b5a72 !important;
  font-size: 1rem !important;
  line-height: 1.75 !important;
}

/* Form shell wrapper — add page-level breathing room */
body:not(.home) .wp-block-post-content > .wp-block-group {
  padding-top: 36px !important;
  padding-bottom: 36px !important;
}

@media (max-width: 768px) {
  body:not(.home) .wp-block-cover .wp-block-heading {
    font-size: 1.6rem !important;
    letter-spacing: 0.05em !important;
  }
}

/* ── Patient Information heading polish (frontend + editor) ── */
body.page-id-5 .wp-block-post-content > .wp-block-group > h1:first-child,
body.page-id-5 .wp-block-post-content > .wp-block-group > h2:first-child,
body.page-id-5 .wp-block-post-content > h1:first-child,
body.page-id-5 .wp-block-post-content > h2:first-child {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin: 0 0 12px !important;
  padding: 8px 14px !important;
  border-radius: 12px;
  background: linear-gradient(90deg, #eef5ff 0%, #dcecff 100%) !important;
  color: #0f3d73 !important;
  font-weight: 800 !important;
  letter-spacing: 0.01em !important;
  line-height: 1.2 !important;
  box-shadow: 0 6px 16px rgba(15, 61, 115, 0.1);
}

body.page-id-5 .wp-block-post-content > .wp-block-group > h1:first-child::before,
body.page-id-5 .wp-block-post-content > .wp-block-group > h2:first-child::before,
body.page-id-5 .wp-block-post-content > h1:first-child::before,
body.page-id-5 .wp-block-post-content > h2:first-child::before {
  content: "";
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #2f78c7;
  flex-shrink: 0;
}

body.page-id-5 .wp-block-post-content > .wp-block-group > h1:first-child {
  font-size: clamp(1.8rem, 3.2vw, 2.25rem) !important;
}

body.page-id-5 .wp-block-post-content > .wp-block-group > h2:first-child,
body.page-id-5 .wp-block-post-content > h1:first-child,
body.page-id-5 .wp-block-post-content > h2:first-child {
  font-size: clamp(1.55rem, 2.7vw, 2rem) !important;
}

/* Match look inside block editor canvas */
.editor-styles-wrapper .wp-block-post-content > .wp-block-group > h1:first-child,
.editor-styles-wrapper .wp-block-post-content > .wp-block-group > h2:first-child,
.editor-styles-wrapper .wp-block-post-content > h1:first-child,
.editor-styles-wrapper .wp-block-post-content > h2:first-child {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin: 0 0 12px !important;
  padding: 8px 14px !important;
  border-radius: 12px;
  background: linear-gradient(90deg, #eef5ff 0%, #dcecff 100%) !important;
  color: #0f3d73 !important;
  font-weight: 800 !important;
  letter-spacing: 0.01em !important;
  line-height: 1.2 !important;
  box-shadow: 0 6px 16px rgba(15, 61, 115, 0.1);
}

.editor-styles-wrapper .wp-block-post-content > .wp-block-group > h1:first-child::before,
.editor-styles-wrapper .wp-block-post-content > .wp-block-group > h2:first-child::before,
.editor-styles-wrapper .wp-block-post-content > h1:first-child::before,
.editor-styles-wrapper .wp-block-post-content > h2:first-child::before {
  content: "";
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #2f78c7;
  flex-shrink: 0;
}

/* ── Homepage Gallery — uniform image height ── */
.home .wp-block-group.alignfull figure.wp-block-image img {
  width: 100% !important;
  height: 220px !important;
  object-fit: cover !important;
  border-radius: 14px !important;
  display: block;
}

.home .wp-block-group.alignfull figure.wp-block-image {
  margin: 0 !important;
  overflow: hidden;
  border-radius: 14px;
}

/* ── Gallery page image zoom/lightbox ── */
.page-id-6 .wp-block-image img.vb-zoomable {
  cursor: zoom-in;
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.page-id-6 .wp-block-image img.vb-zoomable:hover {
  transform: scale(1.02);
  box-shadow: 0 10px 24px rgba(15, 61, 115, 0.2);
}

.vb-lightbox {
  position: fixed;
  inset: 0;
  background: rgba(5, 13, 25, 0.9);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.18s ease, visibility 0.18s ease;
  z-index: 99999;
}

.vb-lightbox.is-open {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

.vb-lightbox__image {
  max-width: min(1200px, 92vw);
  max-height: 88vh;
  width: auto;
  height: auto;
  border-radius: 12px;
  box-shadow: 0 18px 50px rgba(0, 0, 0, 0.45);
}

.vb-lightbox__close {
  position: absolute;
  top: 12px;
  right: 16px;
  border: none;
  background: transparent;
  color: #fff;
  font-size: 42px;
  line-height: 1;
  cursor: pointer;
  opacity: 0.9;
}

.vb-lightbox__close:hover {
  opacity: 1;
}

body.vb-lightbox-open {
  overflow: hidden;
}
