/* Native country controls keep keyboard and mobile selection familiar. */
.bp-country-control { position:relative; min-width:0; width:100%; }
.bp-country-control > img { position:absolute; top:50%; left:12px; transform:translateY(-50%); width:28px; height:21px; object-fit:contain; border-radius:2px; pointer-events:none; }
.bp-country-control select { padding-left:50px !important; }
.bp-location-state[hidden] { display:none !important; }
.bp-region .bp-country-flag { display:block; width:24px; height:18px; flex:0 0 24px; object-fit:contain; border-radius:2px; }
.bp-region-popover { width:300px; max-width:calc(100vw - 32px); }
.bp-header-location { display:flex; flex-direction:column; gap:12px; margin-top:12px; }
.bp-header-location .bp-location-field { display:flex; flex-direction:column; gap:6px; min-width:0; }
.bp-header-location label { font:13px/1.4 Arial,Helvetica,sans-serif; color:#e3ebef; }
.bp-header-location select { width:100%; min-height:44px; padding:10px 30px 10px 12px; border:1px solid #788b98; border-radius:6px; background:#061925; color:#f7ede0; font:16px/1.4 Arial,Helvetica,sans-serif; color-scheme:dark; }
.bp-header-location .bp-gold-button { min-height:44px; justify-content:center; padding:10px 16px; border-radius:6px; font:600 14px/1.4 Arial,Helvetica,sans-serif; }
.bp-location-field select:focus-visible,.bp-country-control select:focus-visible { outline:3px solid #f1d69f; outline-offset:3px; }
@media(max-width:380px) {
 .bp-region summary { min-width:64px; gap:5px; }
 .bp-region .bp-country-flag { width:20px; height:15px; flex-basis:20px; }
}
.header-inner .brand { min-width:0; }
.header-inner .custom-logo { max-width:100%; }


/* Shared availability metadata on bonus cards and reviews. */
.bp-offer-availability { display:grid; grid-template-columns:minmax(0,1fr) max-content; align-items:center; gap:8px 16px; }
.bp-offer-availability-text { display:block; min-width:0; }
.bp-offer-state-exclusions abbr { text-decoration:none; }
.bp-offer-updated { white-space:nowrap; }
.bp-offer-country { display:inline-flex; flex-shrink:0; align-items:center; justify-content:flex-end; gap:7px; min-width:0; margin-left:auto; text-align:right; }
.bp-offer-availability img { display:block; width:20px; height:14px; object-fit:contain; border-radius:2px; flex-shrink:0; }
.bp-offer-availability strong { font-weight:600; flex-shrink:0; }
.bp-home-offer-card .bp-offer-availability[data-bp-availability="excluded"] strong { color:#813520; }
/* Stack by actual card width, including split windows and browser zoom. */
@container(max-width:640px) {
 .bp-offer-availability { grid-template-columns:minmax(0,1fr); }
 .bp-offer-country { width:100%; margin-left:0; justify-content:space-between; text-align:left; }
 .bp-offer-updated { white-space:normal; }
}
@media(max-width:600px) {
 .bp-offer-availability { grid-template-columns:minmax(0,1fr); }
 .bp-offer-country { width:100%; margin-left:0; justify-content:space-between; text-align:left; }
 .bp-offer-updated { white-space:normal; }
}

.bp-offer-country > img { margin-left:auto; }
