/*
 * Géocopro status palettes.
 * Change these variables to test colors without editing component selectors.
 */
:root {
    --gc-warning-background: #F5F3FA;
    --gc-warning-border: #D8D2E6;
    --gc-warning-accent: #6F5A8E;
    --gc-warning-accent-rgb: 111, 90, 142;
    --gc-warning-title: #0D0040;
    --gc-warning-text: #5F6470;
    --gc-warning-badge-background: #EEEAF5;
    --gc-warning-badge-text: #5D4C78;
    --gc-warning-toast-background: #FCFBFE;

    /* Reserved for business states such as "à vérifier" / "à contrôler". */
    --gc-review-background: var(--gc-warning-background);
    --gc-review-border: var(--gc-warning-border);
    --gc-review-accent: var(--gc-warning-accent);
    --gc-review-title: var(--gc-warning-title);
    --gc-review-text: var(--gc-warning-text);
    --gc-review-badge-background: var(--gc-warning-badge-background);
    --gc-review-badge-text: var(--gc-warning-badge-text);

    /* Bootstrap/theme compatibility. */
    --bs-warning: var(--gc-warning-accent);
    --bs-warning-rgb: var(--gc-warning-accent-rgb);
    --bs-light-warning: var(--gc-warning-background);
    --bs-active-warning: var(--gc-warning-accent);
}

/* Product identity displayed in the shared application header. */
.gc-brand {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    white-space: nowrap;
}

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

.gc-version-badge {
    flex: 0 0 auto;
    padding: 0.25rem 0.45rem;
    color: var(--bs-primary);
    font-size: 0.75rem;
    font-weight: 600;
    line-height: 1;
    letter-spacing: 0.02em;
    background-color: var(--bs-light-primary);
    border: 1px solid rgba(var(--bs-primary-rgb), 0.18);
    border-radius: 999px;
    cursor: default;
    user-select: none;
}

@media (max-width: 767.98px) {
    .gc-brand {
        gap: 0.35rem;
    }

    .gc-version-badge {
        padding: 0.2rem 0.4rem;
        font-size: 0.7rem;
    }
}

.text-warning,
.text-light-warning,
.svg-icon.svg-icon-warning,
.link-warning,
.link-warning:hover,
.link-warning:focus,
.text-hover-warning:hover,
.text-hover-warning:hover i,
.text-hover-warning:hover .svg-icon,
.text-active-warning.active,
.text-state-warning:hover,
.text-state-warning.active {
    color: var(--gc-warning-accent) !important;
}

.alert-warning,
.bg-warning,
.bg-light-warning,
.bg-warning.hoverable:hover,
.bg-light-warning.hoverable:hover,
.btn-warning,
.btn-warning:hover,
.btn-warning:focus,
.btn-warning:active,
.btn-warning.active,
.btn-light-warning,
.btn-light-warning:hover,
.btn-light-warning:focus,
.btn-light-warning:active {
    color: var(--gc-warning-text) !important;
    background-color: var(--gc-warning-background) !important;
    border-color: var(--gc-warning-border) !important;
}

.badge-warning,
.badge-light-warning,
.symbol.symbol-light-warning .symbol-label {
    color: var(--gc-warning-badge-text) !important;
    background-color: var(--gc-warning-badge-background) !important;
    border-color: var(--gc-warning-border) !important;
}

.alert-warning .alert-link,
.alert-warning .alert-heading {
    color: var(--gc-warning-title) !important;
}

.alert-warning i,
.alert-warning .svg-icon,
.btn-warning i,
.btn-warning .svg-icon,
.btn-light-warning i,
.btn-light-warning .svg-icon {
    color: var(--gc-warning-accent) !important;
}

