.bqd-host[hidden], .bqd-banner [hidden] { display: none !important; }
.bqd-banner {
    position: relative; box-sizing: border-box; max-width: 100%;
    margin: var(--bqd-margin,16px) 0; padding: var(--bqd-padding,20px);
    border: var(--bqd-border-width,1px) solid var(--bqd-border,#2563eb);
    border-inline-start: var(--bqd-accent-width,4px) solid var(--bqd-color,#2563eb);
    border-radius: var(--bqd-radius,12px); background: var(--bqd-bg,#eff6ff);
    color: var(--bqd-text,#172033); font-family: var(--bqd-font,inherit);
    font-size: var(--bqd-font-size,15px); font-weight: var(--bqd-weight,400);
    line-height: var(--bqd-line-height,1.6); text-align: var(--bqd-align,start);
    box-shadow: var(--bqd-shadow,none); overflow-wrap: anywhere;
}
.bqd-banner > strong { display: block; padding-inline-end: 24px; color: var(--bqd-title,#172033); font-size: var(--bqd-title-size,18px); font-weight: var(--bqd-title-weight,700); font-family: inherit; line-height: inherit; }
.bqd-banner p { margin: 8px 0; font-size: inherit; font-weight: inherit; line-height: inherit; color: inherit; }
.bqd-banner small { display: block; font-size: var(--bqd-small-size,12px); color: var(--bqd-muted,#172033); line-height: inherit; }
/* Storefront themes often color WooCommerce's nested amount/bdi/currency
   elements directly. Keep that price markup in the chosen savings color. */
.bqd-banner .bqd-savings,
.bqd-banner .bqd-savings .woocommerce-Price-amount.amount,
.bqd-banner .bqd-savings .woocommerce-Price-amount.amount *,
.bqd-banner .bqd-savings .woocommerce-Price-currencySymbol {
    color: var(--bqd-savings,var(--bqd-text,#172033)) !important;
}
.bqd-banner .bqd-eligibility-note { padding: 8px; border: 1px solid currentColor; border-radius: 4px; font-size: var(--bqd-small-size,12px); }
.bqd-banner .bqd-progress { height: var(--bqd-progress-height,10px); overflow: hidden; background: var(--bqd-progress-bg,#cbd5e1); border-radius: 20px; margin: 16px 0 8px; }
.bqd-banner .bqd-progress span { display: block; height: 100%; background: var(--bqd-progress-fill,#2563eb); transition: width .2s; }
.bqd-banner .bqd-milestones { display: flex; flex-wrap: wrap; justify-content: var(--bqd-align,start); gap: 8px 16px; list-style: none !important; margin: 8px 0 !important; padding: 0 !important; font-size: var(--bqd-small-size,12px); }
.bqd-banner .bqd-milestones li { padding: 3px 8px; background: var(--bqd-badge-bg,#fff); color: var(--bqd-badge-text,#172033); border: 1px solid var(--bqd-progress-bg,#cbd5e1); border-radius: 20px; }
.bqd-banner .bqd-milestones .is-unlocked { font-weight: 700; border-color: var(--bqd-color,#2563eb); }
.bqd-banner a.bqd-button { display: inline-block; box-sizing: border-box; max-width: 100%; width: var(--bqd-button-width,auto); padding: var(--bqd-button-py,8px) var(--bqd-button-px,14px); border: 0; border-radius: var(--bqd-button-radius,6px); background: var(--bqd-button-bg,#172033); color: var(--bqd-button-text,#fff) !important; font-size: var(--bqd-button-size,15px); font-family: inherit; line-height: inherit; text-decoration: none; text-align: center; font-weight: 600; }
.bqd-banner a.bqd-button:hover { background: var(--bqd-button-hover-bg,#334155); color: var(--bqd-button-hover-text,#fff) !important; }
.bqd-banner .bqd-dismiss { position: absolute; inset-inline-end: 8px; top: 8px; width: 32px; height: 32px; min-width: 32px; padding: 0; border: 0; background: transparent; color: var(--bqd-text,#172033); font-size: 25px; cursor: pointer; line-height: 1; }
.bqd-banner a:focus-visible, .bqd-banner .bqd-dismiss:focus-visible { outline: 3px solid var(--bqd-text,#172033); outline-offset: 3px; }
.bqd-banner .bqd-suggestions { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; margin-top: 16px; }
.bqd-banner .bqd-suggestion { display: flex; flex-direction: column; gap: 5px; text-decoration: none; color: var(--bqd-text,#172033) !important; font-size: var(--bqd-small-size,12px); }
.bqd-suggestion img { width: 100%; height: auto; aspect-ratio: 1; object-fit: cover; border-radius: 6px; }
.bqd-tiers { width: 100%; margin: 16px 0; border-collapse: collapse; }
.bqd-tiers caption { text-align: start; font-weight: 600; }
.bqd-tiers th, .bqd-tiers td { padding: 9px; border-bottom: 1px solid #ddd; text-align: start; }
.bqd-tiers .is-unlocked { background: #eff6ff; font-weight: bold; }
.bqd-sr { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
@media(max-width:480px) { .bqd-banner .bqd-suggestions { gap: 8px; } }
@media(prefers-reduced-motion:reduce) { .bqd-banner .bqd-progress span { transition: none; } }
