/* Boston Rewards 2.3 — scoped components; no theme or WordPress global overrides. */
.qrpcl-wrap,.qrpcl-modal{--qrpcl-primary:#047633;--qrpcl-dark:#06532d;--qrpcl-text:#17372b;--qrpcl-muted:#60736a;--qrpcl-line:#dce6df;--qrpcl-soft:#edf5ee;--qrpcl-radius:16px;color:var(--qrpcl-text);font:500 14px/1.65 Montserrat,system-ui,sans-serif;box-sizing:border-box}
.qrpcl-wrap *,.qrpcl-modal *{box-sizing:border-box;min-width:0}
.qrpcl-wrap{max-width:1180px;margin:40px auto;padding:0 24px}
.qrpcl-wrap [hidden],.qrpcl-modal [hidden]{display:none!important}
.qrpcl-wrap a{text-decoration:none;color:var(--qrpcl-primary)}
.qrpcl-wrap a:hover{text-decoration:underline;text-underline-offset:4px}
.qrpcl-wrap h2,.qrpcl-wrap h3,.qrpcl-wrap h4,.qrpcl-modal h3{color:var(--qrpcl-text);font-family:inherit;font-weight:600;line-height:1.3;letter-spacing:-.035em;margin:0 0 12px}
.qrpcl-wrap h2{font-size:clamp(24px,3vw,32px)}.qrpcl-wrap h3{font-size:22px}.qrpcl-wrap h4{font-size:18px}
.qrpcl-wrap p{margin:0 0 16px}.qrpcl-wrap strong,.qrpcl-wrap b{font-weight:600}
.qrpcl-wrap :is(a,button,input,select,textarea,summary):focus-visible,.qrpcl-modal :is(a,button):focus-visible{outline:3px solid #699d7f;outline-offset:4px}
.qrpcl-app{padding:28px;background:#f5f7f3;border:1px solid var(--qrpcl-line);border-radius:24px}
.qrpcl-app-header{display:flex;gap:24px;align-items:center;margin-bottom:28px;padding:0 0 24px;border-bottom:1px solid var(--qrpcl-line)}
.qrpcl-app-brand{margin-right:auto}.qrpcl-auth-brand{margin-bottom:28px;text-align:center}.qrpcl-app-brand .qrpcl-auth-brand{margin:0;text-align:left}
.qrpcl-auth-brand img{display:block;max-width:195px;max-height:72px;object-fit:contain;margin:auto}.qrpcl-app-brand img{max-width:155px;max-height:60px;margin:0}
.qrpcl-auth-site-name{font-size:20px;letter-spacing:-.04em;font-weight:600}.qrpcl-app-welcome{font-size:13px;color:var(--qrpcl-muted)}.qrpcl-app-welcome strong{display:block;color:var(--qrpcl-text);font-size:17px}
.qrpcl-app-logout{display:inline-flex;align-items:center;min-height:44px;border:1px solid var(--qrpcl-line);border-radius:8px;padding:8px 16px;font-size:12px;background:white}
.qrpcl-summary-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:16px;margin-bottom:16px}
.qrpcl-summary-card{display:flex;gap:18px;align-items:center;padding:24px;border:1px solid var(--qrpcl-line);border-radius:var(--qrpcl-radius);background:#fff;color:var(--qrpcl-text)!important;text-decoration:none!important}
.qrpcl-summary-card:first-child{background:linear-gradient(120deg,#06532d,#08753e);border-color:transparent;color:white!important}
.qrpcl-summary-card span,.qrpcl-summary-card small{display:block;font-size:12px;line-height:1.5}.qrpcl-summary-card small{color:var(--qrpcl-muted)}.qrpcl-summary-card:first-child small{color:#d5e7dc}
.qrpcl-summary-card strong{display:block;font-size:clamp(27px,3vw,38px);line-height:1.15;letter-spacing:-.06em;margin:8px 0;font-variant-numeric:tabular-nums}
.qrpcl-summary-card:first-child strong{font-size:48px}.qrpcl-summary-icon,.qrpcl-progress-icon{display:grid;place-items:center;width:48px;height:48px;flex:0 0 48px;border-radius:14px;background:var(--qrpcl-soft);color:var(--qrpcl-primary)}
.qrpcl-summary-card:first-child .qrpcl-summary-icon{background:#ffffff1a;color:#fff}
.qrpcl-wrap svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.qrpcl-progress-card{display:flex;gap:18px;align-items:center;padding:20px 24px;border:1px solid var(--qrpcl-line);background:#fff;border-radius:var(--qrpcl-radius);margin-bottom:28px}.qrpcl-progress-main{flex:1}.qrpcl-progress-head{font-size:14px}.qrpcl-progress-count{font-size:11px;color:var(--qrpcl-muted);text-align:right;margin-top:6px}.qrpcl-progress{height:6px;margin-top:12px;background:#e7eee8;border-radius:99px;overflow:hidden}.qrpcl-progress span{display:block;height:100%;background:var(--qrpcl-primary);border-radius:inherit}
.qrpcl-app-nav{display:flex;gap:6px;align-items:center;padding:6px;border:1px solid var(--qrpcl-line);background:#fff;border-radius:12px;margin-bottom:28px;overflow-x:auto;scrollbar-width:thin}
.qrpcl-app-nav-item{display:flex;gap:8px;align-items:center;justify-content:center;flex:1;min-height:46px;padding:8px 12px;border-radius:8px;color:var(--qrpcl-muted)!important;font-size:13px;white-space:nowrap;text-decoration:none!important}.qrpcl-app-nav-item.is-active{background:var(--qrpcl-dark);color:#fff!important}.qrpcl-app-nav-item:hover:not(.is-active){background:var(--qrpcl-soft)}.qrpcl-nav-icon{display:flex}.qrpcl-nav-icon svg{width:18px;height:18px}
.qrpcl-tab-panel{display:none}.qrpcl-tab-panel.is-active{display:block}.qrpcl-app:not(.qrpcl-enhanced) .qrpcl-tab-panel{display:block;margin-bottom:32px}
.qrpcl-home-grid,.qrpcl-profile-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:20px}.qrpcl-card{border:1px solid var(--qrpcl-line);background:white;border-radius:var(--qrpcl-radius);padding:24px;margin-bottom:16px}.qrpcl-home-grid .qrpcl-card,.qrpcl-profile-grid .qrpcl-card{margin-bottom:0}
.qrpcl-home-main{background:#edf3e9}.qrpcl-home-main h3{font-size:30px;max-width:14em}.qrpcl-home-main p{max-width:38em;color:var(--qrpcl-muted)}.qrpcl-section-kicker{font-size:10px;text-transform:uppercase;letter-spacing:.16em;color:var(--qrpcl-primary);margin-bottom:14px}
.qrpcl-quick-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px}.qrpcl-quick-actions a{display:inline-flex;align-items:center;gap:10px;min-height:44px;padding:10px 14px;border:1px solid #c7d7c8;border-radius:8px;background:white;font-size:12px}.qrpcl-quick-actions a:after{content:'↗'}
.qrpcl-card-head,.qrpcl-section-title{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px}.qrpcl-card-head h3{font-size:18px;margin:0}.qrpcl-card-head a{font-size:12px;white-space:nowrap}.qrpcl-section-title h2{margin-bottom:4px}.qrpcl-section-title p{color:var(--qrpcl-muted);font-size:13px;margin:0}
.qrpcl-btn,.qrpcl-btn-outline,.qrpcl-link-button{font:600 12px/1.5 Montserrat,system-ui,sans-serif;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:11px 18px;border-radius:8px;border:1px solid transparent;text-decoration:none!important;transition:background-color .15s}
.qrpcl-btn{background:var(--qrpcl-dark);color:white!important}.qrpcl-btn:hover{background:var(--qrpcl-primary)}.qrpcl-btn-outline{background:white;border-color:var(--qrpcl-line);color:var(--qrpcl-dark)!important}.qrpcl-btn-outline:hover{background:var(--qrpcl-soft)}.qrpcl-btn[disabled],.qrpcl-btn-outline[disabled]{opacity:.55;cursor:not-allowed}.qrpcl-link-button{padding:4px;min-height:36px;background:none;color:var(--qrpcl-primary);text-decoration:underline!important}
.qrpcl-input,.qrpcl-form select,.qrpcl-form textarea{display:block;background:#fff;border:1px solid #bccfc0;border-radius:8px;min-height:48px;padding:11px 13px;width:100%;font:500 14px/1.5 Montserrat,system-ui,sans-serif;color:var(--qrpcl-text)}.qrpcl-form textarea{resize:vertical;min-height:90px}.qrpcl-input::placeholder{color:#7a8980}.qrpcl-form{display:grid;gap:16px}.qrpcl-form label,.qrpcl-label{font-size:12px;color:var(--qrpcl-muted);font-weight:500}.qrpcl-form label .qrpcl-input{margin-top:6px}.qrpcl-value{font-size:15px;overflow-wrap:anywhere}.qrpcl-row{display:grid;gap:20px}.qrpcl-phone-form{grid-template-columns:minmax(0,1fr) auto;margin-top:6px;gap:8px}
.qrpcl-offers-grid,.qrpcl-rewards-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.qrpcl-offer-card,.qrpcl-reward-card,.qrpcl-booking-card{border:1px solid var(--qrpcl-line);border-radius:var(--qrpcl-radius);overflow:hidden;background:white}.qrpcl-offer-image{display:block;height:180px;background:var(--qrpcl-soft)}.qrpcl-offer-image img{width:100%;height:100%;object-fit:cover}.qrpcl-offer-image-placeholder{display:grid;place-items:center;color:var(--qrpcl-primary);font-size:36px}.qrpcl-offer-body,.qrpcl-reward-card{padding:24px}.qrpcl-offer-top,.qrpcl-reward-top{display:flex;align-items:start;justify-content:space-between;gap:12px}.qrpcl-offer-top h4,.qrpcl-reward-top h4{font-size:21px}.qrpcl-offer-price{font-size:22px;font-weight:600;color:var(--qrpcl-primary);margin:12px 0}.qrpcl-offer-copy{color:var(--qrpcl-muted);font-size:13px}.qrpcl-offer-countdown{display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--qrpcl-soft);padding:10px 12px;border-radius:8px;margin:16px 0;font-size:11px}.qrpcl-offer-countdown strong{font-size:13px;font-variant-numeric:tabular-nums}.qrpcl-offer-actions,.qrpcl-modal-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}.qrpcl-offer-actions form{margin:0}.qrpcl-reward-card{border-top:3px solid #5f9274}.qrpcl-reward-cost{font-size:25px;color:var(--qrpcl-primary);margin:16px 0}.qrpcl-note{font-size:12px;color:var(--qrpcl-muted);margin-top:12px}.qrpcl-booking-form{margin-top:16px;padding-top:16px;border-top:1px solid var(--qrpcl-line)}.qrpcl-booking-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}.qrpcl-booking-instructions,.qrpcl-booking-note-view{font-size:12px;background:var(--qrpcl-soft);border-radius:8px;padding:12px;margin:12px 0}
.qrpcl-badge{display:inline-flex;align-items:center;white-space:nowrap;border-radius:99px;padding:5px 9px;font-size:10px;font-weight:600;line-height:1.4;background:#eef1ee;color:#536057}.qrpcl-badge.green{background:#e1f1e5;color:#22653b}.qrpcl-badge.blue{background:#e8eff7;color:#28537a}.qrpcl-badge.orange{background:#fff0d8;color:#805518}.qrpcl-badge.red{background:#fae8e5;color:#973d32}
.qrpcl-booking-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:20px}.qrpcl-booking-summary>div{background:white;border:1px solid var(--qrpcl-line);border-radius:12px;padding:18px}.qrpcl-booking-summary span,.qrpcl-booking-summary small{display:block;font-size:11px;color:var(--qrpcl-muted)}.qrpcl-booking-summary strong{font-size:30px;line-height:1.5}.qrpcl-bookings-list{display:grid;gap:16px}.qrpcl-booking-card{display:grid;grid-template-columns:100px 1fr auto;gap:20px;align-items:center;padding:20px}.qrpcl-booking-thumb,.qrpcl-latest-thumb{display:block;overflow:hidden;border-radius:10px;background:var(--qrpcl-soft);height:80px}.qrpcl-booking-thumb img,.qrpcl-latest-thumb img{width:100%;height:100%;object-fit:cover}.qrpcl-booking-meta{display:flex;flex-wrap:wrap;gap:20px;font-size:13px}.qrpcl-booking-meta small{display:block;color:var(--qrpcl-muted);font-size:10px}.qrpcl-latest-booking{display:flex;align-items:center;gap:16px}.qrpcl-latest-thumb{flex:0 0 85px}.qrpcl-latest-main strong{display:block}.qrpcl-latest-main p{font-size:12px;margin:6px 0}
.qrpcl-activity-list{border:1px solid var(--qrpcl-line);border-radius:var(--qrpcl-radius);background:white;overflow:hidden}.qrpcl-activity-row{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 24px;border-bottom:1px solid var(--qrpcl-line)}.qrpcl-activity-row:last-child{border:0}.qrpcl-activity-row span{display:block;color:var(--qrpcl-muted);font-size:11px;margin-top:4px}.qrpcl-activity-points{font-size:16px;white-space:nowrap;font-weight:600;font-variant-numeric:tabular-nums}.qrpcl-activity-points.is-positive{color:var(--qrpcl-primary)}.qrpcl-activity-points.is-negative{color:#9b5345}
.qrpcl-member-qr{text-align:center}.qrpcl-member-qr-img{display:block;margin:20px auto 0;max-width:200px;width:100%;background:#fff;padding:4px}.qrpcl-member-qr-img svg{display:block;width:100%;height:auto;stroke:none}.qrpcl-token-input{font:11px/1.5 monospace;margin-top:14px}.qrpcl-notices:empty{display:none}.qrpcl-info-card{background:#edf3f8;border-color:#cddde9}.qrpcl-success-card{background:#eaf5ec;border-color:#c1dcc9}.qrpcl-error-card,.qrpcl-banner.error{background:#fcf0ed;border:1px solid #e9c7bf;color:#8e3d2d;padding:18px;border-radius:12px;margin-bottom:16px}.qrpcl-inline-resend{display:inline-block}.qrpcl-banner{padding:16px;margin-bottom:20px}.qrpcl-empty{padding:32px;text-align:center;color:var(--qrpcl-muted)}
.qrpcl-auth-wrap{max-width:1000px;margin:48px auto;background:#f5f7f3;border-radius:24px;padding:40px}.qrpcl-auth-intro{text-align:center;margin-bottom:28px}.qrpcl-auth-intro h2{font-size:36px}.qrpcl-auth-intro p{color:var(--qrpcl-muted)}.qrpcl-auth-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:start}.qrpcl-title{font-size:24px;letter-spacing:-.04em;font-weight:600;margin-bottom:22px}.qrpcl-auth-actions{margin-top:18px;font-size:12px}.qrpcl-auth-copy{color:var(--qrpcl-muted)}.qrpcl-auth-single{max-width:460px;margin:0 auto}.qrpcl-terms{display:flex;gap:10px;align-items:start}.qrpcl-terms input{width:18px;height:18px;flex:0 0 18px;accent-color:var(--qrpcl-primary)}
.qrpcl-modal{position:fixed;inset:0;z-index:100000;display:grid;place-items:center;padding:24px;background:#08291fe0}.qrpcl-modal-card{background:white;width:min(480px,100%);border-radius:24px;padding:32px;max-height:90dvh;overflow:auto;box-shadow:0 24px 80px #001b1633}.qrpcl-code{padding:20px;background:var(--qrpcl-soft);color:var(--qrpcl-dark);border:1px dashed #7ba88b;border-radius:12px;text-align:center;font:600 24px/1.5 monospace;overflow-wrap:anywhere;margin:20px 0}.qrpcl-modal-text{font-size:13px;color:var(--qrpcl-muted)}
.qrpcl-submit-status{display:block;font-size:12px;color:var(--qrpcl-muted);margin:8px 0}.qrpcl-wrap [aria-busy=true] button[type=submit]:after{content:'';display:inline-block;width:14px;height:14px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:qrpcl-spin .8s linear infinite}.qrpcl-demo-note{background:#eef2ed;border:1px dashed #b6c8b8;color:#52634e;border-radius:10px;padding:12px 16px;font-size:12px;margin:0 0 20px}
.qrpcl-standalone-shell{background:#f5f7f3;min-height:100vh;padding:1px 0}.qrpcl-hard-standalone{margin:0}.qrpcl-hard-standalone #wpadminbar{display:none}
@keyframes qrpcl-spin{to{transform:rotate(360deg)}}
@media(max-width:1000px){.qrpcl-summary-grid{grid-template-columns:1fr 1fr}.qrpcl-summary-card:first-child{grid-column:1/-1}.qrpcl-home-grid,.qrpcl-profile-grid{grid-template-columns:1fr}.qrpcl-summary-card:first-child strong{font-size:44px}.qrpcl-app-nav-item{flex:none}.qrpcl-app-nav{justify-content:space-between}.qrpcl-offer-body,.qrpcl-reward-card{padding:20px}}
@media(max-width:640px){.qrpcl-wrap{margin:16px auto;padding:16px}.qrpcl-app{border-radius:16px}.qrpcl-app-header{gap:12px;flex-wrap:wrap;margin-bottom:20px;padding-bottom:16px}.qrpcl-app-welcome{order:3;width:100%;display:flex;align-items:center;gap:6px}.qrpcl-app-welcome strong{font-size:14px}.qrpcl-app-brand img{max-width:132px}.qrpcl-summary-grid{gap:10px}.qrpcl-summary-card{padding:16px;gap:12px;align-items:start;flex-direction:column}.qrpcl-summary-card:first-child{flex-direction:row;align-items:center}.qrpcl-summary-card strong{font-size:27px}.qrpcl-summary-icon{width:36px;height:36px;flex-basis:36px;border-radius:10px}.qrpcl-summary-card small{font-size:10px}.qrpcl-progress-card{padding:16px;gap:12px;margin-bottom:20px}.qrpcl-progress-icon{display:none}.qrpcl-progress-head{font-size:12px}.qrpcl-app-nav{margin-bottom:20px;gap:3px}.qrpcl-app-nav-item{font-size:12px;padding:8px 12px}.qrpcl-offers-grid,.qrpcl-rewards-grid,.qrpcl-auth-grid{grid-template-columns:1fr}.qrpcl-card{padding:20px}.qrpcl-section-title{align-items:start;flex-direction:column}.qrpcl-booking-summary{gap:8px}.qrpcl-booking-summary>div{padding:12px}.qrpcl-booking-summary small{font-size:9px}.qrpcl-booking-card{grid-template-columns:64px 1fr;padding:16px;gap:12px}.qrpcl-booking-thumb{height:64px}.qrpcl-booking-side{grid-column:2}.qrpcl-booking-meta{gap:12px}.qrpcl-booking-fields{grid-template-columns:1fr}.qrpcl-input,.qrpcl-form textarea,.qrpcl-form select{font-size:16px}.qrpcl-activity-row{padding:16px;align-items:start}.qrpcl-auth-wrap{padding:24px 16px}.qrpcl-auth-intro h2{font-size:28px}.qrpcl-modal{padding:12px}.qrpcl-modal-card{padding:24px}.qrpcl-modal-actions>*{flex:1}.qrpcl-home-main h3{font-size:26px}}
@media(prefers-reduced-motion:reduce){.qrpcl-wrap *,.qrpcl-modal *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
.qrpcl-cost{font-size:16px;font-weight:600;color:var(--qrpcl-primary);white-space:nowrap}.qrpcl-smart-tags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:16px}.qrpcl-smart-tags span{font-size:10px;border-radius:99px;padding:4px 8px;color:#416146;background:#edf3e9}.qrpcl-reward-meta{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-top:16px;margin:16px 0;border-top:1px solid var(--qrpcl-line);font-size:11px;color:var(--qrpcl-muted)}.qrpcl-reward-meta strong{color:var(--qrpcl-primary)}.qrpcl-reward-form{margin-top:16px}.qrpcl-empty-state{padding:32px 20px;border:1px dashed #c4d6c7;border-radius:12px;text-align:center;color:var(--qrpcl-muted)}.qrpcl-empty-state.compact{padding:20px}.qrpcl-booking-status{margin-top:16px}

/* Private preview controls are rendered only for authenticated administrators. */
.qrpcl-preview-controls{border:1px solid var(--qrpcl-line);border-left:4px solid var(--qrpcl-primary);border-radius:12px;padding:20px 24px;background:#fff}
.qrpcl-preview-controls>strong{font-size:1rem}.qrpcl-preview-controls>p{font-size:.875rem;margin:8px 0 16px;color:var(--qrpcl-muted)}
.qrpcl-preview-controls nav{display:flex;flex-wrap:wrap;gap:10px}.qrpcl-preview-controls nav a{font-size:.875rem;white-space:normal;text-align:center}
.qrpcl-preview-controls nav a[aria-current=page]{background:var(--qrpcl-primary);border-color:var(--qrpcl-primary);color:#fff!important}
@media(max-width:640px){.qrpcl-preview-controls{padding:16px}.qrpcl-preview-controls nav a{flex:1 1 180px}}

/* Active preview labels must override outlined-button colours, including hover/focus. */
.qrpcl-preview-controls nav[aria-label="Preview screens"] a[aria-current="page"],.qrpcl-admin nav[aria-label="Preview screens"] a[aria-current="page"]{background:#047633;border-color:#047633;color:#fff!important}

/* One authentication form at a time, including within the full-width theme shell. */
.qrpcl-wrap.qrpcl-auth-wrap.qrpcl-auth-flow{width:100%;max-width:560px;padding:28px;background:#f5f7f3}
.qrpcl-auth-flow .qrpcl-auth-single{max-width:none}.qrpcl-auth-flow .qrpcl-title{font-size:28px;margin-bottom:18px}
.qrpcl-auth-flow .qrpcl-auth-copy{font-size:14px}.qrpcl-auth-flow .qrpcl-form>.qrpcl-btn{width:100%;font-size:14px}
.qrpcl-auth-flow .qrpcl-auth-actions{font-size:14px;text-align:right}
.qrpcl-auth-flow .qrpcl-auth-switch{border-top:1px solid var(--qrpcl-line);margin:24px 0 0;padding-top:20px;text-align:center;font-size:14px;color:var(--qrpcl-muted)}
.qrpcl-auth-flow .qrpcl-auth-switch a{display:inline-block;font-weight:600;text-decoration:underline;text-underline-offset:3px}
@media(max-width:640px){.qrpcl-wrap.qrpcl-auth-wrap.qrpcl-auth-flow{padding:12px}.qrpcl-auth-flow .qrpcl-card{padding:22px 18px}.qrpcl-auth-flow .qrpcl-auth-switch a{padding-block:8px}}
