.wp-site-blocks {
  min-height: 100vh;
}

.wp-site-blocks > * {
  margin-block-start: 0;
}

.alignwide {
  width: min(100% - 2rem, var(--bop-container-lg));
  margin-inline: auto;
}

.alignfull {
  width: 100%;
}

.wp-block-group {
  overflow-wrap: anywhere;
}

.wp-block-image img {
  border-radius: min(var(--bop-radius-lg), 2vw);
}

.wp-block-buttons {
  gap: var(--bop-space-3);
}

.wp-block-button__link,
.wp-element-button {
  border-radius: 999px;
  transition:
    transform var(--bop-transition-fast),
    box-shadow var(--bop-transition-fast),
    background-color var(--bop-transition-fast);
}

.wp-block-button__link:hover,
.wp-element-button:hover {
  transform: translateY(-1px);
}

.wp-block-separator {
  border-color: var(--bop-color-border);
  opacity: 1;
}

.wp-block-quote {
  padding-left: var(--bop-space-4);
  border-left: 3px solid var(--bop-color-primary);
}

.wp-block-table table {
  width: 100%;
  border-collapse: collapse;
}

.wp-block-table th,
.wp-block-table td {
  padding: 0.75rem 0.9rem;
  border-color: var(--bop-color-border);
}

.bop .wp-block-navigation__submenu-container,
.bop .wp-block-navigation__responsive-container,
.bop .wp-block-search__inside-wrapper,
.bop .wp-block-code,
.bop pre {
  border: 1px solid var(--bop-color-border);
  background: var(--bop-color-glass);
  box-shadow: var(--bop-shadow-md);
  backdrop-filter: blur(18px);
}

.bop .wp-block-navigation__submenu-container,
.bop .wp-block-navigation__responsive-container {
  color: var(--bop-color-text);
}

.bop header .wp-block-navigation {
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.bop header .wp-block-navigation__responsive-container:not(.is-menu-open) {
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
}

.bop header .wp-block-navigation-item__content,
.bop header .wp-block-navigation-item__content:link,
.bop header .wp-block-navigation-item__content:visited,
.bop header .wp-block-navigation-item__content:hover,
.bop header .wp-block-navigation-item__content:focus,
.bop header .wp-block-navigation-item__content:focus-visible,
.bop header .wp-block-navigation-item__content:active {
  background: transparent !important;
  box-shadow: none !important;
}

.bop header .wp-block-navigation-item__content {
  border: 0;
  border-radius: 0.55rem;
}

.bop header .wp-block-navigation-item:hover > .wp-block-navigation-item__content,
.bop header .wp-block-navigation-item:focus-within > .wp-block-navigation-item__content,
.bop header .current-menu-item > .wp-block-navigation-item__content,
.bop header .current-menu-ancestor > .wp-block-navigation-item__content,
.bop header .current_page_item > .wp-block-navigation-item__content,
.bop header .current_page_ancestor > .wp-block-navigation-item__content {
  color: var(--bop-color-primary-strong);
}

.bop header .wp-block-navigation__submenu-container {
  min-width: 14rem;
  padding: 0.6rem;
  border-color: rgba(183, 204, 237, 0.22);
  border-radius: 1rem;
  background: rgba(8, 16, 28, 0.96);
  box-shadow: 0 28px 64px -34px rgba(0, 0, 0, 0.86);
  backdrop-filter: blur(16px);
}

.bop header .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
  padding: 0.65rem 0.8rem;
  border-radius: 0.75rem;
}

.bop header .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover,
.bop header .wp-block-navigation__submenu-container .wp-block-navigation-item__content:focus-visible {
  background: rgba(118, 171, 255, 0.12) !important;
}

.bop .wp-block-navigation__responsive-container-content,
.bop .wp-block-navigation__responsive-container-open,
.bop .wp-block-navigation__responsive-container-close {
  color: var(--bop-color-text);
}

.bop .wp-block-search__inside-wrapper {
  gap: 0.55rem;
  padding: 0.45rem;
  border-radius: 999px;
}

