html, body {
   --bs-body-font-family: Inter, "Helvetica Neue", Helvetica, Arial, sans-serif;
   font-family: Inter, "Helvetica Neue", Helvetica, Arial, sans-serif;
   font-size: 15px;
   height: 100%;
   background: #fafafa;
   color: #171717;
}

body {
   margin: 0;
}

a, .btn-link {
   color: #202020;
}

a:hover, .btn-link:hover {
   color: #000;
}

.btn {
   --bs-btn-border-radius: 0.4rem;
   --bs-btn-font-size: 0.9rem;
   --bs-btn-padding-x: 0.9rem;
   --bs-btn-padding-y: 0.45rem;
   font-weight: 500;
}

.btn-sm {
   --bs-btn-border-radius: 0.35rem;
   --bs-btn-font-size: 0.82rem;
   --bs-btn-padding-x: 0.7rem;
   --bs-btn-padding-y: 0.34rem;
}

.btn-primary {
   color: #fff;
   background-color: #202020;
   border-color: #202020;
}

.btn-primary:hover,
.btn-primary:focus {
   color: #fff;
   background-color: #000;
   border-color: #000;
}

.btn-secondary {
   color: #202020;
   background-color: #efefeb;
   border-color: #dfdfd9;
}

.btn-secondary:hover,
.btn-secondary:focus {
   color: #111;
   background-color: #e4e4df;
   border-color: #d7d7d0;
}

.btn-outline-primary,
.btn-outline-secondary {
   color: #202020;
   border-color: #cfcfc8;
}

.btn-outline-primary:hover,
.btn-outline-primary:focus,
.btn-outline-secondary:hover,
.btn-outline-secondary:focus {
   color: #111;
   background-color: #efefeb;
   border-color: #bdbdb5;
}

.btn-outline-danger {
   color: #a72b2b;
   border-color: #d8a5a5;
}

.btn-danger {
   background-color: #ba2d2d;
   border-color: #ba2d2d;
}

.btn:focus, .btn:active:focus, .btn-link.nav-link:focus, .form-control:focus, .form-select:focus, .form-check-input:focus {
   box-shadow: none;
   outline: none;
}

.form-control:focus,
.form-select:focus {
   border-color: #d9d9d2;
}

.form-check-input:focus {
   border-color: #929292;
}

.content {
   padding-top: 1.1rem;
}

h1:focus {
    outline: none;
}

.valid.modified:not([type=checkbox]) {
    outline: 1px solid #26b050;
}

.invalid {
    outline: 1px solid #e50000;
}

.validation-message {
    color: #e50000;
}

