.pbr-rewards { width: 100%; max-width: 100%; min-width: 0; margin: 1.5rem 0; }
.pbr-summary { display: grid; grid-template-columns: repeat(auto-fit,minmax(170px,1fr)); gap: 1rem; }
.pbr-summary div { border: 1px solid #dcdcde; border-radius: 5px; padding: 1rem; }
.pbr-summary dt { font-size: .9em; }
.pbr-summary dd { font-size: 1.4em; font-weight: 600; margin: .5rem 0 0; }
.pbr-rewards img.pbr-rank-image { float: none; flex: 0 0 auto; width: 64px; max-width: 64px; height: auto; max-height: 64px; object-fit: contain; margin: 0; }
.pbr-brand-image { max-width: 240px; max-height: 100px; object-fit: contain; }
.pbr-rewards img.pbr-points-image { width: 32px; max-width: 32px; height: auto; max-height: 32px; object-fit: contain; margin: 0; }
.pbr-rank-progress { width: 100%; height: 1rem; }
.pbr-test { display: inline-block; font-size: .65em; background: #fff1c2; color: #633d00; padding: .3em .5em; border-radius: 3px; }
.pbr-warning { border-left: 4px solid #b32d2e; padding: .75rem; background: #fff5f5; color: #641919; }
.pbr-form { margin: 1rem 0 1.5rem; }
.pbr-form label { display: inline-block; margin: .3rem .6rem .3rem 0; }
.pbr-table-scroll { overflow-x: auto; }
.pbr-rewards td,.pbr-rewards th { padding: .5rem; text-align: left; }
#pbr-order input { max-width: 100%; }
.pbr-media-grid { display: grid; grid-template-columns: repeat(auto-fit,minmax(240px,1fr)); gap: 1rem; max-width: 1100px; }
.pbr-media-control { min-width: 0; border: 1px solid #c3c4c7; padding: 1rem; }
.pbr-media-control legend { font-weight: 600; padding: 0 .3rem; }
.pbr-media-preview { min-height: 125px; display: flex; align-items: center; justify-content: center; }
.pbr-media-preview img { max-width: 180px; max-height: 125px; height: auto; width: auto; object-fit: contain; }
.pbr-media-status { font-weight: 600; }
.pbr-media-warning:empty { display: none; }
.pbr-media-warning { color: #8a2424; }
.pbr-media-actions { display: flex; flex-wrap: wrap; gap: .4rem; }
.pbr-media-actions .button:focus-visible { outline: 2px solid currentColor; outline-offset: 2px; }
.pbr-welcome { margin: 1rem 0; }
.pbr-welcome img { display: block; max-width: min(100%,280px); height: auto; }
.pbr-welcome button { margin-top: .5rem; }
.pbr-rank-heading,.pbr-points-heading { display: flex; align-items: center; gap: .7rem; margin: 1rem 0; }
.pbr-rank-heading h3 { margin: 0; }
.pbr-rewards .pbr-account-banner { display: block; width: 100%; margin: 0 0 1rem; }
.pbr-rewards .pbr-account-banner img { display: block; width: auto; max-width: 100%; height: auto; max-height: none; object-fit: contain; margin: 0; }
.pbr-admin-header { display: flex; align-items: center; gap: 1rem; margin: 1rem 0; }
.pbr-admin-header img.pbr-admin-artwork { width: 72px; height: auto; max-height: 90px; object-fit: contain; }
.pbr-admin-header h1,.pbr-admin-header p { margin: 0; padding: 0; }
.pbr-environment { border-left: 4px solid #2271b1; padding: .6rem .9rem; background: #f0f6fc; color: #1d2327; }
.pbr-environment-test { border-color: #996800; background: #fff8df; }
.pbr-rank-rules { min-width: 1050px; table-layout: auto; }
.pbr-rank-rules th,.pbr-rank-rules td { padding: .65rem; vertical-align: top; }
.pbr-rank-rules input.pbr-rule-number { width: 12ch; min-width: 12ch; max-width: 100%; box-sizing: border-box; }
.pbr-rank-rules .pbr-qualification { min-width: 230px; max-width: 300px; }
.pbr-choice-list label { display: block; margin-bottom: .5rem; }
.pbr-attention,.pbr-order-workspace,.pbr-faq-editor { margin: 1.5rem 0; padding: 1rem; border: 1px solid #c3c4c7; background: #fff; }
.pbr-faq details { padding: .7rem 0; border-bottom: 1px solid #dcdcde; }
.pbr-faq summary { cursor: pointer; font-weight: 600; }
.pbr-faq-answer { padding-top: .5rem; }
.pbr-faq-row { border: 1px solid #c3c4c7; padding: 1rem; margin: 1rem 0; }
.pbr-faq-row label { display: block; }
.pbr-faq-row input.large-text,.pbr-faq-row textarea { display: block; width: 100%; box-sizing: border-box; }
.pbr-faq-actions { display: flex; flex-wrap: wrap; gap: .4rem; }
.pbr-order-action { margin: 1rem 0; padding-top: .75rem; border-top: 1px solid #dcdcde; }
#pbr-order .pbr-order-action label,.pbr-order-workspace label,.pbr-refund-tools label { display: block; margin: .75rem 0; }
#pbr-order .pbr-order-action input,#pbr-order .pbr-order-action select,.pbr-refund-tools select { display: block; width: 100%; min-width: 0; max-width: 100%; box-sizing: border-box; }
#pbr-order .pbr-order-action .button { white-space: normal; height: auto; max-width: 100%; }
.pbr-order-workspace .pbr-form { max-width: 900px; }
.pbr-order-workspace input[type=text],.pbr-order-workspace textarea { width: 100%; max-width: 700px; box-sizing: border-box; }
.pbr-order-workspace select { display: block; max-width: 100%; margin: .4rem 0; }
.pbr-order-workspace .pbr-line-choice { border-bottom: 1px solid #dcdcde; padding: .4rem 0; }
.pbr-refund-tools { display: block; clear: both; min-width: 0; max-width: 100%; padding: 1rem; box-sizing: border-box; }
.pbr-refund-help-text { display: block; margin: .5rem 0; }
.pbr-refund-tools p { max-width: 75ch; }
.pbr-order-funding table { width: 100%; table-layout: auto; border-collapse: collapse; }
.pbr-order-funding th,.pbr-order-funding td { padding: .5rem; text-align: left; vertical-align: top; overflow-wrap: anywhere; }
.pbr-admin pre { white-space: pre-wrap; overflow-wrap: anywhere; }
@media (min-width: 601px) { .pbr-rewards .pbr-banner-desktop-hidden { display: none; } }
@media (max-width: 600px) {
 .pbr-rewards .pbr-banner-mobile-hidden { display: none; }
 .pbr-summary { grid-template-columns: repeat(auto-fit,minmax(140px,1fr)); }
 .pbr-media-grid { grid-template-columns: minmax(0,1fr); }
 .pbr-admin .form-table input.regular-text { width: 100%; max-width: 100%; }
}
@media print {
 .pbr-rewards img.pbr-rank-image { width: 48px; max-width: 48px; }
 .pbr-rewards img.pbr-points-image { width: 24px; max-width: 24px; }
 .pbr-rewards .pbr-account-banner { max-width: 100%; }
 .pbr-rewards .pbr-welcome-toggle,.pbr-media-actions,.pbr-faq-actions { display: none; }
 .pbr-table-scroll { overflow: visible; }
 .pbr-summary div,.pbr-order-action,.pbr-faq details { break-inside: avoid; }
}

/* Keep membership identity in the title, and spendable points in their own section. */
.pbr-program-header { display:flex; flex-wrap:wrap; align-items:center; gap:.75rem 1.5rem; margin:1.25rem 0 1.75rem; }
.pbr-program-header h2 { flex:0 1 auto; margin:0; min-width:0; overflow-wrap:anywhere; }
.pbr-program-header .pbr-rank-heading { margin:0; gap:.65rem; }
.pbr-program-header .pbr-rank-name { font-weight:600; font-size:1.05em; }
.pbr-rewards .pbr-points-heading { border-top:1px solid #c3c4c7; padding-top:1.25rem; margin-top:1.75rem; }
.pbr-rewards .pbr-account-banner[hidden] { display:none; }
.pbr-rewards .pbr-account-banner img { width:100%; }
.pbr-rewards[data-pbr-theme="dark"] .pbr-summary div { border-color:#6b7280; }
.pbr-rewards .pbr-faq summary:focus-visible { outline:3px solid currentColor; outline-offset:3px; }
@media(max-width:600px) {
 .pbr-program-header { gap:.75rem 1rem; }
 .pbr-program-header h2 { flex-basis:100%; }
 .pbr-program-header .pbr-rank-heading { min-width:0; }
 .pbr-rank-name { overflow-wrap:anywhere; }
}

/* One compact header: member identity and optional Lina share the same row. */
.pbr-program-header { flex-wrap:nowrap; justify-content:space-between; align-items:center; gap:1.25rem; margin:1rem 0; }
.pbr-program-identity { flex:1 1 0; min-width:0; display:flex; align-items:center; flex-wrap:wrap; gap:.75rem 1.25rem; }
.pbr-program-identity h2 { flex-basis:100%; }
.pbr-program-header .pbr-welcome { flex:0 0 160px; width:160px; max-width:28%; margin:0; background:transparent; }
.pbr-program-header .pbr-welcome img { width:100%; max-width:100%; height:auto; object-fit:contain; background:transparent; }
.pbr-rewards .pbr-welcome-toggle { display:block; max-width:100%; margin:.3rem auto 0; padding:.3rem .5rem; border:1px solid currentColor; border-radius:4px; background:transparent; color:inherit; font:inherit; font-size:.75rem; line-height:1.35; cursor:pointer; }
.pbr-rewards .pbr-welcome-toggle[hidden] { display:none; }
.pbr-rewards .pbr-welcome-toggle:focus-visible,.pbr-rewards .pbr-early-access-button:focus-visible { outline:3px solid currentColor; outline-offset:4px; }
.pbr-rewards .pbr-points-heading { margin-top:1rem; padding-top:1rem; }
.pbr-early-access { display:flex; align-items:center; flex-wrap:wrap; gap:.75rem 1rem; margin:1.25rem 0; }
.pbr-rewards a.pbr-early-access-button { display:inline-flex; align-items:center; justify-content:center; min-height:44px; padding:.65rem 1.2rem; box-sizing:border-box; border:2px solid #714624; border-radius:6px; background:#714624; color:#fff; font-weight:600; text-decoration:none; line-height:1.25; }
.pbr-rewards a.pbr-early-access-button:hover { background:#51311a; border-color:#51311a; color:#fff; }
.pbr-early-access span { flex:1 1 220px; font-size:.9em; }
.pbr-rewards[data-pbr-theme="dark"] a.pbr-early-access-button { background:#f2c69c; border-color:#f2c69c; color:#302013; }
.pbr-rewards[data-pbr-theme="dark"] a.pbr-early-access-button:hover { background:#f8d9bd; border-color:#f8d9bd; color:#302013; }
@media(max-width:600px) {
 .pbr-program-header { gap:.75rem; align-items:flex-start; }
 .pbr-program-identity { gap:.65rem; }
 .pbr-program-header .pbr-welcome { flex-basis:88px; width:88px; max-width:28%; }
 .pbr-program-header .pbr-welcome-toggle { font-size:.6875rem; }
 .pbr-program-identity h2 { font-size:1.4rem; }
 .pbr-early-access { align-items:flex-start; }
}

/* Shared customer workspace: readable labels and explicit periods on narrow screens. */
.pbr-customer-picker { display:flex; gap:.75rem; flex-wrap:wrap; align-items:end; margin:1rem 0; }
.pbr-customer-picker label { display:flex; flex-direction:column; gap:.3rem; }
.pbr-customer-picker input[type=search] { width:40ch; max-width:100%; }
.pbr-customer-results li { padding:.5rem 0; overflow-wrap:anywhere; }
.pbr-customer-identity { max-width:70ch; overflow-wrap:anywhere; }
.pbr-customer-identity p { margin:.5rem 0; }
.pbr-customer-identity details { margin-top:.4rem; }
.pbr-copy-id { user-select:all; }
.pbr-expiry-panel,.pbr-benefit-panel { margin:1.25rem 0; padding:1rem; border:1px solid #c3c4c7; background:#fff; }
.pbr-store-clock { display:block; margin:.4rem 0; font-size:.9em; color:#50575e; }
.pbr-fields { display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:.8rem; max-width:950px; margin:1rem 0; }
.pbr-fields label { display:flex; flex-direction:column; gap:.35rem; }
.pbr-fields input,.pbr-fields select { width:100%; box-sizing:border-box; }
.pbr-fields input[name=year] { width:8ch; min-width:8ch; }
.pbr-public-preview { padding:1rem; border-left:4px solid #2271b1; background:#f0f6fc; margin:1rem 0; }
/* Only the rewards endpoint receives a decorative coin. Native text remains its label. */
.woocommerce-MyAccount-navigation-link--rewards a::before { content:"" !important; display:inline-block !important; width:1em !important; height:1em !important; margin-inline-end:.6em; vertical-align:-.12em; background:currentColor !important; -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' fill-rule='evenodd' d='M12 1a11 11 0 1 0 0 22 11 11 0 0 0 0-22zm0 2a9 9 0 1 1 0 18 9 9 0 0 1 0-18zM9 6v12h2v-4h2a4 4 0 0 0 0-8zm2 2h2a2 2 0 0 1 0 4h-2z'/%3E%3C/svg%3E") center/contain no-repeat; mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' fill-rule='evenodd' d='M12 1a11 11 0 1 0 0 22 11 11 0 0 0 0-22zm0 2a9 9 0 1 1 0 18 9 9 0 0 1 0-18zM9 6v12h2v-4h2a4 4 0 0 0 0-8zm2 2h2a2 2 0 0 1 0 4h-2z'/%3E%3C/svg%3E") center/contain no-repeat; }

.pbr-admin { min-width:0; }
.pbr-admin .pbr-table-scroll { max-width:100%; min-width:0; }
.pbr-admin th,.pbr-admin td,.pbr-admin code { overflow-wrap:anywhere; }
.pbr-admin .pbr-customer-picker label { min-width:0; max-width:100%; }
.pbr-admin input,.pbr-admin textarea,.pbr-admin select { max-width:100%; box-sizing:border-box; }

.pbr-admin .pbr-table-scroll > table { min-width:650px; }
.pbr-admin .pbr-table-scroll th,.pbr-admin .pbr-table-scroll td { vertical-align:top; }

/* Replace only Astra's existing rewards decoration; retain its label and selection marker. */
.woocommerce-MyAccount-navigation-link--rewards > a > .ahfb-svg-iconset.ast-inline-flex { display:none !important; }
.pbr-program-header .pbr-welcome-stage { position:relative; aspect-ratio:1; width:100%; }
.pbr-program-header .pbr-welcome-stage img,.pbr-program-header .pbr-welcome-stage video { width:100%; height:100%; object-fit:contain; }
.pbr-program-header .pbr-welcome-stage video { position:absolute; inset:0; }
.pbr-welcome [hidden] { display:none !important; }
.pbr-customer-id-picker { margin:1rem 0; }

.pbr-welcome[hidden] { display:none !important; }

/* Static fallback follows the site theme even when the welcome script is unavailable. */
.pbr-welcome-fallback { display:var(--pbr-welcome-display); --pbr-welcome-poster:var(--pbr-welcome-light); --pbr-welcome-ratio:var(--pbr-welcome-light-ratio); --pbr-welcome-display:var(--pbr-welcome-light-display); }
.pbr-welcome-fallback-image { display:var(--pbr-welcome-display); width:100%; aspect-ratio:var(--pbr-welcome-ratio); background:var(--pbr-welcome-poster) center/contain no-repeat; }
@media (prefers-color-scheme:dark) { .pbr-welcome-fallback { --pbr-welcome-poster:var(--pbr-welcome-dark); --pbr-welcome-ratio:var(--pbr-welcome-dark-ratio); --pbr-welcome-display:var(--pbr-welcome-dark-display); } }
.pbr-welcome-fallback[data-pbr-saved-theme="light"] { --pbr-welcome-poster:var(--pbr-welcome-light); --pbr-welcome-ratio:var(--pbr-welcome-light-ratio); --pbr-welcome-display:var(--pbr-welcome-light-display); }
.pbr-welcome-fallback[data-pbr-saved-theme="dark"],.astra-dark-mode-enable .pbr-welcome-fallback { --pbr-welcome-poster:var(--pbr-welcome-dark); --pbr-welcome-ratio:var(--pbr-welcome-dark-ratio); --pbr-welcome-display:var(--pbr-welcome-dark-display); }

[data-theme="dark"] .pbr-welcome-fallback,[data-color-scheme="dark"] .pbr-welcome-fallback { --pbr-welcome-poster:var(--pbr-welcome-dark); --pbr-welcome-ratio:var(--pbr-welcome-dark-ratio); --pbr-welcome-display:var(--pbr-welcome-dark-display); }
[data-theme="light"] .pbr-welcome-fallback,[data-color-scheme="light"] .pbr-welcome-fallback { --pbr-welcome-poster:var(--pbr-welcome-light); --pbr-welcome-ratio:var(--pbr-welcome-light-ratio); --pbr-welcome-display:var(--pbr-welcome-light-display); }

.pbr-welcome-controls[data-reserve-control] { min-height:2.2rem; }
.pbr-welcome-fallback.pbr-welcome-has-controls { padding-bottom:2.2rem; box-sizing:content-box; }

.pbr-welcome-controls { display:flow-root; }