/* Override the theme's more specific button interaction backgrounds. */
.btn.btn-warning:hover:not(.btn-active),
.btn.btn-warning:focus:not(.btn-active),
.btn.btn-warning:active:not(.btn-active),
.btn.btn-warning.active,
.btn.btn-warning.show,
.show > .btn.btn-warning,
.btn-check:checked + .btn.btn-warning,
.btn-check:active + .btn.btn-warning,
.btn.btn-light-warning:hover:not(.btn-active),
.btn.btn-light-warning:focus:not(.btn-active),
.btn.btn-light-warning:active:not(.btn-active),
.btn.btn-light-warning.active,
.btn.btn-light-warning.show,
.show > .btn.btn-light-warning,
.btn-check:checked + .btn.btn-light-warning,
.btn-check:active + .btn.btn-light-warning {
    background-color: var(--gc-warning-background) !important;
}

.border-warning,
.swal2-icon.swal2-warning {
    color: var(--gc-warning-accent) !important;
    border-color: var(--gc-warning-border) !important;
}

.swal2-icon.swal2-warning {
    background-color: var(--gc-warning-background) !important;
}

#toastr-container > .toastr-warning {
    color: var(--gc-warning-text) !important;
    background-color: var(--gc-warning-toast-background) !important;
    border: 1px solid var(--gc-warning-border);
    background-image: none !important;
    opacity: 1;
}

#toastr-container > .toastr-warning::before {
    /* Solid exclamation triangle from the bundled Font Awesome 5 icon font. */
    content: "\f071";
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    color: var(--gc-warning-accent);
    position: absolute;
    left: 16px;
    font-size: 16px;
}

.gc-warning-icon {
    font-size: 0.9rem;
    vertical-align: baseline;
}

.toastr.toastr-warning .toastr-close-button {
    color: var(--gc-warning-accent) !important;
    background-image: none;
}

/* Compact business-state notices displayed above step DataTables. */
.gc-status-notice {
    box-sizing: border-box;
    display: block;
    width: fit-content;
    max-width: 740px;
    padding: 0.75rem 1rem;
    border: 1px solid;
    border-radius: 0.475rem;
}

.gc-status-notice--info {
    --gc-status-notice-border: var(--bs-gray-300);
    color: var(--bs-primary);
    background-color: var(--bs-light-primary);
    border-color: var(--gc-status-notice-border);
}

.gc-status-notice--review {
    --gc-status-notice-border: var(--gc-review-border);
    color: var(--gc-review-text);
    background-color: var(--gc-review-background);
    border-color: var(--gc-status-notice-border);
}

.gc-status-notice__summary {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    min-width: 0;
    list-style: none;
}

details.gc-status-notice > .gc-status-notice__summary {
    cursor: pointer;
}

.gc-status-notice__summary::-webkit-details-marker {
    display: none;
}

.gc-status-notice__main {
    display: flex;
    flex: 1 1 auto;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 0.35rem;
    min-width: 0;
}

.gc-status-notice__title {
    color: var(--gc-review-title);
    white-space: nowrap;
}

.gc-status-notice--info .gc-status-notice__title {
    color: var(--bs-primary);
}

.gc-status-notice__separator {
    opacity: 0.55;
}

.gc-status-notice__action {
    flex: 0 0 auto;
    margin-left: auto;
    color: inherit;
    white-space: nowrap;
}

.gc-status-notice__chevron {
    display: inline-block;
    transition: transform 0.2s ease;
}

.gc-status-notice[open] .gc-status-notice__chevron {
    transform: rotate(180deg);
}

.gc-status-notice__details {
    padding-top: 0.65rem;
    margin-top: 0.65rem;
    border-top: 1px solid var(--gc-status-notice-border);
}

.gc-review-badge {
    color: var(--gc-review-badge-text) !important;
    background-color: var(--gc-review-badge-background) !important;
    border: 1px solid var(--gc-review-border);
}

@media (max-width: 767.98px) {
    .gc-status-notice {
        width: 100%;
        max-width: none;
    }

    .gc-status-notice__summary {
        flex-wrap: wrap;
    }

    .gc-status-notice__action {
        margin-left: 0;
    }

    .gc-status-notice__separator {
        display: none;
    }
}

#kt_datatable tr.gc-sous-surface td.reorder {
    cursor: default !important;
}
