/**
 * Version: 1.37
 */
.solidara-cookie-page {
    display: grid;
    gap: 20px;
    max-width: 680px;
    margin-top: 20px;
}

.solidara-cookie-page-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    padding: 20px;
    border: 1px solid #ccc;
}

.solidara-cookie-page-button,
.solidara-cookie-page-delete,
.solidara-forms-clear,
.solidara-id-button {
    background: var(--theme-palette-color-1, #222);
    color: #fff;
    border: 0;
    padding: 10px 16px;
    border-radius: 6px;
    cursor: pointer;
}

.solidara-id-button-value {
    font-weight: 700;
}

.solidara-cookie-page-list {
    display: grid;
    gap: 8px;
    padding-left: 0;
    list-style: none;
}

.solidara-cookie-page-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.solidara-cookie-page-field {
    display: grid;
    grid-template-columns: minmax(120px, max-content) minmax(0, 1fr);
    align-items: center;
    gap: 10px;
    flex: 1;
    min-width: 0;
}

.solidara-cookie-page-label {
    font-weight: 600;
}

.solidara-cookie-page-input {
    width: 100%;
    min-width: 0;
    box-sizing: border-box;
    border: 1px solid #bbb;
    background: #fff;
    color: #222;
    padding: 4px 10px;
    border-radius: 4px;
}

.solidara-series-list {
    display: grid;
    gap: 6px;
    margin: 0;
    padding: 10px 12px;
    border: 1px solid #ccc;
    border-radius: 6px;
    list-style: none;
}

.solidara-series-link {
    display: flex;
    gap: 6px;
    align-items: start;
    text-decoration: none;
    font-size: 16px;
    font-weight: 700;
}

.solidara-series-title {
    min-width: 0;
    overflow-wrap: normal;
    word-break: normal;
    hyphens: none;
}

.solidara-series-link-disabled {
    color: inherit;
    opacity: 0.7;
}

.solidara-series-item.is-current .solidara-series-title {
    font-weight: 700;
}

.solidara-forms {
    display: grid;
    gap: 16px;
    max-width: 920px;
}

.solidara-forms-title {
    margin: 0;
}

.solidara-forms-subtitle {
    margin: 8px 0 0;
}

.solidara-forms-fields {
    display: grid;
    gap: 12px;
}

.solidara-forms-field {
    display: grid;
    gap: 6px;
}

.solidara-forms-field-checkbox {
    display: flex;
    align-items: center;
    gap: 8px;
}

.solidara-forms-field-checkbox .solidara-forms-control {
    gap: 4px;
}

.solidara-forms-field-choicegroup .solidara-forms-control,
.solidara-forms-field-radiobutton .solidara-forms-control {
    align-items: center;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 6px 18px;
}

.solidara-forms-field-choicegroup,
.solidara-forms-field-radiobutton {
    border: 1px solid #ccd0d4;
    margin: 0;
    padding: 6px 10px 8px;
}

.solidara-forms-field-choicegroup legend,
.solidara-forms-field-radiobutton legend {
    padding: 0 4px;
}

.solidara-forms-field-choicegroup label,
.solidara-forms-field-radiobutton label {
    align-items: center;
    display: flex;
    gap: 8px;
    line-height: 1.3;
    margin: 0;
}

.solidara-forms-label {
    font-weight: 600;
}

.solidara-forms-control {
    display: flex;
    gap: 8px;
    align-items: center;
}

.solidara-forms-input {
    width: 100%;
    box-sizing: border-box;
}

.solidara-forms-error {
    color: #b00020;
    font-size: 0.9em;
}

.solidara-forms-button {
    justify-self: start;
    cursor: pointer;
}

.solidara-block {
    --solidara-block-panel-size: min(84vw, 340px);
    --solidara-block-bar-size: 12px;
    --solidara-block-offset: 96px;
    --solidara-block-closed-z-index: 2147483000;
    --solidara-block-z-index: 2147483000;
    box-sizing: border-box;
    position: fixed;
    z-index: var(--solidara-block-closed-z-index);
    pointer-events: none;
}

/* Keep Blocksy off-canvas navigation above the blocks without raising the normal header. */
#offcanvas.ct-panel {
    z-index: 2147483002;
}

