.tr-entitlement-banner{
    position: relative;
    z-index: 9999;
    background: #111;
    color: #fff;
}

.tr-entitlement-banner__inner{
    max-width: 100%;
    margin: 0 auto;
    padding: 5px 14px;
    display: flex;
    gap: 50px;
    align-items: center;
    justify-content: center;
    background-color: white;
}
@media (max-width: 768px) {
    .tr-entitlement-banner__inner{
        gap: 10px;
    }

}

.tr-entitlement-banner__text{
    font-size: 18px;
    line-height: 1.3;
    color: black;
}
.tr-checkmark{
    color: #28a745; /* green */
    display: inline-flex;
    align-items: center;
    margin-right: 6px;
    font-size: 28px;
}
.tr-entitlement-banner__btn{
    background: #fff;
    color: #000;
    padding: 5px 10px;
    border-radius: 6px;
    text-decoration: none;
    font-weight: 600;
    font-size: 14px;
    white-space: nowrap;
}

.tr-entitlement-banner__btn:hover{
    opacity: 0.9;
    color: #000;
}

@media (max-width: 600px){
    .tr-entitlement-banner__inner{
        flex-direction: column;
        align-items: flex-start;
    }

    .tr-entitlement-banner__btn{
        width: 100%;
        text-align: center;
    }
}
/* Keep the banner pinned above everything */
.tr-entitlement-banner{
    position: sticky;
    top: 0;
    left: 0;
    right: 0;
    z-index: 999999; /* outrank theme header animations */
}

/* Prevent header from sliding/fading over the banner */
body.tr-has-entitlement header,
body.tr-has-entitlement .site-header,
body.tr-has-entitlement #header-outer,
body.tr-has-entitlement #top,
body.tr-has-entitlement .main-header{
    position: relative;
    z-index: 1;
}

/* If the theme uses a fixed/absolute header, push it down */
body.tr-has-entitlement header[style*="position: fixed"],
body.tr-has-entitlement .site-header[style*="position: fixed"],
body.tr-has-entitlement #header-outer,
body.tr-has-entitlement .sticky-header,
body.tr-has-entitlement .is-sticky{
    top: var(--tr-banner-height, 52px);
}

#tr_signature_canvas {
    background-color: #ffffff !important;
}
/* Terms gate error message */
#tr_terms_error {
    background: #ffffff;
    padding: 10px;
    border-radius: 8px;
    color: #b00020; /* keep error red text */
    margin-top: 15px;
}
/* Terms gate buttons */
#tr_sig_submit,
#tr_sig_clear {
    background-color: #0066cc;
    color: #ffffff;
    padding: 10px 20px;
    border-radius: 6px;
    border: none;
    cursor: pointer;
}

/* Optional hover */
#tr_sig_submit:hover,
#tr_sig_clear:hover {
    background-color: #005bb5;
}

#tr_terms_date {
    background-color: #000 !important;
    color: #fff !important;
}

/* Terms + Intake form inputs: white background, black text */
.tr-terms-gate input[type="text"],
.tr-terms-gate input[type="email"],
.tr-terms-gate input[type="number"],
.tr-terms-gate textarea {
    background-color: #ffffff !important;
    color: #000000 !important;
    border: 1px solid #ccc;
    border-radius: 6px;
    padding: 10px 12px;
    box-shadow: none;
}

/* Ensure placeholder text is readable */
.tr-terms-gate ::placeholder {
    color: #666666;
}

/* Readonly fields (date) should still look white */
.tr-terms-gate input[readonly] {
    background-color: #ffffff !important;
    color: #000000 !important;
    cursor: default;
}

/* Improve textarea resizing behavior */
.tr-terms-gate textarea {
    resize: vertical;
    min-height: 90px;
}
/* Add vertical space ABOVE each label/question */
.tr-terms-gate label,
.tr-terms-gate .tr-field > label {
    display: block;
    margin-top: 22px;
    margin-bottom: 8px;
}

/* First label in the form should not have extra top spacing */
.tr-terms-gate .tr-field:first-child > label {
    margin-top: 0;
}
/* Space above question labels ONLY */
.tr-terms-gate .tr-field > label {
    display: block;
    margin-top: 22px;
    margin-bottom: 8px;
}

/* Do NOT add spacing to checkbox / radio option labels */
.tr-terms-gate label input[type="checkbox"],
.tr-terms-gate label input[type="radio"] {
    margin-top: 0;
}

/* Ensure option rows stay tight */
.tr-terms-gate .tr-checkboxes label,
.tr-terms-gate label:has(input[type="checkbox"]),
.tr-terms-gate label:has(input[type="radio"]) {
    margin-top: 0 !important;
    margin-bottom: 6px;
}

/* First field should not get extra top spacing */
.tr-terms-gate .tr-field:first-child > label {
    margin-top: 0;
}



