/* 420Pass, one badge everywhere it is a label (31 Oct 2026; CARD_ADDENDUM1_TOP_ACTIONS_2026-10-31_v2.md item 2): a solid
   lime pill with dark-green bold text and the ticket, apart from the teal brand colour and the yellow Sponsored label.
   Text on fill 9.4:1 (WCAG AA needs 4.5:1). Defined here once; the map page, the checkout, the door page and My Passes load it. */
:root{--pass-fill:#B8F23A;--pass-ink:#0B3B2E;--pass-soft:#F3FCDF;--pass-line:#9BD62A}
.pass-badge{display:inline-flex;align-items:center;gap:5px;flex:none;width:auto;min-height:24px;margin:0;padding:3px 11px 3px 8px;border:0;border-radius:999px;background:var(--pass-fill);color:var(--pass-ink);font-size:12px;font-weight:800;line-height:1.2;letter-spacing:.01em;white-space:nowrap;text-transform:none;vertical-align:middle;box-shadow:none}
.pass-badge svg{width:15px;height:15px;flex:none;color:var(--pass-ink);stroke:currentColor;opacity:1}
.pass-badge>span{color:var(--pass-ink)}
.pass-badge.small{min-height:20px;padding:2px 9px 2px 6px;font-size:11px;gap:4px}
.pass-badge.small svg{width:13px;height:13px}
.pass-badge.large{min-height:30px;padding:5px 14px 5px 10px;font-size:14px}
.pass-badge.large svg{width:17px;height:17px}
.pass-badge[hidden]{display:none}

/* The club panel: the 420Pass block right under open/closed - the badge, its status, and Buy 420Pass inside it */
.detail-content .pass-block{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 12px;margin:10px 0;padding:12px;border:2px solid var(--pass-line);border-radius:18px;background:var(--pass-soft)}
.detail-content .pass-block-head{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;min-width:0}
.detail-content .pass-block-status{color:var(--pass-ink);font-size:12px;font-weight:500;line-height:1.4}
.detail-content .pass-block .pass-buy{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:42px;margin:0;padding:10px 18px;border:0;border-radius:999px;background:var(--green-dark,#0b5f52);color:#fff;font-size:13px;font-weight:800;cursor:pointer}
.detail-content .pass-block .pass-buy svg{width:16px;height:16px}
@media(max-width:780px){.detail-content .pass-block .pass-buy{width:100%}}

/* The Message pill: disabled while 420maps messaging is not connected to the club */
.detail-content .social-chip.message-chip{font:inherit;font-size:11px;font-weight:800;cursor:not-allowed;color:var(--muted,#68716c);background:#f4f6f4}
.detail-content .social-chip.message-chip svg{width:15px;height:15px;opacity:.8}

/* The list card: the badge is first in its row by the page's own order (no CSS order here, so what is read is what is seen);
   the search suggestions and the sponsored slots */
.suggestion-list button .pass-badge{margin-left:auto}
.directory-ad .pass-badge,.map-ad-copy .pass-badge{margin:4px 0 2px}
/* The 420Pass modals (not on sale, a pass, its receipt): the badge above the title, where the hidden eyebrow was */
.modal-head .pass-badge{margin:0 0 6px}

/* The map pin: the 420Pass marker on a pin in the same accent, so 420Pass clubs stand out on the map */
.marker-status{background:var(--pass-fill)!important;color:var(--pass-ink)!important;border-color:#fff}
.marker-status svg{color:var(--pass-ink)}

/* The photo gallery's previous / next: a dark chevron on a white round button (they were white arrows on white) */
.gallery-controls .gallery-step{display:inline-grid;place-items:center;width:44px;height:44px;padding:0;border:0;border-radius:50%;background:#fff;color:#111;cursor:pointer}
.gallery-controls .gallery-step svg{width:22px;height:22px;color:#111;stroke:#111}

/* The photo upload's own line: its progress, what was added and what was not */
#uploadStatus{font-size:13px;line-height:1.45;overflow-wrap:anywhere}
#uploadStatus.upload-done{color:var(--green-dark,#0b5f52);font-weight:700}
#uploadStatus.upload-failed{color:#924326;font-weight:700}
