/* Theme: bazar — shell additions, dialogs, categories, listings filter, ad wizard v2, plans, shops, notifications. */
.tp-bazar [hidden] { display: none !important; }

/* ---------- masthead ---------- */
.bz-mast__l { display: flex; align-items: center; gap: .9rem; flex-wrap: wrap; }
.bz-hood { display: inline-flex; align-items: center; gap: .4rem; padding: .3rem .7rem; border: 1.5px solid var(--nzc-text); border-radius: var(--nzc-r-m); background: var(--nzc-surface); font-weight: 700; font-size: .84rem; cursor: pointer; transition: transform var(--nzc-dur-snappy) var(--nzc-ease-snappy), box-shadow .2s; }
.bz-hood:hover { transform: translate(-1px, -1px); box-shadow: 2px 2px 0 var(--nzc-text); } .bz-hood .nzc-i { width: 1em; height: 1em; } .bz-hood__c { opacity: .6; }
.bz-top-actions { align-items: center; }
.bz-mode__moon { display: none; } [data-nzc-mode="dark"] .bz-mode__sun { display: none; } [data-nzc-mode="dark"] .bz-mode__moon { display: inline; }
.bz-bell { position: relative; } .bz-bell__dot { position: absolute; top: .45rem; inset-inline-end: .5rem; width: .55rem; height: .55rem; border-radius: 50%; background: var(--nzc-primary); border: 2px solid var(--nzc-surface); animation: bz-blink 2s infinite; }
.bz-nav__all { display: inline-flex; align-items: center; gap: .4rem; color: var(--nzc-primary); } .bz-nav__all .nzc-i { width: 1.05em; height: 1.05em; }
.bz-nav__x { color: var(--nzc-text-2); }
.bz-quick { position: relative; display: flex; align-items: center; gap: .6rem; max-width: 42rem; margin: 0 auto; padding: .1rem 0 .9rem; }
.bz-quick > .nzc-i { position: absolute; inset-inline-start: .9rem; top: 50%; transform: translateY(calc(-50% - .4rem)); width: 1.1rem; height: 1.1rem; color: var(--nzc-text-2); pointer-events: none; }
.bz-quick input { flex: 1; min-width: 0; height: 2.7rem; padding-inline: 2.6rem .9rem; border: 1.5px solid var(--nzc-text); border-radius: var(--nzc-r-m); background: var(--nzc-surface); font: inherit; font-weight: 600; color: var(--nzc-text); outline: 0; transition: box-shadow .25s, transform var(--nzc-dur-snappy) var(--nzc-ease-snappy); }
.bz-quick input:focus { box-shadow: 3px 3px 0 var(--nzc-primary); transform: translate(-1px, -1px); }
.bz-suggest { position: absolute; z-index: 60; inset-inline: 0; top: calc(100% - .8rem); display: flex; flex-direction: column; border: 1.5px solid var(--nzc-text); border-radius: var(--nzc-r-m); background: var(--nzc-surface); box-shadow: 4px 4px 0 var(--nzc-text); overflow: hidden; animation: bz-pane .25s var(--nzc-ease-out) both; }
.bz-quick .bz-suggest { inset-inline: 0 5.6rem; }
.bz-suggest__h { padding: .5rem .9rem; font-size: .74rem; font-weight: 800; color: var(--nzc-text-2); border-block-end: 1px dotted var(--nzc-text-2); }
.bz-suggest__i { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: .6rem; padding: .55rem .9rem; font-size: .92rem; transition: background-color .15s; } .bz-suggest__i:hover, .bz-suggest__i.is-on { background: var(--nzc-surface-2); } .bz-suggest__i small { color: var(--nzc-text-2); } .bz-suggest__i .nzc-i { width: 1em; height: 1em; color: var(--nzc-primary); }
.bz-totop { position: fixed; z-index: 45; inset-inline-end: 1rem; bottom: 4.6rem; display: grid; place-items: center; width: 2.8rem; height: 2.8rem; border: 2px solid var(--nzc-text); border-radius: 50%; background: var(--nzc-surface); color: var(--nzc-text); box-shadow: 3px 3px 0 var(--nzc-text); cursor: pointer; opacity: 0; transform: translateY(12px) scale(.9); pointer-events: none; transition: opacity .3s, transform var(--nzc-dur-bouncy) var(--nzc-ease-bouncy); }
.bz-totop.is-on { opacity: 1; transform: none; pointer-events: auto; } .bz-totop:hover { transform: translate(-2px, -2px); box-shadow: 5px 5px 0 var(--nzc-text); }

/* ---------- footer ---------- */
.bz-foot__orn { display: flex; justify-content: center; margin-bottom: 1.2rem; color: var(--nzc-text-2); } .bz-foot__orn .nzc-i { width: 6rem; height: 1.6rem; }
.bz-foot__social { display: flex; flex-wrap: wrap; gap: .3rem 1rem; margin-top: .6rem; } .bz-foot__social a { display: inline-flex; align-items: center; gap: .35rem; } .bz-foot__social .nzc-i { width: 1em; height: 1em; }
.bz-foot__copy { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1rem; }

/* ---------- dialogs ---------- */
.bz-modal { width: min(30rem, calc(100vw - 2rem)); max-height: calc(100dvh - 2rem); padding: 0; border: 2px solid var(--nzc-text); border-radius: var(--nzc-r-m); background: var(--nzc-surface); color: var(--nzc-text); box-shadow: 8px 8px 0 var(--nzc-text); overflow: auto; }
.bz-modal[open] { animation: bz-modal-in .45s var(--nzc-ease-bouncy) both; } .bz-modal::backdrop { background: rgba(26, 20, 32, .55); backdrop-filter: blur(3px); animation: bz-fade .3s both; }
@keyframes bz-modal-in { from { opacity: 0; transform: translateY(24px) scale(.94) rotate(-.6deg); } } @keyframes bz-fade { from { opacity: 0; } }
.bz-modal__in { position: relative; display: flex; flex-direction: column; gap: 1rem; padding: 1.4rem 1.4rem 1.2rem; }
.bz-modal__in > header { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding-bottom: .6rem; border-block-end: 3px double var(--nzc-text); } .bz-modal__in h2 { font-size: 1.25rem; } .bz-modal__in p { margin: 0; line-height: 1.9; }
.bz-modal__x { display: grid; place-items: center; width: 2.2rem; height: 2.2rem; border: 1.5px solid var(--nzc-text); border-radius: var(--nzc-r-s); background: var(--nzc-surface); color: var(--nzc-text); cursor: pointer; } .bz-modal__x:hover { background: var(--nzc-text); color: var(--nzc-bg); } .bz-modal__x--abs { position: absolute; top: .8rem; inset-inline-end: .8rem; }
.bz-modal--center .bz-modal__in { align-items: center; text-align: center; padding-top: 1.8rem; } .bz-modal--center img { width: 8rem; height: auto; }
.bz-modal__act { display: flex; flex-wrap: wrap; gap: .6rem; } .bz-modal__act--c { justify-content: center; }
.bz-hoodlist, .bz-reasons { display: flex; flex-direction: column; gap: .7rem; max-height: 16rem; overflow: auto; padding: .2rem; }
.bz-copy { display: flex; gap: .5rem; } .bz-copy input { flex: 1; min-width: 0; height: 2.8rem; padding-inline: .8rem; border: 1.5px solid var(--nzc-text); border-radius: var(--nzc-r-m); background: var(--nzc-surface-2); font: inherit; color: var(--nzc-text); }
.bz-sharebtns { display: grid; grid-template-columns: 1fr 1fr; gap: .6rem; }
.bz-steps-list { margin: 0; padding-inline-start: 1.2rem; text-align: start; line-height: 2.1; }