/* Dropdowns share the header's stacking context: raise it only while a submenu is in use. */
#header:has(.menu-item-has-children:is(:hover, :focus-within, .ct-active)) {
    z-index: 2147483001;
}

/* Keep the WordPress toolbar and its dropdowns above panels and navigation. */
#wpadminbar {
    z-index: 2147483003;
}

.solidara-block.is-open {
    z-index: var(--solidara-block-z-index);
}

.solidara-block *,
.solidara-block *::before,
.solidara-block *::after {
    box-sizing: border-box;
}

.solidara-block-toggle {
    background: var(--theme-palette-color-1, #222);
    color: #fff;
    border: 0;
    cursor: pointer;
    font: 700 12px/1 Arial, sans-serif;
    position: absolute;
    z-index: 2147483001;
    display: flex;
    align-items: center;
    justify-content: center;
    width: var(--solidara-block-bar-size);
    min-width: var(--solidara-block-bar-size);
    min-height: 72px;
    padding: 0;
    border-radius: 0;
    white-space: nowrap;
    pointer-events: auto;
}

.solidara-block-panel {
    background: #fff;
    color: #222;
    border: 1px solid #ccc;
    box-shadow: 0 18px 48px rgba(0, 0, 0, 0.18);
    padding: 16px;
    width: var(--solidara-block-panel-size);
    max-width: calc(100vw - var(--solidara-block-bar-size));
    max-height: calc(100vh - 32px);
    overflow: auto;
    transition: transform 180ms ease;
    pointer-events: auto;
    position: relative;
    z-index: var(--solidara-block-z-index);
}

.solidara-block:not(.is-open) .solidara-block-panel {
    pointer-events: none;
}

/* Side panels start below the header: reserve that offset and a bottom gap.
   dvh also follows the visible viewport when mobile browser controls change. */
.solidara-block-side-right .solidara-block-panel,
.solidara-block-side-left .solidara-block-panel {
    max-height: max(0px, calc(100vh - var(--solidara-block-offset) - 16px));
    max-height: max(0px, calc(100dvh - var(--solidara-block-offset) - 16px));
}

.solidara-block-side-right {
    top: var(--solidara-block-offset);
    right: 0;
}

.solidara-block-side-right .solidara-block-toggle {
    top: 0;
    right: 0;
}

.solidara-block-side-right .solidara-block-panel {
    transform: translateX(100%);
}

.solidara-block-side-right.is-open .solidara-block-panel {
    transform: translateX(0);
}

.solidara-block-side-left {
    top: var(--solidara-block-offset);
    left: 0;
}

.solidara-block-side-left .solidara-block-toggle {
    top: 0;
    left: 0;
}

.solidara-block-side-left .solidara-block-panel {
    transform: translateX(-100%);
}

.solidara-block-side-left.is-open .solidara-block-panel {
    transform: translateX(0);
}

.solidara-block-side-top {
    top: 0;
    right: 0;
    left: 0;
    padding-top: var(--solidara-block-bar-size);
}

.solidara-block-side-top .solidara-block-toggle {
    top: 0;
    left: 0;
    right: 0;
    width: auto;
    min-height: var(--solidara-block-bar-size);
}

.solidara-block-side-top .solidara-block-panel {
    width: 100%;
    max-width: none;
    max-height: 70vh;
    transform: translateY(calc(-100% - var(--solidara-block-bar-size)));
}

.solidara-block-side-top.is-open .solidara-block-panel {
    transform: translateY(0);
}

.solidara-block-side-bottom {
    bottom: 0;
    left: 0;
    right: 0;
    padding-bottom: var(--solidara-block-bar-size);
}

.solidara-block-side-bottom .solidara-block-toggle {
    right: 0;
    bottom: 0;
    left: 0;
    width: auto;
    min-height: var(--solidara-block-bar-size);
}

.solidara-block-side-bottom .solidara-block-panel {
    width: 100%;
    max-width: none;
    max-height: 70vh;
    transform: translateY(calc(100% + var(--solidara-block-bar-size)));
}

.solidara-block-side-bottom.is-open .solidara-block-panel {
    transform: translateY(0);
}

.solidara-block-editor-preview {
    display: grid;
    gap: 8px;
    max-width: 420px;
}

.solidara-block-editor-preview .solidara-block-toggle {
    justify-self: start;
}

.solidara-block-editor-preview,
.editor-styles-wrapper .solidara-block,
.block-editor-block-list__block .solidara-block {
    position: static;
    z-index: auto;
}

.solidara-block-editor-preview .solidara-block-toggle,
.editor-styles-wrapper .solidara-block .solidara-block-toggle,
.block-editor-block-list__block .solidara-block .solidara-block-toggle {
    position: static;
    writing-mode: horizontal-tb;
    transform: none;
}

.solidara-block-editor-preview .solidara-block-panel,
.editor-styles-wrapper .solidara-block .solidara-block-panel,
.block-editor-block-list__block .solidara-block .solidara-block-panel {
    transform: none;
    pointer-events: auto;
}

.solidara-block-widget-area-note {
    margin-bottom: 12px;
    padding: 8px 10px;
    border: 1px solid #ccc;
    background: #f7f7f7;
    color: #222;
    font-size: 13px;
}

@media (max-width: 782px) {
    .solidara-forms-field-choicegroup .solidara-forms-control,
    .solidara-forms-field-radiobutton .solidara-forms-control {
        align-items: flex-start;
        flex-direction: column;
        gap: 8px;
    }


    .solidara-block-editor-preview,
    .editor-styles-wrapper .solidara-block,
    .block-editor-block-list__block .solidara-block {
        position: static;
        z-index: auto;
        padding: 0;
    }

    .solidara-block-editor-preview .solidara-block-toggle,
    .editor-styles-wrapper .solidara-block .solidara-block-toggle,
    .block-editor-block-list__block .solidara-block .solidara-block-toggle {
        position: static;
        writing-mode: horizontal-tb;
        transform: none;
    }

    .solidara-block-editor-preview .solidara-block-panel,
    .editor-styles-wrapper .solidara-block .solidara-block-panel,
    .block-editor-block-list__block .solidara-block .solidara-block-panel {
        transform: none;
        pointer-events: auto;
    }
}

.solidara-forms-accordion > summary {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 0;
    cursor: pointer;
    list-style: none;
    font-weight: 600;
}

.solidara-forms-accordion > summary::-webkit-details-marker {
    display: none;
}

.solidara-forms-accordion > summary::before {
    content: "";
    width: 0.45em;
    height: 0.45em;
    border-right: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    transform: rotate(-45deg);
    flex-shrink: 0;
}

.solidara-forms-accordion[open] > summary::before {
    transform: rotate(45deg);
}

.solidara-forms-accordion > summary:focus-visible {
    outline: 2px solid currentColor;
    outline-offset: 2px;
}

.solidara-forms-accordion > .solidara-forms-fields {
    padding: 6px 0 12px;
}

.solidara-organization-dialog {
    max-width: min(90vw, 480px);
    border: 1px solid #ccc;
    border-radius: 8px;
    padding: 24px;
}

.solidara-organization-dialog::backdrop {
    background: rgb(0 0 0 / 35%);
}

.solidara-organization-dialog button {
    margin: 8px 8px 0 0;
}

[data-mindmap-organization]:focus-visible {
    outline: 2px solid #2457b2;
    outline-offset: 3px;
}

/* Keep mandatory feedback beside its control, including checkbox labels. */
.solidara-forms .solidara-forms-field.solidara-forms-field-invalid {
    border: 2px solid #b00020 !important;
    padding: 8px;
    box-sizing: border-box;
    border-radius: 3px;
}

.solidara-forms .solidara-forms-field-checkbox.solidara-forms-field-invalid {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr);
}

