/* Custom Klaro Cookie Consent Styling */
.klaro-custom-theme {
    font-family: system-ui, -apple-system, sans-serif;
}

/* Lock all non-Klaro page interactions while modal is open */
body.klaro-modal-open {
    overflow: hidden !important;
}

html.klaro-modal-open,
body.klaro-modal-open {
    overflow: hidden !important;
}

body.klaro-modal-open #root {
    pointer-events: none !important;
    user-select: none !important;
}

body.klaro-modal-open > *:not(#klaro-container) {
    pointer-events: none !important;
}

/* Strong, container-scoped overrides to beat Klaro defaults */
#klaro-container .klaro .cookie-notice,
#klaro-container .klaro .cookie-modal-notice,
#klaro-container .klaro .cookie-modal .cm-modal.cm-klaro {
    background-color: #f5ede1 !important;
    color: #3f2f24 !important;
    border: 1px solid #ddcbb7 !important;
}

#klaro-container .klaro .cookie-modal .cm-modal.cm-klaro,
#klaro-container .klaro .cookie-modal-notice,
#klaro-container .klaro .cookie-notice {
    border-radius: 8px;
    box-shadow: 0 4px 6px rgba(63, 47, 36, 0.12);
}

/* Fullscreen wrapper must stay transparent so page remains visible */
#klaro-container .klaro .cookie-modal {
    background: transparent !important;
}

/* Keep page content (hero image) visible while banner is open */
#klaro-container .klaro .cm-bg {
    background-color: transparent !important;
}

/* Improve readability on beige background */
#klaro-container .klaro .cm-list-title,
#klaro-container .klaro .cm-list-title strong,
#klaro-container .klaro h1,
#klaro-container .klaro h2,
#klaro-container .klaro h3,
#klaro-container .klaro .cm-description,
#klaro-container .klaro .cm-description p,
#klaro-container .klaro .cm-text,
#klaro-container .klaro p,
#klaro-container .klaro li {
    color: #000 !important;
}

#klaro-container .klaro .cm-btn {
    border-radius: 4px;
    padding: 10px 20px;
    font-weight: 500;
    transition: all 0.2s ease;
}

#klaro-container .klaro .cm-btn.cm-btn-success,
#klaro-container .klaro .cm-btn.cm-btn-accept-all,
#klaro-container .klaro .cm-btn.cm-btn-accept,
#klaro-container .klaro .cm-btn.cm-btn-primary {
    background-color: #7a4f2b !important;
    border: 1px solid #7a4f2b !important;
    color: #fff !important;
}

#klaro-container .klaro .cm-btn.cm-btn-success:hover,
#klaro-container .klaro .cm-btn.cm-btn-accept-all:hover,
#klaro-container .klaro .cm-btn.cm-btn-accept:hover,
#klaro-container .klaro .cm-btn.cm-btn-primary:hover {
    background-color: #654122 !important;
    border-color: #654122 !important;
}

#klaro-container .klaro .cm-btn.cm-btn-info,
#klaro-container .klaro .cm-btn.cm-btn-decline,
#klaro-container .klaro .cm-btn.cm-btn-manage,
#klaro-container .klaro .cm-btn.cm-btn-secondary {
    background-color: #eadbc8 !important;
    border: 1px solid #7a4f2b !important;
    color: #7a4f2b !important;
}

#klaro-container .klaro .cm-btn.cm-btn-info:hover,
#klaro-container .klaro .cm-btn.cm-btn-decline:hover,
#klaro-container .klaro .cm-btn.cm-btn-manage:hover,
#klaro-container .klaro .cm-btn.cm-btn-secondary:hover {
    background-color: #e1cdb5 !important;
}

#klaro-container .klaro a,
#klaro-container .klaro .cm-link {
    color: #7a4f2b !important;
}

/* Hide Klaro branding footer text */
#klaro-container .klaro .cm-powered-by {
    display: none !important;
}

/* Ensure overrides win against library stylesheet specificity */
#klaro-container .klaro .cookie-notice,
#klaro-container .klaro .cookie-modal-notice,
#klaro-container .klaro .cookie-modal .cm-modal.cm-klaro,
#klaro-container .klaro .cm-btn,
#klaro-container .klaro .cm-btn.cm-btn-success,
#klaro-container .klaro .cm-btn.cm-btn-accept-all,
#klaro-container .klaro .cm-btn.cm-btn-accept,
#klaro-container .klaro .cm-btn.cm-btn-primary,
#klaro-container .klaro .cm-btn.cm-btn-info,
#klaro-container .klaro .cm-btn.cm-btn-decline,
#klaro-container .klaro .cm-btn.cm-btn-manage,
#klaro-container .klaro .cm-btn.cm-btn-secondary {
    background-image: none !important;
}
