/* BB Academy consent UI. All selectors are scoped; no remote fonts or assets. */
.bbat-consent,
.bbat-consent-open { font-family: Poppins, Arial, sans-serif; color: #252522; }
.bbat-consent *, .bbat-consent-open { box-sizing: border-box; }
.bbat-consent[hidden], .bbat-consent [hidden], .bbat-consent-open[hidden] { display: none !important; }
.bbat-consent {
    position: fixed; z-index: 99990; right: 24px; bottom: 24px;
    width: 440px; max-width: calc(100vw - 48px); max-height: calc(100dvh - 80px);
    overflow-y: auto; overscroll-behavior: contain;
    padding: 23px 28px 24px; border: 1px solid #c3bda6; border-top: 3px solid #b6ae95;
    border-radius: 3px; background: #fdfcf9;
    box-shadow: 0 8px 40px rgb(39 36 25 / 12%);
    text-align: left; line-height: 1.6; font-size: 13px;
}
.bbat-consent__top { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 13px; }
.bbat-consent__brand { font-size: 10px; font-weight: 600; letter-spacing: 1.7px; }
.bbat-consent__brand span { margin: 0 7px; color: #887d60; }
.bbat-consent .bbat-consent__close {
    display: grid; place-items: center; flex-shrink: 0; width: 40px; height: 40px;
    margin: -10px -13px -10px 0; padding: 0; border: 0; border-radius: 0;
    background: transparent; color: #45453f; cursor: pointer; box-shadow: none;
}
.bbat-consent #bbat-consent-title {
    margin: 0 0 15px; font-family: Georgia, 'Times New Roman', serif;
    font-size: 33px; font-weight: 400; line-height: 1.13; letter-spacing: -.6px;
    color: #282824; text-transform: none;
}
.bbat-consent p.bbat-consent__intro { margin: 0 0 22px; color: #565650; font-size: 13px; line-height: 1.75; text-align: left; }
.bbat-consent__actions { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; }
.bbat-consent .bbat-consent__button {
    min-height: 46px; padding: 10px 9px; margin: 0; border: 1px solid #a59c80;
    border-radius: 2px; font: 500 11px/1.5 Poppins, Arial, sans-serif; letter-spacing: .15px;
    text-transform: none; color: #292923; background: #fdfcf9; cursor: pointer; box-shadow: none;
    transition: background-color 150ms ease, transform 120ms cubic-bezier(.23,1,.32,1);
}
.bbat-consent .bbat-consent__button--accept { background: #c7c0aa; border-color: #a59c80; }
.bbat-consent .bbat-consent__button--save { width: 100%; background: #292923; color: #fff; border-color: #292923; }
.bbat-consent__footer { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 10px; margin-top: 15px; }
.bbat-consent .bbat-consent__text-button, .bbat-consent__footer a {
    display: inline-flex; align-items: center; min-height: 34px; padding: 0;
    font: 400 11px/1.5 Poppins, Arial, sans-serif; text-transform: none; letter-spacing: 0;
    color: #535247; background: transparent; border: none; border-radius: 0; cursor: pointer;
    text-decoration: underline; text-underline-offset: 4px; box-shadow: none;
}
.bbat-consent__options { padding: 0 0 20px; }
.bbat-consent__option { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 17px 0; border-top: 1px solid #e3dfd3; }
.bbat-consent__option > div { flex: 1; }
.bbat-consent__option h3, .bbat-consent__option label { display: block; margin: 0 0 4px; font: 500 12px/1.5 Poppins, Arial, sans-serif; color: #252522; text-transform: none; }
.bbat-consent__option label { cursor: pointer; }
.bbat-consent__option p { margin: 0; font: 400 11px/1.65 Poppins, Arial, sans-serif; color: #65645e; }
.bbat-consent__required { flex: 0 0 70px; text-align: right; font-size: 10px; line-height: 1.4; color: #5e594a; }
.bbat-consent input[role="switch"] {
    appearance: none; -webkit-appearance: none; position: relative; display: block;
    flex: 0 0 44px; width: 44px; height: 26px; margin: 0; padding: 0;
    border: 1px solid #a6a49a; border-radius: 20px; background: #e7e4dc; cursor: pointer;
}
.bbat-consent input[role="switch"]::before { content: ''; position: absolute; top: 3px; left: 3px; width: 18px; height: 18px; border-radius: 50%; background: #fff; box-shadow: 0 1px 3px rgb(0 0 0 / 20%); }
.bbat-consent input[role="switch"]:checked { background: #655d47; border-color: #655d47; }
.bbat-consent input[role="switch"]:checked::before { transform: translateX(18px); }
.bbat-consent button:focus-visible, .bbat-consent a:focus-visible, .bbat-consent input:focus-visible, .bbat-consent-open:focus-visible { outline: 2px solid #655d47; outline-offset: 4px; }
.bbat-consent #bbat-consent-title:focus { outline: none; }
.bbat-consent button:active, .bbat-consent-open:active { transform: scale(.98); }
.bbat-consent-open {
    position: fixed; z-index: 99989; right: 24px; bottom: 20px; display: inline-flex;
    align-items: center; justify-content: center; gap: 7px; min-height: 44px;
    padding: 10px 14px; margin: 0; border: 1px solid #b9b29b; border-radius: 3px;
    background: #fdfcf9; color: #454238; box-shadow: 0 3px 14px rgb(39 36 25 / 10%);
    font-size: 11px; line-height: 1.5; text-transform: none; letter-spacing: .2px; cursor: pointer;
}
.bbat-consent-sr { 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; }
@media (hover: hover) and (pointer: fine) {
    .bbat-consent .bbat-consent__button:hover { background: #e8e3d6; color: #292923; }
    .bbat-consent .bbat-consent__button--save:hover { background: #444136; color: #fff; }
    .bbat-consent .bbat-consent__close:hover, .bbat-consent-open:hover { background: #eeeade; color: #292923; }
    .bbat-consent .bbat-consent__text-button:hover, .bbat-consent__footer a:hover { color: #252522; background: transparent; }
}
@media (max-width: 520px) {
    .bbat-consent { right: 12px; bottom: max(12px, env(safe-area-inset-bottom)); width: auto; left: 12px; max-width: none; padding: 20px; max-height: calc(100dvh - 36px); }
    .bbat-consent #bbat-consent-title { font-size: 29px; }
    .bbat-consent-open { right: 12px; bottom: max(12px, env(safe-area-inset-bottom)); }
}
@media (prefers-reduced-motion: reduce) { .bbat-consent button { transition: none; } .bbat-consent button:active, .bbat-consent-open:active { transform: none; } }

/* Explicit overrides for the active Elementor kit's global label/input styles. */
#bbat-consent-panel .bbat-consent__option h3,
#bbat-consent-panel .bbat-consent__option label {
    color: #252522 !important; -webkit-text-fill-color: #252522 !important;
    font: 500 12px/1.5 Poppins, Arial, sans-serif !important;
    text-transform: none !important; letter-spacing: 0 !important;
    background: transparent !important; opacity: 1 !important;
}
#bbat-consent-panel input[role="switch"] {
    appearance: none !important; -webkit-appearance: none !important;
    display: block !important; position: relative !important;
    flex: 0 0 44px !important; width: 44px !important; min-width: 44px !important;
    max-width: 44px !important; height: 26px !important; min-height: 26px !important;
    padding: 0 !important; margin: 0 !important;
    border: 1px solid #8b897f !important; border-radius: 20px !important;
    background: #dedbd2 !important; opacity: 1 !important; box-shadow: none !important;
}
#bbat-consent-panel input[role="switch"]:checked { background: #655d47 !important; border-color: #655d47 !important; }
#bbat-consent-panel input[role="switch"]::before {
    content: '' !important; display: block !important; position: absolute !important;
    top: 3px !important; left: 3px !important; width: 18px !important; height: 18px !important;
    background: #fff !important; border: 0 !important; border-radius: 50% !important;
    transform: none !important; opacity: 1 !important;
}
#bbat-consent-panel input[role="switch"]:checked::before { transform: translateX(18px) !important; }
#bbat-consent-panel input[role="switch"]::after { content: none !important; }
#bbat-consent-panel input[role="switch"]:focus-visible { outline: 2px solid #655d47 !important; outline-offset: 4px !important; }
@media (max-width: 520px) { .admin-bar #bbat-consent-panel { max-height: calc(100dvh - 90px); } }

button#bbat-consent-open {
    width: 40px !important; min-width: 40px !important; max-width: 40px !important;
    height: 40px !important; min-height: 40px !important;
    padding: 9px !important; border-radius: 50% !important; gap: 0 !important;
    background: #fdfcf9 !important; color: #454238 !important;
    border: 1px solid #b9b29b !important; line-height: 1 !important;
}
button#bbat-consent-open svg { display: block; flex-shrink: 0; width: 20px; height: 20px; }