.bop .wp-block-search__input {
  min-height: 2.8rem;
  padding-inline: 0.9rem;
  border: 0 !important;
  background: transparent !important;
  color: var(--bop-color-text) !important;
  box-shadow: none !important;
}

.bop .wp-block-search__button {
  min-height: 2.8rem;
  padding-inline: 1rem;
  border: 1px solid rgba(151, 193, 255, 0.18);
  border-radius: 999px;
  background: linear-gradient(135deg, #2d6cff 0%, #39bfff 100%);
  color: #f8fbff;
  box-shadow: 0 20px 48px -26px rgba(45, 108, 255, 0.58);
}

.bop .wp-block-search__button:hover {
  background: linear-gradient(135deg, #3d7cff 0%, #50caff 100%);
}

.bop header .wp-block-navigation__submenu-container {
  border-color: var(--bop-header-border);
  background: var(--bop-header-bg);
  box-shadow: var(--bop-header-shadow);
  color: var(--bop-header-text);
}

.bop header .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover,
.bop header .wp-block-navigation__submenu-container .wp-block-navigation-item__content:focus-visible {
  background: var(--bop-header-menu-hover) !important;
}

.bop header .wp-block-navigation__responsive-container.is-menu-open {
  border-color: var(--bop-header-border) !important;
  background: var(--bop-header-bg) !important;
  box-shadow: var(--bop-header-shadow) !important;
  color: var(--bop-header-text) !important;
  backdrop-filter: blur(18px) saturate(1.08);
  -webkit-backdrop-filter: blur(18px) saturate(1.08);
}

.bop header .wp-block-navigation__responsive-container.is-menu-open::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  background:
    radial-gradient(circle at top right, color-mix(in srgb, var(--bop-theme-accent) 16%, transparent), transparent 28%),
    linear-gradient(180deg, color-mix(in srgb, var(--bop-header-bg) 96%, transparent), color-mix(in srgb, var(--bop-header-bg) 100%, transparent)) !important;
  pointer-events: none !important;
}

.bop header .wp-block-navigation__responsive-container.is-menu-open > * {
  position: relative !important;
  z-index: 1 !important;
}

.bop header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content,
.bop header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container,
.bop header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item,
.bop header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content,
.bop header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content:link,
.bop header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content:visited,
.bop header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-open,
.bop header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close,
.bop header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-icon {
  color: var(--bop-header-text) !important;
  opacity: 1 !important;
}

.bop header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
  min-height: 2.75rem !important;
  padding-inline: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.bop header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item:hover > .wp-block-navigation-item__content,
.bop header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item:focus-within > .wp-block-navigation-item__content,
.bop header .wp-block-navigation__responsive-container.is-menu-open .current-menu-item > .wp-block-navigation-item__content,
.bop header .wp-block-navigation__responsive-container.is-menu-open .current-menu-ancestor > .wp-block-navigation-item__content,
.bop header .wp-block-navigation__responsive-container.is-menu-open .current_page_item > .wp-block-navigation-item__content,
.bop header .wp-block-navigation__responsive-container.is-menu-open .current_page_ancestor > .wp-block-navigation-item__content {
  color: var(--bop-theme-accent-strong) !important;
}

.bop header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container {
  border-color: var(--bop-header-border) !important;
  background: color-mix(in srgb, var(--bop-header-bg) 96%, var(--bop-theme-surface-alt)) !important;
  box-shadow: var(--bop-header-shadow) !important;
  color: var(--bop-header-text) !important;
}

.bop header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
  padding: 0.7rem 0.8rem !important;
  border-radius: 0.8rem !important;
}

.bop header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover,
.bop header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content:focus-visible {
  background: var(--bop-header-menu-hover) !important;
}

.bop .wp-block-search__inside-wrapper {
  border-color: var(--bop-theme-border);
  background: var(--bop-theme-surface);
  color: var(--bop-theme-text);
}

.bop .wp-block-search__input {
  color: var(--bop-theme-text) !important;
}