.blazor-error-boundary {
    background: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTYiIGhlaWdodD0iNDkiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIG92ZXJmbG93PSJoaWRkZW4iPjxkZWZzPjxjbGlwUGF0aCBpZD0iY2xpcDAiPjxyZWN0IHg9IjIzNSIgeT0iNTEiIHdpZHRoPSI1NiIgaGVpZ2h0PSI0OSIvPjwvY2xpcFBhdGg+PC9kZWZzPjxnIGNsaXAtcGF0aD0idXJsKCNjbGlwMCkiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0yMzUgLTUxKSI+PHBhdGggZD0iTTI2My41MDYgNTFDMjY0LjcxNyA1MSAyNjUuODEzIDUxLjQ4MzcgMjY2LjYwNiA1Mi4yNjU4TDI2Ny4wNTIgNTIuNzk4NyAyNjcuNTM5IDUzLjYyODMgMjkwLjE4NSA5Mi4xODMxIDI5MC41NDUgOTIuNzk1IDI5MC42NTYgOTIuOTk2QzI5MC44NzcgOTMuNTEzIDI5MSA5NC4wODE1IDI5MSA5NC42NzgyIDI5MSA5Ny4wNjUxIDI4OS4wMzggOTkgMjg2LjYxNyA5OUwyNDAuMzgzIDk5QzIzNy45NjMgOTkgMjM2IDk3LjA2NTEgMjM2IDk0LjY3ODIgMjM2IDk0LjM3OTkgMjM2LjAzMSA5NC4wODg2IDIzNi4wODkgOTMuODA3MkwyMzYuMzM4IDkzLjAxNjIgMjM2Ljg1OCA5Mi4xMzE0IDI1OS40NzMgNTMuNjI5NCAyNTkuOTYxIDUyLjc5ODUgMjYwLjQwNyA1Mi4yNjU4QzI2MS4yIDUxLjQ4MzcgMjYyLjI5NiA1MSAyNjMuNTA2IDUxWk0yNjMuNTg2IDY2LjAxODNDMjYwLjczNyA2Ni4wMTgzIDI1OS4zMTMgNjcuMTI0NSAyNTkuMzEzIDY5LjMzNyAyNTkuMzEzIDY5LjYxMDIgMjU5LjMzMiA2OS44NjA4IDI1OS4zNzEgNzAuMDg4N0wyNjEuNzk1IDg0LjAxNjEgMjY1LjM4IDg0LjAxNjEgMjY3LjgyMSA2OS43NDc1QzI2Ny44NiA2OS43MzA5IDI2Ny44NzkgNjkuNTg3NyAyNjcuODc5IDY5LjMxNzkgMjY3Ljg3OSA2Ny4xMTgyIDI2Ni40NDggNjYuMDE4MyAyNjMuNTg2IDY2LjAxODNaTTI2My41NzYgODYuMDU0N0MyNjEuMDQ5IDg2LjA1NDcgMjU5Ljc4NiA4Ny4zMDA1IDI1OS43ODYgODkuNzkyMSAyNTkuNzg2IDkyLjI4MzcgMjYxLjA0OSA5My41Mjk1IDI2My41NzYgOTMuNTI5NSAyNjYuMTE2IDkzLjUyOTUgMjY3LjM4NyA5Mi4yODM3IDI2Ny4zODcgODkuNzkyMSAyNjcuMzg3IDg3LjMwMDUgMjY2LjExNiA4Ni4wNTQ3IDI2My41NzYgODYuMDU0N1oiIGZpbGw9IiNGRkU1MDAiIGZpbGwtcnVsZT0iZXZlbm9kZCIvPjwvZz48L3N2Zz4=) no-repeat 1rem/1.8rem, #b32121;
    padding: 1rem 1rem 1rem 3.7rem;
    color: white;
}

    .blazor-error-boundary::after {
        content: "An error has occurred."
    }

.darker-border-checkbox.form-check-input {
    border-color: #929292;
}

.form-floating > .form-control-plaintext::placeholder, .form-floating > .form-control::placeholder {
    color: var(--bs-secondary-color);
    text-align: end;
}

.form-floating > .form-control-plaintext:focus::placeholder, .form-floating > .form-control:focus::placeholder {
    text-align: start;
}

.sidebar {
   background: #242421;
   color: #f5f5f2;
}

.sidebar .nav-link {
   color: #deded8;
}

.bg-dark {
   background: #232420 !important;
}

.diff-line {
   font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace;
   white-space: pre-wrap;
   margin: 0;
   padding: 2px 8px;
}

.diff-add {
   background: #e6ffed;
}

.diff-del {
   background: #ffeef0;
}

.diff-ctx {
   background: #f8f9fa;
}

.diff-empty {
   color: #6c757d;
   font-style: italic;
   padding: .75rem;
}

.diff-meta {
   background: #f1f8ff;
   font-weight: 600;
}

#admin-shell {
   display: grid;
   grid-template-columns: 176px minmax(0, 1fr);
   min-height: 100vh;
   background: #fafafa;
}

#admin-shell.sidebar-collapsed {
   grid-template-columns: 80px minmax(0, 1fr);
}

@media (min-width: 1400px) {
   #admin-shell {
      grid-template-columns: 200px minmax(0, 1fr);
   }
}

@media (min-width: 1600px) {
   #admin-shell {
      grid-template-columns: 230px minmax(0, 1fr);
   }
}

.admin-sidebar-column {
   position: relative;
   min-height: 100vh;
   overflow: visible;
}

.admin-main-column {
   min-width: 0;
   background: #fafafa;
}

.main {
   padding: 1.25rem 2rem 2rem;
}

