/* Audience intent is distinct from the vendor booking CTA. */
/* Native focus/anchor scrolling must settle before a control is pressed. Explicit
   smooth scrolls to the booking map remain unchanged. */
html.bazaar-page { scroll-behavior: auto; }
.bze { color: var(--ink, #0e1218); min-width: 0; }
.bze-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; max-width: 480px; }
.bze-button, .bze-share { display: inline-flex; align-items: center; justify-content: center; gap: 7px; min-height: 44px; padding: 9px 13px; border: 1px solid var(--border, #e8e6df); border-radius: 12px; background: var(--surface, #fff); color: var(--ink2, #424955); font: 700 13px/1.4 var(--font-body, inherit); cursor: pointer; transition: background-color 160ms, color 160ms, border-color 160ms, transform 160ms; }
.bze-button svg, .bze-share svg { width: 19px; height: 19px; flex: 0 0 19px; }
.bze-button:hover:not(:disabled), .bze-share:hover { background: var(--surface2, #fafaf7); border-color: var(--orange, #f36418); }
.bze-button:active:not(:disabled), .bze-share:active { transform: scale(.97); }
.bze-button:focus-visible, .bze-share:focus-visible, .bze-message a:focus-visible, .bze-message button:focus-visible { outline: 3px solid rgba(243,100,24,.4); outline-offset: 3px; }
.bze-button[aria-pressed="true"].bze-button--interested { color: #a73616; background: #fff0e9; border-color: #edc1ac; }
.bze-button[aria-pressed="true"].bze-button--going { color: #146c43; background: #ecf9f1; border-color: #a8d9ba; }
.bze-button[aria-pressed="true"] .bze-heart { fill: currentColor; }
.bze-calendar-check { visibility: hidden; }
.bze-button[aria-pressed="true"] .bze-calendar-check { visibility: visible; }
.bze-button:disabled { cursor: default; opacity: .58; }
.bze-button[aria-busy="true"] { opacity: .75; }
.bze-button[aria-busy="true"] svg { animation: bze-busy 800ms ease-in-out infinite alternate; }
.bze-card { margin-block: 6px 3px; }
.bze-card .bze-button { flex: 1 1 auto; padding-inline: 9px; font-size: 12px; }
.bze-card .bze-message { font-size: 11px; }
.bze-detail { padding-block: 0 16px; margin-block: 0 24px; border-bottom: 1px solid var(--border, #e8e6df); }
.bze-detail .bze-actions { max-width: none; gap: 12px; }
.bze-detail .bze-button { min-height: 56px; font-size: 15px; font-weight: 800; border-width: 1.5px; }
.bze-detail .bze-button svg { width: 22px; height: 22px; flex-basis: 22px; }
.bze-invite { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-top: 14px; }
.bze-invite p { margin: 0; color: var(--ink2, #424955); font-size: 13px; line-height: 1.8; }
.bze-share { color: var(--orange-700, #b33f05); background: #fff4ec; border-color: #edc5b2; flex-shrink: 0; }
.bze-stats { padding-block: 22px 8px; border-top: 1px solid var(--border, #e8e6df); margin-top: 8px; }
.bze-stats h2 { margin: 0 0 18px; font: 800 18px/1.5 var(--font-display, inherit); }
.bze-counts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; max-width: 560px; }
.bze-counts > div { display: grid; grid-template-columns: 20px minmax(0, 1fr); align-items: center; column-gap: 10px; row-gap: 3px; }
.bze-counts svg { width: 20px; height: 20px; color: var(--ink2, #424955); }
.bze-counts strong { font: 800 26px/1.3 var(--font-display, inherit); font-variant-numeric: tabular-nums; min-width: 1ch; }
.bze-counts span { grid-column: 2; color: var(--ink2, #424955); font-size: 13px; }
.bze-detail .bze-button { min-width: 0; }
.bze-note { margin: 12px 0 0; color: var(--ink2, #424955); font-size: 12px; line-height: 1.7; }
.bze-message { margin: 8px 0 0; color: var(--ink2, #424955); font-size: 12px; line-height: 1.7; }
.bze-message[hidden] { display: none; }
.bze-detail .bze-message { min-height: 3.4em; }
.bze-detail .bze-message[hidden] { display: block; visibility: hidden; }
.bze-card .bze-message--quiet { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.bze-message a, .bze-message button { color: var(--orange-700, #b33f05); text-decoration: underline; text-underline-offset: 3px; font: inherit; font-weight: 700; }
.bze-message button { background: none; border: 0; padding: 5px 8px; min-height: 44px; cursor: pointer; }
.bze-celebrate svg { animation: bze-pop 320ms cubic-bezier(.2,.8,.2,1); }
/* Reuse the existing share control with a visible label and a touch-sized target. */
.bz-card .share-btn-inline { width: auto; min-width: 44px; height: 44px; padding-inline: 10px; gap: 6px; border-radius: 12px; font: 700 12px var(--font-body, inherit); }
.bz-card .share-btn-inline svg { width: 16px; height: 16px; }
/* The amount, unit and availability form one readable price panel. */
.bz-price-panel { position: relative; isolation: isolate; overflow: hidden; min-width: 0; padding: 12px 15px; border: 1px solid #edc5b2; border-inline-start: 3px solid #c4481c; border-radius: 14px; background: #fff4ec; color: #a73616; text-align: start; }
.bz-price-label { display: block; margin-bottom: 4px; font: 800 12px/1.5 var(--font-body, inherit); color: #8d411e; }
.bz-price-panel .bz-price-tag, .bz-price-panel .bzd-price { display: flex; align-items: baseline; justify-content: flex-start; flex-wrap: wrap; gap: 6px; color: #b33f05; line-height: 1.25; }
.bz-price-panel strong { font-family: var(--font-display); font-size: 30px; font-weight: 900; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; animation: bz-price-reveal 480ms ease-out both; }
.bz-price-panel .bz-price-currency { font-size: 15px; font-weight: 800; color: #b33f05; }
.bz-price-panel .bzd-price-unit { font-size: 13px; font-weight: 700; color: #8d411e; margin: 0; }
.bz-price-panel .bz-slots-tag { display: flex; align-items: center; gap: 6px; margin-top: 8px; font: 700 13px/1.5 var(--font-body, inherit); color: #146c43; }
.bz-price-panel .bz-slots-tag.sold-out { color: #626773; }
.bz-price-lock { width: 100%; }
.bz-price-panel .bz-price-lock a { font-size: 14px; font-weight: 800; }
.bz-fbar-price-group[hidden] { display: none; }
.bz-availability-dot { width: 7px; height: 7px; flex: 0 0 7px; border-radius: 50%; background: currentColor; }
.bz-price-panel::after { content: ''; position: absolute; z-index: -1; inset-block: 0; inset-inline-start: 0; width: 45%; pointer-events: none; background: linear-gradient(100deg, transparent, rgba(255,255,255,.8), transparent); transform: translateX(-240%); animation: bz-price-sweep 6s ease-in-out 2; }
.bz-card { display: grid; grid-template-columns: minmax(150px, 32%) minmax(0, 1fr); grid-template-rows: minmax(0, 1fr) auto; min-height: 0; }
.bz-card .bz-card-img { width: 100%; min-width: 0; min-height: 200px; height: auto; }
.bz-card .bz-card-content { padding: 13px 14px; gap: 5px; }
.bz-card .bz-card-name { white-space: normal; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; font-size: 16px; line-height: 1.45; padding-block: 0; }
.bz-card .bz-card-datetime { gap: 3px 10px; line-height: 1.6; }
.bz-card .bz-card-desc { flex: 0 1 auto; line-height: 1.55; }
.bz-card .bz-card-organizer { margin-top: auto; padding: 7px 0 0; gap: 7px; background: transparent; border-radius: 0; border-top: 1px solid var(--border, #e8e6df); }
.bz-card .bz-org-avatar { width: 26px; height: 26px; font-size: 12px; }
.bz-card .bz-verified-org-bar, .bz-card .bz-managed-bar { top: 0; inset-inline: 0; }
.bz-card .bz-card-footer { grid-column: 1 / -1; display: grid; grid-template-columns: minmax(0, 1fr) minmax(170px, .8fr); align-items: center; gap: 10px 12px; margin: 0; padding: 11px 14px; }
.bz-card .bze-card { grid-column: 1 / -1; margin: 0; }
.bz-card .bze-actions { max-width: none; }
.bz-card .bze-button { background: var(--surface2, #fafaf7); }
.bz-card .bz-price-panel--card { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, auto); align-items: center; column-gap: 10px; row-gap: 3px; padding: 8px 11px; border-radius: 11px; border-inline-start-width: 2px; }
.bz-card .bz-price-panel--card .bz-price-label { margin: 0; font-size: 11px; }
.bz-card .bz-price-panel--card .bz-slots-tag { grid-row: 1; grid-column: 2; justify-self: end; margin: 0; font-size: 11px; text-align: end; }
.bz-card .bz-price-panel--card .bz-price-tag { grid-column: 1 / -1; gap: 4px 6px; }
.bz-card .bz-price-panel--card strong { font-size: 28px; }
.bz-card .bz-price-panel--card .bz-price-currency { font-size: 13px; }
.bz-card .bz-price-panel--card .bzd-price-unit { font-size: 12px; }
.bz-card .bz-price-lock { flex-direction: row; align-items: center; gap: 8px; }
.bz-card .bz-price-lock .mk-price-dummy { font-size: 23px; letter-spacing: 2px; height: 24px; flex-shrink: 0; }
.bz-card .bz-price-lock a { font-size: 12px; line-height: 1.5; }
.bz-card .bz-price-lock a svg { width: 16px; height: 16px; }
.bz-card-cta-row { display: flex; align-items: center; gap: 8px; }
.bz-card-cta-row .mk-flow-button { flex: 1; justify-content: center; }
#pg-bazaar-detail .bzd-price-summary { min-width: 250px; }
#pg-bazaar-detail .bz-price-panel--detail { padding: 14px 18px; }
#pg-bazaar-detail .bz-price-panel--detail strong { font-size: 38px; }
#pg-bazaar-detail .bzd-quick-actions { justify-content: flex-start; margin-top: 8px; }
@keyframes bz-price-reveal { from { opacity: .5; transform: translateY(4px); } to { opacity: 1; transform: translateY(0); } }
@keyframes bz-price-sweep { 0%, 10% { transform: translateX(-240%); } 38%, 100% { transform: translateX(300%); } }
@keyframes bze-pop { 45% { transform: scale(1.22) rotate(-6deg); } 75% { transform: scale(.95); } }
@keyframes bze-busy { to { opacity: .35; } }
@media (max-width: 560px) {
  .bze-invite { flex-direction: column; align-items: flex-start; gap: 10px; }
  .bze-invite p { font-size: 12px; }
  .bze-invite .bze-share { align-self: stretch; }
  .bze-counts { gap: 16px; }
  .bze-detail .bze-actions { gap: 8px; }
  .bze-detail .bze-button { min-width: 0; padding-inline: 8px; font-size: 14px; }
  .bze-card .bze-actions { gap: 6px; }
  .bze-card .bze-button { padding-inline: 7px; gap: 5px; }
  .bz-price-panel { padding: 11px 13px; }
  #pg-bazaar-detail .bzd-price-summary { min-width: 0; width: 100%; }
  #pg-bazaar-detail .bz-price-panel--detail strong { font-size: 34px; }
}
@media (max-width: 600px) {
  .bz-card { grid-template-columns: minmax(0, 1fr); grid-template-rows: auto minmax(0, 1fr) auto; }
  .bz-card .bz-card-img { height: clamp(144px, 42vw, 176px); min-height: 0; }
  .bz-card .bz-card-content { padding: 12px 14px; }
  .bz-card .bz-card-name { font-size: 15px; }
  .bz-card .bz-card-footer { grid-template-columns: minmax(0, 1fr); gap: 8px; }
}
@media (prefers-reduced-motion: reduce) {
  .bze-button, .bze-share { transition: none; }
  .bze-button:active:not(:disabled), .bze-share:active { transform: none; }
  .bze-celebrate svg, .bze-button[aria-busy="true"] svg { animation: none; }
  .bz-price-panel strong, .bz-price-panel::after { animation: none; }
  .bz-price-panel::after { display: none; }
}