.bop .wp-block-search__button {
  border-color: transparent;
  background: var(--bop-button-primary-bg);
  color: var(--bop-button-primary-text);
  box-shadow: var(--bop-shadow-sm);
}

.bop .wp-block-search__button:hover {
  background: var(--bop-button-primary-bg-hover);
}

body.bop:not(.bop-fullscreen-template) .wp-site-blocks > main:not(.bop-home),
body.bop:not(.bop-fullscreen-template) .wp-site-blocks > article,
body.bop:not(.bop-fullscreen-template) .wp-site-blocks > .wp-block-group,
body.bop:not(.bop-fullscreen-template) .wp-site-blocks > .wp-block-cover {
  color: var(--bop-color-text);
}

body.bop:not(.bop-fullscreen-template) .wp-site-blocks > main:not(.bop-home) .wp-block-group,
body.bop:not(.bop-fullscreen-template) .wp-site-blocks > article .wp-block-group,
body.bop:not(.bop-fullscreen-template) .wp-site-blocks > .wp-block-group .wp-block-group,
body.bop:not(.bop-fullscreen-template) .wp-site-blocks > main:not(.bop-home) .wp-block-columns,
body.bop:not(.bop-fullscreen-template) .wp-site-blocks > article .wp-block-columns {
  color: var(--bop-color-text);
}

body.bop:not(.bop-fullscreen-template) .wp-site-blocks > main:not(.bop-home) p,
body.bop:not(.bop-fullscreen-template) .wp-site-blocks > article p,
body.bop:not(.bop-fullscreen-template) .wp-site-blocks > .wp-block-group p,
body.bop:not(.bop-fullscreen-template) .wp-site-blocks > .wp-block-cover p,
body.bop:not(.bop-fullscreen-template) .wp-site-blocks > main:not(.bop-home) li,
body.bop:not(.bop-fullscreen-template) .wp-site-blocks > article li {
  color: var(--bop-color-text-soft);
}

body.bop:not(.bop-fullscreen-template) .wp-site-blocks > main:not(.bop-home) h1,
body.bop:not(.bop-fullscreen-template) .wp-site-blocks > main:not(.bop-home) h2,
body.bop:not(.bop-fullscreen-template) .wp-site-blocks > main:not(.bop-home) h3,
body.bop:not(.bop-fullscreen-template) .wp-site-blocks > article h1,
body.bop:not(.bop-fullscreen-template) .wp-site-blocks > article h2,
body.bop:not(.bop-fullscreen-template) .wp-site-blocks > article h3,
body.bop:not(.bop-fullscreen-template) .wp-site-blocks > .wp-block-group h1,
body.bop:not(.bop-fullscreen-template) .wp-site-blocks > .wp-block-group h2,
body.bop:not(.bop-fullscreen-template) .wp-site-blocks > .wp-block-group h3 {
  color: var(--bop-color-text);
}

body.bop:not(.bop-fullscreen-template) .wp-site-blocks > main:not(.bop-home) .wp-block-cover,
body.bop:not(.bop-fullscreen-template) .wp-site-blocks > main:not(.bop-home) .wp-block-group.has-background,
body.bop:not(.bop-fullscreen-template) .wp-site-blocks > article .wp-block-group.has-background {
  border: 1px solid var(--bop-color-border);
  box-shadow: var(--bop-shadow-sm);
}

