.cm-btn {
    border-radius: 15px !important;
    padding-left: 1rem !important;
    padding-right: 1rem !important;
    /* Improve legibility on small screens */
    font-size: 14px !important;
    /* Ensure minimum hit target size */
    min-height: 44px;
}

@media(min-width: 576px) {
    .cm-btn {
        border-radius: 15px !important;
        padding-left: 1.5rem !important;
        padding-right: 1.5rem !important;
        font-size: 16px !important;
    }
}

.cm-btn-success {
    background-color: #FF9923 !important;
    /* Ensure sufficient contrast on orange background */
    color: #111 !important;
}

.cm-btn-info {
    background-color: var(--blue1) !important;
    /* Ensure readable text on blue background */
    color: #fff !important;
}

.cm-btn-decline {
    background-color: #424242 !important;
    color: #fff !important; /* Ensure sufficient contrast on dark gray */
}

/* Danger variant (some builds use this class) */
.cm-btn-danger {
    background-color:  #424242 !important;
    color: #fff !important;
}

#klaro .klaro .cookie-modal .cm-list-input:checked+.cm-list-label .slider {
    background-color: #04533b !important;
}

/* Visible focus indicator for keyboard users */
.cm-btn:focus,
.cm-btn:focus-visible {
    outline: 3px solid #000 !important;
    outline-offset: 2px;
}

/* Focus indicator for links inside Klaro UI */
#klaro a:focus,
#klaro a:focus-visible {
    outline: 3px solid #000 !important;
    outline-offset: 2px;
}

/* Visually hidden text for screen reader-only hints */
.sr-only {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

:root {
    --green1: #04533b;
    --dark2: #424242;
    --blue1: #10588d;
}
