/**
 * Version: 1.34
 */
.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;
}

.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.is-open .solidara-block-toggle {
    left: 100%;
}

.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 {
        --solidara-block-closed-z-index: 1;
    }

    .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; }