/* ---------- categories page ---------- */
.bz-cathead { align-items: center; } .bz-cathead__img { width: 9rem; height: auto; filter: drop-shadow(4px 5px 0 rgba(42, 34, 51, .16)); animation: bz-sway 5s ease-in-out infinite; }
.bz-catfind { position: relative; display: flex; align-items: center; gap: .7rem; padding: .3rem .9rem; margin-bottom: 1.6rem; border: 2px solid var(--nzc-text); border-radius: var(--nzc-r-m); background: var(--nzc-surface); transition: box-shadow .25s, transform var(--nzc-dur-snappy) var(--nzc-ease-snappy); }
.bz-catfind:focus-within { box-shadow: 4px 4px 0 var(--nzc-primary); transform: translate(-1px, -1px); } .bz-catfind .nzc-i { width: 1.15rem; height: 1.15rem; color: var(--nzc-text-2); }
.bz-catfind input { flex: 1; min-width: 0; height: 2.6rem; border: 0; background: transparent; outline: 0; font: inherit; font-weight: 600; color: var(--nzc-text); }
.bz-catfind--in { margin-bottom: 1rem; }
.bz-catgrid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.4rem; }
.bz-catcol { display: flex; flex-direction: column; gap: .7rem; padding: 1.1rem 1.15rem; border: 2px solid var(--nzc-text); border-radius: var(--nzc-r-m); background: var(--nzc-surface); transition: transform var(--nzc-dur-snappy) var(--nzc-ease-snappy), box-shadow .25s; }
.bz-catcol:hover { transform: translate(-2px, -2px); box-shadow: 5px 5px 0 var(--_c, var(--nzc-text)); }
.bz-catcol__h { display: grid; grid-template-columns: auto auto 1fr auto; align-items: center; gap: .6rem; padding-bottom: .6rem; border-block-end: 3px double var(--nzc-text); }
.bz-catcol__n { font-family: var(--nzc-font-display); font-weight: 900; font-size: 1.3rem; color: var(--nzc-primary); }
.bz-catcol__ico { display: grid; place-items: center; width: 2.4rem; height: 2.4rem; border-radius: 50%; background: color-mix(in srgb, var(--_c, #999) 22%, transparent); color: var(--_c); border: 1.5px solid var(--_c); } .bz-catcol__ico .nzc-i { width: 1.2rem; height: 1.2rem; }
.bz-catcol h2 { font-size: 1.2rem; } .bz-catcol__c { font-size: .85rem; color: var(--nzc-text-2); }
.bz-catcol__l { list-style: none; margin: 0; padding: 0; flex: 1; } .bz-catcol__l a { display: flex; align-items: baseline; gap: .5rem; padding-block: .35rem; font-weight: 600; transition: color .2s, padding .3s var(--nzc-ease-snappy); } .bz-catcol__l a:hover { color: var(--nzc-primary); padding-inline-start: .35rem; }
.bz-catcol__l i { flex: 1; border-block-end: 2px dotted var(--nzc-line); transform: translateY(-.25rem); } .bz-catcol__l b { font-size: .8rem; color: var(--nzc-text-2); font-weight: 500; }
.bz-catcol__l li.is-hit a { background: linear-gradient(transparent 60%, rgba(var(--nzc-glow), .25) 60%); }
.bz-catcol__f { display: flex; flex-wrap: wrap; align-items: center; gap: .4rem; padding-top: .6rem; border-block-start: 1px dotted var(--nzc-text-2); } .bz-catcol__f .nzc-link { margin-inline-start: auto; font-size: .84rem; }
.bz-hoodsec { margin-top: 2.4rem; }
.bz-band { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 1.4rem; margin-top: 2.6rem; padding: 1.2rem 1.5rem; border: 2px dashed var(--nzc-text); border-radius: var(--nzc-r-m); background: var(--nzc-surface-2); } .bz-band img { width: 6.5rem; height: auto; } .bz-band p { margin: .3rem 0 0; } .bz-band b { font-family: var(--nzc-font-display); font-size: 1.3rem; }
.bz-empty { display: flex; flex-direction: column; align-items: center; gap: .7rem; padding: 2.4rem 1rem; text-align: center; border: 2px dashed var(--nzc-text-2); border-radius: var(--nzc-r-m); background: var(--nzc-surface); } .bz-empty img { width: 8.5rem; height: auto; animation: bz-sway 5s ease-in-out infinite; } .bz-empty h2 { font-size: 1.4rem; } .bz-empty p { margin: 0; max-width: 28rem; }

/* ---------- listings filter ---------- */
.bz-field--q { position: relative; margin-bottom: .2rem; } .bz-field--q .bz-suggest { top: calc(100% - .6rem); }
.bz-field__box > .nzc-i { width: 1.05rem; height: 1.05rem; color: var(--nzc-text-2); flex: none; }
.nzc-check--radio.is-sub { margin-inline-start: 1.3rem; font-size: .88rem; color: var(--nzc-text-2); }
.bz-active { display: flex; }
.bz-active[hidden] { display: none; }
.bz-more { display: flex; justify-content: center; margin-top: 1.6rem; padding-top: 1.1rem; border-block-start: 3px double var(--nzc-text); }
.bz-fbtn__n { display: inline-grid; place-items: center; min-width: 1.4rem; height: 1.4rem; margin-inline-start: .4rem; border-radius: 999px; background: var(--nzc-primary); color: var(--nzc-primary-ink); font-size: .74rem; }
.bz-fmobile-apply { display: none; } .bz-fmobile-apply { flex: 1; }
@media (max-width: 980px) { .bz-fmobile-apply { display: inline-flex; } }
.nzc-ticket[hidden] { display: none; }
.bz-tickets.is-text .bz-tk__meta { font-size: .78rem; }

/* ---------- ad wizard v2 ---------- */
.bz-errsum { margin-bottom: 1rem; padding: .7rem 1rem; border: 2px solid var(--nzc-danger); border-radius: var(--nzc-r-m); background: color-mix(in srgb, var(--nzc-danger) 10%, var(--nzc-surface)); color: var(--nzc-danger); font-weight: 800; animation: bz-pane .3s both; }
.bz-field__l { display: flex; align-items: baseline; justify-content: space-between; gap: .5rem; }
.bz-field__u { font-style: normal; font-size: .8rem; color: var(--nzc-text-2); white-space: nowrap; }
.bz-field .bz-field__err { display: block; }
.bz-field .bz-field__err[hidden] { display: none; }
.bz-field.is-bad .bz-field__box { border-color: var(--nzc-danger); }
.bz-fields2 .is-wide { grid-column: 1 / -1; } .bz-field--sw { justify-content: center; }
.bz-chiprow--in { display: flex; flex-wrap: wrap; gap: .45rem; padding-block: .2rem; }
.bz-flagsbox { display: flex; flex-direction: column; gap: .6rem; min-height: 2.9rem; justify-content: center; }
.bz-substep { margin-top: .4rem; animation: bz-pane .45s var(--nzc-ease-out) both; }
.bz-pathline { margin: 1rem 0 0; padding: .55rem .9rem; border-inline-start: 4px solid var(--nzc-primary); background: var(--nzc-surface-2); font-weight: 800; }
.bz-aisug { display: flex; flex-wrap: wrap; align-items: center; gap: .7rem; margin-bottom: 1rem; padding: .7rem .9rem; border: 1.5px dashed var(--nzc-primary); border-radius: var(--nzc-r-m); background: color-mix(in srgb, var(--nzc-primary) 7%, var(--nzc-surface)); animation: bz-pane .35s both; } .bz-aisug__l { font-weight: 800; }
.bz-inbtn { height: 2rem; padding-inline: .7rem; font-size: .8rem; white-space: nowrap; }
.bz-phototip { display: flex; align-items: flex-start; gap: .6rem; margin-top: .9rem; padding: .7rem .9rem; border-radius: var(--nzc-r-m); background: var(--nzc-surface-2); font-size: .9rem; line-height: 1.9; } .bz-phototip .nzc-i { width: 1.2rem; height: 1.2rem; flex: none; margin-top: .3rem; color: var(--nzc-accent); }
.bz-photohead { display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; margin-top: 1.2rem; }
.bz-thumbs__bar { position: absolute; inset-inline: 0; bottom: 0; display: flex; justify-content: center; gap: .2rem; padding: .25rem; background: linear-gradient(transparent, rgba(26, 20, 32, .75)); opacity: 0; transition: opacity .2s; } .bz-thumbs__i:hover .bz-thumbs__bar, .bz-thumbs__i:focus-within .bz-thumbs__bar { opacity: 1; }
.bz-thumbs__bar button { position: static; width: 1.7rem; height: 1.7rem; border: 0; border-radius: 4px; background: rgba(255, 255, 255, .92); color: #241a2b; cursor: pointer; font-size: 1rem; line-height: 1; } .bz-thumbs__bar button:disabled { opacity: .35; cursor: default; }
@media (hover: none) { .bz-thumbs__bar { opacity: 1; } }
.bz-thumbs__i > em { inset-inline-start: .3rem; top: .3rem; bottom: auto; }
.bz-ptabs { margin-bottom: 1rem; } .bz-note--box { padding: .8rem 1rem; border: 1.5px dashed var(--nzc-text-2); border-radius: var(--nzc-r-m); }
.bz-scrub__u { font-style: normal; font-size: .78rem; color: var(--nzc-text-2); white-space: nowrap; }
.bz-scrub__f input { transition: transform var(--nzc-dur-snappy) var(--nzc-ease-bouncy); } .bz-scrub__b:active { transform: scale(1.18); }
.bz-plans--2 { grid-template-columns: repeat(3, 1fr); }
.bz-plan > span { position: relative; } .bz-plan img { width: 3.2rem; height: auto; margin-bottom: .2rem; } .bz-plan em { margin-top: .3rem; font-style: normal; font-weight: 900; color: var(--nzc-primary); }
.bz-total { display: flex; flex-wrap: wrap; align-items: baseline; gap: .8rem; margin-block: 1rem; padding: .8rem 1rem; border: 2px solid var(--nzc-text); border-radius: var(--nzc-r-m); background: var(--nzc-surface-2); } .bz-total b { font-family: var(--nzc-font-display); font-size: 1.5rem; color: var(--nzc-primary); } .bz-total small.is-bad { color: var(--nzc-danger); font-weight: 800; }
.bz-check li button { margin-inline-start: auto; }
.bz-wizard__pos { font-weight: 800; }
.is-shake { animation: bz-shake .45s; }
.bz-livetk__ph { position: absolute; inset: 0; display: grid; place-items: center; color: var(--nzc-text-2); background: var(--nzc-surface-2); } .bz-livetk__ph .nzc-i { width: 1.6rem; height: 1.6rem; }
.bz-livetk .bz-tk__thumb { display: block; position: relative; min-height: 5rem; } .bz-livetk .bz-tk__thumb img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.bz-livetk { grid-template-columns: 6.4rem 1fr 5.2rem !important; }
.nzc-stamp.is-hidden { visibility: hidden; }
.bz-livehelp { display: grid; grid-template-columns: auto 1fr; gap: .8rem; align-items: center; margin-top: 1.2rem; } .bz-livehelp img { width: 5rem; height: auto; } .bz-livehelp p { margin: .2rem 0 0; font-size: .86rem; }
.bz-steps__i::before { transform-origin: right; }
.bz-steps__i.is-open { cursor: pointer; } .bz-steps__i.is-open .bz-steps__n { background: var(--nzc-surface-2); }
.bz-steps__i.is-now .bz-steps__n { transform: scale(1.18) rotate(-6deg); }
.bz-draft .bz-linkbtn { font-size: .78rem; margin-inline-start: .5rem; color: var(--nzc-text-2); }

/* ---------- plans ---------- */
.bz-sechead .nzc-tabs { flex: none; }
.bz-ratecard { display: flex; flex-direction: column; border: 2px solid var(--nzc-text); border-radius: var(--nzc-r-m); background: var(--nzc-surface); }
.bz-rate { display: grid; grid-template-columns: auto 1fr minmax(2rem, 12rem) auto; align-items: center; gap: 1rem; padding: 1rem 1.2rem; } .bz-rate + .bz-rate { border-block-start: 1px dotted var(--nzc-text-2); }
.bz-rate img { width: 4.6rem; height: auto; } .bz-rate h3 { font-size: 1.15rem; } .bz-rate p { margin: .2rem 0 0; font-size: .88rem; }
.bz-rate__dots { border-block-end: 2px dotted var(--nzc-line); transform: translateY(-.3rem); }
.bz-rate__p { display: flex; flex-direction: column; align-items: flex-end; } .bz-rate__p b { font-family: var(--nzc-font-display); font-size: 1.7rem; font-weight: 900; color: var(--nzc-primary); line-height: 1.2; } .bz-rate__p small { color: var(--nzc-text-2); }
.bz-tiers { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.4rem; align-items: stretch; }
.bz-tier { position: relative; display: flex; flex-direction: column; gap: .5rem; padding: 1.4rem 1.3rem 1.3rem; border: 2px solid var(--nzc-text); border-radius: var(--nzc-r-m); background: var(--nzc-surface); transition: transform var(--nzc-dur-snappy) var(--nzc-ease-snappy), box-shadow .25s; }
.bz-tier:hover { transform: translate(-2px, -2px); box-shadow: 5px 5px 0 var(--nzc-text); } .bz-tier.is-hot { box-shadow: 6px 6px 0 var(--nzc-primary); background: var(--nzc-surface-2); } .bz-tier.is-hot:hover { box-shadow: 8px 8px 0 var(--nzc-primary); }
.bz-tier h3 { font-size: 1.4rem; } .bz-tier > p { margin: 0; } .bz-tier__stamp { position: absolute; top: -.9rem; inset-inline-end: 1rem; background: var(--nzc-surface); }
.bz-tier__p { display: flex; align-items: baseline; gap: .5rem; margin-top: .5rem; flex-wrap: wrap; } .bz-tier__p b { font-family: var(--nzc-font-display); font-size: 2.2rem; font-weight: 900; color: var(--nzc-primary); } .bz-tier__p small { color: var(--nzc-text-2); }
.bz-tier__save { min-height: 1.2rem; color: var(--nzc-success); font-weight: 800; opacity: 0; transform: translateY(4px); transition: opacity .3s, transform .3s; } .bz-tier__save.is-on { opacity: 1; transform: none; }
.bz-tier ul { list-style: none; margin: .6rem 0 1rem; padding: .8rem 0 0; border-block-start: 1px dotted var(--nzc-text-2); display: flex; flex-direction: column; gap: .5rem; flex: 1; } .bz-tier li { display: flex; align-items: center; gap: .5rem; } .bz-tier li .nzc-i { width: 1.1rem; height: 1.1rem; color: var(--nzc-success); flex: none; }
.bz-banners { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.2rem; margin-bottom: 1.2rem; } .bz-banner { display: flex; flex-direction: column; gap: .4rem; padding: 1rem; border: 1.5px solid var(--nzc-text); border-radius: var(--nzc-r-m); background: var(--nzc-surface); }
.bz-banner__pv { display: grid; place-items: center; height: 6rem; border: 2px dashed var(--nzc-text-2); border-radius: var(--nzc-r-s); background: repeating-linear-gradient(135deg, transparent 0 10px, rgba(128, 128, 128, .08) 10px 20px); font-weight: 800; color: var(--nzc-text-2); }
.bz-banner__pv--side { width: 45%; height: 8rem; align-self: center; }

/* ---------- shops ---------- */
.bz-shopbar { display: flex; flex-wrap: wrap; align-items: center; gap: .8rem 1.2rem; margin-bottom: 1.6rem; } .bz-shopbar .bz-catfind { flex: 1 1 18rem; margin: 0; }
.bz-shopgrid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.4rem; }
.bz-shopcard { position: relative; display: flex; flex-direction: column; align-items: flex-start; gap: .3rem; padding: 0 1.1rem 1.1rem; border: 2px solid var(--nzc-text); border-radius: var(--nzc-r-m); background: var(--nzc-surface); overflow: hidden; transition: transform var(--nzc-dur-snappy) var(--nzc-ease-snappy), box-shadow .25s; }
.bz-shopcard:hover { transform: translate(-2px, -2px); box-shadow: 5px 5px 0 var(--_c, var(--nzc-text)); }
.bz-shopcard__cover { position: relative; align-self: stretch; height: 5.5rem; margin-inline: -1.1rem; border-block-end: 2px solid var(--nzc-text); }
.bz-shopcard__av { position: relative; display: block; width: 4.2rem; height: 4.2rem; margin-top: -2.2rem; border: 3px solid var(--nzc-text); border-radius: 50%; overflow: hidden; background: var(--nzc-surface); }
.bz-shopcard h2 { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; font-size: 1.15rem; margin-top: .4rem; } .bz-shopcard > p { margin: 0; font-size: .88rem; }
.bz-shopcard__m { display: flex; gap: 1rem; align-items: center; margin-top: .4rem; padding-top: .6rem; border-block-start: 1px dotted var(--nzc-text-2); align-self: stretch; font-size: .86rem; }
.bz-shopcard[hidden] { display: none; }

/* ---------- profile: notifications, saved searches ---------- */
.bz-notifs { display: flex; flex-direction: column; gap: .7rem; }
.bz-notif { display: grid; grid-template-columns: auto 1fr auto; gap: .9rem; align-items: center; padding: .8rem 1rem; border: 1.5px solid var(--nzc-text); border-radius: var(--nzc-r-m); background: var(--nzc-surface); }
.bz-notif.is-new { border-inline-start: 5px solid var(--nzc-primary); } .bz-notif__i { display: grid; place-items: center; width: 2.4rem; height: 2.4rem; border-radius: 50%; background: var(--nzc-surface-2); } .bz-notif__i .nzc-i { width: 1.15rem; height: 1.15rem; } .bz-notif p { margin: .1rem 0 0; font-size: .86rem; } .bz-notif time { font-size: .76rem; color: var(--nzc-text-2); }
.bz-saved-s { display: flex; flex-direction: column; gap: .6rem; } .bz-ssearch { display: flex; align-items: center; gap: .8rem; padding: .7rem 1rem; border: 1px dashed var(--nzc-text-2); border-radius: var(--nzc-r-m); } .bz-ssearch b { flex: 1; }

/* ---------- detail: mobile contact bar ---------- */
.bz-mbar { display: none; }
@media (max-width: 760px) {
  .bz-mbar { position: fixed; z-index: 44; inset-inline: 0; bottom: 3.9rem; display: grid; grid-template-columns: 1fr 1fr; gap: .5rem; padding: .5rem .7rem; background: var(--nzc-surface); border-block-start: 2px solid var(--nzc-text); }
  .bz-mbar .nzc-btn { justify-content: center; }
  .bz-totop { bottom: 8.4rem; }
}

/* ---------- responsive ---------- */
@media (max-width: 980px) {
  .bz-catgrid, .bz-shopgrid, .bz-tiers, .bz-banners { grid-template-columns: 1fr 1fr; }
  .bz-band { grid-template-columns: 1fr; text-align: center; justify-items: center; }
}
@media (max-width: 640px) {
  .bz-catgrid, .bz-shopgrid, .bz-tiers, .bz-banners, .bz-plans--2 { grid-template-columns: 1fr; }
  .bz-rate { grid-template-columns: auto 1fr; } .bz-rate__dots { display: none; } .bz-rate__p { grid-column: 1 / -1; align-items: flex-start; }
  .bz-mast__l { justify-content: center; } .bz-quick { padding-inline: 0; } .bz-cathead__img { display: none; }
  .bz-sharebtns { grid-template-columns: 1fr 1fr; } .bz-quick .bz-suggest { inset-inline: 0; }
  .bz-notif { grid-template-columns: auto 1fr; } .bz-notif time { grid-column: 1 / -1; }
}

/* ---------- dark mode: hatch textures and hard-coded inks ---------- */
[data-nzc-mode="dark"] .bz-slot, [data-nzc-mode="dark"] .bz-drop, [data-nzc-mode="dark"] .bz-banner__pv { background-image: repeating-linear-gradient(135deg, transparent 0 10px, rgba(243, 234, 217, .04) 10px 20px); }
[data-nzc-mode="dark"] .bz-chat__msgs { background: repeating-linear-gradient(0deg, transparent 0 27px, rgba(243, 234, 217, .05) 27px 28px); }
[data-nzc-mode="dark"] .bz-hero__mascot img, [data-nzc-mode="dark"] .bz-loginside__img, [data-nzc-mode="dark"] .bz-cathead__img { filter: drop-shadow(4px 5px 0 rgba(0, 0, 0, .45)); }
[data-nzc-mode="dark"] .bz-modal, [data-nzc-mode="dark"] .bz-totop { box-shadow: 6px 6px 0 rgba(0, 0, 0, .55); }

/* ---------- home additions ---------- */
.bz-slip__f { position: relative; } .bz-slip__f .bz-suggest { top: calc(100% + .1rem); }
.bz-toc__all { display: inline-block; margin-top: .7rem; font-size: .86rem; }
/* icon/column size shrinks as the category count (--_n, set inline from the real count) grows,
   so a shop with 40 categories doesn't turn this strip into a wall of oversized icons */
.bz-tiles { --_ico: clamp(1.9rem, 3.4rem - (var(--_n, 8) - 8) * 0.09rem, 3rem); display: grid; grid-template-columns: repeat(auto-fill, minmax(calc(var(--_ico) * 2.15), 1fr)); gap: .8rem; padding-bottom: 1.8rem; }
.bz-tile { display: flex; flex-direction: column; align-items: center; gap: .3rem; padding: .9rem .4rem .7rem; border: 1.5px solid var(--nzc-text); border-radius: var(--nzc-r-m); background: var(--nzc-surface); text-align: center; transition: transform var(--nzc-dur-snappy) var(--nzc-ease-snappy), box-shadow .25s; }
.bz-tile:hover { transform: translate(-2px, -3px) rotate(-1deg); box-shadow: 4px 4px 0 var(--_c, var(--nzc-text)); }
.bz-tile__ico { display: grid; place-items: center; width: var(--_ico, 3rem); height: var(--_ico, 3rem); border-radius: 50%; background: color-mix(in srgb, var(--_c) 20%, transparent); border: 1.5px solid var(--_c); color: var(--_c); transition: transform var(--nzc-dur-bouncy) var(--nzc-ease-bouncy); } .bz-tile:hover .bz-tile__ico { transform: scale(1.12) rotate(6deg); } .bz-tile__ico .nzc-i { width: calc(var(--_ico, 3rem) * .47); height: calc(var(--_ico, 3rem) * .47); }
.bz-tile b { font-size: clamp(.72rem, calc(var(--_ico, 3rem) * .29), .86rem); line-height: 1.5; } .bz-tile small { color: var(--nzc-text-2); font-size: .74rem; }
.bz-how { margin-top: 1rem; padding-bottom: 1rem; } .bz-how__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.4rem; }
.bz-how__i { position: relative; display: flex; flex-direction: column; align-items: center; gap: .4rem; padding: 1.4rem 1.2rem 1.2rem; text-align: center; border: 2px solid var(--nzc-text); border-radius: var(--nzc-r-m); background: var(--nzc-surface); }
.bz-how__i + .bz-how__i::before { content: ''; position: absolute; top: 50%; inset-inline-start: -1.4rem; width: 1.4rem; border-block-start: 2px dashed var(--nzc-text-2); }
.bz-how__n { position: absolute; top: -1rem; inset-inline-start: 1rem; display: grid; place-items: center; width: 2.1rem; height: 2.1rem; border: 2px solid var(--nzc-text); border-radius: 50%; background: var(--nzc-primary); color: var(--nzc-primary-ink); font-family: var(--nzc-font-display); font-weight: 900; }
.bz-how__i img { width: 6.2rem; height: auto; } .bz-how__i h3 { font-size: 1.15rem; } .bz-how__i p { margin: 0; line-height: 1.9; font-size: .92rem; }
.bz-shopstrip { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1rem; }
.bz-shopmini { display: flex; flex-direction: column; align-items: flex-start; gap: .25rem; padding: 1rem; border: 1.5px solid var(--nzc-text); border-radius: var(--nzc-r-m); background: var(--nzc-surface); transition: transform var(--nzc-dur-snappy) var(--nzc-ease-snappy), box-shadow .25s; } .bz-shopmini:hover { transform: translate(-2px, -2px); box-shadow: 4px 4px 0 var(--_c, var(--nzc-text)); }
.bz-shopmini__av { position: relative; display: block; width: 3.2rem; height: 3.2rem; border: 2px solid var(--nzc-text); border-radius: 50%; overflow: hidden; } .bz-shopmini small { font-size: .8rem; }
.bz-homestats { margin-top: 2.4rem; } .bz-band--bot { margin-bottom: 2rem; }
@media (max-width: 980px) { .bz-tiles { grid-template-columns: repeat(auto-fill, minmax(4.2rem, 1fr)); } .bz-shopstrip { grid-template-columns: 1fr 1fr; } .bz-how__grid { grid-template-columns: 1fr; } .bz-how__i + .bz-how__i::before { display: none; } }
@media (max-width: 640px) { .bz-tiles { grid-template-columns: repeat(auto-fill, minmax(3.6rem, 1fr)); gap: .5rem; --_ico: clamp(1.6rem, 2.5rem - (var(--_n, 8) - 8) * 0.06rem, 2.5rem); } .bz-tile { padding-inline: .2rem; } .bz-tile small { display: none; } .bz-shopstrip { grid-template-columns: 1fr; } }

/* ---------- profile extras ---------- */
.bz-empty--sm { padding: 1.4rem 1rem; margin-top: 1rem; } .bz-empty--sm img { width: 6.5rem; }
.bz-tx { list-style: none; margin: 0; padding: 0; border: 1.5px solid var(--nzc-text); border-radius: var(--nzc-r-m); background: var(--nzc-surface); } .bz-tx li { display: grid; grid-template-columns: auto 1fr auto auto; align-items: baseline; gap: .7rem; padding: .7rem 1rem; } .bz-tx li + li { border-block-start: 1px dotted var(--nzc-text-2); } .bz-tx i { border-block-end: 2px dotted var(--nzc-line); transform: translateY(-.2rem); }
.bz-tx__in b { color: var(--nzc-success); } .bz-tx__out b { color: var(--nzc-danger); } .bz-tx time { font-size: .76rem; min-width: 4.5rem; text-align: end; }
.bz-ssearch.is-out { opacity: 0; transform: scale(.95); transition: all .25s; }
.bz-aisug { flex-direction: column; align-items: stretch; } .bz-aisug__h { display: flex; align-items: center; gap: .5rem; flex-wrap: wrap; } .bz-aisug__h .nzc-i { width: 1.1rem; height: 1.1rem; color: var(--nzc-primary); }
.bz-aisug__r { display: grid; grid-template-columns: 1fr auto auto; align-items: center; gap: .8rem; } .bz-aisug__m { height: .6rem; border: 1.5px solid var(--nzc-text); border-radius: 4px; background: var(--nzc-surface); overflow: hidden; } .bz-aisug__m i { display: block; height: 100%; background: repeating-linear-gradient(135deg, var(--nzc-success) 0 6px, color-mix(in srgb, var(--nzc-success) 60%, transparent) 6px 12px); animation: bz-grow .8s var(--nzc-ease-out) both; transform-origin: right; }
@keyframes bz-grow { from { transform: scaleX(0); } }
.bz-proof__t { margin-inline-start: auto; font-size: .8rem; color: var(--nzc-text-2); }
.bz-proof__diff.is-ok { color: var(--nzc-success); font-weight: 800; }

/* ---------- long numbers: a figure may shrink, never spill ---------- */
.bz-price, .bz-pricecard__v b, .bz-tier__p b, .bz-rate__p b, .bz-total b, .bz-shopstats b { display: block; min-width: 0; max-width: 100%; overflow: hidden; white-space: nowrap; text-overflow: clip; }
.nzc-ticket__stub { min-width: 0; overflow: hidden; } .nzc-ticket__stub .bz-price { text-align: center; }
.bz-pricecard__v b { flex: 0 1 auto; } .bz-tier__p b, .bz-rate__p b { flex: 0 1 auto; }
.bz-scrub__f input { min-width: 0; letter-spacing: 0; font-variant-numeric: tabular-nums; }
.bz-scrub__words { display: block; min-height: 1.3rem; margin-top: .5rem; font-weight: 700; text-align: center; }
.bz-scrub.is-max { animation: bz-shake .4s; }

/* ---------- action dialogs, detail extras, consent, skip link, print ---------- */
.bz-skip { position: fixed; z-index: 200; top: .6rem; inset-inline-start: .6rem; padding: .5rem 1rem; border: 2px solid var(--nzc-text); border-radius: var(--nzc-r-m); background: var(--nzc-surface); font-weight: 800; transform: translateY(-160%); transition: transform .25s var(--nzc-ease-snappy); } .bz-skip:focus { transform: none; }
.bz-consent { position: fixed; z-index: 70; inset-inline: 1rem; bottom: 1rem; max-width: 34rem; margin-inline: auto; padding: 1rem 1.2rem; border: 2px solid var(--nzc-text); border-radius: var(--nzc-r-m); background: var(--nzc-surface); box-shadow: 5px 5px 0 var(--nzc-text); animation: bz-modal-in .5s var(--nzc-ease-bouncy) both; } .bz-consent p { margin: 0 0 .7rem; font-size: .9rem; line-height: 1.9; } .bz-consent.is-out { opacity: 0; transform: translateY(20px); transition: all .35s; }
@media (max-width: 760px) { .bz-consent { bottom: 8.6rem; } }

/* proactive install prompt — same bottom-sheet conventions as .bz-consent (same z-index/position
   family so they never fight for space; shown-logic in JS already keeps them from overlapping). */
.bz-pwa { position: fixed; z-index: 70; inset-inline: 1rem; bottom: 1rem; max-width: 26rem; margin-inline: auto; padding: 1.1rem 1.2rem 1.2rem; border: 2px solid var(--nzc-text); border-radius: var(--nzc-r-m); background: var(--nzc-surface); box-shadow: 5px 5px 0 var(--nzc-text); animation: bz-modal-in .5s var(--nzc-ease-bouncy) both; }
.bz-pwa.is-out { opacity: 0; transform: translateY(20px); transition: all .35s; }
@media (max-width: 760px) { .bz-pwa { bottom: 8.6rem; } }
.bz-pwa__row { display: flex; align-items: center; gap: .8rem; margin-bottom: 1rem; }
.bz-pwa__icon { width: 3.1rem; height: 3.1rem; border-radius: var(--nzc-r-s); border: 1.5px solid var(--nzc-text); flex: none; }
.bz-pwa__txt { display: flex; flex-direction: column; gap: .25rem; min-width: 0; }
.bz-pwa__txt b { font-family: var(--nzc-font-display); font-size: 1.02rem; line-height: 1.5; }
.bz-pwa__txt span { font-size: .84rem; color: var(--nzc-text-2); line-height: 1.7; }
.bz-pwa__act .nzc-btn { width: 100%; }
.bz-pwa__ios { display: flex; flex-direction: column; gap: .7rem; }
.bz-pwa__step { display: flex; align-items: center; gap: .6rem; font-size: .88rem; font-weight: 600; line-height: 1.8; }
.bz-pwa__step .nzc-i { width: 1.3rem; height: 1.3rem; flex: none; color: var(--nzc-primary); }
.bz-pwa__bounce { display: grid; place-items: center; animation: bz-pwa-bounce 1.4s ease-in-out infinite; }
.bz-pwa__gotit { width: 100%; margin-top: .2rem; }
@keyframes bz-pwa-bounce { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-6px); } }
@media (prefers-reduced-motion: reduce) { .bz-pwa__bounce { animation: none; } }
.bz-offer { display: flex; align-items: center; justify-content: center; gap: .4rem; width: 100%; margin-top: .7rem; padding: .4rem; border: 0; background: none; color: var(--nzc-primary); font: inherit; font-weight: 800; text-decoration: underline; text-underline-offset: 4px; cursor: pointer; } .bz-offer .nzc-i { width: 1.05em; height: 1.05em; }
.bz-plate--none { display: flex !important; flex-direction: column; align-items: center; justify-content: center; gap: .6rem; opacity: 1; transform: none; background: var(--nzc-surface-2); } .bz-plate--none img { width: 8rem; height: auto; }
.bz-gallery__sold { position: absolute; top: 1rem; inset-inline-end: 1rem; font-size: 1.3rem; background: var(--nzc-surface); padding: .2rem .8rem; }