.main > .row:first-child,
.main > .container:first-child,
.main > .container-fluid:first-child {
   margin-top: 0;
}

.admin-topbar {
   position: relative;
   top: 0;
   z-index: 1020;
   background: #fafafa;
}

.admin-topbar__inner {
   min-height: 5rem;
   display: flex;
   align-items: center;
   justify-content: space-between;
   gap: 1rem;
   padding: 0 2rem;
}

.admin-topbar__heading {
   min-width: 0;
   display: flex;
   align-items: center;
   gap: 1rem;
}

.admin-topbar__title-block {
   min-width: 0;
   padding-top: 0.05rem;
}

.admin-topbar__title {
   min-width: 0;
   overflow: hidden;
   color: #111;
   font-size: 1.35rem;
   font-weight: 700;
   line-height: 1.15;
   text-overflow: ellipsis;
   white-space: nowrap;
}

.admin-topbar__title-line {
   min-width: 0;
   display: flex;
   align-items: center;
   gap: 0.65rem;
}

.admin-topbar__title-line .badge {
   flex: 0 0 auto;
}

.admin-topbar__description {
   min-width: 0;
   max-width: 56rem;
   overflow: hidden;
   color: #5c5c55;
   font-size: 0.95rem;
   line-height: 1.45;
   text-overflow: ellipsis;
   white-space: nowrap;
}

.admin-topbar__actions {
   display: flex;
   align-items: center;
   gap: 0.75rem;
   padding-top: 0.05rem;
}

.admin-icon-btn {
   width: 2.35rem;
   height: 2.35rem;
   display: inline-flex;
   align-items: center;
   justify-content: center;
   padding: 0;
   color: #202020;
   background: #fff;
   border: 1px solid #e1e1da;
   border-radius: 5px;
}

.admin-icon-btn:hover,
.admin-icon-btn:focus {
   color: #000;
   background: #efefeb;
   border-color: #d5d5ce;
}

.sidebar-toggle-btn__icon {
   width: 8px;
   height: 8px;
   display: block;
   border-top: 2px solid currentColor;
   border-right: 2px solid currentColor;
   transform: rotate(-135deg);
   translate: 2px;
}

#admin-shell.sidebar-collapsed .sidebar-toggle-btn__icon {
   transform: rotate(45deg);
   translate: -1px;
}

.sidebar-inner {
   min-height: 100vh;
   display: flex;
   flex-direction: column;
   gap: 1rem;
   padding: 1rem 0.75rem;
}

#admin-shell.sidebar-collapsed .sidebar-inner {
   align-items: center;
   gap: 0.75rem;
   padding: 0.75rem 0.5rem 1rem;
}

.sidebar-header {
   position: relative;
   min-height: 3rem;
   display: flex;
   align-items: center;
   justify-content: center;
   gap: 0.5rem;
   padding: 0.4rem 0.25rem 0.85rem;
}

#admin-shell.sidebar-collapsed .sidebar-header {
   width: 100%;
   min-height: 2.8rem;
   justify-content: center;
   padding: 0;
}

.sidebar-header .sidebar-toggle-btn {
   position: absolute;
   top: 11px;
   right: -23px;
   z-index: 5000;
   flex: 0 0 auto;
   width: 24px;
   height: 24px;
   color: #202020;
   background: #fafafa;
   border-color: #202020;
}

.sidebar-header .sidebar-toggle-btn:hover,
.sidebar-header .sidebar-toggle-btn:focus {
   color: #000;
   background: #f4f4f0;
}

#admin-shell.sidebar-collapsed .sidebar-header .sidebar-toggle-btn {
   top: 14px;
   right: -20px;
}

.sidebar-brand {
   min-height: 3rem;
   display: flex;
   align-items: center;
   justify-content: flex-start;
   padding: 0;
}

.sidebar-brand img {
   width: 128px;
   max-width: 100%;
   height: auto;
   display: block;
}

#admin-shell.sidebar-collapsed .sidebar-brand {
   width: 2.6rem;
   min-height: 2.6rem;
   padding: 0;
   background: url("/images/beinspired.svg") center / contain no-repeat;
}

#admin-shell.sidebar-collapsed .sidebar-brand img {
   opacity: 0;
   width: 2.6rem;
}

