/* Local declarations use a separate visual surface from supermarket comparisons. */
body[data-view='merchant'] .promo-bar, body[data-view='localoffers'] .promo-bar { display: none; }
.mc-page, .mc-dialog { --mc-green:#176044; --mc-ink:#23352b; --mc-muted:#637268; --mc-border:#dfe5db; color:var(--mc-ink); font-family:'DM Sans',sans-serif; }
.mc-page { max-width:1120px; margin:0 auto; padding:8px 0 35px; min-width:0; }
.mc-page *, .mc-dialog * { box-sizing:border-box; }
.mc-page [hidden], .mc-dialog [hidden] { display:none!important; }
.mc-page h1,.mc-page h2,.mc-page h3,.mc-page p,.mc-dialog h2,.mc-dialog p { margin:0; overflow-wrap:anywhere; }
.mc-page button,.mc-page input,.mc-page select,.mc-page textarea,.mc-dialog button,.mc-dialog input,.mc-dialog select,.mc-dialog textarea { font:inherit; }
.mc-header { margin-bottom:25px; }
.mc-eyebrow { display:block; font-size:10px; font-weight:700; text-transform:uppercase; letter-spacing:.1em; color:var(--mc-muted); margin-bottom:8px; }
.mc-header h1 { font:500 clamp(31px,4vw,43px)/1.2 'Lora',Georgia,serif; letter-spacing:-.035em; }
.mc-header p { font-size:14px; line-height:1.6; color:var(--mc-muted); margin-top:12px; }
.mc-card { border:1px solid var(--mc-border); background:#fff; border-radius:14px; padding:25px; margin:20px 0; min-width:0; }
.mc-card h2 { font:500 25px/1.3 'Lora',Georgia,serif; letter-spacing:-.025em; margin-bottom:12px; }
.mc-card h3 { font-size:15px; line-height:1.6; font-weight:600; }
.mc-small { font-size:12px; color:var(--mc-muted); line-height:1.7; margin:9px 0!important; }
.mc-btn { display:inline-flex; align-items:center; justify-content:center; min-height:44px; padding:10px 15px; border:1px solid var(--mc-border); border-radius:8px; background:#fff; color:var(--mc-ink); font-size:12px!important; font-weight:600!important; line-height:1.5; cursor:pointer; white-space:normal; }
.mc-btn:hover:not(:disabled) { background:#f0f3ec; }
.mc-btn:disabled { opacity:.5; cursor:not-allowed; }
.mc-primary { background:var(--mc-green); color:white; border-color:var(--mc-green); }
.mc-primary:hover:not(:disabled) { background:#124c36; }
.mc-danger { color:#944735; border-color:#e7d3c9; }
.mc-actions { display:flex; align-items:center; flex-wrap:wrap; gap:9px; margin-top:15px; }
.mc-form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:17px; margin:20px 0; }
.mc-full { grid-column:1/-1; }
.mc-field { min-width:0; margin:12px 0; }
.mc-form-grid .mc-field { margin:0; }
.mc-field label { display:block; margin-bottom:7px; font-size:12px; font-weight:600; line-height:1.5; }
.mc-field input,.mc-field select,.mc-field textarea { display:block; width:100%; min-width:0; max-width:100%; min-height:46px; padding:10px 12px; border:1px solid var(--mc-border); border-radius:8px; background:#fff; color:var(--mc-ink); font-size:13px; }
.mc-field textarea { resize:vertical; min-height:82px; max-height:200px; }
.mc-field [aria-invalid='true'] { border-color:#a0523d; }
.mc-check { display:flex; align-items:flex-start; gap:10px; margin:17px 0; cursor:pointer; font-size:12px; line-height:1.7; }
.mc-check input { width:18px; height:18px; flex-shrink:0; margin-top:2px; accent-color:var(--mc-green); }
.mc-check span { min-width:0; overflow-wrap:anywhere; }
.mc-notice,.mc-error,.mc-disclosure { padding:13px 16px; margin:15px 0!important; border-radius:9px; border:1px solid #d7e6cf; background:#edf5e8; color:#305b30; font-size:12px; line-height:1.7; overflow-wrap:anywhere; }
.mc-error { border-color:#e9d5c8; background:#fcf3ed; color:#944735; }
.mc-disclosure { border-color:var(--mc-border); background:#f0f3ec; color:var(--mc-muted); }
.mc-loading { padding:30px 15px; text-align:center; color:var(--mc-muted); font-size:13px; }
.mc-welcome { padding:35px; text-align:center; background:#f6f7f2; }
.mc-welcome p { max-width:600px; margin:15px auto 20px; font-size:13px; line-height:1.8; color:var(--mc-muted); }
.mc-avatar { width:52px; height:52px; border-radius:12px; display:inline-flex; align-items:center; justify-content:center; flex-shrink:0; font-weight:700; font-size:18px; }
.mc-avatar { position:relative; }
.mc-avatar-icon { position:absolute; right:-3px; bottom:-3px; display:flex; align-items:center; justify-content:center; width:23px; height:23px; border:2px solid white; border-radius:7px; background:inherit; font-size:13px; line-height:1; }
.mc-color-green { background:#e1eddf;color:#265f34; }.mc-color-blue { background:#e2edf7;color:#285a86; }.mc-color-amber { background:#f8edcf;color:#7c5a18; }.mc-color-rose { background:#f6e2e7;color:#8a3c51; }.mc-color-violet { background:#ede4f7;color:#694786; }.mc-color-teal { background:#dfefed;color:#2a6b62; }
.mc-profile-heading { display:flex; gap:15px; align-items:flex-start; }
.mc-profile-heading>div { min-width:0; }
.mc-profile-heading h2 { margin-bottom:5px; }
.mc-status { display:inline-block; font-size:10px; font-weight:600; padding:4px 7px; border:1px solid var(--mc-border); border-radius:5px; color:var(--mc-muted); margin:5px 0; line-height:1.5; }
.mc-profile-status { margin-top:15px!important; font-weight:600; font-size:13px; }
.mc-status-reason { margin:9px 0!important; font-size:12px; line-height:1.7; }
.mc-map-link { color:var(--mc-green); display:inline-flex; align-items:center; min-height:44px; font-size:12px; font-weight:600; text-underline-offset:3px; overflow-wrap:anywhere; }
.mc-point-preview { border:1px solid var(--mc-border); padding:12px 15px; border-radius:8px; background:#f6f7f2; }
.mc-queue-list { display:grid; gap:16px; margin:18px 0; }
.mc-queue-row { border:1px solid var(--mc-border); border-radius:10px; padding:20px; min-width:0; background:#fbfcf9; }
.mc-row-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:15px; }
.mc-row-heading>div { min-width:0; }
.mc-row-heading .mc-small { font-family:monospace; font-size:11px; }
.mc-offer-list { display:grid; gap:15px; }
.mc-own-offer { border-top:1px solid var(--mc-border); padding-top:18px; min-width:0; }
.mc-pagination { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-top:20px; font-size:11px; color:var(--mc-muted); }
.mc-price { font-size:clamp(25px,4vw,32px); line-height:1.35; font-weight:500; font-variant-numeric:tabular-nums; letter-spacing:-.025em; margin:10px 0!important; overflow-wrap:anywhere; }
.mc-review h3 { margin-top:22px; }
.mc-record-list { padding-left:19px; margin:11px 0; font-size:12px; line-height:1.8; color:var(--mc-muted); }
.mc-record-list li { margin-bottom:8px; overflow-wrap:anywhere; }
.mc-public-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; margin-top:22px; }
.mc-public-card { min-width:0; border:1px solid var(--mc-border); border-radius:14px; background:#fff; overflow:hidden; }
.mc-product-placeholder { height:115px; background:#edf2e8; display:flex; align-items:center; justify-content:center; color:#6b7f66; font-size:11px; letter-spacing:.04em; }
.mc-public-body { padding:21px; }
.mc-public-body h2 { font-size:17px; line-height:1.5; font-weight:600; }
.mc-condition { font-size:12px; line-height:1.7; color:var(--mc-ink); }
.mc-public-merchant { display:flex; gap:11px; align-items:center; margin-top:20px; border-top:1px solid var(--mc-border); padding-top:17px; }
.mc-public-merchant>div { min-width:0; }
.mc-public-merchant strong { display:block; font-size:12px; overflow-wrap:anywhere; }
.mc-public-merchant .mc-status { margin-bottom:0; }
.mc-public-merchant .mc-avatar { width:40px;height:40px;font-size:14px;border-radius:9px; }
.mc-public-body>.mc-btn { width:100%; margin-top:14px; }
.mc-dialog { width:min(620px,calc(100vw - 32px)); max-height:calc(100dvh - 48px); margin:auto; padding:0; border:1px solid var(--mc-border); border-radius:16px; background:#fff; box-shadow:0 20px 70px #10251924; overflow:auto; }
.mc-dialog::backdrop { background:#172a2359; }
.mc-dialog-body { padding:25px; }
.mc-dialog-header { display:flex; align-items:center; justify-content:space-between; gap:15px; margin-bottom:20px; }
.mc-dialog-header h2 { font:500 26px/1.3 'Lora',Georgia,serif; letter-spacing:-.025em; }
.mc-dialog .mc-card { padding:0;border:0;margin:0; }
.mc-dialog .mc-card>h2,.mc-dialog .mc-card>.mc-eyebrow { display:none; }
.mc-scan-dialog video { width:100%; min-height:180px; max-height:50dvh; object-fit:contain; background:#16231c; border-radius:8px; margin:18px 0; }
.mc-page :focus-visible,.mc-dialog :focus-visible { outline:3px solid #6a997f; outline-offset:3px; }
@media(max-width:900px) { .mc-public-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:520px) {
 .mc-header { margin-bottom:20px; }.mc-card { padding:21px 17px; }.mc-form-grid,.mc-public-grid { grid-template-columns:minmax(0,1fr); gap:15px; }.mc-field input,.mc-field select,.mc-field textarea { font-size:16px; }.mc-queue-row { padding:17px 12px; }.mc-row-heading { gap:10px; }.mc-actions .mc-btn { flex:1; }.mc-price { font-size:30px; }.mc-public-body { padding:20px; }.mc-welcome { padding:28px 18px; }.mc-dialog { width:100%;max-width:100%;max-height:calc(100dvh - 24px);margin:auto 0 0;border-radius:16px 16px 0 0;border-bottom:0; }.mc-dialog-body { padding:22px 18px max(22px,env(safe-area-inset-bottom)); }.mc-dialog-header h2 { font-size:24px; }.mc-profile-heading { gap:11px; }.mc-avatar { width:43px;height:43px; }.mc-point-preview { padding:12px; }
}
/* The native continuous scanner renders behind the WebView. Keep only its
   own modal visible, and restore both classes whenever the session finishes. */
html.mc-native-camera, body.mc-native-camera { background: transparent !important; }
body.mc-native-camera { visibility: hidden; }
body.mc-native-camera .mc-scan-dialog { visibility: visible; position: fixed; inset: auto 8px max(12px, env(safe-area-inset-bottom)); margin: 0 auto; max-height: 42vh; }
body.mc-native-camera .mc-scan-dialog::backdrop { background: transparent; }