/* ---------- gallery lightbox (full-screen zoom/pan viewer) ---------- */
.bz-gallery__zoom { position: absolute; top: .8rem; inset-inline-start: .8rem; z-index: 2; display: grid; place-items: center; width: 2.4rem; height: 2.4rem; border: 1.5px solid var(--nzc-text); border-radius: var(--nzc-r-s); background: color-mix(in srgb, var(--nzc-surface) 88%, transparent); color: var(--nzc-text); cursor: pointer; opacity: 0; transform: translateY(-.3rem); transition: opacity .2s, transform .2s, background .2s; }
.bz-gallery__main:hover .bz-gallery__zoom, .bz-gallery__zoom:focus-visible { opacity: 1; transform: none; }
@media (hover: none) { .bz-gallery__zoom { opacity: 1; transform: none; } }
.bz-gallery__zoom:hover { background: var(--nzc-text); color: var(--nzc-bg); }
.bz-lightbox { position: fixed; inset: 0; z-index: 300; width: 100vw; height: 100dvh; max-width: none; max-height: none; margin: 0; padding: 0; border: 0; background: transparent; color: #fff; }
.bz-lightbox::backdrop { background: rgba(12, 9, 16, .96); }
.bz-lightbox[open] { animation: bz-fade .25s both; }
.bz-lightbox__in { position: relative; display: flex; flex-direction: column; width: 100%; height: 100%; }
.bz-lightbox__bar { display: flex; align-items: center; justify-content: space-between; padding: 1rem 1.1rem; }
.bz-lightbox__count { font-size: .95rem; opacity: .85; }
.bz-lightbox__x { display: grid; place-items: center; width: 2.4rem; height: 2.4rem; border: 1.5px solid rgba(255, 255, 255, .5); border-radius: var(--nzc-r-s); background: transparent; color: #fff; cursor: pointer; } .bz-lightbox__x:hover { background: #fff; color: #000; }
.bz-lightbox__stage { position: relative; flex: 1; overflow: hidden; touch-action: none; display: flex; align-items: center; justify-content: center; cursor: zoom-in; }
.bz-lightbox__stage.is-zoomed { cursor: grab; }
.bz-lightbox__slide { display: flex; align-items: center; justify-content: center; width: 100%; height: 100%; }
.bz-lightbox__slide img, .bz-lightbox__slide svg { max-width: 92vw; max-height: 78dvh; width: auto; height: auto; object-fit: contain; touch-action: none; user-select: none; -webkit-user-drag: none; transform-origin: center center; transition: transform .15s var(--nzc-ease-out); will-change: transform; }
.bz-lightbox__stage.is-zoomed .bz-lightbox__slide img, .bz-lightbox__stage.is-zoomed .bz-lightbox__slide svg { transition: none; }
.bz-lightbox__nav { position: absolute; top: 50%; translate: 0 -50%; z-index: 2; display: grid; place-items: center; width: 2.8rem; height: 2.8rem; border: 1.5px solid rgba(255, 255, 255, .5); border-radius: 50%; background: rgba(0, 0, 0, .35); color: #fff; cursor: pointer; } .bz-lightbox__nav:hover { background: #fff; color: #000; }
.bz-lightbox__nav--prev { inset-inline-start: 1rem; } .bz-lightbox__nav--next { inset-inline-end: 1rem; }
.bz-lightbox__nav--next svg { transform: rotate(180deg); }
.bz-lightbox__hint { padding: 0 0 1rem; text-align: center; font-size: .8rem; opacity: .65; }
@media (max-width: 640px) { .bz-lightbox__nav { width: 2.3rem; height: 2.3rem; } .bz-lightbox__hint { display: none; } }
.bz-byline__tools { margin-inline-start: auto; }
.bz-modal__pic { display: grid; grid-template-columns: auto 1fr; gap: 1rem; align-items: center; } .bz-modal__pic img { width: 6rem; height: auto; }
.bz-cardbox { display: flex; flex-direction: column; gap: .5rem; padding: .9rem 1rem; border: 1.5px dashed var(--nzc-text-2); border-radius: var(--nzc-r-m); background: var(--nzc-surface-2); } .bz-cardbox b { font-family: var(--nzc-font-display); font-size: 1.4rem; letter-spacing: .03em; }
.bz-code { padding: .4rem 1.2rem; border: 2px dashed var(--nzc-text); border-radius: var(--nzc-r-m); font-family: var(--nzc-font-display); font-size: 1.8rem; letter-spacing: .12em; }
.bz-formdone { display: flex; flex-direction: column; align-items: center; gap: .8rem; padding: 2rem 1rem; text-align: center; border: 2px dashed var(--nzc-success); border-radius: var(--nzc-r-m); background: var(--nzc-surface); animation: bz-pane .4s both; }
.bz-formdone img { width: 6.5rem; height: auto; }
.bz-plans--pair { grid-template-columns: repeat(2, 1fr); }
.bz-rev.bz-box { animation: bz-pop .5s var(--nzc-ease-bouncy) both; }

@media print {
  .bz-mast, .bz-foot, .bz-tabbar, .nzc-tswitch, .bz-totop, .bz-consent, .bz-mbar, .bz-quick, .bz-similar, .bz-artside .bz-box, .bz-tips, .bz-pricecard__act, .bz-offer, .bz-byline__tools, .bz-gallery__thumbs, .nzc-lattice, .nzc-atmo, .bz-crumb, .nzc-map { display: none !important; }
  body, .bz { background: #fff !important; color: #000 !important; } .bz-artgrid { grid-template-columns: 1fr 14rem; } .bz-gallery__main { max-height: 14rem; }
  .bz-pricecard { box-shadow: none; } .bz-phone .nzc-btn { display: none; } .bz-phone__num { display: flex !important; }
  a { color: inherit; text-decoration: none; }
}

/* real photos (the real site): the demo art is SVG, photos are <img> and need their own sizing */
.bz-tk__thumb > img { display: block; width: 100%; height: 100%; min-height: 5.5rem; object-fit: cover; }
.bz-plate:not(.bz-plate--none) > img { display: block; width: 100%; height: 100%; object-fit: contain; background: var(--nzc-surface-2); }
.bz-thumb span > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.bz-myad__thumb > img { display: block; width: 100%; height: 100%; object-fit: cover; }

/* narrow screens: grid columns must be allowed to shrink (min-content of wide children made whole pages scroll sideways) */
@media (max-width: 980px) {
  .bz-loginwrap, .bz-postgrid, .bz-acctgrid, .bz-infogrid, .bz-aboutgrid, .bz-revgrid, .bz-walletgrid, .bz-contactgrid { grid-template-columns: minmax(0, 1fr); }
  .bz-loginwrap > *, .bz-postgrid > *, .bz-acctgrid > *, .bz-infogrid > * { min-width: 0; }
  .bz-panes, .bz-pane, .bz-wizard, .bz-panel { min-width: 0; max-width: 100%; }
}
@media (max-width: 640px) {
  .bz-fields2, .bz-plans, .bz-plancards { grid-template-columns: minmax(0, 1fr); }
  .bz-field, .bz-field__box { min-width: 0; max-width: 100%; }
  .bz-field__box input, .bz-field__box select { min-width: 0; max-width: 100%; }
  .bz-ptabs, .bz-chiprow { flex-wrap: wrap; max-width: 100%; }

  .bz-scrub, .bz-scrub__f { min-width: 0; max-width: 100%; }
  .bz-acctnav { max-width: 100%; }
}

/* polish: bigger real photos, photos kept on phones, calmer cookie card, image placeholders, visible keyboard focus */
@media (min-width: 981px) { .bz .nzc-ticket { grid-template-columns: 8.4rem 1fr 9.6rem; } .bz-tk__thumb > img { min-height: 6.6rem; } }
@media (max-width: 640px) {
  .bz .nzc-ticket { grid-template-columns: 5.6rem 1fr 4.9rem; }
  .bz-tk__thumb { display: block; margin: .45rem; align-self: start; aspect-ratio: 1; }   /* the no-photo art is absolutely positioned, so the box needs its own height (else the art and the heart vanish) */
  .bz-tk__thumb > img, .bz-tk__thumb .nzc-art { aspect-ratio: 1; min-height: 0; height: 100%; }
  .bz-tickets.is-text .bz-tk__thumb { display: none; }
}
.bz-consent { inset-inline-start: auto; inset-inline-end: 1rem; margin-inline: 0; max-width: 22rem; padding: .8rem 1rem; font-size: .88rem; }
@media (max-width: 760px) { .bz-consent { inset-inline: 1rem; max-width: none; } }
@keyframes bz-shimmer { to { background-position: -200% 0; } }
.bz-tk__thumb > img, .bz-plate > img, .bz-thumb span > img, .bz-myad__thumb > img { background: linear-gradient(110deg, var(--nzc-surface-2) 30%, var(--nzc-line) 50%, var(--nzc-surface-2) 70%) 0 0 / 200% 100%; animation: bz-shimmer 1.4s linear infinite; }
@media (prefers-reduced-motion: reduce) { .bz-tk__thumb > img, .bz-plate > img, .bz-thumb span > img, .bz-myad__thumb > img { animation: none; } }
.bz a:focus-visible, .bz button:focus-visible, .bz input:focus-visible, .bz select:focus-visible, .bz-tabbar a:focus-visible { outline: 3px solid color-mix(in srgb, var(--nzc-primary) 60%, transparent); outline-offset: 2px; border-radius: 4px; }
.bz .nzc-ticket { transition: transform .25s var(--nzc-ease-out), box-shadow .25s; } .bz .nzc-ticket:hover { transform: translateY(-2px); }
.bz-pricecard__top .nzc-stamp:empty { display: none; }
.bz-prose--1 { max-width: 46rem; }

/* ---- Compact masthead on tablet/mobile ----
   Below ~980px the category nav used to wrap into 3-8 centered rows and the brand, buttons, tagline and
   date each stacked on their own line, so the header alone ate nearly half of a phone screen before any
   content. Now: brand + buttons share one row, the category strip is a single swipeable row (a common,
   thumb-friendly pattern), and the tagline/date drop away on phones where the bottom tab bar already
   carries the primary actions. Desktop (>980px) is untouched. */
@media (max-width: 980px) {
  .bz-mast__top { grid-template-columns: 1fr auto; grid-template-areas: "brand act" "loc loc"; text-align: start; gap: .35rem .8rem; padding-block: .7rem .2rem; }
  .bz-mast__top > .bz-brand { grid-area: brand; justify-self: start; }
  .bz-mast__top > .bz-top-actions { grid-area: act; justify-content: flex-end; flex-wrap: nowrap; }
  .bz-mast__top > .bz-mast__l { grid-area: loc; justify-content: flex-start; }
  .bz-brand { gap: .5rem; } .bz-brand__name { font-size: clamp(1.9rem, 6.2vw, 2.6rem); }
  .bz-tagline { padding-bottom: .45rem; font-size: .82rem; text-align: start; }
  .bz-nav { flex-wrap: nowrap; justify-content: flex-start; overflow-x: auto; white-space: nowrap; scrollbar-width: none; -webkit-overflow-scrolling: touch; margin-inline: calc(var(--nzc-gutter, 1rem) * -1); padding-inline: var(--nzc-gutter, 1rem); }
  .bz-nav::-webkit-scrollbar { display: none; }
  .bz-nav a { flex: none; padding: .35rem .8rem; }
}
@media (max-width: 640px) {
  .bz-brand .bz-orn { display: none; } .bz-brand__name { font-size: clamp(1.6rem, 8vw, 2.1rem); }
  .bz-date, .bz-tagline { display: none; }
  .bz-top-actions .nzc-btn { padding-inline: .7rem; } .bz-top-actions .nzc-btn--outline { display: none; }
}

/* price step: the tabs never overlap (the gliding thumb only fits one row, so here the selected tab is filled itself),
   the amount is read back in words, and quick-add chips make big numbers easy to type on a phone */
.bz-ptabs { display: grid; grid-template-columns: repeat(auto-fit, minmax(6.4rem, 1fr)); width: 100%; gap: .25rem; }
.bz-ptabs .nzc-tabs__thumb { display: none; }
.bz-ptabs .nzc-tabs__tab { padding: .6rem .4rem; text-align: center; white-space: nowrap; }
.bz-ptabs .nzc-tabs__tab[aria-selected="true"], .tp-bazar .bz-ptabs .nzc-tabs__tab[aria-selected="true"] { background: var(--nzc-text); color: var(--nzc-bg); }
.bz-scrub__f input { font-size: 1.5rem; }
.bz-scrub__words { color: var(--nzc-primary); font-weight: 800; line-height: 1.7; }
.bz-scrub__words.is-empty { color: var(--nzc-text-2); font-weight: 500; font-size: .82rem; }
.bz-scrub__q { display: flex; flex-wrap: wrap; gap: .4rem; margin-top: .7rem; justify-content: center; }
.bz-scrub__clr { color: var(--nzc-danger); }
@media (max-width: 640px) { .bz-scrub__b { width: 2.8rem; height: 3rem; font-size: 1.3rem; } .bz-scrub__f input { height: 3rem; font-size: 1.3rem; } .bz-scrub { padding: .85rem .8rem; } }
.bz-scrub__words { font-size: 1.02rem; }
@media (max-width: 520px) { .bz-ptabs { grid-template-columns: repeat(2, 1fr); } .bz-ptabs > button:last-of-type:nth-of-type(odd) { grid-column: 1 / -1; } }
.bz-hours__custom { display: flex; flex-wrap: wrap; gap: .6rem 1rem; margin-top: .6rem; }
.bz-hours__custom label { display: flex; align-items: center; gap: .4rem; font-size: .88rem; }
.bz-hours__custom select { padding: .45rem .6rem; border: 1.5px solid var(--nzc-text); border-radius: var(--nzc-r-s); background: var(--nzc-surface); color: var(--nzc-text); font: inherit; }

/* AI helpers of the ad form: title suggestions and the "what is missing" list */
.bz-titlesug { margin: -.2rem 0 1rem; padding: .7rem .8rem; border: 1.5px dashed var(--nzc-text-2); border-radius: var(--nzc-r-m); background: var(--nzc-surface-2); }
.bz-titlesug .bz-chiprow { margin-top: .5rem; flex-direction: column; align-items: stretch; }
.bz-titlesug .nzc-chip { text-align: start; white-space: normal; line-height: 1.6; }
.bz-inbtn.is-busy { opacity: .6; pointer-events: none; }
.bz-proof__tips { margin-top: .8rem; padding: .7rem .9rem; border-radius: var(--nzc-r-m); background: var(--nzc-surface-2); border: 1.5px solid var(--nzc-line); }
.bz-proof__tips ul { margin: .4rem 0 0; padding-inline-start: 1.2rem; display: grid; gap: .25rem; }

/* categories page: long sub-category lists fold after eight */
.bz-catcol__more { margin-top: .5rem; }
.bz-catcol__more summary { cursor: pointer; list-style: none; font-weight: 800; font-size: .86rem; padding: .45rem .2rem; color: var(--nzc-primary); }
.bz-catcol__more summary::-webkit-details-marker { display: none; }
.bz-catcol__more[open] summary { color: var(--nzc-text-2); }

/* "توافقی" / "رایگان" / "معاوضه" are words, not amounts: quieter than a real price so a list of unpriced ads doesn't shout */
.nzc-ticket__stub .bz-price.is-word { font-size: 1.05rem; font-weight: 700; color: var(--nzc-text-2); }