.sidebar-nav {
   gap: 0.25rem;
   padding: 0;
}

#admin-shell.sidebar-collapsed .sidebar-nav {
   width: 100%;
   align-items: center;
}

.sidebar-nav .nav-item {
   margin: 0;
   padding: 0;
}

.sidebar-nav .nav-link {
   min-height: 2.35rem;
   display: flex;
   align-items: center;
   gap: 0.65rem;
   padding: 0.55rem 0.65rem;
   border-radius: 0.3rem;
   color: #deded8;
   font-size: 0.82rem;
   font-weight: 500;
   line-height: 1.1;
}

#admin-shell.sidebar-collapsed .sidebar-nav .nav-link {
   width: 2.6rem;
   min-height: 2.6rem;
   justify-content: center;
   gap: 0;
   margin: 0 auto;
   padding: 0;
}

.sidebar-nav .nav-link:hover,
.sidebar-nav .nav-link:focus {
   color: #fff;
   background: rgba(255, 255, 255, 0.08);
}

.sidebar-nav .nav-link.active {
   color: #fff;
   background: #373734;
}

.sidebar-nav-glyph {
   width: 1rem;
   height: 1rem;
   flex: 0 0 1rem;
   display: inline-flex;
   align-items: center;
   justify-content: center;
   color: currentColor;
   opacity: 0.9;
}

.sidebar-nav-glyph::before {
   content: "";
   width: 0.72rem;
   height: 0.72rem;
   border: 1.6px solid currentColor;
   border-radius: 0.16rem;
}

.sidebar-nav-glyph--module::before {
   display: none;
}

.sidebar-nav-glyph i {
   width: 1rem;
   height: 1rem;
   display: inline-flex;
   align-items: center;
   justify-content: center;
   font-size: 1rem;
   line-height: 1;
}

.sidebar-nav-label {
   overflow: hidden;
   text-overflow: ellipsis;
}

#admin-shell.sidebar-collapsed .sidebar-nav-label {
   display: none;
}

h1, .h1 {
   font-size: 2rem;
   font-weight: 650;
   line-height: 1.15;
   letter-spacing: 0;
}

h2, .h2 {
   font-size: 1.45rem;
   font-weight: 650;
   letter-spacing: 0;
}

h3, .h3 {
   font-size: 1.15rem;
   font-weight: 650;
   letter-spacing: 0;
}

.card {
   background: #fff;
   border: 1px solid #e4e4dc;
   border-radius: 0.55rem;
   box-shadow: none;
}

.card-header {
   background: #fff;
   border-bottom: 1px solid #edede7;
   padding: 0.85rem 1.1rem;
   font-size: 0.92rem;
}

.card-header:first-child {
   border-radius: 0.55rem 0.55rem 0 0;
}

.card-body {
   padding: 1.1rem;
}

.card-footer {
   background: #fff;
   border-top: 1px solid #edede7;
   padding: 0.9rem 1.1rem;
}

.form-control,
.form-select {
   border-color: #d9d9d2;
   border-radius: 0.45rem;
   color: #1d1d1b;
}

.form-control::placeholder {
   color: #96968f;
}

.form-label {
   margin-bottom: 0.35rem;
   color: #42423d;
   font-size: 0.85rem;
   font-weight: 600;
}

.form-text,
.text-muted {
   color: #686861 !important;
}

.list-group {
   border-radius: 0.55rem;
}

.list-group-item {
   border-color: #e5e5de;
   color: #202020;
}

.list-group-item-action:hover,
.list-group-item-action:focus {
   background-color: #f2f2ee;
}

.list-group-item.active {
   color: #111;
   background-color: #f0f0f0;
   border-color: #d9d9d9;
}

.badge {
   font-weight: 500;
}

.text-bg-secondary {
   color: #2d2d2a !important;
   background-color: #e6e6df !important;
}

.dropdown-menu {
   border-color: #e2e2da;
   border-radius: 0.55rem;
   box-shadow: 0 18px 45px rgba(0, 0, 0, 0.08);
}

.dropdown-item {
   font-size: 0.9rem;
}