.solidara-forms-field [data-solidara-mandatory-error] {
    margin: 0;
}

.solidara-forms-rating { border: 0; padding: 0; margin: 0; min-width: 0; }
.solidara-forms-rating-stars { display: flex; flex-wrap: wrap; gap: 6px; padding: 6px; }
.solidara-forms-rating-star { position: relative; cursor: pointer; line-height: 1; }
.solidara-forms-rating-star input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.solidara-forms-rating-star span { display: inline-block; font-size: 26px; }
.solidara-forms-rating-star input:checked + span { transform: scale(1.3); text-shadow: 0 0 2px currentColor; border-bottom: 2px solid currentColor; }
.solidara-forms-rating-star input:focus-visible + span { outline: 2px solid currentColor; outline-offset: 2px; }
.solidara-forms-rating-star input:disabled + span { opacity: .6; cursor: default; }
.solidara-forms-rating-star[data-value="-5"] { color: #8b0000; }
.solidara-forms-rating-star[data-value="-4"] { color: #b22222; }
.solidara-forms-rating-star[data-value="-3"] { color: #dc143c; }
.solidara-forms-rating-star[data-value="-2"] { color: #ff4500; }
.solidara-forms-rating-star[data-value="-1"] { color: #ff8c00; }
.solidara-forms-rating-star[data-value="0"] { color: #daa520; }
.solidara-forms-rating-star[data-value="1"] { color: #9acd32; }
.solidara-forms-rating-star[data-value="2"] { color: #6ab04c; }
.solidara-forms-rating-star[data-value="3"] { color: #2ecc71; }
.solidara-forms-rating-star[data-value="4"] { color: #27ae60; }
.solidara-forms-rating-star[data-value="5"] { color: #006400; }
/* Credits-Bestellungen: Überschriften und Werte einheitlich zentrieren. */
table.solidara-product caption,
table.solidara-product th,
table.solidara-product td,
table.solidara-invitations caption,
table.solidara-invitations th,
table.solidara-invitations td {
    text-align: center;
}

.solidara-invitations .solidara-invitation-delete {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    margin: 0 0 0 3px;
    padding: 0;
    width: 1em;
    height: 1em;
    min-width: 0;
    min-height: 0;
    font: inherit;
    background: var(--theme-palette-color-1, #ff451f);
    color: #fff;
    border: 0;
    border-radius: 6px;
    line-height: 1;
    vertical-align: middle;
}

/* A narrow desktop window keeps the desktop panel size and startup state. */
.solidara-block-side-left {
    --solidara-block-panel-size: 600px;
}

/* Touch devices use the available width, leaving both edge controls reachable. */
@media (hover: none) and (pointer: coarse) {
    .solidara-block-side-left {
        --solidara-block-panel-size: calc(100vw - 2 * var(--solidara-block-bar-size));
    }

    /* Server-rendered desktop defaults must not flash open before startup. */
    .solidara-block:not([data-solidara-block-ready]) .solidara-block-panel {
        visibility: hidden;
        pointer-events: none;
    }

    .solidara-block-side-left:not([data-solidara-block-ready]) .solidara-block-toggle {
        left: 0;
    }

    .solidara-block-editor-preview .solidara-block-panel,
    .editor-styles-wrapper .solidara-block .solidara-block-panel,
    .block-editor-block-list__block .solidara-block .solidara-block-panel {
        visibility: visible;
        pointer-events: auto;
    }
}

/* Keep the visible edge narrow while making a closed panel easier to reopen. */
@media (hover: none) and (pointer: coarse) {
    .solidara-block-toggle {
        touch-action: manipulation;
    }

    .solidara-block-side-left:not(.is-open) > .solidara-block-toggle::before {
        content: "";
        position: absolute;
        top: 0;
        bottom: 0;
    }

    .solidara-block-side-left:not(.is-open) > .solidara-block-toggle::before {
        left: 0;
        width: 32px;
    }

}

/* Derive horizontal arrows from the same state that positions the panel. */
.solidara-block-side-left > .solidara-block-toggle > span[aria-hidden="true"],
.solidara-block-side-right > .solidara-block-toggle > span[aria-hidden="true"] {
    display: none;
}

.solidara-block-side-left > .solidara-block-toggle::after,
.solidara-block-side-right.is-open > .solidara-block-toggle::after {
    content: ">";
}

.solidara-block-side-right > .solidara-block-toggle::after,
.solidara-block-side-left.is-open > .solidara-block-toggle::after {
    content: "<";
}

/* Text sections follow the line layout: title, then connected heading boxes. */
.solidara-mindmap-article { overflow: auto; scrollbar-gutter: stable; box-sizing: border-box; color: #454e53; font-family: Arial, Helvetica, sans-serif; }
.solidara-mindmap-article * { box-sizing: border-box; }
.solidara-mindmap-article details { margin: 0; border: 0; padding: 0; background: transparent; }
.solidara-mindmap-article summary { display: block; width: fit-content; max-width: 100%; min-height: 42px; padding: 10px 12px; border: 1.5px solid #454e53; border-radius: 12px; background: #fff; color: #454e53; font-size: 15.5px; font-weight: 700; line-height: 22px; cursor: pointer; overflow-wrap: anywhere; text-decoration: underline; text-underline-offset: 2px; }
.solidara-mindmap-article summary::-webkit-details-marker { display: none; }
.solidara-mindmap-article summary::marker { content: ''; }
.solidara-mindmap-article > .solidara-mindmap-article-node > details > summary { font-size: 21px; line-height: 26px; font-weight: 700; }
.solidara-mindmap-article summary:focus-visible { outline: 2px solid #406efa; outline-offset: 2px; }
.solidara-mindmap-article details[open] > summary { background: #edf3f8; }
.solidara-mindmap-article-text { margin-top: 6px; padding: 8px 12px; background: #fff; line-height: 1.6; overflow-wrap: anywhere; }
.solidara-mindmap-article-text > :first-child { margin-top: 0; }
.solidara-mindmap-article-text > :last-child { margin-bottom: 0; }
.solidara-mindmap-article-text ul { padding-left: 22px; }
.solidara-mindmap-article-branches { margin-left: 12px; padding: 16px 0 0 28px; }
.solidara-mindmap-article-branches > .solidara-mindmap-article-node { position: relative; margin-bottom: 16px; }
.solidara-mindmap-article-branches > .solidara-mindmap-article-node:last-child { margin-bottom: 0; }
.solidara-mindmap-article-branches > .solidara-mindmap-article-node::before { content: ''; position: absolute; left: -28px; top: -16px; width: 28px; height: 39px; border-left: 2px solid #91a6b7; border-bottom: 2px solid #91a6b7; border-bottom-left-radius: 12px; pointer-events: none; }

.solidara-mindmap-article-branches > .solidara-mindmap-article-node:not(:last-child)::after { content: ''; position: absolute; left: -28px; top: 11px; bottom: 0; border-left: 2px solid #91a6b7; pointer-events: none; }

/* Continue the child branch from the title's rounded corner through open text. */
.solidara-mindmap-article-node > details:has(+ .solidara-mindmap-article-branches) > .solidara-mindmap-article-text { position: relative; margin-top: 0; padding-top: 14px; padding-left: 40px; }
.solidara-mindmap-article-node > details:has(+ .solidara-mindmap-article-branches) > .solidara-mindmap-article-text::before { content: ''; position: absolute; left: 12px; top: 0; bottom: 0; border-left: 2px solid #91a6b7; pointer-events: none; }
