/* Floating cookie button */
#xhc-cookie-btn{
position: fixed;
bottom: 14px;
left: 14px;
width: 44px;
height: 44px;
border-radius: 999px;
display:flex;
align-items:center;
justify-content:center;
cursor:pointer;
z-index: 9999;
background: rgba(0,0,0,.7);
color:#fff;
user-select:none;
}

/* Banner */
.xhc-banner{
    position: fixed;
    left: 0; right: 0; bottom: 0;
    padding: 12px;
    z-index: 9998;
}
.xhc-banner-inner{
    max-width: 1000px;
    margin: 0 auto;
    display:flex;
    gap: 12px;
    justify-content: space-between;
    align-items: center;
    padding: 14px;
    border-radius: 12px;
    background: var(--bs-body-bg);
    color: var(--bs-body-color);
}
.xhc-banner-text{
    display:flex;
    flex-direction: column;
    gap: 6px;
}
.xhc-banner-actions{
    display:flex;
    gap: 8px;
    flex-wrap: wrap;
}

/* Modal */
.xhc-modal{
    position: fixed;
    inset: 0;
    z-index: 10000;
    background: rgba(0,0,0,.45);
    display:flex;
    align-items:center;
    justify-content:center;
    padding: 18px;
}
.xhc-modal-content{
    width: 100%;
    max-width: 520px;
    border-radius: 14px;
    background: var(--bs-body-bg);
    color: var(--bs-body-color);
    padding: 16px;
}
.xhc-modal-header{
    display:flex;
    justify-content: space-between;
    align-items:center;
    margin-bottom: 10px;
}
.xhc-close{
    border: 0;
    background: transparent;
    font-size: 22px;
    cursor: pointer;
}
.xhc-row{
    display:flex;
    gap: 10px;
    align-items:center;
    padding: 10px 0;
    border-bottom: 1px solid rgba(0,0,0,.08);
}
.xhc-actions{
    display:flex;
    gap: 8px;
    flex-wrap: wrap;
    margin-top: 14px;
}
.xhc-links{
    margin-top: 12px;
}
.xhc-export{
    display:flex;
    gap: 8px;
    flex-wrap: wrap;
    margin-top: 12px;
}

.xhc-proof{
    margin-top: 12px;
    padding: 10px;
    border-radius: 10px;
    background: rgba(127,127,127,.08);
}
.xhc-proof-row{
    display:flex;
    gap: 8px;
    align-items: baseline;
    margin: 4px 0;
}
.xhc-proof code{
    word-break: break-all;
}

/* Bootstrap-ish outline button fallback */
.btn.btn-outline{
    border: 1px solid rgba(127,127,127,.4);
    background: transparent;
}

/* Bootstrap theme compatibility */
.xhc-modal-content,
.xhc-banner-inner{
    border: 1px solid var(--bs-border-color);
}
.xhc-banner-text a{ color: var(--bs-link-color); }
.xhc-proof code{ word-break: break-all; }
