.cms-mnt-bar {
    text-align: center;
    padding: .55rem 1rem;
    font: 600 14px/1.4 system-ui, -apple-system, "Segoe UI", Arial, sans-serif;
    background: var(--sem-accent, #cc0000);
    color: var(--sem-bg, #ffffff);
}
.cms-mnt-bar a { color: inherit; }
.cms-mnt-bar .cms-lnk-main { text-decoration: underline; }

.cms-lnk-dual { display: inline-flex; align-items: baseline; white-space: nowrap; }
.cms-lnk-ext { margin-left: .25rem; text-decoration: none; }

.cms-lightbox { position: fixed; inset: 0; background: rgba(0, 0, 0, .9); display: none; align-items: center; justify-content: center; z-index: 100; }
.cms-lightbox.cms-is-open { display: flex; }
.cms-lightbox__img { max-width: 90vw; max-height: 85vh; object-fit: contain; }
.cms-lightbox__close,
.cms-lightbox__nav { position: absolute; background: none; border: 0; color: #fff; font-size: 2.5rem; line-height: 1; cursor: pointer; padding: .5rem 1rem; }
.cms-lightbox__close { top: 1rem; right: 1rem; }
.cms-lightbox__nav { top: 50%; transform: translateY(-50%); }
.cms-lightbox__prev { left: 1rem; }
.cms-lightbox__next { right: 1rem; }
.cms-lightbox__count { position: absolute; bottom: 1rem; left: 50%; transform: translateX(-50%); color: #fff; font-size: .9rem; }
.cms-lightbox--single .cms-lightbox__nav,
.cms-lightbox--single .cms-lightbox__count { display: none; }

.cms-icon { width: 1.15em; height: 1.15em; }

.cms-form { display: grid; gap: 1rem; max-width: 34rem; }
.cms-form__msg { outline: none; }
.cms-form__row { display: grid; gap: .3rem; }
.cms-form__row input,
.cms-form__row textarea {
    font: inherit; color: inherit;
    padding: .5rem .65rem;
    background: transparent;
    border: 1px solid var(--sem-fg, #767676);
    border-radius: 3px;
}
.cms-form__row textarea { resize: vertical; }
.cms-form__check { display: flex; gap: .5rem; align-items: flex-start; }
.cms-form__check input { flex: 0 0 auto; margin-top: .25rem; }
.cms-form__err { color: var(--sem-accent, #cc0000); font-size: .9em; margin: 0; }
.cms-form__ok { font-weight: 600; margin: 0; }
.cms-form__submit {
    justify-self: start;
    font: inherit; font-weight: 600; cursor: pointer;
    padding: .55rem 1.4rem;
    color: var(--sem-bg, #ffffff);
    background: var(--sem-accent, #cc0000);
    border: 1px solid var(--sem-accent, #cc0000);
    border-radius: 3px;
}
.cms-form__hp {
    position: absolute !important;
    left: -9999px !important;
    width: 1px; height: 1px; overflow: hidden;
}

.cms-theme-toggle {
    display: inline-flex; align-items: center;
    background: none; border: 0; padding: 0;
    color: inherit; font: inherit; line-height: 1; cursor: pointer;

    vertical-align: middle;
}

.cms-theme-toggle__i--light { display: none; }
:root[data-theme="dark"] .cms-theme-toggle__i--light { display: inline; }
:root[data-theme="dark"] .cms-theme-toggle__i--dark { display: none; }
@media (prefers-color-scheme: dark) {
    :root:not([data-theme]) .cms-theme-toggle__i--light { display: inline; }
    :root:not([data-theme]) .cms-theme-toggle__i--dark { display: none; }
}

.cms-refimgs {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr));
    gap: .75rem;
}
.cms-refimgs__item { display: block; }
.cms-refimgs__item img { display: block; width: 100%; height: auto; }

.cms-tags { display: flex; flex-wrap: wrap; gap: .4rem; list-style: none; padding: 0; }

.cms-blocks {
    max-width: var(--cms-content-width, 68rem);
    margin-inline: auto;
    padding-inline: var(--cms-content-pad, 1.25rem);
}

[data-cms-to-top] {
    position: fixed; left: 50%; bottom: 1.25rem; z-index: 60;
    opacity: 0; visibility: hidden;
    transform: translateX(-50%) translateY(10px);
    transition: opacity .25s, transform .25s, visibility .25s;
}
[data-cms-to-top].cms-is-visible {
    opacity: 1; visibility: visible;
    transform: translateX(-50%);
}
@media (prefers-reduced-motion: reduce) {
    [data-cms-to-top] { transition: none; transform: translateX(-50%); }
}