.dropdown-item:hover,
.dropdown-item:focus {
   background-color: #f2f2ee;
}

.admin-split-layout {
   --bs-gutter-x: 1.5rem;
   align-items: flex-start;
}

.admin-sticky-sidebar-column {
   position: sticky;
   top: 0;
   align-self: flex-start;
   max-height: calc(100vh - 1rem);
   overflow-y: auto;
   padding-right: 0.35rem;
   scrollbar-gutter: stable;
}

.admin-sticky-sidebar-rail {
   display: flex;
   flex-direction: column;
}

.admin-tree-node {
   position: relative;
   margin: 0;
}

.admin-tree-children {
   --tree-branch-x: 24px;
   --tree-branch-y: 28px;
   --tree-line-color: #d9ded6;
   position: relative;
   margin: 12px 0 0 28px;
   padding: 0 0 0 var(--tree-branch-x);
}

.admin-tree-children::before {
   content: "";
   position: absolute;
   top: -12px;
   bottom: var(--tree-branch-y);
   left: 0;
   width: 1px;
   border-left: 1px solid var(--tree-line-color);
}

.admin-tree-children > .admin-tree-node {
   margin-top: 12px;
}

.admin-tree-children > .admin-tree-node:first-child {
   margin-top: 0;
}

.admin-tree-children > .admin-tree-node::before {
   content: "";
   position: absolute;
   top: var(--tree-branch-y);
   left: calc(var(--tree-branch-x) * -1);
   width: var(--tree-branch-x);
   height: 0;
   border-top: 1px solid var(--tree-line-color);
}

.admin-tree-children > .admin-tree-node:last-child::after {
   content: "";
   position: absolute;
   top: var(--tree-branch-y);
   bottom: 0;
   left: calc(var(--tree-branch-x) * -1);
   width: 1px;
   border-left: 1px solid #fff;
   z-index: 1;
}

.admin-tree-children > .admin-tree-node:last-child::before {
   z-index: 2;
}

.admin-tree-card {
   position: relative;
   z-index: 3;
}

.nav-tree-node {
   position: relative;
   margin-bottom: 0.7rem;
}

.nav-tree-item {
   display: flex;
   align-items: center;
   justify-content: space-between;
   gap: 1rem;
   min-height: 3.75rem;
   padding: 0.8rem 1rem;
   background: #fff;
   border: 1px solid #e3e3dc;
   border-radius: 0.55rem;
}

.nav-tree-item__content {
   min-width: 0;
   display: flex;
   align-items: center;
   gap: 0.55rem;
}

.nav-tree-item__actions {
   display: flex;
   align-items: center;
   gap: 0.5rem;
   flex-wrap: wrap;
   justify-content: flex-end;
}

.nav-tree-children {
   position: relative;
   margin: 0.65rem 0 0 1.6rem;
   padding-left: 1.1rem;
   border-left: 1px solid #deded7;
}

@media (max-width: 767.98px) {
   #admin-shell {
      grid-template-columns: 1fr;
   }

   .admin-sidebar-column {
      min-height: auto;
   }

   .sidebar-inner {
      min-height: auto;
   }

   .main {
      padding: 1.25rem;
   }

   .admin-topbar__inner {
      flex-wrap: wrap;
      min-height: auto;
      padding: 1.25rem 1.25rem 0.5rem;
   }

   .admin-topbar__heading {
      width: 100%;
   }

   .admin-topbar__title-line {
      flex-wrap: wrap;
      align-items: baseline;
   }

   .admin-topbar__description {
      flex-basis: 100%;
      margin-top: 0.2rem;
      white-space: normal;
   }

   .admin-topbar__actions {
      width: 100%;
      justify-content: flex-end;
   }

   .sidebar-nav {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(9rem, 1fr));
   }

   .nav-tree-item {
      align-items: flex-start;
      flex-direction: column;
   }
}

.public-shell {
   min-height: 100vh;
}

.public-login__logo {
   max-width: 12rem;
}

.block-selector{
   cursor: pointer;
}

.section-toggle-btn {
   width: 2.6rem;
   height: 2.2rem;
   display: inline-flex;
   align-items: center;
   justify-content: center;
}