.bop .wp-block-button__link,
.bop .wp-element-button {
  border: 1px solid rgba(151, 193, 255, 0.18);
  background: linear-gradient(135deg, #2d6cff 0%, #39bfff 100%);
  color: #f8fbff;
  box-shadow: 0 20px 48px -26px rgba(45, 108, 255, 0.58);
}

.bop .wp-block-button__link:hover,
.bop .wp-element-button:hover {
  background: linear-gradient(135deg, #3d7cff 0%, #50caff 100%);
}

.bop .wp-block-table table,
.bop .wp-block-table th,
.bop .wp-block-table td,
.bop .wp-block-pullquote,
.bop .wp-block-quote,
.bop .wp-block-code,
.bop pre {
  color: var(--bop-color-text);
}

.bop .wp-block-table table {
  background: rgba(7, 13, 24, 0.52);
}

.bop .wp-block-table th {
  background: rgba(239, 244, 255, 0.06);
}

.bop .wp-block-quote,
.bop .wp-block-pullquote {
  padding: var(--bop-space-4) var(--bop-space-5);
  border-radius: var(--bop-radius-md);
  background: rgba(239, 244, 255, 0.04);
}

.bop .wp-block-pullquote {
  border-top: 1px solid var(--bop-color-border);
  border-bottom: 1px solid var(--bop-color-border);
}

.bop .wp-block-pullquote cite,
.bop .wp-block-quote cite {
  color: var(--bop-color-text-muted);
}

.bop .wp-block-group.has-background,
.bop .wp-block-cover {
  border-radius: var(--bop-radius-lg);
}

.bop input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]),
.bop textarea,
.bop select {
  border: 1px solid var(--bop-color-border);
  background: rgba(10, 18, 32, 0.9);
  color: var(--bop-color-text);
  caret-color: var(--bop-color-text);
  -webkit-text-fill-color: var(--bop-color-text);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.03);
}

.bop .field-area,
.bop .field-area:focus,
.bop .field-area:active,
.bop input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):focus,
.bop input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):active,
.bop textarea:focus,
.bop textarea:active,
.bop select:focus,
.bop select:active {
  border-color: var(--bop-color-primary);
  background: rgba(10, 18, 32, 0.96) !important;
  color: var(--bop-color-text) !important;
  caret-color: var(--bop-color-text);
  -webkit-text-fill-color: var(--bop-color-text);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.04),
    0 0 0 3px rgba(110, 168, 255, 0.14);
}

.bop ::placeholder {
  color: var(--bop-color-text-muted);
}

@media (max-width: 39.99rem) {
  .bop header .wp-block-navigation__responsive-container.is-menu-open {
    position: fixed !important;
    inset: 0 !important;
    width: 100vw !important;
    height: 100dvh !important;
    min-height: 100dvh !important;
    max-height: 100dvh !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
    border-radius: 0 !important;
    z-index: 80 !important;
    padding: calc(1.05rem + env(safe-area-inset-top)) 1.35rem calc(1.5rem + env(safe-area-inset-bottom)) !important;
  }

  .bop header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
    align-items: stretch !important;
    justify-content: flex-start !important;
    gap: 0.2rem !important;
    min-height: 0 !important;
    overflow: hidden !important;
    padding-top: 0.4rem !important;
  }

  .bop header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container {
    gap: 0.35rem !important;
  }

  .bop header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item {
    width: 100% !important;
  }

  .bop header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
    min-height: 2.45rem !important;
    padding: 0.3rem 0 !important;
    font-size: 1rem !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
  }

  .bop header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item.has-child > .wp-block-navigation-item__content {
    padding-right: 0.4rem !important;
  }

  .bop header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item.has-child .wp-block-navigation__submenu-icon {
    margin-inline-start: auto !important;
    transform: scale(0.92);
  }

  .bop header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container {
    min-width: 0 !important;
    margin: 0.2rem 0 0.55rem 0.85rem !important;
    padding: 0.45rem 0 0.1rem 0.95rem !important;
    border: 0 !important;
    border-left: 1px solid color-mix(in srgb, var(--bop-header-border) 92%, transparent) !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
  }

  .bop header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
    min-height: 2.2rem !important;
    padding: 0.28rem 0 !important;
    border-radius: 0 !important;
    font-size: 0.95rem !important;
    font-weight: 650 !important;
    color: var(--bop-theme-text-soft) !important;
  }

  .bop header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover,
  .bop header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content:focus-visible {
    background: transparent !important;
    color: var(--bop-header-text) !important;
  }

  .bop header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close {
    width: 2.75rem !important;
    height: 2.75rem !important;
    padding: 0 !important;
    position: fixed !important;
    top: calc(0.65rem + env(safe-area-inset-top)) !important;
    right: 0.85rem !important;
  }
}