.collapse-caret {
   display: inline-block;
   transition: transform .18s ease;
   transform: rotate(0deg);
}

.collapse-caret.rotated {
   transform: rotate(180deg);
}

.preview-section {
   font-family: "neue-haas-grotesk-text", sans-serif;
   letter-spacing: 0px;
}

.preview-section h3, .preview-section .h3, .preview-section h4, .preview-section .h4, .preview-section h5, .preview-section .h5, {
   font-family: "bricolage-grotesque", sans-serif;
   font-weight: 700;
}

.preview-section p, .preview-section ul {
   font-size: 15px;
   line-height: 22px;
}

.media-library-upload-panel {
   position: relative;
   background: transparent;
}

.media-library-upload-panel__close {
   position: absolute;
   top: 0.75rem;
   right: 0.75rem;
   z-index: 4;
}

.media-library-toolbar {
   display: flex;
   flex-wrap: wrap;
   align-items: center;
   justify-content: space-between;
   gap: 1rem;
   min-height: 3.5rem;
   padding: 0.75rem 1rem;
   background: #f8f9fa;
   border: 1px solid #dee2e6;
   border-radius: 0.375rem;
}

.media-library-toolbar__filters {
   display: flex;
   flex-wrap: wrap;
   align-items: center;
   gap: 0.5rem;
}

.media-selection-actions {
   display: flex;
   flex-wrap: wrap;
   align-items: center;
   gap: 0.5rem;
   min-height: calc(1.5em + 0.5rem + 2px);
}

.media-filter__type {
   width: 13rem;
}

.media-library-search {
   display: flex;
   align-items: center;
   gap: 0.5rem;
}

.media-library-search .form-control {
   width: 18rem;
}

.media-grid {
   display: grid;
   grid-template-columns: repeat(auto-fill, minmax(10.5rem, 1fr));
   gap: 1rem;
}

.media-item {
   display: flex;
   min-width: 0;
   overflow: hidden;
   flex-direction: column;
   background: #fff;
   border: 1px solid #dee2e6;
   border-radius: 0.375rem;
   transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.media-item:hover,
.media-item.selected {
   border-color: #9fbedc;
   box-shadow: 0 0.4rem 1rem rgba(16, 35, 55, 0.08);
}

.media-content {
   display: flex;
   flex: 1;
   flex-direction: column;
   cursor: pointer;
}

.media-item img {
   display: block;
   width: 100%;
   height: 10.5rem;
   object-fit: cover;
   background-color: #f8f9fa;
   background-image:
      linear-gradient(45deg, #dee2e6 25%, transparent 25%),
      linear-gradient(-45deg, #dee2e6 25%, transparent 25%),
      linear-gradient(45deg, transparent 75%, #dee2e6 75%),
      linear-gradient(-45deg, transparent 75%, #dee2e6 75%);
   background-position: 0 0, 0 10px, 10px -10px, -10px 0;
   background-size: 20px 20px;
   border-bottom: 1px solid #dee2e6;
}

.media-item--svg img {
   padding: 10px;
   object-fit: contain;
}

.media-placeholder {
   display: grid;
   width: 100%;
   height: 10.5rem;
   place-items: center;
   color: #6c757d;
   font-size: 2.25rem;
   background: #f8f9fa;
   border-bottom: 1px solid #dee2e6;
}

.media-info {
   min-width: 0;
   padding: 0.65rem 0.75rem;
}

.media-info strong {
   display: block;
   overflow: hidden;
   color: #212529;
   font-size: 0.875rem;
   font-weight: 600;
   text-overflow: ellipsis;
   white-space: nowrap;
}

.media-info small {
   display: block;
   margin-top: 0.15rem;
   color: #6c757d;
   font-size: 0.75rem;
}

.media-delete-modal-backdrop {
   background-color: rgba(0, 0, 0, 0.5);
}

@media (max-width: 767.98px) {
   .media-library-toolbar,
   .media-library-search {
      align-items: stretch;
      flex-direction: column;
   }

   .media-filter__type,
   .media-library-search .form-control {
      width: 100%;
   }
}

#blazor-error-ui {
    display: none;
}
