/* Peza site styles; fonts are linked in base.html. */
:root {
  --peza-font-size-base: 16px; /* Adjust this once to scale typography across the site. */
  --paper: #f8f8f5;
  --surface: #ffffff;
  --ink: #171915;
  --ink-soft: #59645d;
  --line: #e4e2da;
  --lake: #f2a007;
  --lake-dark: #9c6500;
  --lake-tint: #fff3d5;
  --green: #16744f;
  --green-dark: #105b3d;
  --green-tint: #e8f3ed;
  --sun: #f2a007;
  --flag-red: #c8372d;
  --radius: 14px;
  --gutter: clamp(16px, 4vw, 72px);
  --display: 'Plus Jakarta Sans', 'Helvetica Neue', Arial, sans-serif;
  --body: 'DM Sans', 'Helvetica Neue', Arial, sans-serif;
  color-scheme: light;
}
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; font-size: var(--peza-font-size-base); }
html { height: 100%; }
body { margin: 0; min-height: 100vh; min-height: 100dvh; display: flex; flex-direction: column; width: 100%; background: var(--paper); color: var(--ink); font: 400 1rem/1.6 var(--body); -webkit-font-smoothing: antialiased; }
img, svg { max-width: 100%; display: block; }
a { color: inherit; text-decoration: none; }
h1, h2, h3 { font-family: var(--display); line-height: 1.08; letter-spacing: -0.02em; margin: 0; }
:focus-visible { outline: 3px solid var(--sun); outline-offset: 2px; border-radius: 6px; }

/* ---------- Header ---------- */
.site-header { position: sticky; top: 0; z-index: 50; background: rgba(248,248,245,.92); backdrop-filter: blur(10px); border-bottom: 1px solid var(--line); }
.nav-shell { width: 100%; padding: 0 var(--gutter); height: 68px; display: flex; align-items: center; gap: 32px; }
.brand { display: inline-flex; align-items: center; gap: 10px; font: 800 1.5rem/1 var(--display); letter-spacing: -0.03em; }
.brand-mark { width: 34px; height: 34px; border-radius: 10px 10px 10px 4px; background: var(--lake); color: #fff; display: grid; place-items: center; font-size: 1.1875rem; }
.brand-period { color: var(--sun); }
.main-nav { display: flex; gap: 4px; }
.main-nav a { padding: 8px 14px; border-radius: 999px; font-weight: 500; color: var(--ink-soft); transition: background .15s, color .15s; }
.main-nav a:hover { background: var(--lake-tint); color: var(--lake-dark); }
.nav-actions { margin-left: auto; display: flex; align-items: center; gap: 10px; }
.nav-account { padding: 8px 14px; font-weight: 500; border-radius: 999px; }
.nav-account:hover { background: var(--lake-tint); }
.header-quick-actions { display: flex; flex: 0 0 auto; align-items: center; gap: 5px; }
.header-utility-menu { position: relative; }
.header-utility-menu > summary { list-style: none; }
.header-utility-menu > summary::-webkit-details-marker { display: none; }
.header-utility-button { display: grid; width: 38px; height: 38px; place-items: center; border: 1px solid transparent; border-radius: 50%; background: transparent; color: var(--ink-soft); cursor: pointer; transition: background .15s, color .15s, border-color .15s; }
.header-utility-button:hover,.header-utility-menu[open] > .header-utility-button { border-color: var(--line); background: var(--surface); color: var(--lake-dark); }
.header-utility-button .ui-button-icon { width: 19px; height: 19px; }
.header-utility-popover { position: absolute; top: calc(100% + 11px); right: -8px; z-index: 90; width: 245px; padding: 16px; border: 1px solid var(--line); border-radius: 13px; background: var(--surface); color: var(--ink); box-shadow: 0 15px 38px rgba(20,32,27,.17); }
.header-utility-popover strong { display: block; font: 700 0.8125rem var(--display); }
.header-utility-popover p { margin: 7px 0 0; color: var(--ink-soft); font-size: 0.6875rem; }
.header-utility-popover a { display: inline-flex; gap: 6px; margin-top: 11px; color: var(--lake-dark); font-size: 0.6875rem; font-weight: 700; }
.nav-logout button, .mobile-logout { font: inherit; font-weight: 500; color: var(--ink-soft); background: none; border: 0; padding: 8px 10px; cursor: pointer; }
.nav-logout button:hover, .mobile-logout:hover { color: var(--flag-red); }

/* ---------- Buttons ---------- */
.button { display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 14px 24px; border-radius: 999px; border: 0; background: var(--lake); color: var(--ink); font: 600 1rem/1 var(--body); cursor: pointer; transition: background .15s, transform .15s; }
.button:hover { background: var(--lake-dark); transform: translateY(-1px); }
.button-small { padding: 10px 18px; font-size: 0.90625rem; }
.button-sun { background: var(--sun); color: var(--ink); }
.button-sun:hover { background: #e19400; }
.button-ghost { background: transparent; color: var(--ink); box-shadow: inset 0 0 0 1.5px var(--ink); }
.button-ghost:hover { background: var(--ink); color: #fff; }

/* ---------- Mobile menu (details/summary) ---------- */
.mobile-menu { display: none; margin-left: auto; position: relative; }
.mobile-menu summary { list-style: none; width: 44px; height: 44px; border-radius: 12px; border: 1.5px solid var(--line); background: var(--surface); cursor: pointer; display: flex; flex-direction: column; justify-content: center; align-items: center; gap: 5px; }
.mobile-menu summary::-webkit-details-marker { display: none; }
.mobile-menu summary span { width: 18px; height: 2px; background: var(--ink); border-radius: 2px; transition: transform .2s, opacity .2s; }
.mobile-menu[open] summary span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.mobile-menu[open] summary span:nth-child(2) { opacity: 0; }
.mobile-menu[open] summary span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
.mobile-menu nav { position: absolute; right: 0; top: 54px; width: min(300px, calc(100vw - 40px)); background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); padding: 8px; box-shadow: 0 18px 40px -12px rgba(20,32,27,.25); display: flex; flex-direction: column; }
.mobile-menu nav a, .mobile-logout { padding: 13px 14px; border-radius: 10px; font-weight: 500; text-align: left; width: 100%; }
.mobile-menu nav a:hover { background: var(--lake-tint); }
.mobile-menu nav a:last-child:not(:first-child) { background: var(--lake); color: #fff; text-align: center; margin-top: 6px; }

/* ---------- Layout ---------- */
.page-shell { flex: 1 0 auto; width: 100%; padding: 32px var(--gutter) 80px; }
.full-bleed { width: 100%; }
.skip-link { position: absolute; left: 12px; top: -60px; z-index: 100; background: var(--ink); color: #fff; padding: 10px 16px; border-radius: 10px; }
.skip-link:focus { top: 12px; }
.section { margin-top: 72px; }
.section-head { display: flex; align-items: end; justify-content: space-between; gap: 16px; margin-bottom: 24px; }
.section-head h2 { font-size: clamp(1.625rem, 4vw, 2.375rem); }
.section-head a { font-weight: 600; color: var(--lake); }
.section-head a:hover { text-decoration: underline; }

/* ---------- Messages ---------- */
.messages { list-style: none; margin: 0 0 24px; padding: 0; display: grid; gap: 10px; }
.message { padding: 14px 18px; border-radius: 12px; background: var(--lake-tint); border-left: 4px solid var(--lake); font-weight: 500; }
.message.error, .message.danger { background: #fbe9e7; border-color: var(--flag-red); }
.message.warning { background: #fff3d6; border-color: var(--sun); }

/* ---------- Home: hero ---------- */
.hero { position: relative; overflow: hidden; border-radius: 28px; background: var(--lake-dark); color: #fff; padding: clamp(36px, 7vw, 84px) clamp(22px, 5vw, 64px); isolation: isolate; }
.hero h1 { font-size: clamp(2.25rem, 6.4vw, 4.5rem); max-width: 15ch; font-weight: 800; }
.hero p { max-width: 46ch; font-size: clamp(1rem, 2vw, 1.1875rem); color: #cfe6e0; margin: 20px 0 0; }
.hero-sun { position: absolute; right: -90px; bottom: -150px; width: min(560px, 90vw); z-index: -1; }
.search { margin-top: 32px; width: 100%; display: flex; flex-wrap: wrap; gap: 8px; background: var(--surface); padding: 8px; border-radius: 22px; max-width: 780px; color: var(--ink); box-shadow: 0 20px 50px -20px rgba(0,0,0,.5); }
.search label { flex: 1 1 200px; display: flex; align-items: center; gap: 10px; padding: 0 14px; border-radius: 14px; }
.search label:focus-within { background: var(--lake-tint); }
.search svg { flex: none; color: var(--lake); }
.search input, .search select { width: 100%; height: 52px; border: 0; background: transparent; font: 500 1rem var(--body); color: var(--ink); outline: none; }
.search .button { flex: 1 1 140px; height: 52px; }
.chips { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 18px; }
.chip { padding: 8px 14px; border-radius: 999px; background: rgba(255,255,255,.12); color: #fff; font-size: 0.875rem; font-weight: 500; transition: background .15s; }
.chip:hover { background: rgba(255,255,255,.24); }

/* ---------- Categories ---------- */
.category-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 12px; }
.category { background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); padding: 18px; display: grid; gap: 14px; font-weight: 600; transition: border-color .15s, transform .15s; }
.category:hover { border-color: var(--lake); transform: translateY(-2px); }
.category svg { width: 28px; height: 28px; color: var(--lake); }

/* ---------- Cards ---------- */
.card-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 270px), 1fr)); gap: 20px; }
.card { background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); overflow: hidden; display: flex; flex-direction: column; transition: box-shadow .2s, transform .2s; }
.card:hover { transform: translateY(-3px); box-shadow: 0 16px 34px -18px rgba(20,32,27,.35); }
.card-cover { height: 150px; display: grid; place-items: center; color: rgba(255,255,255,.9); }
.card-body { padding: 18px; display: grid; gap: 6px; }
.card-body h3 { font-size: 1.25rem; }
.card-meta { color: var(--ink-soft); font-size: 0.90625rem; display: flex; align-items: center; gap: 6px; }
.badge { display: inline-block; justify-self: start; font-size: 0.78125rem; font-weight: 600; padding: 4px 10px; border-radius: 999px; background: var(--lake-tint); color: var(--lake-dark); }
.badge-open { background: #e6f4e1; color: #2c6b1f; }

/* ---------- Events ---------- */
.event-list { display: grid; gap: 12px; }
.event { display: grid; grid-template-columns: 76px 1fr auto; align-items: center; gap: 18px; background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); padding: 14px 18px 14px 14px; transition: border-color .15s; }
.event:hover { border-color: var(--lake); }
.event-date { text-align: center; background: var(--paper); border-radius: 12px; padding: 10px 0; font-family: var(--display); }
.event-date b { display: block; font-size: 1.75rem; line-height: 1; }
.event-date span { font-size: 0.8125rem; font-weight: 600; color: var(--flag-red); }
.event h3 { font-size: 1.1875rem; }

/* ---------- Call to action ---------- */
.cta { margin-top: 72px; border-radius: 28px; background: var(--sun); padding: clamp(28px, 5vw, 56px); display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 24px; }
.cta h2 { font-size: clamp(1.625rem, 4vw, 2.5rem); max-width: 18ch; }
.cta p { margin: 10px 0 0; max-width: 44ch; }
.cta .button { background: var(--ink); }

/* ---------- Footer ---------- */
.site-footer { flex-shrink: 0; width: 100%; background: var(--ink); color: #d7e0dc; }
.footer-inner { width: 100%; padding: 48px var(--gutter); display: grid; grid-template-columns: 1.2fr 1fr auto; gap: 20px 40px; align-items: start; }
.footer-brand { color: #fff; }
.footer-inner p { margin: 0; color: #9fb2aa; grid-column: 1; }
.footer-inner nav { grid-column: 2; grid-row: 1 / span 2; display: grid; gap: 8px; }
.footer-inner nav a:hover { color: var(--sun); }
.footer-inner .footer-social-label { margin-top: 10px; color: inherit; font-size: .68rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.footer-inner .footer-social-links { display: flex; flex-wrap: wrap; gap: 8px; }
.footer-inner .footer-social-links a { display: grid; width: 34px; height: 34px; place-items: center; border: 1px solid currentColor; border-radius: 50%; color: inherit; transition: color .18s ease,border-color .18s ease,background .18s ease,transform .18s ease; }
.footer-inner .footer-social-links a:hover { transform: translateY(-2px); border-color: var(--sun); background: var(--sun); color: var(--ink); }
.footer-inner .footer-social-links svg { width: 16px; height: 16px; }
.footer-inner .peza-legal-links { grid-column: 3; grid-row: 1 / span 2; display: grid; gap: 8px; }
.peza-legal-links a { color: inherit; text-decoration: none; }
.peza-legal-links a:hover { color: var(--sun); text-decoration: underline; }
.footer-inner small { grid-column: 1 / -1; padding-top: 24px; border-top: 1px solid rgba(255,255,255,.12); color: #8aa096; }
.peza-profile-legal-links { margin: 26px 0 10px; padding: 16px 0; border-top: 1px solid #dfe5df; }
.peza-profile-legal-links .peza-legal-links { display: flex; flex-wrap: wrap; gap: 10px 22px; }
.peza-profile-legal-links .peza-legal-links a { color: #58655d; font-size: .875rem; }
.peza-auth-legal-footer .peza-legal-links { display: flex; width: min(100%,420px); flex-wrap: wrap; justify-content: center; gap: 8px 16px; margin: 12px auto 0; }
.peza-auth-legal-footer .peza-legal-links a { color: #6f7972; font-size: .72rem; text-decoration: none; }
.peza-auth-legal-footer .peza-legal-links a:hover { text-decoration: underline; }
.peza-policy-shell { width: min(100%,820px); margin: 0 auto; padding: 30px 0 70px; }
.peza-policy-shell > .eyebrow { color: #a36b00; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.peza-policy-shell h1 { margin: 7px 0 12px; font-size: clamp(2rem,5vw,3.15rem); }
.peza-policy-lead { max-width: 68ch; color: #59665d; font-size: 1.1rem; line-height: 1.6; }
.peza-policy-updated,.peza-policy-note { color: #758078; font-size: .86rem; }
.peza-policy-shell section { margin-top: 28px; }
.peza-policy-shell section h2 { margin-bottom: 8px; font-size: 1.2rem; }
.peza-policy-shell section p { color: #4f5c53; line-height: 1.75; }
.peza-policy-shell a { color: #996000; font-weight: 650; }
.peza-support-card { display: grid; grid-template-columns: 52px minmax(0,1fr); gap: 16px; margin: 28px 0; padding: 22px; border: 1px solid #e1e5df; border-radius: 16px; background: #fff; }
.peza-support-icon { display: grid; width: 48px; height: 48px; place-items: center; border-radius: 13px; background: #fff1d2; color: #9a6300; }
.peza-support-card h2 { margin: 1px 0 8px; }
.peza-support-card p { color: #657168; line-height: 1.6; }
@media (max-width: 700px) { .footer-inner { grid-template-columns: 1fr 1fr; gap: 18px; } .footer-inner nav { grid-column: 1; grid-row: 3; } .footer-inner .peza-legal-links { grid-column: 2; grid-row: 3; } .peza-policy-shell { padding-top: 18px; } }

/* ---------- Responsive ---------- */
@media (max-width: 860px) {
  .main-nav, .nav-actions { display: none; }
  .mobile-menu { display: block; }
  .header-quick-actions { margin-left: auto; }
  .nav-shell { gap: 16px; }
  .section { margin-top: 56px; }
}
@media (max-width: 640px) {
  .page-shell { padding-top: 20px; padding-bottom: 56px; }
  .hero { border-radius: 22px; }
  .search { border-radius: 18px; }
  .event { grid-template-columns: 64px 1fr; }
  .event .badge, .event .button { grid-column: 2; justify-self: start; }
  .footer-inner { grid-template-columns: 1fr; }
  .footer-inner nav { grid-column: 1; grid-row: auto; }
}

/* Integration setup mirrors the compact create dialog treatment. */
.peza-integration-dialog { width: min(100%,1100px); margin: 0 auto 24px; border-radius: 14px; }
.peza-integration-dialog .peza-create-dialog-header { min-height: 67px; padding: 13px 18px; }
.peza-integration-dialog .peza-create-dialog-header h1 { font-size: 1.0625rem; }
.peza-integration-dialog .peza-create-dialog-header p:last-child { font-size: 0.5625rem; }
.peza-integration-dialog-body { display: grid; grid-template-columns: 210px minmax(0,1fr); align-items: stretch; }
.peza-integration-guide { align-self: stretch; padding: 18px; background: #f1f7f8; }
.peza-integration-guide-art { display: grid; width: 100%; height: 104px; place-items: center; margin-bottom: 13px; border-radius: 11px; background: #fff; }
.peza-integration-guide-art svg { width: 116px; height: 90px; fill: none; stroke: #16a6ca; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.peza-integration-guide h2 { margin: 0 0 7px; color: #34413b; font-size: 0.8125rem; line-height: 1.35; }
.peza-integration-guide > p { margin: 0; color: #67736d; font-size: 0.5625rem; line-height: 1.6; }
.peza-integration-guide-rule { height: 1px; margin: 15px 0 12px; background: #dce5e5; }
.peza-integration-guide ol { display: grid; gap: 10px; margin: 0; padding: 0; list-style: none; }
.peza-integration-guide li { display: flex; align-items: center; gap: 8px; color: #647069; font-size: 0.5rem; }
.peza-integration-guide li b { display: grid; width: 18px; height: 18px; flex: 0 0 18px; place-items: center; border-radius: 50%; background: #fff; color: #a56a0a; font-size: 0.5rem; }
.peza-integration-guide > small { display: block; margin-top: 14px; color: #87918c; font-size: 0.5rem; line-height: 1.45; }
.peza-integration-main { min-width: 0; padding: 17px 19px; }
.peza-integration-payment-block { padding-bottom: 16px; border-bottom: 1px solid #e8ece9; }
.peza-integration-form-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 11px; }
.peza-integration-form-heading label { display: block; margin-bottom: 3px; color: #7a8580; font-size: 0.5rem; font-weight: 800; letter-spacing: .11em; }
.peza-integration-form-heading h2 { margin: 0 0 3px; color: #303a35; font-size: 0.8125rem; }
.peza-integration-form-heading p { margin: 0; color: #79837e; font-size: 0.5625rem; line-height: 1.4; }
.peza-payment-provider-logo { width: 96px; height: 35px; flex-basis: 96px; padding: 4px; border-radius: 7px; }
.peza-payment-provider-logo img { max-width: 100%; max-height: 100%; }
.peza-payment-connection-card { min-height: 57px; gap: 9px; padding: 9px 10px; border-radius: 9px; }
.peza-payment-provider-copy strong { font-size: 0.5625rem; }
.peza-payment-provider-copy span { font-size: 0.5rem; }

/* ---------- Dark ticketing header ---------- */
.site-header { background: #080708; border: 0; color: #f7f5f5; backdrop-filter: none; }
.header-promo { min-height: 54px; display: flex; align-items: center; justify-content: center; gap: 4px; padding: 10px 20px; background: #10090a; color: #f4eeee; font-size: .875rem; text-align: center; }
.header-promo a { color: #f28a18; font-weight: 700; text-decoration: underline; text-underline-offset: 2px; }
.nav-shell { height: 92px; gap: clamp(14px, 2.3vw, 34px); padding: 0 clamp(22px, 2.2vw, 44px); }
.brand { flex: 0 0 auto; gap: 7px; color: #fff; font-size: 1.35rem; }
.brand-mark { width: 36px; height: 36px; border-radius: 0; background: transparent; }
.brand-mark img { width: 100%; height: 100%; object-fit: contain; }
.brand-period { color: #f28a18; }
.header-search { display: flex; flex: 0 1 313px; align-items: center; gap: 10px; height: 48px; min-width: 180px; padding: 0 12px; border-radius: 10px; background: #303034; color: #d2d0d2; }
.header-search .ui-button-icon { width: 17px; height: 17px; flex: 0 0 17px; stroke: currentColor; fill: none; stroke-width: 1.7; }
.header-search input { width: 100%; min-width: 0; border: 0; outline: 0; background: transparent; color: #fff; font: 400 .8125rem var(--body); }
.header-search input::placeholder { color: #d2d0d2; opacity: 1; }
.header-location { display: inline-flex; flex: 0 0 auto; align-items: center; gap: 9px; color: #f4f2f3; font-size: .8125rem; white-space: nowrap; }
.header-location .ui-button-icon { width: 19px; height: 19px; stroke: currentColor; fill: none; stroke-width: 1.8; }
.location-chevron { width: 8px; height: 8px; margin: -4px 0 0 1px; transform: rotate(45deg); border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; }
.main-nav { flex: 1 1 auto; justify-content: flex-end; gap: clamp(14px, 2.1vw, 36px); margin-left: auto; }
.main-nav a { padding: 8px 0; border-radius: 0; color: #f3f1f2; font-size: .8125rem; white-space: nowrap; }
.main-nav a:hover,.nav-account:hover { background: transparent; color: #f28a18; }
.nav-actions { flex: 0 0 auto; gap: 15px; margin-left: 0; }
.nav-account { display: inline-flex; align-items: center; gap: 9px; padding: 8px 0; color: #f3f1f2; font-size: .8125rem; white-space: nowrap; }
.nav-account .ui-button-icon { width: 20px; height: 20px; stroke: currentColor; fill: none; stroke-width: 1.7; }
.header-discover { display: inline-flex; min-height: 44px; align-items: center; justify-content: center; padding: 0 17px; background: #fff; color: #171416; font-size: .8125rem; white-space: nowrap; }
.header-discover:hover { background: #f28a18; color: #160f09; }
.header-quick-actions { display: none; }
.header-account-menu { flex: 0 0 auto; margin-left: -7px; }
.header-account-menu > summary { width: 31px; height: 31px; border: 0; background: transparent; color: #fff; box-shadow: none; }
.header-account-menu > summary .ui-button-icon { width: 21px; height: 21px; stroke: currentColor; fill: none; stroke-width: 1.7; }
.mobile-menu { display: none; }
@media (max-width: 1050px) {
  .nav-shell { gap: 15px; }
  .main-nav { gap: 16px; }
  .nav-actions { gap: 11px; }
  .header-search { flex-basis: 245px; }
}
@media (max-width: 860px) {
  .header-promo { min-height: 42px; font-size: .75rem; }
  .nav-shell { height: 72px; gap: 13px; }
  .header-search { flex: 1 1 auto; min-width: 120px; }
  .main-nav,.nav-actions { display: none; }
  .mobile-menu { display: block; order: 4; margin-left: 0; }
  .mobile-menu summary { width: 40px; height: 40px; border-color: #363237; background: #191619; }
  .mobile-menu summary span { background: #fff; }
  .mobile-menu nav { top: 50px; background: #151215; border-color: #39343a; color: #fff; }
  .mobile-menu nav a { color: #fff; }
  .mobile-menu nav a:hover { background: #292329; }
  .mobile-menu nav a:last-child:not(:first-child) { background: #fff; color: #171416; }
  .header-quick-actions { display: flex; order: 2; margin-left: auto; }
  .header-quick-actions .header-currency,.header-utility-menu { display: none; }
  .header-account-menu { order: 3; margin-left: 0; }
}
@media (max-width: 520px) {
  .header-promo { min-height: 38px; padding: 8px 10px; font-size: .6875rem; }
  .nav-shell { height: 66px; padding: 0 14px; gap: 10px; }
  .brand { gap: 4px; font-size: 1.15rem; }
  .brand-mark { width: 30px; height: 30px; }
  .header-search { height: 40px; gap: 6px; min-width: 90px; padding: 0 9px; }
  .header-search input { font-size: .6875rem; }
  .header-account-menu { display: none; }
}

/* Keep the light theme last in the cascade. */
.site-header { background: rgba(248,248,245,.96); border-bottom: 1px solid #e4e4dc; color: #14201b; }
.header-promo { background: #f0f1ed; color: #37423b; }
.header-promo a { color: #a86400; }
.brand,.main-nav a,.nav-account,.header-location { color: #14201b; }
.brand-period { color: #a86400; }
.header-search { background: #eceeea; color: #59645d; }
.header-search input { color: #14201b; }
.header-search input::placeholder { color: #69736d; }
.main-nav a:hover,.nav-account:hover { color: #a86400; }
.header-discover { background: #14201b; color: #fff; }
.header-discover:hover { background: #26352d; color: #fff; }
.mobile-menu summary { border-color: #d9ded9; background: #fff; }
.mobile-menu summary span { background: #14201b; }
.mobile-menu nav { background: #fff; border-color: #dfe3dd; }
.mobile-menu nav a { color: #14201b; }
.mobile-menu nav a:hover { background: #f1f3ee; }
.mobile-menu nav a:last-child:not(:first-child) { background: #14201b; color: #fff; }
.header-account-menu > summary { color: #14201b; }
.home-page .hero {
  background-color: #171614;
  background-image: linear-gradient(90deg,rgba(12,12,12,.58) 0%,rgba(12,12,12,.34) 48%,rgba(12,12,12,.16) 100%),url('https://i.guim.co.uk/img/media/61b2d8b4943961e73e652d457d44981a404d46d7/0_0_1685_1121/master/1685.jpg?width=1020&dpr=1&s=none&crop=none');
  background-position: center;
  background-size: cover;
  background-blend-mode: normal;
}
.home-page .hero::before {
  background-image: linear-gradient(90deg,rgba(12,12,12,.58) 0%,rgba(12,12,12,.34) 48%,rgba(12,12,12,.16) 100%),url('https://blog.userank.com/wp-content/uploads/2025/01/Detty-December-in-Nigeria-1024x576.jpg');
  background-position: center;
  background-size: cover;
}

/* Homepage event and job cards follow the dark editorial reference. */
.home-page .home-editorial-section {
  width: 100vw;
  margin: 0 0 0 calc(50% - 50vw);
  padding: clamp(42px,6vw,82px) clamp(22px,5vw,76px) clamp(50px,7vw,92px);
  background: #191919;
  color: #f6f6f6;
}
.home-page .home-editorial-section + .home-editorial-section { padding-top: 34px; }
.home-page .home-editorial-section .section-heading { max-width: 1480px; margin: 0 auto 34px; }
.home-page .home-editorial-section .section-heading h2 { color: #f7f7f7; font-size: clamp(2.3rem,5.2vw,4.15rem); line-height: 1.04; letter-spacing: -.065em; }
.home-page .home-editorial-section .section-heading p:not(.eyebrow) { color: #b9b9b9; }
.home-page .home-editorial-section .eyebrow { color: #a5e900; }
.home-page .home-editorial-section .section-heading > .text-link { color: #a5e900; }
.home-page .home-editorial-grid { width: 100%; max-width: 1480px; margin: 0 auto; grid-template-columns: repeat(3,minmax(0,1fr)); column-gap: clamp(22px,3vw,40px); row-gap: 42px; }
.home-editorial-card { min-width: 0; color: #f6f6f6; }
.home-editorial-image { position: relative; display: block; width: 100%; aspect-ratio: 1.5; overflow: hidden; border-radius: 8px; background: #292929; }
.home-editorial-image > img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .45s ease; }
.home-editorial-card:hover .home-editorial-image > img { transform: scale(1.035); }
.home-editorial-meta { overflow: hidden; margin-top: 20px; color: #aaa; font-size: .68rem; text-overflow: ellipsis; white-space: nowrap; }
.home-editorial-card h3 { margin: 10px 0 0; color: #f5f5f5; font-size: clamp(1.18rem,1.8vw,1.55rem); line-height: 1.2; letter-spacing: -.045em; }
.home-editorial-card h3 a { color: inherit; }
.home-editorial-card h3 a:hover { color: #a5e900; }
.home-editorial-card > p { min-height: 1.5em; margin: 13px 0 0; color: #b9b9b9; font-size: .82rem; line-height: 1.55; }
.home-editorial-cta { display: inline-flex; align-items: center; gap: 12px; margin-top: 17px; color: #f7f7f7; font-size: .72rem; font-weight: 650; }
.home-editorial-cta:hover { color: #a5e900; }
.home-editorial-art { display: grid; width: 100%; height: 100%; place-items: center; color: #141414; font-size: 4rem; }
.event-editorial-art { background: radial-gradient(circle at 72% 20%,#f8d56f 0 8%,transparent 8.5%),linear-gradient(145deg,#213f39,#b64b36 54%,#e3a44a); color: rgba(255,255,255,.86); }
.job-editorial-art { background: #95bf20; }
.job-editorial-art strong { max-width: 75%; color: #101a12; font-size: clamp(1.3rem,3vw,2.4rem); line-height: 1; letter-spacing: -.06em; text-align: center; }
.home-editorial-arrow { position: absolute; top: 26px; left: 28px; color: #111; font-size: 3.5rem; line-height: 1; }
@media (max-width: 760px) {
  .home-page .home-editorial-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 34px 18px; }
  .home-editorial-meta { margin-top: 13px; }
}
@media (max-width: 520px) {
  .home-page .home-editorial-section { padding: 38px 18px 48px; }
  .home-page .home-editorial-section + .home-editorial-section { padding-top: 18px; }
  .home-page .home-editorial-section .section-heading { align-items: flex-start; margin-bottom: 25px; }
  .home-page .home-editorial-section .section-heading h2 { font-size: 2.3rem; }
  .home-page .home-editorial-section .section-heading > .text-link { align-self: flex-end; }
  .home-page .home-editorial-grid { grid-template-columns: minmax(0,1fr); gap: 30px; }
  .home-editorial-image { aspect-ratio: 1.45; }
}

/* Dark sign-in and account creation screens, based on the supplied reference. */
.auth-page { --auth-bg: #080909; --auth-panel: #111313; --auth-text: #f7f7f7; --auth-muted: #888b8b; --auth-line: #292c2c; --auth-accent: #baf000; min-height: 100vh; background: var(--auth-bg); color: var(--auth-text); }
.auth-shell { display: block; min-height: 100vh; min-height: 100dvh; }
.auth-visual { display: none; }
.auth-form-side { box-sizing: border-box; display: flex; min-height: 100vh; min-height: 100dvh; align-items: center; justify-content: flex-start; padding: clamp(48px,8vh,76px) 24px 20px; background: var(--auth-bg); }
.auth-mobile-brand { display: none; }
.auth-card { width: min(100%,372px); margin: 0 auto; }
.auth-eyebrow { margin: 0 0 14px; color: var(--auth-accent); font-size: .625rem; letter-spacing: .14em; }
.auth-title { margin: 0; color: var(--auth-text); font-size: clamp(1.8rem,4vw,2rem); font-weight: 700; letter-spacing: -.055em; line-height: 1.12; }
.auth-intro { margin: 11px 0 27px; color: var(--auth-muted); font-size: .9rem; line-height: 1.6; }
.auth-form { gap: 18px; }
.auth-field { gap: 7px; }
.auth-field label,.auth-label-row { color: #f0f0f0; font-size: .78rem; font-weight: 550; }
.auth-label-row a,.auth-signup a { color: var(--auth-accent); font-weight: 500; }
.auth-label-row a:hover,.auth-signup a:hover { color: #d0ff37; }
.auth-field input,.auth-field select,.auth-field textarea { box-sizing: border-box; width: 100%; min-height: 44px; padding: 0 13px; border: 1px solid var(--auth-line); border-radius: 5px; background: transparent; color: var(--auth-text); font: 400 .84rem var(--body); }
.auth-field input::placeholder,.auth-field textarea::placeholder { color: #858888; opacity: 1; }
.auth-field input:focus,.auth-field select:focus,.auth-field textarea:focus { border-color: #777b7b; box-shadow: 0 0 0 2px #ffffff0e; }
.auth-field input[aria-invalid="true"] { border-color: #e26f6f; }
.auth-input-icon-mark { stroke: #888b8b; }
.auth-password-toggle { color: #888b8b; }
.auth-password-toggle:hover { background: #ffffff0d; color: #fff; }
.auth-submit { min-height: 41px; margin-top: -2px; border-radius: 5px; background: var(--auth-accent); color: #080909; font-size: .9rem; font-weight: 600; }
.auth-submit:hover { background: #ccff16; }
.auth-submit svg { width: 18px; height: 18px; }
.auth-submit-secondary { border-color: var(--auth-line); background: #151717; color: var(--auth-text); }
.auth-form-errors { border-color: #6a3535; background: #291818; color: #ffb3b3; }
.auth-field-error,.auth-field .errorlist { color: #ff9b9b; }
.auth-help { color: #a2a5a5; }
.auth-help ul { border-color: var(--auth-line); background: var(--auth-panel); color: #a2a5a5; }
.auth-signup { margin: 24px 0 0; color: var(--auth-muted); font-size: .82rem; text-align: center; }
.google-auth-block { display: flex; flex-direction: column; gap: 0; margin: 0 0 20px; }
.google-signin-button { min-height: 40px; border: 1px solid #f5f5f5; border-radius: 4px; background: #f5f5f5; color: #171818; font-size: .85rem; }
.google-auth-setup-note { color: var(--auth-muted); }
.google-auth-divider { gap: 12px; margin-top: 17px; color: #888b8b; font-size: .7rem; }
.google-auth-divider::before,.google-auth-divider::after { background: var(--auth-line); }
.auth-footnote { display: none; }
.peza-auth-legal-footer { width: 100%; margin: auto 0 0; padding-top: 45px; }
.peza-auth-legal-footer .peza-legal-links { width: 100%; gap: 8px 22px; }
.peza-auth-legal-footer .peza-legal-links a { color: #777b7b; }
.signup-progress { color: #b4b7b7; }
.signup-progress-step.is-active { color: var(--auth-accent); }
.signup-progress-step > span { border-color: #494d4d; background: #151717; }
.signup-progress-step.is-active > span,.signup-progress-step.is-complete > span { border-color: var(--auth-accent); background: var(--auth-accent); color: #080909; }
.signup-progress > i { background: #393d3d; }
.signup-step-title { color: var(--auth-text); }
.signup-step-copy,.account-type-choice > p,.seller-module-choice > p { color: var(--auth-muted); }
.account-type-choice,.seller-module-choice { border-color: var(--auth-line); }
.account-type-choice legend,.seller-module-choice legend { color: #f0f0f0; }
.account-type-option,.seller-module-option { border-color: var(--auth-line); background: var(--auth-panel); color: var(--auth-text); }
.account-type-option:has(input:checked),.seller-module-option:has(input:checked) { border-color: var(--auth-accent); background: #171d09; }
.account-type-option-copy small { color: var(--auth-muted); }
.account-type-option-icon,.seller-module-icon { color: var(--auth-accent); }
.signup-back { color: #c1c4c4; }
@media (max-width: 700px) {
  .auth-form-side { min-height: 100vh; min-height: 100dvh; padding: 56px 22px 18px; }
  .auth-card { width: min(100%,372px); }
  .auth-intro { margin-bottom: 24px; }
  .peza-auth-legal-footer { padding-top: 38px; }
  .peza-auth-legal-footer .peza-legal-links { gap: 8px 14px; }
}
@media (max-width: 380px) { .auth-form-side { padding-right: 18px; padding-left: 18px; } }
/* Match the supplied account screen's compact, left-of-centre desktop form. */
@media (min-width: 701px) {
  .auth-form-side { align-items: flex-start; padding: 68px 24px 18px; }
  .auth-card { width: 372px; max-width: 100%; margin: 0 0 0 max(0px,calc(50vw - 324px)); }
  .peza-auth-legal-footer { position: absolute; right: 0; bottom: 58px; left: 0; margin: 0; padding: 0 24px; }
  .peza-auth-legal-footer .peza-legal-links { justify-content: center; }
}
@media (max-width: 700px) {
  .auth-form-side { align-items: center; padding-top: 52px; }
  .auth-card { margin-right: auto; margin-left: auto; }
  .peza-auth-legal-footer { position: static; margin-top: auto; }
}
@media (min-width: 701px) {
  .auth-form-side { padding-top: 92px; }
  .auth-card { margin-left: max(0px,calc(50vw - 271px)); }
}
.auth-topbar { position: absolute; z-index: 10; top: 0; right: 25px; display: flex; height: 30px; align-items: stretch; gap: 8px; }
.auth-topbar-search { display: flex; width: min(380px,35vw); min-width: 220px; align-items: center; gap: 10px; padding: 0 12px; border-radius: 0 0 8px 8px; background: #1b1e1e; color: #929696; }
.auth-topbar-search > span { font-size: 1.25rem; line-height: 1; }
.auth-topbar-search input { width: 100%; min-width: 0; border: 0; outline: 0; background: transparent; color: #fff; font: 400 .76rem var(--body); }
.auth-topbar-search input::placeholder { color: #929696; }
.auth-topbar-search kbd { color: #858989; font: .625rem var(--body); white-space: nowrap; }
.auth-topbar-signin,.auth-topbar-signup { display: inline-flex; align-items: center; justify-content: center; padding: 0 17px; border-radius: 0 0 8px 8px; background: #1c1f1f; color: #fff; font-size: .76rem; font-weight: 600; }
.auth-topbar-signup { background: #f6f6f6; color: #101111; }
.auth-topbar-signin:hover { background: #2d3030; color: #fff; }
.auth-topbar-signup:hover { background: #d8dada; color: #101111; }
.auth-lower-footer { position: fixed; z-index: 5; right: 10.5%; bottom: calc(48px + 18vh); left: 10.5%; display: flex; align-items: center; justify-content: space-between; gap: 30px; color: #858989; }
.auth-footer-brand { display: inline-flex; align-items: center; gap: 9px; color: #929696; font-size: .75rem; white-space: nowrap; }
.auth-footer-brand > span { color: var(--auth-accent); font-size: 1.15rem; font-weight: 800; }
.auth-lower-footer .peza-legal-links { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px 22px; }
.auth-lower-footer .peza-legal-links a { color: #858989; font-size: .75rem; }
.auth-lower-footer .peza-legal-links a:hover { color: #fff; }
.auth-bottom-bar { position: fixed; z-index: 20; right: 0; bottom: 0; left: 0; display: flex; min-height: 48px; align-items: center; justify-content: space-between; gap: 20px; padding: 6px 26px; border-top: 1px solid #181b1b; background: #111313; color: #f8f8f8; }
.auth-bottom-bar > div:first-child { min-width: 0; }
.auth-bottom-label { color: #858989; font-size: .57rem; letter-spacing: .1em; }
.auth-bottom-bar p { overflow: hidden; margin: 3px 0 0; font-size: .8rem; font-weight: 600; text-overflow: ellipsis; white-space: nowrap; }
.auth-bottom-actions { display: flex; flex: 0 0 auto; gap: 10px; }
.auth-bottom-actions a { display: inline-flex; min-height: 38px; align-items: center; justify-content: center; padding: 0 18px; border-radius: 8px; background: #202323; color: #fff; font-size: .8rem; font-weight: 650; white-space: nowrap; }
.auth-bottom-actions a:last-child { background: #fff; color: #111; }
.auth-bottom-actions a:hover { filter: brightness(.9); }
@media (max-width: 700px) {
  .auth-topbar { right: 12px; height: 38px; }
  .auth-topbar-search { width: auto; min-width: 0; padding: 0 10px; }
  .auth-topbar-search input,.auth-topbar-search kbd { display: none; }
  .auth-topbar-signin,.auth-topbar-signup { padding: 0 12px; }
  .auth-form-side { padding-top: 66px; padding-bottom: 100px; }
  .auth-lower-footer { right: 16px; bottom: 77px; left: 16px; flex-direction: column; gap: 10px; }
  .auth-lower-footer .peza-legal-links { justify-content: center; gap: 7px 13px; }
  .auth-bottom-bar { min-height: 58px; padding: 7px 12px; }
  .auth-bottom-bar p { max-width: 55vw; font-size: .65rem; }
  .auth-bottom-actions { gap: 6px; }
  .auth-bottom-actions a { min-height: 36px; padding: 0 10px; font-size: .67rem; }
}
.header-location-menu { position: relative; flex: 0 0 auto; }
.header-location { cursor: pointer; list-style: none; }
.header-location::-webkit-details-marker { display: none; }
.header-location-popover { position: absolute; top: calc(100% + 18px); left: -10px; z-index: 100; display: grid; grid-template-columns: repeat(2,minmax(125px,1fr)); gap: 2px; width: 300px; max-height: min(390px,calc(100vh - 180px)); overflow-y: auto; padding: 8px; border: 1px solid #39343a; border-radius: 10px; background: #151215; box-shadow: 0 15px 35px #0008; }
.header-location-popover a { padding: 8px 10px; border-radius: 6px; color: #f4f2f3; font-size: .78rem; }
.header-location-popover a:hover,.header-location-popover a:focus-visible { background: #2b252b; color: #f7a03b; }
@media (max-width: 860px) {
  .header-location-menu { display: block; order: 1; }
  .header-location { display: inline-flex; }
  .header-location-popover { top: calc(100% + 14px); left: auto; right: 0; }
}
@media (max-width: 520px) {
  .header-location { gap: 5px; }
  .header-location > span:not(.location-chevron) { display: none; }
  .header-location .location-chevron { width: 7px; height: 7px; }
  .header-location-popover { width: min(300px,calc(100vw - 24px)); right: -52px; }
}
.header-location-menu { position: relative; flex: 0 0 auto; }
.header-location { cursor: pointer; list-style: none; }
.header-location::-webkit-details-marker { display: none; }
.header-location-popover { position: absolute; top: calc(100% + 18px); left: -10px; z-index: 100; display: grid; grid-template-columns: repeat(2,minmax(125px,1fr)); gap: 2px; width: 300px; max-height: min(390px,calc(100vh - 180px)); overflow-y: auto; padding: 8px; border: 1px solid #39343a; border-radius: 10px; background: #151215; box-shadow: 0 15px 35px #0008; }
.header-location-popover a { padding: 8px 10px; border-radius: 6px; color: #f4f2f3; font-size: .78rem; }
.header-location-popover a:hover,.header-location-popover a:focus-visible { background: #2b252b; color: #f7a03b; }
@media (max-width: 860px) {
  .header-location-menu { display: block; order: 1; }
  .header-location-popover { top: calc(100% + 14px); left: auto; right: 0; }
}
@media (max-width: 520px) {
  .header-location { gap: 5px; }
  .header-location > span:not(.location-chevron) { display: none; }
  .header-location .location-chevron { width: 7px; height: 7px; }
  .header-location-popover { width: min(300px,calc(100vw - 24px)); right: -52px; }
}
.peza-payment-connection-card .peza-button-outline { min-height: 29px; font-size: 0.5rem; }
.peza-integration-status { font-size: 0.4375rem; }
.peza-integration-config-note { margin: 5px 0 0; font-size: 0.5rem; }
.peza-payment-preference { gap: 7px; margin-top: 11px; padding: 0; border: 0; }
.peza-payment-preference h3 { margin: 0; font-size: 0.5625rem; }
.peza-payment-choice-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 7px; }
.peza-payment-option { min-height: 53px; gap: 8px; padding: 8px; border-radius: 8px; }
.peza-payment-radio { position: relative; display: grid; width: 16px; height: 16px; flex: 0 0 16px; place-items: center; }
.peza-payment-radio input { position: absolute; inset: 0; width: 100%; height: 100%; margin: 0; opacity: 0; cursor: pointer; }
.peza-payment-radio i { width: 15px; height: 15px; border: 1px solid #cdd5d0; border-radius: 50%; background: #fff; }
.peza-payment-radio input:checked + i { border: 4px solid #1aa7c5; }
.peza-payment-option:has(input:checked) { border-color: #13a8d1; background: #effaff; }
.peza-payment-choice-copy { display: grid; gap: 3px; }
.peza-payment-option strong { font-size: 0.5rem; }
.peza-payment-option small { font-size: 0.4375rem; }
.peza-integration-payment-block .peza-integration-form-footer { min-height: 0; margin-top: 8px; padding: 0; border: 0; background: transparent; }
.peza-integration-payment-block .peza-integration-form-footer > span { color: #8a938e; font-size: 0.4375rem; }
.peza-integration-request-form { padding-top: 15px; }
.peza-integration-request-form .peza-integration-form-heading { margin-bottom: 9px; }
.peza-integration-count { flex: 0 0 auto; padding: 5px 8px; border-radius: 99px; background: #f1f3f1; color: #727d76; font-size: 0.5rem; font-weight: 700; }
.peza-integration-choice-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 7px; }
.peza-integration-choice { position: relative; display: flex; min-width: 0; min-height: 54px; align-items: center; gap: 8px; padding: 8px 9px; border: 1px solid #dedfdf; border-radius: 8px; background: #fff; cursor: pointer; transition: border-color .14s,background .14s; }
.peza-integration-choice:hover { border-color: #83cbe0; }
.peza-integration-choice:has(input:checked) { border-color: #12a9d2; background: #effaff; }
.peza-integration-choice > input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.peza-integration-choice:focus-within { outline: 3px solid #d7f1f8; }
.peza-integration-choice-check { display: grid; width: 15px; height: 15px; flex: 0 0 15px; place-items: center; border: 1px solid #d1d8d4; border-radius: 4px; background: #fff; color: transparent; }
.peza-integration-choice:has(input:checked) .peza-integration-choice-check,.peza-integration-choice-check.is-checked { border-color: #12a9d2; background: #12a9d2; color: #fff; }
.peza-integration-choice-check .ui-button-icon { width: 11px; height: 11px; fill: none; stroke: currentColor; stroke-width: 2.5; }
.peza-integration-choice-icon { display: grid; width: 28px; height: 28px; flex: 0 0 28px; place-items: center; border-radius: 7px; background: #f1f5f3; color: #65716a; }
.peza-integration-choice-icon svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 1.65; stroke-linecap: round; stroke-linejoin: round; }
.peza-integration-choice-copy { display: grid; min-width: 0; gap: 3px; }
.peza-integration-choice-copy strong { overflow: hidden; color: #38433d; font-size: 0.5rem; text-overflow: ellipsis; white-space: nowrap; }
.peza-integration-choice-copy small { color: #808a84; font-size: 0.4375rem; }
.peza-integration-choice.is-requested { cursor: default; }
.peza-integration-details-label { display: flex; align-items: center; gap: 5px; margin: 11px 0 5px; color: #46524b; font-size: 0.5rem; font-weight: 700; }
.peza-integration-details-label small { color: #89928d; font-size: 0.4375rem; font-weight: 500; }
.peza-integration-request-form > textarea { display: block; width: 100%; min-height: 44px; padding: 8px 10px; resize: vertical; border: 1px solid #d9dfdb; border-radius: 8px; color: #39443e; font: 500 0.5rem var(--body); }
.peza-integration-request-form > textarea:focus { border-color: #16a6ca; outline: 3px solid #e0f6fb; }
.peza-integration-form-footer { display: flex; min-height: 54px; align-items: center; justify-content: space-between; gap: 12px; margin: 13px -19px -17px; padding: 9px 18px; border-top: 1px solid #e5e9e6; background: #fbfcfb; }
.peza-integration-form-footer > span { color: #87918b; font-size: 0.4375rem; }
.peza-integration-form-footer .button { min-height: 32px; padding: 0 12px; border-radius: 7px; font-size: 0.5rem; }
.peza-integration-dialog .peza-create-dialog-header h1 { font-size: 1.3125rem; }
.peza-integration-dialog .peza-create-dialog-header p:last-child { font-size: 0.6875rem; }
.peza-integration-guide h2 { font-size: 1rem; }
.peza-integration-guide > p { font-size: 0.6875rem; }
.peza-integration-guide li { font-size: 0.625rem; }
.peza-integration-guide > small { font-size: 0.5625rem; }
.peza-integration-form-heading label { font-size: 0.5625rem; }
.peza-integration-form-heading h2 { font-size: 1rem; }
.peza-integration-form-heading p { font-size: 0.6875rem; }
.peza-payment-provider-copy strong { font-size: 0.6875rem; }
.peza-payment-provider-copy span { font-size: 0.625rem; }
.peza-payment-connection-card .peza-button-outline { min-height: 34px; font-size: 0.625rem; }
.peza-integration-status { font-size: 0.5625rem; }
.peza-payment-preference h3 { font-size: 0.6875rem; }
.peza-payment-option strong { font-size: 0.625rem; }
.peza-payment-option small { font-size: 0.5625rem; }
.peza-integration-payment-block .peza-integration-form-footer > span,.peza-integration-form-footer > span { font-size: 0.5625rem; }
.peza-integration-count { font-size: 0.5625rem; }
.peza-integration-choice-copy strong { font-size: 0.625rem; }
.peza-integration-choice-copy small { font-size: 0.5625rem; }
.peza-integration-details-label { font-size: 0.625rem; }
.peza-integration-details-label small { font-size: 0.5625rem; }
.peza-integration-request-form > textarea { font-size: 0.625rem; }
.peza-integration-form-footer .button { min-height: 36px; padding: 0 14px; font-size: 0.625rem; }

/* Final settings module-card rules, after legacy dashboard selectors. */
.settings-dashboard-page .account-settings-form { max-width: 1000px; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0 18px; }
.settings-dashboard-page .account-settings-form .seller-module-settings-note { grid-column: 1 / -1; margin: 0 0 16px; padding: 12px 14px; border-left: 3px solid #e7a817; border-radius: 0 8px 8px 0; background: #fff8e8; color: #6b6656; font-size: 0.75rem; line-height: 1.55; }
.settings-dashboard-page .account-settings-form .seller-setting-module { position: relative; display: block; min-height: 76px; margin: 0; padding: 0; border: 0; background: transparent; }
.settings-dashboard-page .seller-setting-module > input[type=checkbox] { position: absolute; z-index: 1; top: 13px; right: 13px; width: 17px; height: 17px; margin: 0; accent-color: #d99112; }
.settings-dashboard-page .seller-setting-module > label { display: flex; min-height: 66px; align-items: center; gap: 12px; padding: 12px 40px 12px 12px; border: 1px solid #e1e6e3; border-radius: 10px; background: #fff; cursor: pointer; transition: border-color .15s ease, background-color .15s ease, box-shadow .15s ease; }
.settings-dashboard-page .seller-setting-module > label:hover { border-color: #e7b34c; background: #fffdf8; }
.settings-dashboard-page .seller-setting-module > input[type=checkbox]:checked + label { border-color: #e7b34c; background: #fffaf0; box-shadow: 0 0 0 2px #f9edcf; }
.settings-dashboard-page .seller-module-icon { display: grid; width: 38px; height: 38px; flex: 0 0 38px; place-items: center; border-radius: 9px; background: #fff4df; color: #b97608; }
.settings-dashboard-page .seller-module-icon .ui-button-icon { width: 19px; height: 19px; }
.settings-dashboard-page .seller-module-copy { display: grid; gap: 4px; min-width: 0; }
.settings-dashboard-page .seller-module-copy strong { color: #26312b; font-size: 0.75rem; font-weight: 700; }
.settings-dashboard-page .seller-module-copy small { color: #77827c; font-size: 0.625rem; line-height: 1.4; }
.settings-dashboard-page .account-settings-form .seller-setting-module { box-sizing: border-box; height: 82px; min-height: 82px; }
.settings-dashboard-page .account-settings-form .seller-setting-module { display: block !important; margin: 0 0 12px !important; padding: 0 !important; border: 0 !important; background: transparent !important; }
.settings-dashboard-page .account-settings-form .seller-setting-module > input[type=checkbox] { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; clip-path: inset(50%); }
.settings-dashboard-page .account-settings-form .seller-setting-module > label { position: relative; box-sizing: border-box; width: 100%; height: 82px; min-height: 82px; padding-right: 42px; }
.settings-dashboard-page .account-settings-form .seller-setting-module > label::after { content: ''; position: absolute; top: 50%; right: 14px; display: grid; width: 19px; height: 19px; place-items: center; border: 1px solid #d6ddd9; border-radius: 50%; background: #fff; color: transparent; font-size: 0.75rem; font-weight: 800; transform: translateY(-50%); }
.settings-dashboard-page .account-settings-form .seller-setting-module > input[type=checkbox]:checked + label::after { content: '✓'; border-color: #d99112; background: #d99112; color: #fff; }
.settings-dashboard-page .account-settings-form .seller-setting-module > input[type=checkbox]:focus-visible + label { outline: 3px solid #f1d99f; outline-offset: 2px; }
.peza-paychangu-key-form { display: grid; grid-template-columns: minmax(0,1fr) minmax(180px,.8fr) auto; align-items: end; gap: 10px; margin: 12px 0 16px; padding: 14px; border: 1px solid #e3e9e5; border-radius: 11px; background: #fbfcfb; }
.peza-paychangu-key-form > div { display: grid; gap: 5px; }
.peza-paychangu-key-form label { color: #34423a; font-size: 0.75rem; font-weight: 700; }
.peza-paychangu-key-form small { color: #748078; font-size: 0.625rem; line-height: 1.5; }
.peza-secret-key-input { position: relative; min-width: 0; }
.peza-paychangu-key-form input[type=password],.peza-paychangu-key-form input[type=text] { width: 100%; min-width: 0; min-height: 39px; padding: 8px 40px 8px 10px; border: 1px solid #d9e1dc; border-radius: 8px; background: #fff; color: #28332d; font: 0.6875rem var(--body); }
.peza-secret-toggle { position: absolute; top: 50%; right: 7px; display: grid; width: 28px; height: 28px; place-items: center; padding: 0; border: 0; border-radius: 6px; background: transparent; color: #69756e; cursor: pointer; transform: translateY(-50%); }
.peza-secret-toggle:hover { background: #f1f4f1; color: #26312b; }
.peza-secret-toggle svg { width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.peza-paychangu-key-form input[type=password]:focus { border-color: #d99112; outline: 3px solid #f7ebcf; }
.peza-paychangu-key-form .peza-button-outline { min-height: 39px; padding: 0 14px; border: 1px solid #e0a32b; border-radius: 8px; background: #fff8e8; color: #7e520d; font-size: 0.625rem; font-weight: 700; white-space: nowrap; }
@media (max-width: 760px) {
  .peza-paychangu-key-form { grid-template-columns: minmax(0,1fr); align-items: stretch; }
}

/* Peza-owned event ticket checkout with direct PayChangu payment choices. */
.peza-custom-checkout { width: min(100% - 32px, 1040px); margin: 0 auto; padding: 30px 0 64px; color: #26312b; }
.peza-checkout-back { display: inline-flex; margin-bottom: 22px; color: #69756e; font-size: .875rem; }
.peza-checkout-layout { display: grid; grid-template-columns: minmax(0,1fr) 310px; align-items: start; gap: 24px; }
.peza-checkout-main,.peza-checkout-order-summary { padding: clamp(22px,4vw,36px); border: 1px solid #e0e6e1; border-radius: 18px; background: #fff; box-shadow: 0 12px 36px rgba(32,46,38,.06); }
.peza-checkout-main > .eyebrow,.peza-checkout-order-summary > .eyebrow { margin: 0 0 8px; color: #b97608; font-size: .75rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.peza-checkout-main h1 { margin: 0; color: #26312b; font-size: clamp(1.65rem,4vw,2.25rem); line-height: 1.2; }
.peza-checkout-event { margin: 9px 0 19px; color: #6a756e; }
.peza-checkout-total { display: flex; justify-content: space-between; align-items: center; margin-bottom: 27px; padding: 17px 0; border-top: 1px solid #e9edea; border-bottom: 1px solid #e9edea; color: #616e66; }
.peza-checkout-total strong { color: #202923; font-size: 1.5rem; }
.peza-checkout-section-title { margin: 0 0 15px; color: #29332d; font-size: 1.0625rem; }
.peza-payment-methods { display: grid; gap: 10px; margin: 0 0 20px; padding: 0; border: 0; }
.peza-payment-methods legend { margin-bottom: 10px; color: #68746d; font-size: .8125rem; font-weight: 700; }
.peza-method-card { display: flex; min-height: 76px; align-items: center; gap: 13px; padding: 13px 15px; border: 1px solid #dfe5e1; border-radius: 13px; background: #fff; cursor: pointer; }
.peza-method-card input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.peza-method-card.is-selected { border-color: #f2a007; background: #fffaf0; box-shadow: 0 0 0 1px #f2a007 inset; }
.peza-method-card:focus-within { outline: 3px solid #f2a00755; outline-offset: 2px; }
.peza-method-icon { display: grid; width: 42px; height: 42px; flex: 0 0 42px; place-items: center; border-radius: 12px; background: #fff1d7; color: #a96800; }
.peza-method-icon .ui-button-icon { width: 21px; height: 21px; }
.peza-method-card > span:nth-last-child(2) { display: grid; gap: 4px; }
.peza-method-card strong { color: #303b34; font-size: .9375rem; }
.peza-method-card small,.peza-checkout-field-note { color: #77827c; font-size: .8125rem; }
.peza-method-check { display: grid; width: 22px; height: 22px; flex: 0 0 22px; place-items: center; margin-left: auto; border: 1px solid #cbd3ce; border-radius: 50%; color: transparent; }
.peza-method-card.is-selected .peza-method-check { border-color: #e79700; background: #e79700; color: #fff; font-size: .75rem; }
.peza-mobile-money-fields { display: grid; grid-template-columns: 1fr; gap: 9px; }
.peza-mobile-money-fields[hidden] { display: none; }
.peza-checkout-label { margin-top: 3px; color: #414d46; font-size: .8125rem; font-weight: 700; }
.peza-custom-payment-form select,.peza-custom-payment-form input[type=tel] { width: 100%; min-height: 47px; padding: 0 13px; border: 1px solid #d7dfda; border-radius: 10px; background: #fff; color: #26312b; font: 400 .9375rem var(--body); }
.peza-checkout-field-note { margin-top: -3px; }
.peza-checkout-help { margin: 16px 0; color: #758079; font-size: .8125rem; line-height: 1.6; }
.peza-checkout-submit { display: flex; width: 100%; min-height: 49px; align-items: center; justify-content: center; gap: 9px; padding: 0 18px; border: 0; border-radius: 11px; background: #f2a007; color: #17211b; font: 700 .9375rem var(--body); text-align: center; cursor: pointer; }
.peza-checkout-submit:hover { background: #e59700; }
.peza-checkout-security { display: flex; align-items: center; justify-content: center; gap: 7px; margin: 19px 0 0; color: #78847c; font-size: .8125rem; }
.peza-checkout-security .ui-button-icon { width: 16px; height: 16px; }
.peza-checkout-order-summary { position: sticky; top: 20px; }
.peza-checkout-order-summary h2 { margin: 0 0 8px; color: #303a34; font-size: 1.0625rem; }
.peza-checkout-order-summary > p:not(.eyebrow) { margin: 0; color: #768078; font-size: .8125rem; }
.peza-checkout-order-summary > .peza-checkout-line-item { display: flex; justify-content: space-between; gap: 8px; margin-top: 20px; padding: 15px 0; border-top: 1px solid #e9edea; color: #69756e; font-size: .8125rem; }
.peza-checkout-order-summary > .peza-checkout-line-item strong { color: #26312b; }
.peza-checkout-order-summary > small { display: block; color: #7b867f; font-size: .75rem; line-height: 1.5; }
.peza-checkout-provider-error { padding: 12px 14px; border: 1px solid #f1d2cc; border-radius: 10px; background: #fff7f5; color: #9a3c30; font-size: .875rem; }
.peza-payment-waiting { display: flex; align-items: center; gap: 14px; padding: 17px; border: 1px solid #cde8dc; border-radius: 13px; background: #f3fbf6; }
.peza-payment-status-icon { display: grid; width: 43px; height: 43px; flex: 0 0 43px; place-items: center; border-radius: 50%; background: #dff4e9; color: #13845f; }
.peza-payment-status-icon .ui-button-icon { width: 22px; height: 22px; }
.peza-payment-waiting h2 { margin: 0 0 5px; color: #294236; font-size: 1rem; }
.peza-payment-waiting p { margin: 0; color: #64756b; font-size: .875rem; line-height: 1.5; }
.peza-bank-details { display: grid; gap: 0; margin: 16px 0; padding: 0 15px; border: 1px solid #e1e8e3; border-radius: 12px; }
.peza-bank-details > div { display: flex; justify-content: space-between; gap: 12px; padding: 13px 0; border-bottom: 1px solid #edf0ee; }
.peza-bank-details > div:last-child { border-bottom: 0; }
.peza-bank-details dt { color: #737f77; font-size: .8125rem; }
.peza-bank-details dd { margin: 0; color: #2e3932; font-size: .875rem; font-weight: 700; text-align: right; }
@media (max-width: 760px) { .peza-checkout-layout { grid-template-columns: minmax(0,1fr); } .peza-checkout-order-summary { position: static; grid-row: 1; } }

.peza-integration-payment-block .peza-payment-preference { gap: 13px !important; }
.peza-integration-payment-block .peza-payment-preference h3 { margin-bottom: 2px !important; }
.peza-integration-payment-block .peza-payment-choice-grid { gap: 12px !important; }
.peza-integration-payment-block .peza-payment-option { min-height: 62px !important; padding: 12px !important; }
.peza-integration-payment-block .peza-integration-form-footer { gap: 14px !important; margin-top: 5px !important; }
.settings-dashboard-page .account-settings-form > button { grid-column: 1 / -1; }
@media (max-width: 640px) {
  .settings-dashboard-page .account-settings-form { grid-template-columns: minmax(0,1fr); }
  .settings-dashboard-page .account-settings-form .seller-module-settings-note,.settings-dashboard-page .account-settings-form > button { grid-column: 1; }
}

/* Settings: seller modules are selectable cards, not checkbox rows. */
.settings-dashboard-page .account-settings-form { max-width: 1000px; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0 18px; }
.settings-dashboard-page .account-settings-form .seller-module-settings-note { grid-column: 1 / -1; margin: 0 0 16px; padding: 12px 14px; border-left: 3px solid #e7a817; border-radius: 0 8px 8px 0; background: #fff8e8; color: #6b6656; font-size: 0.75rem; line-height: 1.55; }
.settings-dashboard-page .account-settings-form .seller-setting-module { position: relative; display: block; min-height: 76px; margin: 0; padding: 0; border: 0; background: transparent; }
.settings-dashboard-page .seller-setting-module > input[type=checkbox] { position: absolute; z-index: 1; top: 13px; right: 13px; width: 17px; height: 17px; margin: 0; accent-color: #d99112; }
.settings-dashboard-page .seller-setting-module > label { display: flex; min-height: 66px; align-items: center; gap: 12px; padding: 12px 40px 12px 12px; border: 1px solid #e1e6e3; border-radius: 10px; background: #fff; cursor: pointer; transition: border-color .15s ease, background-color .15s ease, box-shadow .15s ease; }
.settings-dashboard-page .seller-setting-module > label:hover { border-color: #e7b34c; background: #fffdf8; }
.settings-dashboard-page .seller-setting-module > input[type=checkbox]:checked + label { border-color: #e7b34c; background: #fffaf0; box-shadow: 0 0 0 2px #f9edcf; }
.settings-dashboard-page .seller-module-icon { display: grid; width: 38px; height: 38px; flex: 0 0 38px; place-items: center; border-radius: 9px; background: #fff4df; color: #b97608; }
.settings-dashboard-page .seller-module-icon .ui-button-icon { width: 19px; height: 19px; }
.settings-dashboard-page .seller-module-copy { display: grid; gap: 4px; min-width: 0; }
.settings-dashboard-page .seller-module-copy strong { color: #26312b; font-size: 0.75rem; font-weight: 700; }
.settings-dashboard-page .seller-module-copy small { color: #77827c; font-size: 0.625rem; line-height: 1.4; }
.settings-dashboard-page .account-settings-form > button { grid-column: 1 / -1; }
@media (max-width: 640px) {
  .settings-dashboard-page .account-settings-form { grid-template-columns: minmax(0,1fr); }
  .settings-dashboard-page .account-settings-form .seller-module-settings-note,.settings-dashboard-page .account-settings-form > button { grid-column: 1; }
}

/* Keep account settings readable after legacy dashboard styles load. */
.settings-dashboard-page .peza-settings-dialog { grid-template-columns: 255px minmax(0,1fr); }
.settings-dashboard-page .account-settings-panel { display: block; width: 100%; max-width: none; min-width: 0; padding: 26px 28px; }
.settings-dashboard-page .account-settings-panel > .account-settings-photo { display: block; width: 72px; height: 72px; margin: 0 0 18px; border-radius: 14px; object-fit: cover; }
.settings-dashboard-page .account-settings-form { display: grid; width: 100%; max-width: 1000px; grid-template-columns: repeat(2,minmax(0,1fr)); align-items: start; gap: 0 18px; }
.settings-dashboard-page .account-settings-form .seller-module-settings-note { grid-column: 1 / -1; margin: 0 0 16px; padding: 12px 14px; border-left: 3px solid #e7a817; border-radius: 0 8px 8px 0; background: #fff8e8; color: #6b6656; font-size: 0.75rem; line-height: 1.55; }
.settings-dashboard-page .account-setting-field { display: grid; min-width: 0; grid-template-columns: minmax(0,1fr); align-content: start; align-items: stretch; gap: 6px; margin: 0 0 16px; padding: 0; }
.settings-dashboard-page .account-setting-field label { color: #3d4942; font-size: 0.75rem; font-weight: 700; }
.settings-dashboard-page .account-setting-field input:not([type=checkbox]):not([type=file]),.settings-dashboard-page .account-setting-field select,.settings-dashboard-page .account-setting-field textarea { width: 100%; min-height: 43px; padding: 9px 12px; border: 1px solid #d9e0dc; border-radius: 8px; background: #fff; color: #26312b; font: 500 0.75rem var(--body); }
.settings-dashboard-page .account-setting-field input[type=file] { width: 100%; min-height: 43px; padding: 8px 10px; border: 1px solid #d9e0dc; border-radius: 8px; background: #fff; color: #4d5952; font-size: 0.6875rem; }
.settings-dashboard-page .account-setting-field input[type=checkbox] { width: 18px; height: 18px; margin: 0; accent-color: #d99112; }
.settings-dashboard-page .account-setting-field small { color: #77827c; font-size: 0.625rem; line-height: 1.45; }
.settings-dashboard-page .account-setting-field.seller-setting-module { display: flex; min-height: 47px; grid-column: auto; align-items: center; justify-content: space-between; gap: 14px; margin: 0; padding: 10px 12px; border: 1px solid #e3e8e4; border-radius: 9px; background: #fbfcfb; }
.settings-dashboard-page .account-setting-field.seller-setting-module label { font-size: 0.6875rem; font-weight: 600; }
.settings-dashboard-page .account-setting-field.seller-setting-module input[type=checkbox] { order: 2; flex: 0 0 18px; }
.settings-dashboard-page .account-settings-form > button { min-height: 42px; margin-top: 7px; padding: 0 18px; border-radius: 9px; font-size: 0.6875rem; }
.settings-dashboard-page .account-settings-panel .account-password-link { width: 100%; max-width: 1000px; margin-top: 16px; padding-top: 15px; font-size: 0.6875rem; }
@media (max-width: 900px) {
  .settings-dashboard-page .peza-settings-dialog { grid-template-columns: 210px minmax(0,1fr); }
  .settings-dashboard-page .account-settings-panel { padding: 20px; }
}
@media (max-width: 640px) {
  .settings-dashboard-page .peza-settings-dialog { grid-template-columns: minmax(0,1fr); }
  .settings-dashboard-page .account-settings-panel { padding: 16px; }
  .settings-dashboard-page .account-settings-form { grid-template-columns: minmax(0,1fr); }
  .settings-dashboard-page .account-settings-form .seller-module-settings-note { grid-column: 1; }
}

/* Settings form layout: override the older narrow account panel rules. */
.settings-dashboard-page .peza-settings-dialog { grid-template-columns: 255px minmax(0,1fr); }
.settings-dashboard-page .account-settings-panel { display: block; width: 100%; max-width: none; min-width: 0; padding: 26px 28px; }
.settings-dashboard-page .account-settings-panel > .account-settings-photo { display: block; width: 72px; height: 72px; margin: 0 0 18px; border-radius: 14px; object-fit: cover; }
.settings-dashboard-page .account-settings-form { display: grid; width: 100%; max-width: 1000px; grid-template-columns: repeat(2,minmax(0,1fr)); align-items: start; gap: 0 18px; }
.settings-dashboard-page .account-settings-form .seller-module-settings-note { grid-column: 1 / -1; margin: 0 0 16px; padding: 12px 14px; border-left: 3px solid #e7a817; border-radius: 0 8px 8px 0; background: #fff8e8; color: #6b6656; font-size: 0.75rem; line-height: 1.55; }
.settings-dashboard-page .account-setting-field { display: grid; min-width: 0; grid-template-columns: minmax(0,1fr); align-content: start; align-items: stretch; gap: 6px; margin: 0 0 16px; padding: 0; }
.settings-dashboard-page .account-setting-field label { color: #3d4942; font-size: 0.75rem; font-weight: 700; }
.settings-dashboard-page .account-setting-field input:not([type=checkbox]):not([type=file]),.settings-dashboard-page .account-setting-field select,.settings-dashboard-page .account-setting-field textarea { width: 100%; min-height: 43px; padding: 9px 12px; border: 1px solid #d9e0dc; border-radius: 8px; background: #fff; color: #26312b; font: 500 0.75rem var(--body); }
.settings-dashboard-page .account-setting-field input[type=file] { width: 100%; min-height: 43px; padding: 8px 10px; border: 1px solid #d9e0dc; border-radius: 8px; background: #fff; color: #4d5952; font-size: 0.6875rem; }
.settings-dashboard-page .account-setting-field input[type=checkbox] { width: 18px; height: 18px; margin: 0; accent-color: #d99112; }
.settings-dashboard-page .account-setting-field small { color: #77827c; font-size: 0.625rem; line-height: 1.45; }
.settings-dashboard-page .account-setting-field.seller-setting-module { display: flex; min-height: 47px; grid-column: auto; align-items: center; justify-content: space-between; gap: 14px; margin: 0; padding: 10px 12px; border: 1px solid #e3e8e4; border-radius: 9px; background: #fbfcfb; }
.settings-dashboard-page .account-setting-field.seller-setting-module label { font-size: 0.6875rem; font-weight: 600; }
.settings-dashboard-page .account-setting-field.seller-setting-module input[type=checkbox] { order: 2; flex: 0 0 18px; }
.settings-dashboard-page .account-settings-form > button { min-height: 42px; margin-top: 7px; padding: 0 18px; border-radius: 9px; font-size: 0.6875rem; }
.settings-dashboard-page .account-settings-panel .account-password-link { width: 100%; max-width: 1000px; margin-top: 16px; padding-top: 15px; font-size: 0.6875rem; }
@media (max-width: 900px) {
  .settings-dashboard-page .peza-settings-dialog { grid-template-columns: 210px minmax(0,1fr); }
  .settings-dashboard-page .account-settings-panel { padding: 20px; }
}
@media (max-width: 640px) {
  .settings-dashboard-page .peza-settings-dialog { grid-template-columns: minmax(0,1fr); }
  .settings-dashboard-page .account-settings-panel { padding: 16px; }
  .settings-dashboard-page .account-settings-form { grid-template-columns: minmax(0,1fr); }
  .settings-dashboard-page .account-settings-form .seller-module-settings-note { grid-column: 1; }
}
@media (max-width: 760px) {
  .peza-integration-dialog-body { grid-template-columns: minmax(0,1fr); }
  .peza-integration-guide { padding: 12px 15px; }
  .peza-integration-guide-art { display: none; }
  .peza-integration-guide h2 { margin-bottom: 4px; font-size: 0.6875rem; }
  .peza-integration-guide > p { font-size: 0.5rem; }
  .peza-integration-guide-rule,.peza-integration-guide ol,.peza-integration-guide > small { display: none; }
  .peza-integration-main { padding: 14px; }
  .peza-integration-form-footer { margin-right: -14px; margin-left: -14px; padding-right: 13px; padding-left: 13px; }
}
@media (max-width: 480px) {
  .peza-payment-choice-grid,.peza-integration-choice-grid { grid-template-columns: minmax(0,1fr); }
  .peza-integration-dialog .peza-create-dialog-header { padding: 11px 13px; }
  .peza-integration-form-heading { align-items: flex-start; }
  .peza-payment-provider-logo { width: 78px; height: 30px; flex-basis: 78px; }
  .peza-integration-form-footer > span { max-width: 45%; line-height: 1.4; }
}

/* Seller inbox and conversation detail */
.seller-messages-page .peza-dashboard-page-content { max-width: 1250px; }
.peza-messages-panel,.peza-seller-chat { overflow: hidden; border: 1px solid #e1e6e3; border-radius: 16px; background: #fff; box-shadow: 0 3px 12px #18231f08; }
.peza-messages-panel-heading { display: flex; align-items: center; justify-content: space-between; padding: 17px 20px; border-bottom: 1px solid #edf0ee; }
.peza-messages-panel-heading h2 { margin: 0 0 3px; color: #29352e; font-size: 0.9375rem; }
.peza-messages-panel-heading p { margin: 0; color: #7d8882; font-size: 0.625rem; }
.peza-messages-heading-icon { display: grid; width: 34px; height: 34px; place-items: center; border-radius: 10px; background: #fff4dc; color: #bd7610; }
.peza-messages-heading-icon .ui-button-icon { width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-width: 1.7; }
.peza-seller-conversation-row { display: flex; min-width: 0; align-items: center; gap: 12px; padding: 14px 19px; border-bottom: 1px solid #eff1ef; color: #334039; transition: background .14s; }
.peza-seller-conversation-row:last-child { border-bottom: 0; }
.peza-seller-conversation-row:hover { background: #fbfaf6; }
.peza-conversation-avatar { display: grid; width: 43px; height: 43px; flex: 0 0 43px; place-items: center; border-radius: 50%; background: #f3e6c7; color: #795a1e; font: 700 0.875rem var(--display); }
.peza-conversation-main { display: grid; min-width: 0; flex: 1; gap: 3px; }
.peza-conversation-title { display: flex; min-width: 0; align-items: center; justify-content: space-between; gap: 14px; }
.peza-conversation-title strong { overflow: hidden; color: #2e3933; font-size: 0.6875rem; text-overflow: ellipsis; white-space: nowrap; }
.peza-conversation-title time { flex: 0 0 auto; color: #89928d; font-size: 0.5625rem; }
.peza-conversation-listing { overflow: hidden; color: #a36d16; font-size: 0.5625rem; font-weight: 700; text-overflow: ellipsis; white-space: nowrap; }
.peza-conversation-preview { overflow: hidden; color: #738078; font-size: 0.625rem; text-overflow: ellipsis; white-space: nowrap; }
.peza-conversation-end { display: flex; align-items: center; gap: 12px; }
.peza-conversation-end i { display: grid; min-width: 18px; height: 18px; place-items: center; padding: 0 4px; border-radius: 99px; background: #d99417; color: white; font-size: 0.5rem; font-style: normal; font-weight: 800; }
.peza-conversation-end b { color: #a0a9a3; font-size: 1.375rem; font-weight: 400; }
.peza-messages-empty { display: grid; justify-items: center; padding: 52px 22px; text-align: center; }
.peza-messages-empty > span { display: grid; width: 43px; height: 43px; place-items: center; border-radius: 13px; background: #fff5e1; color: #b9770c; }
.peza-messages-empty .ui-button-icon { width: 21px; height: 21px; fill: none; stroke: currentColor; stroke-width: 1.7; }
.peza-messages-empty h2 { margin: 13px 0 4px; color: #344039; font-size: 0.9375rem; }
.peza-messages-empty p { margin: 0 0 14px; color: #7b8580; font-size: 0.625rem; }
.peza-seller-chat { display: grid; min-height: min(75vh,790px); grid-template-rows: auto minmax(250px,1fr) auto; }
.peza-seller-chat-header { display: flex; align-items: center; gap: 12px; padding: 14px 18px; border-bottom: 1px solid #e9edea; }
.peza-chat-back { display: inline-flex; align-items: center; gap: 6px; margin-right: 5px; color: #6d7972; font-size: 0.5625rem; font-weight: 700; }
.peza-chat-back .ui-button-icon { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 1.8; }
.peza-seller-chat-header .peza-conversation-avatar { width: 39px; height: 39px; flex-basis: 39px; }
.peza-seller-chat-header > div { display: grid; min-width: 0; gap: 2px; flex: 1; }
.peza-seller-chat-header .eyebrow { margin: 0; color: #b5770c; font-size: 0.5rem; }
.peza-seller-chat-header h1 { overflow: hidden; margin: 0; color: #2f3b34; font-size: 0.8125rem; text-overflow: ellipsis; white-space: nowrap; }
.peza-seller-chat-header > div > a { overflow: hidden; color: #78837d; font-size: 0.5625rem; text-overflow: ellipsis; white-space: nowrap; }
.peza-chat-listing-link { padding: 8px 10px; border: 1px solid #e1e6e3; border-radius: 8px; color: #6b756f; font-size: 0.5625rem; font-weight: 700; }
.peza-seller-chat-messages { display: flex; flex-direction: column; gap: 10px; overflow: auto; padding: 20px; background: #f8f9f8; }
.peza-seller-chat-message { max-width: min(74%,560px); align-self: flex-start; padding: 10px 13px; border: 1px solid #e6eae7; border-radius: 13px 13px 13px 4px; background: #fff; }
.peza-seller-chat-message.is-mine { align-self: flex-end; border-color: #efcf83; border-radius: 13px 13px 4px 13px; background: #fff8e8; }
.peza-seller-chat-message p { margin: 0 0 5px; color: #3e4943; font-size: 0.625rem; line-height: 1.55; overflow-wrap: anywhere; }
.peza-seller-chat-message time { color: #89928d; font-size: 0.5rem; }
.peza-seller-chat-composer { display: flex; align-items: flex-end; gap: 9px; padding: 12px; border-top: 1px solid #e9edea; background: #fff; }
.peza-seller-chat-composer textarea { min-height: 42px; max-height: 130px; flex: 1; resize: vertical; padding: 11px 12px; border: 1px solid #dce2de; border-radius: 10px; color: #344039; font: 500 0.625rem var(--body); }
.peza-seller-chat-composer .button { min-height: 40px; padding: 0 14px; font-size: 0.625rem; }
.peza-seller-chat-composer .ui-button-icon { width: 13px; height: 13px; }

/* Branded PayChangu mark and a more structured integration catalogue */
.peza-payment-provider-logo { display: grid; width: 120px; height: 42px; flex: 0 0 120px; place-items: center; overflow: hidden; padding: 5px; border: 1px solid #e7ece9; border-radius: 9px; background: #fff; }
.peza-payment-provider-logo img { display: block; max-width: 100%; max-height: 100%; object-fit: contain; }
.peza-payment-settings,.peza-integration-catalog { border-radius: 17px; box-shadow: 0 4px 16px #18231f0a; }
.peza-payment-settings { padding: 21px; }
.peza-payment-settings-grid { grid-template-columns: minmax(0,1fr) minmax(300px,.9fr); align-items: start; }
.peza-payment-connection-card { min-height: 74px; padding: 15px; border-color: #e3e9e5; background: #fbfcfb; }
.peza-payment-preference { padding: 15px; border-color: #e3e9e5; background: #fff; }
.peza-payment-preference h3 { margin-bottom: 5px; font-size: 0.6875rem; }
.peza-payment-option { min-height: 54px; align-items: center; padding: 10px; }
.peza-payment-option strong { font-size: 0.625rem; }
.peza-payment-option small { font-size: 0.5625rem; }
.peza-integration-catalog { padding: 21px; }
.peza-integration-grid { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 11px; }
.peza-integration-card { min-height: 95px; align-items: flex-start; flex-wrap: wrap; align-content: space-between; padding: 13px; }
.peza-integration-card-icon { width: 38px; height: 38px; flex-basis: 38px; background: #fff5df; color: #a66a0a; }
.peza-integration-card-copy { flex-basis: calc(100% - 50px); padding-top: 2px; }
.peza-integration-card-copy h3 { font-size: 0.625rem; }
.peza-integration-card-copy p { font-size: 0.5625rem; }
.peza-integration-request-form { margin-left: 48px; }
.peza-integration-request-form .peza-button-outline { max-width: none; min-height: 28px; padding: 0 9px; font-size: 0.5rem; white-space: nowrap; }
.peza-integration-requested { margin: 3px 0 0 48px; }
@media (max-width: 1050px) {
  .peza-integration-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 640px) {
  .peza-seller-chat { min-height: calc(100dvh - 190px); }
  .peza-seller-chat-header { flex-wrap: wrap; padding: 12px; }
  .peza-chat-back { flex-basis: 100%; }
  .peza-seller-chat-header .peza-conversation-avatar { margin-left: 2px; }
  .peza-chat-listing-link { margin-left: auto; }
  .peza-seller-chat-messages { padding: 13px; }
  .peza-seller-chat-message { max-width: 88%; }
  .peza-seller-chat-composer { padding: 9px; }
  .peza-payment-provider-logo { width: 100px; flex-basis: 100px; }
  .peza-integration-grid { grid-template-columns: minmax(0,1fr); }
}

/* Roomier, readable seller messaging surfaces */
.seller-messages-page .peza-dashboard-page-content { width: 100%; max-width: none; padding: 28px clamp(18px,3vw,42px) 48px; }
.seller-messages-page .dashboard-welcome { align-items: center; gap: 20px; margin-bottom: 22px; }
.seller-messages-page .dashboard-welcome h1 { font-size: clamp(1.5rem,2.3vw,2rem); }
.seller-messages-page .dashboard-welcome > div:first-child > p:last-child { font-size: 0.875rem; }
.seller-messages-page .peza-messages-panel,.seller-messages-page .peza-seller-chat { width: 100%; max-width: none; }
.seller-messages-page .peza-messages-panel-heading { min-height: 76px; padding: 18px 22px; }
.seller-messages-page .peza-messages-panel-heading h2 { font-size: 1rem; }
.seller-messages-page .peza-messages-panel-heading p { font-size: 0.8125rem; }
.seller-messages-page .peza-seller-conversation-row { gap: 15px; padding: 17px 22px; }
.seller-messages-page .peza-conversation-avatar { width: 48px; height: 48px; flex-basis: 48px; font-size: 1rem; }
.seller-messages-page .peza-conversation-main { gap: 5px; }
.seller-messages-page .peza-conversation-title strong { font-size: 0.9375rem; }
.seller-messages-page .peza-conversation-title time { font-size: 0.75rem; }
.seller-messages-page .peza-conversation-listing { font-size: 0.8125rem; }
.seller-messages-page .peza-conversation-preview { font-size: 0.875rem; }
.seller-messages-page .peza-conversation-end i { min-width: 21px; height: 21px; font-size: 0.6875rem; }
.seller-messages-page .peza-messages-empty { min-height: 300px; align-content: center; padding: 56px 24px; }
.seller-messages-page .peza-messages-empty h2 { font-size: 1.125rem; }
.seller-messages-page .peza-messages-empty p { font-size: 0.875rem; }
.seller-messages-page .peza-seller-chat { min-height: min(76vh,820px); }
.seller-messages-page .peza-seller-chat-header { gap: 14px; padding: 17px 22px; }
.seller-messages-page .peza-chat-back { font-size: 0.8125rem; }
.seller-messages-page .peza-seller-chat-header .peza-conversation-avatar { width: 44px; height: 44px; flex-basis: 44px; }
.seller-messages-page .peza-seller-chat-header .eyebrow { font-size: 0.6875rem; }
.seller-messages-page .peza-seller-chat-header h1 { font-size: 1rem; }
.seller-messages-page .peza-seller-chat-header > div > a,.seller-messages-page .peza-chat-listing-link { font-size: 0.8125rem; }
.seller-messages-page .peza-seller-chat-messages { gap: 13px; padding: 24px; }
.seller-messages-page .peza-seller-chat-message { padding: 12px 15px; }
.seller-messages-page .peza-seller-chat-message p { font-size: 0.875rem; }
.seller-messages-page .peza-seller-chat-message time { font-size: 0.75rem; }
.seller-messages-page .peza-seller-chat-composer { gap: 12px; padding: 15px; }
.seller-messages-page .peza-seller-chat-composer textarea { min-height: 48px; padding: 12px 14px; font-size: 0.875rem; }
.seller-messages-page .peza-seller-chat-composer .button { min-height: 44px; padding: 0 18px; font-size: 0.875rem; }
@media (max-width: 640px) {
  .seller-messages-page .peza-dashboard-page-content { padding: 20px 14px 32px; }
  .seller-messages-page .dashboard-welcome { align-items: flex-start; }
  .seller-messages-page .peza-seller-conversation-row { gap: 10px; padding: 14px; }
  .seller-messages-page .peza-conversation-avatar { width: 42px; height: 42px; flex-basis: 42px; }
  .seller-messages-page .peza-conversation-title { align-items: flex-start; gap: 6px; }
  .seller-messages-page .peza-conversation-title strong { font-size: 0.875rem; }
  .seller-messages-page .peza-conversation-title time { font-size: 0.6875rem; }
  .seller-messages-page .peza-conversation-preview { font-size: 0.8125rem; }
  .seller-messages-page .peza-seller-chat-header { gap: 10px; }
  .seller-messages-page .peza-seller-chat-composer { align-items: stretch; }
  .seller-messages-page .peza-seller-chat-composer .button { flex: 0 0 auto; }
}

/* Dashboard alerts, integration requests, and payment preferences */
.peza-dashboard-topbar-actions { gap: 15px !important; }
.peza-dashboard-chart-link,.peza-notification-menu > summary { position: relative; display: grid; width: 36px; height: 36px; place-items: center; border: 1px solid #e4e7e5; border-radius: 11px; background: #fff; color: #626b66; cursor: pointer; }
.peza-dashboard-chart-link:hover,.peza-notification-menu > summary:hover { border-color: #edc76c; color: #b87500; }
.peza-dashboard-chart-link .ui-button-icon,.peza-notification-menu > summary .ui-button-icon { width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.peza-notification-menu { position: relative; }
.peza-notification-menu > summary { list-style: none; }
.peza-notification-menu > summary::-webkit-details-marker { display: none; }
.peza-notification-menu > summary > span { display: grid; place-items: center; }
.peza-notification-menu > summary i { position: absolute; top: -5px; right: -5px; display: grid; min-width: 17px; height: 17px; place-items: center; padding: 0 4px; border: 2px solid #f9faf9; border-radius: 99px; background: #e27521; color: white; font-size: 0.5rem; font-style: normal; font-weight: 800; }
.peza-notification-popover { position: absolute; z-index: 70; top: calc(100% + 11px); right: -48px; width: min(330px,calc(100vw - 28px)); padding: 13px; border: 1px solid #e0e4e1; border-radius: 13px; background: #fff; box-shadow: 0 14px 38px #17231d20; }
.peza-notification-popover > strong { display: block; margin: 1px 4px 8px; color: #26312b; font-size: 0.75rem; }
.peza-notification-popover > a { display: grid; gap: 3px; padding: 10px 8px; border-top: 1px solid #eef0ee; color: #44504a; font-size: 0.625rem; line-height: 1.45; }
.peza-notification-popover > a span { color: #bd7610; font-size: 0.5625rem; font-weight: 700; }
.peza-notification-popover > p { margin: 0; padding: 10px 4px; color: #76817b; font-size: 0.625rem; }
.peza-dashboard-topbar-actions .peza-topbar-avatar { margin-left: 3px; }
.peza-dashboard-account-menu { position: relative; margin-left: 3px; }
.peza-dashboard-account-menu > summary { list-style: none; cursor: pointer; box-shadow: 0 0 0 1px #e1e5e2; }
.peza-dashboard-account-menu > summary::-webkit-details-marker { display: none; }
.peza-dashboard-account-menu > nav { position: absolute; top: calc(100% + 10px); right: 0; z-index: 100; display: grid; width: min(245px,calc(100vw - 24px)); padding: 7px; border: 1px solid #e1e5e2; border-radius: 14px; background: #fff; box-shadow: 0 16px 42px rgba(20,32,27,.2); }
.peza-dashboard-account-menu > nav a,.peza-dashboard-account-menu > nav button { display: flex; min-height: 39px; align-items: center; gap: 10px; width: 100%; padding: 9px 11px; border: 0; border-radius: 9px; background: transparent; color: #4e5a54; font: 500 .8125rem var(--body); text-align: left; }
.peza-dashboard-account-menu > nav a:hover,.peza-dashboard-account-menu > nav button:hover { background: #f3f5f3; color: #28332d; }
.peza-dashboard-account-menu > nav form,.header-account-menu > nav form { width: 100%; margin: 5px 0 0; padding-top: 5px; border-top: 1px solid #e8ebe9; }
.peza-dashboard-account-menu > nav form button,.header-account-menu > nav form button { justify-content: flex-start; min-height: 39px; line-height: 1.2; cursor: pointer; }
.peza-dashboard-account-menu > nav .ui-button-icon { width: 16px; height: 16px; flex: 0 0 16px; fill: none; stroke: currentColor; stroke-width: 1.7; }
.settings-dashboard-page .dashboard-welcome { margin-bottom: 17px; }
.settings-dashboard-page .peza-settings-dialog { grid-template-columns: 250px minmax(0,1fr); border-radius: 17px; box-shadow: 0 8px 28px #15221b0b; }
.settings-dashboard-page .peza-settings-guide { padding: 25px 22px; background: #f2f6f5; }
.settings-dashboard-page .peza-settings-guide h2 { margin-bottom: 8px; font-size: 1.0625rem; }
.settings-dashboard-page .peza-settings-guide p,.settings-dashboard-page .peza-settings-guide li { font-size: 0.6875rem; }
.settings-dashboard-page .account-settings-panel { padding: 24px; }
.account-settings-form { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0 15px; }
.account-settings-form .seller-module-settings-note,.account-settings-form .seller-setting-module,.account-settings-form > button { grid-column: 1 / -1; }
.account-settings-form .seller-module-settings-note { margin: 0 0 12px; color: #718079; font-size: 0.625rem; line-height: 1.5; }
.account-setting-field { display: grid; align-content: start; gap: 5px; margin: 0 0 13px; }
.account-setting-field label { color: #46524c; font-size: 0.625rem; font-weight: 700; }
.account-setting-field input:not([type=checkbox]):not([type=file]),.account-setting-field select,.account-setting-field textarea { width: 100%; min-height: 38px; padding: 8px 10px; border: 1px solid #dce2de; border-radius: 8px; background: #fff; color: #26312b; font: 500 0.6875rem var(--body); }
.account-setting-field input[type=file] { width: 100%; min-height: 36px; padding: 7px; border: 1px solid #dce2de; border-radius: 8px; background: #fff; font-size: 0.625rem; }
.account-setting-field input:focus,.account-setting-field select:focus,.account-setting-field textarea:focus { border-color: #e7b94d; outline: 3px solid #f9edce; }
.account-setting-field small { color: #7a8580; font-size: 0.5625rem; line-height: 1.4; }
.account-settings-form > button { justify-self: start; min-height: 37px; padding: 0 16px; }
.account-settings-panel .account-password-link { margin: 13px 0 0; padding-top: 12px; border-top: 1px solid #edf0ee; font-size: 0.625rem; }
.peza-settings-integrations-link { display: flex; align-items: center; gap: 11px; width: fit-content; max-width: 100%; margin: -1px 0 16px; padding: 10px 13px; border: 1px solid #e2e6e3; border-radius: 11px; background: #fff; color: #3d4943; }
.peza-settings-integrations-link > span:first-child { display: grid; width: 34px; height: 34px; place-items: center; border-radius: 10px; background: #fff6e3; color: #bd7610; }
.peza-settings-integrations-link .ui-button-icon { width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-width: 1.7; }
.peza-settings-integrations-link > span:nth-child(2) { display: grid; gap: 2px; }
.peza-settings-integrations-link strong { font-size: 0.625rem; }
.peza-settings-integrations-link small { color: #7b8580; font-size: 0.5625rem; }
.peza-settings-integrations-link > b { margin-left: 6px; color: #a86705; }
.integrations-dashboard-page .dashboard-welcome { margin-bottom: 20px; }
.peza-payment-settings,.peza-integration-catalog { margin: 0 0 26px; padding: 20px; border: 1px solid #e1e6e3; border-radius: 15px; background: #fff; box-shadow: 0 2px 9px #18231f07; }
.peza-integration-section-heading { display: flex; align-items: flex-start; gap: 12px; margin-bottom: 17px; }
.peza-integration-icon { display: grid; width: 38px; height: 38px; flex: 0 0 38px; place-items: center; border-radius: 11px; background: #fff5df; color: #b96f05; }
.peza-integration-icon .ui-button-icon { width: 19px; height: 19px; fill: none; stroke: currentColor; stroke-width: 1.7; }
.peza-integration-section-heading .eyebrow { margin: 0 0 4px; color: #bd7610; font-size: 0.5625rem; }
.peza-integration-section-heading h2 { margin: 0 0 4px; color: #27322c; font-size: 1.0625rem; }
.peza-integration-section-heading p:last-child { margin: 0; color: #758079; font-size: 0.625rem; line-height: 1.5; }
.peza-payment-settings-grid { display: grid; grid-template-columns: minmax(0,1fr) minmax(260px,.8fr); gap: 11px; }
.peza-payment-connection-card { display: flex; min-width: 0; align-items: center; gap: 11px; padding: 13px; border: 1px solid #e6eae7; border-radius: 11px; background: #fafbfa; }
.peza-payment-provider-mark { display: grid; width: 38px; height: 38px; flex: 0 0 38px; place-items: center; border-radius: 10px; background: #dcf4f0; color: #08786e; font: 800 0.8125rem var(--display); }
.peza-payment-provider-copy { display: grid; min-width: 0; flex: 1; gap: 3px; }
.peza-payment-provider-copy strong { overflow: hidden; color: #303b35; font-size: 0.625rem; text-overflow: ellipsis; white-space: nowrap; }
.peza-payment-provider-copy span { color: #78827d; font-size: 0.5625rem; }
.peza-integration-status { padding: 6px 8px; border-radius: 99px; background: #f4f0e5; color: #887345; font-size: 0.5rem; font-weight: 700; white-space: nowrap; }
.peza-button-outline { min-height: 31px; padding: 0 10px; border: 1px solid #dce2de; border-radius: 8px; background: #fff; color: #536059; font: 700 0.5625rem var(--body); white-space: nowrap; cursor: pointer; }
.peza-button-outline:hover { border-color: #e6bc60; color: #a76700; }
.peza-integration-config-note { grid-column: 1; margin: -4px 2px 3px; color: #7e8983; font-size: 0.5625rem; line-height: 1.45; }
.peza-payment-preference { grid-column: 2; grid-row: 1 / span 2; display: grid; align-content: start; gap: 7px; padding: 13px; border: 1px solid #e6eae7; border-radius: 11px; }
.peza-payment-preference h3 { margin: 0 0 2px; color: #37423c; font-size: 0.625rem; }
.peza-payment-option { display: flex; align-items: flex-start; gap: 8px; padding: 8px; border: 1px solid #e8ece9; border-radius: 8px; cursor: pointer; }
.peza-payment-option:has(input:checked) { border-color: #efc363; background: #fffbf1; }
.peza-payment-radio input { accent-color: #d99112; }
.peza-payment-option > span:last-child { display: grid; gap: 3px; }
.peza-payment-option strong { color: #46514b; font-size: 0.5625rem; }
.peza-payment-option small { color: #7d8781; font-size: 0.5rem; line-height: 1.4; }
.peza-payment-preference > button { justify-self: start; margin-top: 2px; }
.peza-integration-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 9px; }
.peza-integration-card { display: flex; min-width: 0; align-items: center; gap: 10px; padding: 11px; border: 1px solid #e5e9e6; border-radius: 11px; background: #fff; transition: border-color .15s,background .15s; }
.peza-integration-card:hover { border-color: #eac66e; background: #fffdf8; }
.peza-integration-card-icon { display: grid; width: 36px; height: 36px; flex: 0 0 36px; place-items: center; border-radius: 10px; background: #f3f5f3; color: #58645d; }
.peza-integration-card-icon svg { width: 19px; height: 19px; fill: none; stroke: currentColor; stroke-width: 1.65; stroke-linecap: round; stroke-linejoin: round; }
.peza-integration-card-copy { display: grid; min-width: 0; flex: 1; gap: 3px; }
.peza-integration-card-copy h3 { overflow: hidden; margin: 0; color: #344039; font-size: 0.625rem; text-overflow: ellipsis; white-space: nowrap; }
.peza-integration-card-copy p { margin: 0; color: #7b8580; font-size: 0.5rem; line-height: 1.4; }
.peza-integration-requested { display: inline-flex; flex: 0 0 auto; align-items: center; gap: 4px; color: #718044; font-size: 0.5rem; font-weight: 700; }
.peza-integration-requested .ui-button-icon { width: 13px; height: 13px; fill: none; stroke: currentColor; stroke-width: 2; }
.peza-integration-request-form { flex: 0 0 auto; }
.peza-integration-request-form .peza-button-outline { max-width: 104px; white-space: normal; }
@media (max-width: 920px) {
  .settings-dashboard-page .peza-settings-dialog { grid-template-columns: 205px minmax(0,1fr); }
  .peza-payment-settings-grid { grid-template-columns: minmax(0,1fr); }
  .peza-payment-preference { grid-column: 1; grid-row: auto; }
  .peza-integration-config-note { grid-column: 1; }
}
@media (max-width: 640px) {
  .peza-dashboard-topbar-actions { gap: 8px !important; }
  .peza-dashboard-chart-link { display: none; }
  .peza-notification-popover { right: -40px; }
  .settings-dashboard-page .peza-settings-dialog { grid-template-columns: minmax(0,1fr); }
  .settings-dashboard-page .peza-settings-guide { padding: 16px; }
  .settings-dashboard-page .peza-settings-guide .business-form-aside-icon { display: none; }
  .settings-dashboard-page .peza-settings-guide h2 { font-size: 0.875rem; }
  .settings-dashboard-page .peza-settings-guide ul { grid-template-columns: 1fr; }
  .settings-dashboard-page .account-settings-panel { padding: 16px; }
  .account-settings-form { grid-template-columns: minmax(0,1fr); }
  .account-settings-form .seller-module-settings-note,.account-settings-form .seller-setting-module,.account-settings-form > button { grid-column: 1; }
  .peza-payment-settings,.peza-integration-catalog { padding: 15px; }
  .peza-payment-connection-card { flex-wrap: wrap; }
  .peza-payment-provider-copy { flex-basis: calc(100% - 55px); }
  .peza-payment-connection-card > form,.peza-payment-connection-card > .peza-integration-status { margin-left: 49px; }
  .peza-integration-grid { grid-template-columns: minmax(0,1fr); }
}
@media (prefers-reduced-motion: reduce) { * { transition: none !important; scroll-behavior: auto !important; } }

/* Keep account menus anchored to their avatar and inside small screens. */
.header-account-menu > nav { top: calc(100% + 9px); width: min(245px,calc(100vw - 24px)); max-height: calc(100dvh - 82px); overflow-y: auto; }
.header-quick-actions-authenticated { margin-left: auto; }
.header-quick-actions-public { margin-left: auto; }
.nav-actions-public { margin-left: 0; }
@media (min-width: 1101px) { .header-quick-actions-public { order: 2; } .nav-actions-public { order: 3; } }
.header-cart-button { position: relative; }
.header-utility-menu:has(.header-cart-button) > .header-cart-button { border-color: var(--line); background: var(--surface); box-shadow: 0 3px 10px rgba(20,32,27,.13); }
.header-utility-menu:has(.header-cart-button) > .header-cart-button:hover,.header-utility-menu:has(.header-cart-button)[open] > .header-cart-button { box-shadow: 0 5px 14px rgba(20,32,27,.2); }
.nav-actions-public .nav-account { box-shadow: 0 3px 10px rgba(20,32,27,.12); transition: box-shadow .16s,background .16s,transform .16s; }
.nav-actions-public .nav-account:hover { box-shadow: 0 5px 14px rgba(20,32,27,.18); transform: translateY(-1px); }
.header-cart-count { position: absolute; top: 1px; right: 0; display: grid; min-width: 17px; height: 17px; place-items: center; padding: 0 4px; border: 2px solid var(--paper); border-radius: 99px; background: var(--sun); color: #30240c; font-size: .625rem; font-weight: 800; line-height: 1; }
.header-currency { display: inline-flex; min-height: 28px; align-items: center; margin: 0 3px; padding: 0 8px; border: 1px solid var(--line); border-radius: 8px; background: var(--surface); color: var(--ink-soft); font-size: .6875rem; font-weight: 800; letter-spacing: .035em; }
.marketplace-add-cart .ui-button-icon { width: 18px; height: 18px; }
.marketplace-product-card { position: relative; }
.marketplace-card-add-form { position: absolute; z-index: 2; top: 9px; right: 9px; }
.marketplace-card-add-form button { display: grid; width: 40px; height: 40px; place-items: center; border: 1px solid rgba(255,255,255,.9); border-radius: 50%; background: #fff; color: #252d26; box-shadow: 0 3px 12px rgba(0,0,0,.2); cursor: pointer; transition: transform .16s,background .16s,color .16s; }
.marketplace-card-add-form button:hover { transform: translateY(-1px); background: #f4a000; color: #fff; }
.marketplace-card-add-form .ui-button-icon { width: 19px; height: 19px; }
.marketplace-card-add-form button span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; }
.marketplace-cart-shell { width: min(100%,1280px); margin: 0 auto; }
.marketplace-cart-heading { display: flex; align-items: end; justify-content: space-between; gap: 20px; margin-bottom: 25px; }
.marketplace-cart-heading h1 { color: var(--ink); font-size: clamp(1.8rem,4vw,2.5rem); }
.marketplace-cart-heading p:not(.eyebrow) { margin: 7px 0 0; color: var(--ink-soft); font-size: .9375rem; }
.marketplace-cart-heading > a { color: #a76300; font-size: .875rem; font-weight: 700; }
.marketplace-cart-layout { display: grid; grid-template-columns: minmax(0,1fr) 330px; align-items: start; gap: 22px; }
.marketplace-cart-items { display: grid; gap: 12px; }
.marketplace-cart-item { display: grid; grid-template-columns: 100px minmax(0,1fr) 150px auto; align-items: center; gap: 16px; padding: 14px; border: 1px solid #e0e4e2; border-radius: 13px; background: #fff; }
.marketplace-cart-image { display: grid; width: 100px; aspect-ratio: 1; place-items: center; overflow: hidden; border-radius: 9px; background: #f0f2f1; color: #859089; }
.marketplace-cart-image img { width: 100%; height: 100%; object-fit: cover; }
.marketplace-cart-item-copy { min-width: 0; }
.marketplace-cart-item-copy h2 { overflow: hidden; margin: 0; color: #28332d; font-size: 1rem; text-overflow: ellipsis; white-space: nowrap; }
.marketplace-cart-item-copy p { margin: 6px 0; color: #77817b; font-size: .8125rem; }
.marketplace-cart-item-copy > strong,.marketplace-cart-subtotal { color: #29352e; font-size: .875rem; }
.marketplace-cart-quantity { display: grid; grid-template-columns: auto minmax(55px,1fr); align-items: center; gap: 5px 8px; }
.marketplace-cart-quantity label { color: #69756e; font-size: .75rem; font-weight: 700; }
.marketplace-cart-quantity input { min-height: 35px; width: 100%; padding: 5px 8px; border: 1px solid #dfe4e1; border-radius: 7px; font: inherit; }
.marketplace-cart-quantity button { grid-column: 2; justify-self: start; padding: 0; border: 0; background: none; color: #9c6507; font: 700 .75rem var(--body); cursor: pointer; }
.marketplace-cart-quantity small { grid-column: 1/-1; color: #8b948f; font-size: .6875rem; }
.marketplace-cart-subtotal { white-space: nowrap; }
.marketplace-cart-summary { position: sticky; top: 90px; padding: 20px; border: 1px solid #e0e4e2; border-radius: 13px; background: white; }
.marketplace-cart-summary h2 { margin-bottom: 16px; font-size: 1.125rem; }
.marketplace-cart-summary > div { display: flex; justify-content: space-between; gap: 12px; padding: 14px 0; border-top: 1px solid #ecefed; border-bottom: 1px solid #ecefed; font-size: .875rem; }
.marketplace-cart-summary > p { color: #748078; font-size: .8125rem; line-height: 1.55; }
.marketplace-cart-summary .button { width: 100%; min-height: 42px; font-size: .8125rem; }
.marketplace-cart-empty { display: grid; justify-items: center; gap: 10px; padding: 70px 20px; border: 1px dashed #d8dfdb; border-radius: 15px; background: #fff; text-align: center; }
.marketplace-cart-empty > span { display: grid; width: 54px; height: 54px; place-items: center; border-radius: 50%; background: #fff4d8; color: #a76700; }
.marketplace-cart-empty .ui-button-icon { width: 24px; height: 24px; }
.marketplace-cart-empty h2 { font-size: 1.25rem; }
.marketplace-cart-empty p { margin: 0 0 8px; color: #758079; font-size: .875rem; }
@media (max-width: 800px) { .marketplace-cart-layout { grid-template-columns: minmax(0,1fr); } .marketplace-cart-summary { position: static; } }
@media (max-width: 560px) { .marketplace-cart-heading { align-items: flex-start; flex-direction: column; } .marketplace-cart-item { grid-template-columns: 76px minmax(0,1fr) auto; gap: 10px; padding: 10px; } .marketplace-cart-image { width: 76px; } .marketplace-cart-quantity { grid-column: 2; grid-row: 2; width: 150px; } .marketplace-cart-subtotal { grid-column: 3; grid-row: 2; align-self: start; font-size: .75rem; } }
@media (max-width: 1100px) {
  .nav-shell { gap: 9px; }
  .header-quick-actions { order: 2; margin-left: auto; }
  .mobile-menu { order: 3; margin-left: 0; }
  .header-account-menu { order: 4; margin-left: 0; }
  .header-quick-actions-authenticated { margin-left: auto; }
  .header-account-menu > nav { right: 0; }
  .nav-actions-public { display: none; }
}

/* =====================================================
   Home page components (templates/core/home.html)
   ===================================================== */
.hero { min-height: clamp(460px, 68vh, 760px); display: flex; align-items: center; }
.hero-sun-art { position: absolute; z-index: 0; right: clamp(8px, 5vw, 72px); bottom: -170px; width: clamp(260px, 34vw, 410px); height: auto; color: var(--sun); pointer-events: none; }
.hero-content { position: relative; z-index: 1; max-width: 760px; }
.hero-kicker { display: inline-flex; align-items: center; gap: 8px; padding: 7px 14px; border-radius: 999px; background: rgba(255,255,255,.12); font-size: 0.875rem; font-weight: 500; margin-bottom: 22px; }
.hero-kicker::before { content: ''; width: 8px; height: 8px; border-radius: 50%; background: var(--sun); }
.hero h1 span { color: var(--sun); }
.hero-meta { display: flex; flex-wrap: wrap; gap: 10px 26px; margin-top: 28px; font-size: 0.90625rem; color: #cfe6e0; }
.hero-meta span { display: inline-flex; align-items: center; gap: 8px; }
.hero-meta b { display: grid; color: var(--sun); }
.hero-meta svg { width: 16px; height: 16px; }

.search-box { margin-top: 32px; display: flex; align-items: center; gap: 8px; width: 100%; max-width: 640px; background: var(--surface); padding: 7px 7px 7px 18px; border-radius: 999px; color: var(--ink); box-shadow: 0 20px 50px -20px rgba(0,0,0,.5); }
.search-box:focus-within { box-shadow: 0 0 0 3px var(--sun), 0 20px 50px -20px rgba(0,0,0,.5); }
.search-icon { display: grid; color: var(--lake); }
.search-icon svg { width: 22px; height: 22px; }
.search-box input { flex: 1; min-width: 0; height: 50px; border: 0; background: transparent; font: 500 1rem var(--body); color: var(--ink); outline: none; }
.search-box button { height: 50px; padding: 0 24px; border: 0; border-radius: 999px; background: var(--sun); color: var(--ink); font: 600 1rem var(--body); cursor: pointer; white-space: nowrap; transition: background .15s; }
.search-box button:hover { background: #e19400; }

.category-strip { display: flex; gap: 10px; margin-top: 24px; padding: 4px 2px 8px; overflow-x: auto; scrollbar-width: none; }
.category-strip::-webkit-scrollbar { display: none; }
.category-chip { flex: none; display: inline-flex; align-items: center; gap: 9px; padding: 10px 18px 10px 12px; border-radius: 999px; background: var(--surface); border: 1px solid var(--line); font-weight: 600; font-size: 0.9375rem; transition: border-color .15s, background .15s; }
.category-chip:hover { border-color: var(--lake); background: var(--lake-tint); }
.chip-icon { width: 30px; height: 30px; border-radius: 50%; background: var(--lake-tint); color: var(--lake); display: grid; place-items: center; }
.chip-icon svg { width: 17px; height: 17px; }

.section-heading { display: flex; align-items: flex-end; justify-content: space-between; flex-wrap: wrap; gap: 14px 24px; margin-bottom: 26px; }
.section-heading h2 { font-size: clamp(1.75rem, 4vw, 2.625rem); }
.section-heading p { margin: 8px 0 0; color: var(--ink-soft); max-width: 52ch; }
.section-heading .eyebrow { margin: 0 0 8px; }
.eyebrow { color: var(--lake); font-weight: 600; font-size: 0.9375rem; margin: 0 0 8px; }
.text-link { color: var(--lake); font-weight: 600; white-space: nowrap; }
.text-link:hover { text-decoration: underline; text-underline-offset: 3px; }

.discovery-card { background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); overflow: hidden; display: flex; flex-direction: column; transition: box-shadow .2s, transform .2s; }
.discovery-card:hover { transform: translateY(-3px); box-shadow: 0 16px 34px -18px rgba(20,32,27,.35); }
.discovery-card > a { display: block; }
.card-image { position: relative; height: 190px; overflow: hidden; background: var(--lake-tint); }
.card-image img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s; }
.discovery-card:hover .card-image img { transform: scale(1.04); }
.image-placeholder { width: 100%; height: 100%; display: grid; place-items: center; color: rgba(255,255,255,.85); background: var(--lake-dark); }
.event-card .image-placeholder { background: var(--ink); }
.image-placeholder svg { width: 54px; height: 54px; }
.card-tag { position: absolute; left: 12px; bottom: 12px; background: rgba(255,255,255,.96); padding: 5px 12px; border-radius: 999px; font-size: 0.78125rem; font-weight: 600; }
.discovery-card .card-body { flex: 1; align-content: start; gap: 4px; padding: 18px 18px 16px; }
.card-category { font-size: 0.875rem; color: var(--ink-soft); }
.discovery-card h3 a:hover { color: var(--lake); }
.card-meta { flex-wrap: wrap; }
.rating { display: inline-flex; align-items: center; gap: 4px; color: #b57600; font-weight: 600; }
.rating svg { width: 15px; height: 15px; }
.card-bottom { margin-top: 12px; padding-top: 12px; border-top: 1px solid var(--line); display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.verified-badge { display: inline-flex; align-items: center; gap: 6px; padding: 4px 10px 4px 8px; border-radius: 999px; background: var(--lake-tint); color: var(--lake-dark); font-size: 0.8125rem; font-weight: 600; }
.verified-badge svg { width: 14px; height: 14px; }
.status-label { font-size: 0.875rem; font-weight: 600; color: var(--ink-soft); }

.event-card .event-date { position: absolute; top: 12px; left: 12px; width: 54px; padding: 7px 0; box-shadow: 0 6px 16px -6px rgba(0,0,0,.4); background: var(--surface); }
.event-card .event-date b { font-size: 1.375rem; }
.event-card .event-date span { font-size: 0.75rem; }

.empty-state { grid-column: 1 / -1; display: grid; justify-items: start; gap: 6px; padding: 32px; border: 1.5px dashed #c9cfc8; border-radius: var(--radius); background: rgba(255,255,255,.6); }
.empty-state p { margin: 0; color: var(--ink-soft); }
.empty-state strong { color: var(--ink); font-family: var(--display); font-size: 1.25rem; }
.empty-state .button, .empty-state .text-link { margin-top: 10px; }

.split-banner { margin-top: 72px; border-radius: 28px; background: var(--sun); overflow: hidden; display: grid; grid-template-columns: 1.3fr 1fr; }
.split-banner > div:first-child { padding: clamp(28px, 5vw, 64px); }
.split-banner h2 { font-size: clamp(1.75rem, 4vw, 2.875rem); max-width: 20ch; }
.split-banner p { max-width: 46ch; margin: 12px 0 0; }
.split-banner .eyebrow { color: var(--lake-dark); margin: 0 0 10px; }
.split-banner .button:not(.button-secondary) { background: var(--ink); color: #fff; }
.split-banner .button:not(.button-secondary):hover { background: #000; }
.detail-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px; }
.button-secondary { background: transparent; color: var(--ink); box-shadow: inset 0 0 0 1.5px var(--ink); }
.button-secondary:hover { background: var(--ink); color: #fff; }
.split-banner-art { position: relative; min-height: 220px; overflow: hidden; background: var(--lake-dark); }
.split-banner-art img { position: absolute; inset: 0; display: block; width: 100%; height: 100%; object-fit: cover; object-position: center 42%; }

.leaflet-container { border-radius: var(--radius); font-family: var(--body); }

@media (max-width: 860px) {
  .split-banner { grid-template-columns: 1fr; }
  .split-banner-art { min-height: 150px; order: -1; }
}
@media (max-width: 640px) {
  .hero { min-height: 0; }
  .hero-sun-art { right: -72px; bottom: -174px; width: 300px; }
  .search-box { padding-left: 14px; }
  .search-box button { padding: 0 18px; }
  .section-heading { align-items: flex-start; }
}


/* Nearby map panel */
.nearby-panel { position: relative; isolation: isolate; overflow: hidden; padding: clamp(22px, 4vw, 40px); border: 1px solid var(--line); border-radius: 24px; background: #fff7ef; box-shadow: 0 14px 38px rgba(20,32,27,.055); }
.nearby-panel:after { position: absolute; z-index: -1; top: -116px; right: -50px; width: 290px; height: 290px; border: 1px solid rgba(217,104,61,.13); border-radius: 50%; box-shadow: 0 0 0 28px rgba(217,104,61,.025), 0 0 0 58px rgba(217,104,61,.02); content: ''; pointer-events: none; }
.nearby-heading { display: flex; align-items: center; justify-content: space-between; gap: 28px; }
.nearby-heading-copy { display: flex; align-items: flex-start; gap: 17px; max-width: 720px; }
.nearby-icon { display: grid; flex: 0 0 50px; place-items: center; width: 50px; height: 50px; margin-top: 4px; border: 1px solid #cfe3dd; border-radius: 16px; background: #fff; color: var(--lake); font-size: 1.5625rem; }
.nearby-icon svg { width: 25px; height: 25px; }
.nearby-heading .eyebrow { margin: 0 0 7px; color: var(--lake); }
.nearby-heading h2 { margin: 0; font-size: clamp(1.55rem, 3vw, 2.2rem); }
.nearby-heading-copy p:last-child { max-width: 580px; margin: 9px 0 0; color: var(--ink-soft); font-size: .96rem; }
.nearby-locate-button { flex: 0 0 auto; min-height: 48px; padding: 0 21px; }
.nearby-locate-button span:first-child { font-size: 1.1rem; }
.nearby-locate-button svg { width: 19px; height: 19px; flex: 0 0 19px; }
.nearby-privacy { display: flex; align-items: flex-start; gap: 9px; max-width: 690px; margin: 22px 0 0; padding: 11px 14px; border: 1px solid rgba(217,104,61,.1); border-radius: 12px; background: rgba(255,255,255,.64); color: var(--ink-soft); font-size: .78rem; line-height: 1.5; }
.nearby-privacy span:first-child { flex: 0 0 auto; }
.nearby-privacy span:first-child svg { width: 16px; height: 16px; }
.nearby-category-filter { display:grid; grid-template-columns:auto minmax(180px,300px); align-items:center; gap:12px; margin-top:18px; }
.nearby-category-filter label { color:var(--ink); font-size:.82rem; font-weight:700; }
.nearby-category-filter select { min-height:42px; padding:8px 36px 8px 12px; border:1px solid var(--line); border-radius:8px; background:var(--surface); color:var(--ink); font:500 .82rem var(--body); }
.nearby-category-filter select:disabled { opacity:.65; }
.nearby-result[hidden] { display:none !important; }
.nearby-shortcuts { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; margin-top:18px; }
.nearby-shortcuts button { display:flex; min-width:0; min-height:58px; align-items:center; justify-content:flex-start; gap:10px; padding:10px 13px; border:1px solid var(--line); border-radius:9px; background:var(--surface); color:var(--ink); font:650 .8rem var(--body); text-align:left; cursor:pointer; }
.nearby-shortcuts button:hover,.nearby-shortcuts button:focus-visible { border-color:#e2a123; background:var(--lake-tint); }
.nearby-shortcuts svg { width:22px; height:22px; flex:0 0 22px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; color:#a66b00; }
.nearby-results-dialog { width:min(540px,calc(100vw - 28px)); max-width:none; max-height:min(82vh,720px); overflow:auto; padding:18px; border:1px solid var(--line); border-radius:12px; background:var(--paper); color:var(--ink); box-shadow:0 24px 80px #0005; }
.nearby-results-dialog::backdrop { background:#10111399; backdrop-filter:blur(2px); }
.nearby-results-dialog > header { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; padding-bottom:13px; border-bottom:1px solid var(--line); }
.nearby-results-dialog .eyebrow { margin:0 0 5px; color:#a66b00; font-size:.67rem; font-weight:800; text-transform:uppercase; }
.nearby-results-dialog h2 { margin:0; font-size:1.1rem; }
.nearby-results-dialog [data-nearby-dialog-close] { width:36px; height:36px; border:1px solid var(--line); border-radius:8px; background:var(--surface); color:var(--ink); font-size:1.3rem; cursor:pointer; }
.nearby-dialog-status { margin:12px 0; color:var(--ink-soft); font-size:.76rem; }
.nearby-dialog-results { display:grid; gap:9px; }
.nearby-dialog-place { padding:12px; border:1px solid var(--line); border-radius:8px; background:var(--surface); }
.nearby-dialog-place h3 { margin:0 0 5px; color:var(--ink); font-size:.88rem; }
.nearby-dialog-place p { margin:4px 0; color:var(--ink-soft); font-size:.75rem; line-height:1.5; }
.nearby-dialog-actions { display:flex; flex-wrap:wrap; align-items:center; gap:12px; margin-top:9px; }
.nearby-dialog-actions .text-link { color:#946000; font-size:.74rem; font-weight:700; }
.nearby-status:empty { display: none; }
.nearby-status:not(:empty) { margin: 16px 0 0; padding: 11px 14px; border-radius: 11px; background: var(--lake-tint); color: var(--lake-dark); font-size: .86rem; font-weight: 600; }
.nearby-map { height: 410px; margin: 23px 0 20px; border: 1px solid var(--line); border-radius: 16px; overflow: hidden; background: #e9eee8; z-index: 0; }
.nearby-map[hidden] { display: none; }
.nearby-results { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; margin: 18px 0 8px; }
.nearby-result { overflow: hidden; background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); }
.nearby-result h3 { padding: 0 16px; margin: 16px 0 6px; }
.nearby-result > p { padding: 0 16px; margin: 7px 0; color: var(--ink-soft); }
.nearby-actions { display: flex; align-items: center; gap: 14px; padding: 12px 16px 16px; }
.nearby-actions .button { min-height: 36px; padding: 0 14px; font-size: .8rem; }
.nearby-attribution { display: block; margin-top: 15px; color: var(--ink-soft); font-size: .75rem; }
.nearby-attribution a { color: var(--lake-dark); text-decoration: underline; text-underline-offset: 2px; }
.leaflet-container { border-radius: var(--radius); font-family: var(--body); }

/* Full viewport homepage hero */
body:has(.hero) .page-shell { padding-top: 0; }
.hero { width: 100vw; min-height: 60vh; min-height: 60svh; margin-left: calc(50% - 50vw); border-radius: 0; }
@media (max-width: 760px) {
  .nearby-heading { align-items: flex-start; flex-direction: column; gap: 18px; }
  .nearby-category-filter { grid-template-columns:minmax(0,1fr); gap:6px; }
  .nearby-shortcuts { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .nearby-shortcuts button { min-height:54px; padding:9px; font-size:.74rem; }
  .nearby-heading-copy { gap: 13px; }
  .nearby-locate-button { width: 100%; }
  .nearby-icon { flex-basis: 42px; width: 42px; height: 42px; border-radius: 13px; }
  .nearby-panel { padding: 22px 18px; border-radius: 20px; }
  .nearby-results { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
  .nearby-map { height: 340px; }
  .nearby-results { grid-template-columns: 1fr; }
}

/* Hero photo sits behind the existing sun artwork. */
.hero {
  background-color: rgba(0,0,0,.58);
  background-image: url('https://i.guim.co.uk/img/media/61b2d8b4943961e73e652d457d44981a404d46d7/0_0_1685_1121/master/1685.jpg?width=1020&dpr=1&s=none&crop=none');
  background-blend-mode: multiply;
  background-position: center;
  background-size: cover;
}
.hero::before {
  position: absolute;
  z-index: -1;
  inset: 0;
  content: '';
  pointer-events: none;
  background-color: rgba(0,0,0,.58);
  background-image: url('https://blog.userank.com/wp-content/uploads/2025/01/Detty-December-in-Nigeria-1024x576.jpg');
  background-blend-mode: multiply;
  background-position: center;
  background-size: cover;
  opacity: 0;
  animation: peza-hero-crossfade 12s ease-in-out infinite alternate;
}
@keyframes peza-hero-crossfade {
  0%, 38% { opacity: 0; }
  62%, 100% { opacity: 1; }
}
@media (prefers-reduced-motion: reduce) {
  .hero::before { animation: none; }
}

/* Slightly more compact site scale */
:root { --gutter: clamp(16px, 3.6vw, 62px); --radius: 12px; }
body { font-size: 0.9375rem; }
.nav-shell { height: 62px; }
.page-shell { padding-top: 28px; padding-bottom: 64px; }
.hero { padding: clamp(32px, 6vw, 70px) clamp(20px, 4.5vw, 56px); }
.hero h1 { font-size: clamp(2rem, 5.7vw, 4rem); }
.hero p { font-size: clamp(0.9375rem, 1.8vw, 1.0625rem); }
.section { margin-top: 60px; }
.section-head h2, .section-heading h2 { font-size: clamp(1.5rem, 3.5vw, 2.25rem); }
.card-grid { gap: 16px; }
.card-body { padding: 16px; }
.button { padding: 12px 21px; font-size: 0.9375rem; }
.button-small { padding: 9px 16px; font-size: 0.84375rem; }
.nearby-map { height: 370px; }
@media (max-width: 640px) {
  .nav-shell { height: 58px; }
  .page-shell { padding-top: 18px; padding-bottom: 50px; }
  .hero { padding: 30px 20px; }
  .hero h1 { font-size: clamp(2rem, 9vw, 3rem); }
  .section { margin-top: 48px; }
  .nearby-map { height: 320px; }
}

/* Floating homepage discovery filter and Malawi feature card */
.hero-content { max-width: min(760px, calc(100% - 350px)); }
.discover-float-card { position: absolute; z-index: 2; top: 50%; right: clamp(28px, 5vw, 72px); width: 286px; padding: 15px; transform: translateY(-50%); border: 1px solid rgba(255,255,255,.55); border-radius: 20px; background: rgba(255,255,255,.94); color: var(--ink); box-shadow: 0 24px 60px rgba(0,0,0,.24); backdrop-filter: blur(12px); }
.discover-card-art { position: relative; height: 112px; overflow: hidden; border-radius: 13px; background: #88bdad; }
.discover-card-art:before,.discover-card-art:after { position: absolute; right: -8%; bottom: -65%; width: 120%; height: 125%; border-radius: 50%; content: ''; }
.discover-card-art:before { background: rgba(242,160,7,.75); transform: rotate(-11deg) translateY(-35px); }
.discover-card-art:after { right: 24%; bottom: -83%; background: #0e6b5c; transform: rotate(8deg); }
.discover-card-sun { position: absolute; z-index: 1; top: 15px; right: 24px; width: 35px; height: 35px; border-radius: 50%; background: #f2a007; box-shadow: 0 0 0 8px rgba(242,160,7,.18); }
.discover-card-pin { position: absolute; z-index: 2; top: 39px; left: 43%; display: grid; place-items: center; width: 34px; height: 34px; border: 3px solid white; border-radius: 50% 50% 50% 8px; background: #c8372d; color: white; font: 700 0.875rem var(--display); transform: rotate(-45deg); box-shadow: 0 4px 12px rgba(0,0,0,.2); }
.discover-card-pin:first-letter { transform: rotate(45deg); }
.discover-card-kicker { margin: 15px 0 5px; color: var(--lake); font-size: 0.625rem; font-weight: 700; letter-spacing: .12em; }
.discover-float-card h2 { font-size: 1.5625rem; }
.discover-float-card>p:not(.discover-card-kicker) { margin: 7px 0 14px; color: var(--ink-soft); font-size: 0.84375rem; line-height: 1.5; }
.discover-card-links { display: flex; gap: 8px; }
.discover-card-links a { display: inline-flex; align-items: center; gap: 6px; padding: 8px 10px; border-radius: 999px; background: var(--lake-tint); color: var(--lake-dark); font-size: 0.75rem; font-weight: 600; }
.discover-card-links a:hover { background: #cfe5de; }
.hero-search-float { position: relative; z-index: 5; display: grid; grid-template-columns: minmax(220px,2fr) minmax(145px,1fr) minmax(130px,1fr) auto auto; align-items: end; gap: 13px; max-width: 1140px; margin: -36px auto 8px; padding: 16px 18px; border: 1px solid rgba(20,32,27,.08); border-radius: 19px; background: var(--surface); box-shadow: 0 20px 50px -22px rgba(20,32,27,.34); }
.float-search-field { min-width: 0; }
.float-search-field label { display: block; margin: 0 0 5px; color: var(--ink-soft); font-size: 0.6875rem; font-weight: 700; }
.float-input-wrap { display: flex; align-items: center; gap: 8px; }
.float-input-wrap>span { display: grid; flex: 0 0 20px; color: var(--lake); }
.float-input-wrap svg,.float-search-submit svg { width: 19px; height: 19px; }
.float-search-field input,.float-search-field select { width: 100%; min-width: 0; height: 40px; padding: 0 10px; border: 1px solid var(--line); border-radius: 9px; background: var(--surface); color: var(--ink); font: 500 0.8125rem var(--body); }
.float-input-wrap input { border: 0; padding-left: 0; }
.float-open-now { display: flex; align-items: center; gap: 7px; min-height: 42px; color: var(--ink-soft); font-size: 0.75rem; font-weight: 600; white-space: nowrap; }
.float-open-now input { width: 15px; height: 15px; accent-color: var(--lake); }
.float-search-submit { display: inline-flex; align-items: center; justify-content: center; gap: 7px; min-height: 42px; padding: 0 15px; border: 0; border-radius: 10px; background: var(--lake); color: white; font: 600 0.8125rem var(--body); white-space: nowrap; cursor: pointer; }
.float-search-submit:hover { background: var(--lake-dark); }
@media (max-width: 1000px) {
  .hero-content { max-width: min(650px, calc(100% - 320px)); }
  .discover-float-card { right: 28px; width: 260px; }
  .hero-search-float { grid-template-columns: minmax(160px,1.5fr) 1fr 1fr auto auto; }
}
@media (max-width: 860px) {
  .hero { flex-direction: column; align-items: stretch; justify-content: center; gap: 24px; }
  .hero-content { max-width: 760px; }
  .discover-float-card { position: relative; top: auto; right: auto; width: min(100%, 390px); transform: none; }
  .hero-search-float { grid-template-columns: repeat(2,minmax(0,1fr)); margin-top: -24px; }
  .float-search-query { grid-column: 1/-1; }
  .float-open-now,.float-search-submit { grid-column: auto; grid-row: auto; }
}
@media (max-width: 520px) {
  .hero-search-float { grid-template-columns: 1fr; gap: 10px; padding: 14px; }
  .float-search-query { grid-column: auto; }
  .float-search-submit { width: 100%; }
}

/* Keep the Contact Support card at the lower-right of the page. */
.hero-content { max-width: 760px; }
.discover-float-card {
  position: fixed;
  z-index: 35;
  top: auto;
  right: clamp(14px, 2vw, 24px);
  bottom: 24px;
  width: 286px;
  transform: none;
  overflow: hidden;
}
.discover-card-toggle {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 11px 13px;
  color: var(--lake-dark);
  font: 700 0.875rem var(--display);
  cursor: pointer;
  list-style: none;
}
.support-float-card .discover-card-toggle { color: #a63b30; }
.support-float-card .discover-toggle-icon { background: #fff0ed; color: #a63b30; }
.support-float-card .discover-card-links a { background: #fff0ed; color: #9f342a; }
.support-float-card .discover-card-links a:hover { background: #f8ddd8; }
.discover-card-toggle::-webkit-details-marker { display: none; }
.discover-toggle-icon { display: grid; place-items: center; width: 24px; height: 24px; border-radius: 50%; background: var(--lake-tint); font: 700 1rem var(--body); transition: transform .2s ease; }
.discover-float-card:not([open]) { width: 210px; padding: 0; }
.discover-float-card:not([open]) .discover-card-toggle { padding: 13px 15px; }
.discover-float-card[open] .discover-card-toggle { border-bottom: 1px solid var(--line); }
.discover-float-card[open] .discover-toggle-icon { transform: rotate(180deg); }
.discover-card-content { padding: 0 15px 15px; }
.discover-card-art { height: 112px; margin-top: 13px; background: #d7ebe4; }
.discover-card-art::before, .discover-card-art::after { content: none; }
.discover-card-photo { position: absolute; inset: 0; background-position: center; background-size: cover; }
.discover-card-photo-one { background-image: url('https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcSQs32iY3DoIoUaUwgZLLVnZERT5eDnveiIuqVnhYKZYiDMUSlX_5PN-ls&s=10'); animation: discover-photo-one 12s ease-in-out infinite; }
.discover-card-photo-two { background-image: url('https://imgproxy.natucate.com/FRumw_PRqFcE9JrXOdtTOVDH1rT6RZ7INkb34pu8TKM/rs:fill/g:ce/w:1780/h:1001/aHR0cHM6Ly93d3cubmF0dWNhdGUuY29tL21lZGlhL3BhZ2VzL3JlaXNlemllbGUvbWFsYXdpLzdiNGMwN2RiNGUtMTcxNTE3Njk0OC9tYWxhd2ktY291bnRyeS1pbmZvcm1hdGlvbi1jYXBlLW1hY2xlYXItc3Vuc2V0LWJvYXQuanBlZw'); animation: discover-photo-two 12s ease-in-out infinite; }
@keyframes discover-photo-one { 0%, 42% { opacity: 1; } 55%, 92% { opacity: 0; } 100% { opacity: 1; } }
@keyframes discover-photo-two { 0%, 42% { opacity: 0; } 55%, 92% { opacity: 1; } 100% { opacity: 0; } }
@media (prefers-reduced-motion: reduce) {
  .discover-card-photo-one, .discover-card-photo-two { animation: none; }
  .discover-card-photo-two { opacity: 0; }
}
@media (max-width: 860px) {
  .discover-float-card { right: 16px; bottom: 16px; width: 260px; }
  .discover-float-card:not([open]) { width: 210px; }
}
@media (max-width: 520px) {
  .discover-float-card { right: 12px; bottom: 12px; width: min(250px, calc(100vw - 24px)); padding: 0; }
  .discover-float-card:not([open]) { width: min(210px, calc(100vw - 24px)); }
  .discover-card-content { padding: 0 11px 11px; }
  .discover-card-art { height: 92px; }
  .discover-card-kicker { display: none; }
  .discover-float-card h2 { font-size: 1.1875rem; }
  .discover-float-card > p:not(.discover-card-kicker) { margin: 4px 0 8px; }
  .discover-card-links a { padding: 7px 9px; }
}

/* Search open-now filter is a switch; its checked state still submits open_now=1. */
.float-open-now {
  position: relative;
  min-height: 42px;
  gap: 9px;
  cursor: pointer;
  user-select: none;
}
.float-open-now input {
  position: absolute;
  width: 1px;
  height: 1px;
  opacity: 0;
}
.switch-track {
  position: relative;
  width: 38px;
  height: 22px;
  flex: 0 0 38px;
  border-radius: 999px;
  background: #c7cfcb;
  transition: background .18s ease;
}
.switch-track::after {
  position: absolute;
  top: 3px;
  left: 3px;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background: white;
  content: '';
  box-shadow: 0 1px 3px rgba(0,0,0,.2);
  transition: transform .18s ease;
}
.float-open-now input:checked + .switch-track { background: var(--lake); }
.float-open-now input:checked + .switch-track::after { transform: translateX(16px); }
.float-open-now input:focus-visible + .switch-track { outline: 3px solid rgba(217,104,61,.28); outline-offset: 2px; }
.category-strip { margin-top: 18px; }
.category-chip { font-size: 0.875rem; }

/* Trending events: featured poster with a scrollable upcoming list. */
.trend-section { min-width: 0; }
.trend-heading { align-items: end; }
.trend-layout { display: grid; grid-template-columns: minmax(0, .95fr) minmax(0, 1fr); align-items: start; gap: clamp(24px, 3.5vw, 56px); min-width: 0; }
.trend-featured { position: sticky; top: 88px; min-width: 0; overflow: hidden; border: 1px solid var(--line); border-radius: 22px; background: var(--surface); box-shadow: 0 18px 44px rgba(20,32,27,.11); }
.trend-featured-image { position: relative; display: block; overflow: hidden; aspect-ratio: .84; background: #c8954b; color: white; }
.trend-featured-image::after { position: absolute; inset: 0; content: ''; background: linear-gradient(to bottom, rgba(11,24,36,.08) 0%, rgba(11,24,36,.18) 34%, rgba(11,24,36,.56) 67%, rgba(11,24,36,.82) 100%); pointer-events: none; }
.trend-featured-image > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .45s ease; }
.trend-featured-image:hover > img { transform: scale(1.025); }
.trend-placeholder { position: absolute; inset: 0; display: grid; place-items: center; border: 0; border-radius: 0; background: #c8954b; color: white; }
.trend-placeholder svg { width: 54px; height: 54px; }
.trend-badge { position: absolute; z-index: 2; top: 20px; left: 20px; display: inline-flex; align-items: center; gap: 8px; padding: 7px 12px; border-radius: 999px; background: rgba(20,32,27,.78); color: white; font-size: 0.6875rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.trend-badge > span { width: 9px; height: 9px; border-radius: 50%; background: var(--sun); box-shadow: 0 0 0 4px rgba(242,160,7,.22); }
.trend-featured-location { position: absolute; z-index: 2; right: 20px; bottom: 188px; left: 20px; display: flex; align-items: center; gap: 7px; color: #fff; font-size: 0.8125rem; font-weight: 600; text-shadow: 0 1px 5px rgba(0,0,0,.55); }
.trend-featured-location svg,.trend-date svg { width: 15px; height: 15px; flex: 0 0 15px; }
.trend-featured-body { position: absolute; z-index: 2; right: 0; bottom: 0; left: 0; padding: 20px; color: #fff; }
.trend-date { display: flex; align-items: center; gap: 8px; margin: 0 0 9px; color: var(--ink-soft); font-size: 0.6875rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
.trend-featured-body .trend-date { color: rgba(255,255,255,.78); }
.trend-featured-body h3 { font-size: clamp(1.4375rem, 2.5vw, 2.125rem); }
.trend-featured-body h3 a:hover,.trend-item h3 a:hover { text-decoration: underline; text-underline-offset: 3px; }
.trend-description { display: -webkit-box; overflow: hidden; margin: 9px 0 13px; color: var(--ink-soft); font-size: 0.8125rem; line-height: 1.5; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.trend-featured-body .trend-description { color: rgba(255,255,255,.8); }
.trend-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.trend-actions .button { min-height: 38px; padding: 10px 17px; font-size: 0.8125rem; }
.trend-actions .button-wa { background: #08b95a; color: white; }
.trend-actions .button-wa:hover { background: #079b4d; }
.trend-list { max-height: min(790px, calc(100vh - 118px)); min-width: 0; overflow-y: auto; overscroll-behavior: contain; scrollbar-color: #b8c8c1 transparent; scrollbar-width: thin; }
.trend-item { display: grid; grid-template-columns: clamp(88px, 10vw, 132px) minmax(0,1fr); gap: 16px; padding: 0 0 20px; margin: 0 0 20px; border-bottom: 1px solid var(--line); }
.trend-item:last-child { margin-bottom: 0; }
.trend-item-image { position: relative; display: block; align-self: start; overflow: hidden; aspect-ratio: .68; border-radius: 15px; background: #c8954b; }
.trend-item-image img { display: block; width: 100%; height: 100%; object-fit: cover; }
.trend-item-image .trend-placeholder { position: absolute; }
.trend-number { position: absolute; top: 8px; left: 8px; display: grid; place-items: center; min-width: 25px; height: 25px; padding: 0 5px; border-radius: 8px; background: rgba(242,160,7,.94); color: #14201b; font-size: 0.75rem; font-weight: 800; }
.trend-item-content { min-width: 0; }
.trend-item .trend-date { margin: 1px 0 8px; font-size: 0.625rem; }
.trend-item h3 { font-size: clamp(1rem, 1.55vw, 1.25rem); line-height: 1.22; }
.trend-venue { margin: 8px 0 0; color: var(--lake); font-size: 0.8125rem; font-weight: 500; }
.trend-item .trend-description { margin: 6px 0 11px; }
.trend-list-empty { display: grid; min-height: 170px; margin: 0; padding: 28px; place-items: center; border: 1px dashed #b8c8c1; border-radius: 18px; color: var(--ink-soft); font-weight: 600; text-align: center; }
.trend-empty { margin-top: 0; }
@media (max-width: 959px) {
  .trend-layout { grid-template-columns: minmax(0,1fr); gap: 26px; }
  .trend-featured { position: relative; top: auto; }
  .trend-featured-image { aspect-ratio: 1.45; }
  .trend-list { max-height: none; overflow: visible; }
}
@media (max-width: 600px) {
  .trend-heading { align-items: flex-start; }
  .trend-featured { border-radius: 17px; }
  .trend-featured-image { aspect-ratio: .9; }
  .trend-featured-body { padding: 15px; }
  .trend-featured-location { right: 15px; bottom: 170px; left: 15px; font-size: 0.6875rem; }
  .trend-badge { top: 13px; left: 13px; }
  .trend-item { grid-template-columns: 82px minmax(0,1fr); gap: 12px; padding-bottom: 16px; margin-bottom: 16px; }
  .trend-item .trend-actions .button { padding: 9px 12px; font-size: 0.75rem; }
  .trend-item h3 { font-size: 1rem; }
  .trend-item .trend-date { align-items: flex-start; font-size: 0.5625rem; letter-spacing: .035em; }
}
@media (max-width: 380px) {
  .trend-featured-image { aspect-ratio: .78; }
  .trend-item { grid-template-columns: 70px minmax(0,1fr); gap: 10px; }
  .trend-item .trend-actions { gap: 6px; }
  .trend-item .trend-actions .button { padding: 8px 10px; font-size: 0.6875rem; }
}

/* Compact featured carousel and metadata scale. */
.trend-section .section-heading h2 { font-size: clamp(1.5625rem, 3.2vw, 2.25rem); }
.trend-section .section-heading p { font-size: 0.875rem; }
.trend-layout { gap: clamp(20px, 2.8vw, 40px); }
.trend-featured { height: clamp(390px, 37vw, 540px); aspect-ratio: auto; }
.trend-feature-slide { position: absolute; inset: 0; overflow: hidden; opacity: 0; visibility: hidden; }
.trend-feature-slide:first-child { opacity: 1; visibility: visible; }
.trend-featured-rotating .trend-feature-slide {
  animation-iteration-count: infinite;
  animation-timing-function: linear;
  animation-delay: calc((var(--trend-index) - var(--trend-count)) * 6s);
}
.trend-featured-rotating[data-trend-count="2"] .trend-feature-slide { animation-name: trend-fade-two; animation-duration: 12s; }
.trend-featured-rotating[data-trend-count="3"] .trend-feature-slide { animation-name: trend-fade-three; animation-duration: 18s; }
.trend-featured-rotating[data-trend-count="4"] .trend-feature-slide { animation-name: trend-fade-four; animation-duration: 24s; }
.trend-featured-rotating[data-trend-count="5"] .trend-feature-slide { animation-name: trend-fade-five; animation-duration: 30s; }
@keyframes trend-fade-two { 0%,47.5% { opacity: 1; visibility: visible; } 50%,100% { opacity: 0; visibility: hidden; } }
@keyframes trend-fade-three { 0%,31.7% { opacity: 1; visibility: visible; } 33.333%,100% { opacity: 0; visibility: hidden; } }
@keyframes trend-fade-four { 0%,23.75% { opacity: 1; visibility: visible; } 25%,100% { opacity: 0; visibility: hidden; } }
@keyframes trend-fade-five { 0%,19% { opacity: 1; visibility: visible; } 20%,100% { opacity: 0; visibility: hidden; } }
.trend-featured-image { height: 100%; aspect-ratio: auto; }
.trend-featured-body { padding: 16px; }
.trend-featured-body h3 { font-size: clamp(1.3125rem, 2.2vw, 1.875rem); }
.trend-featured-body .trend-description { margin: 7px 0 8px; font-size: 0.75rem; }
.trend-featured-location { right: 16px; bottom: 170px; left: 16px; font-size: 0.75rem; }
.trend-badge { top: 15px; left: 15px; padding: 6px 10px; font-size: 0.625rem; }
.trend-price { display: flex; align-items: center; gap: 7px; margin: 0 0 10px; font-size: 0.8125rem; font-weight: 700; }
.trend-price svg { width: 16px; height: 16px; flex: 0 0 16px; }
.trend-actions .button { min-height: 34px; padding: 8px 13px; font-size: 0.75rem; }
.trend-actions .button-wa { display: inline-flex; align-items: center; gap: 6px; }
.trend-actions .button-wa svg { width: 15px; height: 15px; flex: 0 0 15px; }
.trend-list { max-height: min(620px, calc(100vh - 160px)); }
.trend-item { grid-template-columns: clamp(78px, 8vw, 108px) minmax(0,1fr); gap: 13px; padding-bottom: 15px; margin-bottom: 15px; }
.trend-item h3 { font-size: clamp(0.9375rem, 1.35vw, 1.125rem); }
.trend-item .trend-date { margin-bottom: 6px; font-size: 0.5625rem; }
.trend-venue { margin-top: 5px; font-size: 0.75rem; }
.trend-item .trend-description { margin: 5px 0 7px; font-size: 0.75rem; }
.trend-item .trend-price { margin-bottom: 7px; font-size: 0.75rem; }
.trend-number { top: 6px; left: 6px; min-width: 22px; height: 22px; font-size: 0.625rem; }
@media (prefers-reduced-motion: reduce) {
  .trend-featured-rotating .trend-feature-slide { animation: none; }
  .trend-featured-rotating .trend-feature-slide:not(:first-child) { opacity: 0; visibility: hidden; }
}
@media (max-width: 959px) {
  .trend-featured { height: clamp(360px, 58vw, 500px); }
  .trend-list { max-height: none; }
}
@media (max-width: 600px) {
  .trend-featured { height: 410px; }
  .trend-featured-body { padding: 14px; }
  .trend-featured-body h3 { font-size: 1.4375rem; }
  .trend-featured-location { right: 14px; bottom: 170px; left: 14px; }
  .trend-item { grid-template-columns: 76px minmax(0,1fr); gap: 11px; }
}
@media (max-width: 380px) {
  .trend-featured { height: 390px; }
  .trend-item { grid-template-columns: 68px minmax(0,1fr); gap: 9px; }
}

/* Homepage Nearby drawer */
.nearby-drawer-trigger {
  position: fixed;
  z-index: 105;
  top: 50%;
  left: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  width: 48px;
  min-height: 150px;
  padding: 15px 10px;
  transform: translateY(-50%);
  border: 0;
  border-radius: 0 15px 15px 0;
  background: var(--lake);
  color: #fff;
  box-shadow: 0 9px 28px rgba(143,65,35,.24);
  cursor: pointer;
  writing-mode: vertical-rl;
  font: 700 0.8125rem var(--body);
  letter-spacing: .04em;
  transition: width .18s ease, background .18s ease, box-shadow .18s ease;
}
.nearby-drawer-trigger:hover { width: 55px; background: var(--lake-dark); box-shadow: 0 12px 30px rgba(143,65,35,.32); }
.nearby-drawer-trigger svg { width: 20px; height: 20px; flex: 0 0 20px; }
.nearby-drawer { position: fixed; z-index: 120; inset: 0; visibility: hidden; pointer-events: none; transition: visibility .28s; }
.nearby-drawer.is-open { visibility: visible; pointer-events: auto; }
.nearby-drawer-backdrop { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; background: rgba(10,23,29,.5); opacity: 0; cursor: default; transition: opacity .28s ease; }
.nearby-drawer.is-open .nearby-drawer-backdrop { opacity: 1; }
.nearby-drawer-panel { position: absolute; inset: 0 auto 0 0; width: min(490px, 100vw); height: 100%; overflow-x: hidden; overflow-y: auto; padding: 18px clamp(16px, 3vw, 28px) 28px; transform: translateX(-102%); background: var(--paper); box-shadow: 18px 0 55px rgba(0,0,0,.2); transition: transform .32s cubic-bezier(.2,.75,.25,1); overscroll-behavior: contain; }
.nearby-drawer.is-open .nearby-drawer-panel { transform: translateX(0); }
.nearby-drawer-top { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin: 0 0 12px; }
.nearby-drawer-top .eyebrow { margin: 0; color: var(--lake); font-size: 0.6875rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.nearby-drawer-close { display: grid; flex: 0 0 40px; place-items: center; width: 40px; height: 40px; border: 1px solid var(--line); border-radius: 50%; background: var(--surface); color: var(--ink); cursor: pointer; }
.nearby-drawer-close:hover { background: var(--lake-tint); }
.nearby-drawer-close svg { width: 18px; height: 18px; }
.nearby-drawer .nearby-panel { min-height: calc(100% - 52px); margin: 0; padding: clamp(20px, 4vw, 30px); border-radius: 20px; }
.nearby-drawer .nearby-heading { align-items: flex-start; flex-direction: column; gap: 16px; }
.nearby-drawer .nearby-heading-copy { gap: 13px; }
.nearby-drawer .nearby-locate-button { display: flex; align-items: center; gap: 8px; width: 100%; justify-content: center; border: 0; border-radius: 999px; background: var(--lake); color: #fff; font: 600 0.875rem var(--body); cursor: pointer; }
.nearby-drawer .nearby-locate-button:hover { background: var(--lake-dark); }
.nearby-drawer .nearby-privacy { margin-top: 16px; }
.nearby-drawer .nearby-map { height: clamp(260px, 36vh, 390px); }
.nearby-drawer .nearby-results { grid-template-columns: 1fr; gap: 10px; }
.nearby-drawer-open { overflow: hidden; }
@media (max-width: 520px) {
  .nearby-drawer-trigger { width: 43px; min-height: 130px; padding: 12px 8px; border-radius: 0 13px 13px 0; font-size: 0.75rem; }
  .nearby-drawer-trigger:hover { width: 47px; }
  .nearby-drawer-panel { padding: 12px 12px 20px; }
  .nearby-drawer .nearby-panel { padding: 19px 15px; border-radius: 16px; }
}
@media (prefers-reduced-motion: reduce) {
  .nearby-drawer, .nearby-drawer-backdrop, .nearby-drawer-panel, .nearby-drawer-trigger { transition: none; }
}

/* Banner immediately below the homepage search filters. */
.home-banner { width: min(1140px, 100%); margin: 10px auto 0; overflow: hidden; border: 1px solid rgba(20,32,27,.08); border-radius: 14px; background: var(--lake-dark); box-shadow: 0 12px 30px rgba(20,32,27,.08); }
.home-banner img { display: block; width: 100%; height: auto; }
@media (max-width: 520px) {
  .home-banner { margin-top: 8px; border-radius: 10px; }
}

/* Standalone split-screen login page */
.auth-page { display: block; min-height: 100vh; min-height: 100dvh; background: var(--paper); }
.auth-shell { display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(440px, .92fr); min-height: 100vh; min-height: 100dvh; }
.auth-visual { position: relative; display: flex; min-height: 100vh; min-height: 100dvh; flex-direction: column; justify-content: space-between; overflow: hidden; padding: clamp(28px, 4vw, 58px); background-color: rgba(2,20,19,.62); background-image: url('https://cioafrica.co/wp-content/uploads/2022/10/small-business.jpg'); background-blend-mode: multiply; background-position: center; background-size: cover; color: #fff; }
.auth-visual::after { position: absolute; inset: 0; border: 1px solid rgba(255,255,255,.12); content: ''; pointer-events: none; }
.auth-brand,.auth-mobile-brand { position: relative; z-index: 1; display: inline-flex; align-items: center; gap: 10px; width: fit-content; color: #fff; font: 800 1.5625rem/1 var(--display); letter-spacing: -.04em; }
.auth-brand .brand-mark,.auth-mobile-brand .brand-mark { display: grid; place-items: center; width: 38px; height: 38px; border-radius: 12px 12px 12px 4px; background: var(--sun); color: var(--ink); font-size: 1.25rem; }
.auth-visual-copy { position: relative; z-index: 1; max-width: 580px; margin: auto 0; padding: 64px 0; }
.auth-visual-kicker { display: inline-flex; align-items: center; gap: 9px; margin-bottom: 19px; color: rgba(255,255,255,.9); font-size: 0.6875rem; font-weight: 700; letter-spacing: .15em; text-transform: uppercase; }
.auth-visual-kicker span { width: 8px; height: 8px; border-radius: 50%; background: var(--sun); box-shadow: 0 0 0 5px rgba(242,160,7,.22); }
.auth-visual-copy h1 { font-size: clamp(2.625rem, 5.2vw, 4.5rem); line-height: .99; letter-spacing: -.055em; }
.auth-visual-copy p { max-width: 420px; margin: 20px 0 0; color: rgba(255,255,255,.84); font-size: clamp(0.9375rem, 1.4vw, 1.125rem); line-height: 1.65; }
.auth-visual-caption { position: relative; z-index: 1; color: rgba(255,255,255,.7); font-size: 0.75rem; }
.auth-form-side { display: flex; min-width: 0; min-height: 100vh; min-height: 100dvh; flex-direction: column; align-items: stretch; justify-content: center; padding: 50px clamp(28px, 6vw, 94px) 25px clamp(32px, 5vw, 76px); background: var(--paper); }
.auth-card { width: min(100%, 420px); margin: auto; }
.auth-eyebrow { margin: 0 0 10px; color: var(--lake); font-size: 0.6875rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.auth-title { font-size: clamp(2rem, 3.2vw, 2.625rem); letter-spacing: -.045em; }
.auth-intro { max-width: 39ch; margin: 12px 0 29px; color: var(--ink-soft); font-size: 0.875rem; line-height: 1.6; }
.auth-form { display: grid; gap: 20px; }
.auth-field { display: grid; gap: 8px; }
.auth-field label,.auth-label-row { color: var(--ink); font-size: 0.8125rem; font-weight: 600; }
.auth-label-row { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.auth-label-row a,.auth-signup a { color: var(--lake); font-weight: 700; }
.auth-label-row a { font-size: 0.75rem; }
.auth-label-row a:hover,.auth-signup a:hover { color: var(--lake-dark); text-decoration: underline; text-underline-offset: 3px; }
.auth-field input { width: 100%; min-height: 50px; padding: 0 14px; border: 1px solid #d9ded9; border-radius: 11px; outline: 0; background: #fff; color: var(--ink); font: 500 0.875rem var(--body); transition: border-color .16s, box-shadow .16s; }
.auth-input-wrap { position: relative; min-width: 0; }
.auth-input-icon-mark { position: absolute; z-index: 1; top: 50%; left: 14px; width: 18px; height: 18px; transform: translateY(-50%); fill: none; stroke: #84918b; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.7; pointer-events: none; }
.auth-input-icon input { padding-left: 42px; }
.auth-password-wrap input { padding-right: 52px; }
.auth-password-toggle { position: absolute; top: 50%; right: 7px; display: grid; width: 38px; height: 38px; place-items: center; transform: translateY(-50%); border: 0; border-radius: 8px; background: transparent; color: #718079; cursor: pointer; }
.auth-password-toggle:hover { background: #f0f4f1; color: var(--lake); }
.auth-password-toggle:focus-visible { outline: 2px solid var(--lake); outline-offset: 1px; }
.auth-password-toggle svg { width: 19px; height: 19px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.8; }
.auth-eye-hide { display: none; }
.auth-password-toggle[aria-pressed="true"] .auth-eye-show { display: none; }
.auth-password-toggle[aria-pressed="true"] .auth-eye-hide { display: block; }
.auth-help { color: var(--ink-soft); font-size: 0.6875rem; line-height: 1.5; }
.auth-help ul { display: grid; gap: 7px; margin: 8px 0 0; padding: 11px 14px 11px 31px; border: 1px solid #e5e8e3; border-radius: 10px; background: #f2f4f0; }
.auth-help li { padding-left: 2px; }
.auth-field input:focus { border-color: var(--lake); box-shadow: 0 0 0 4px rgba(217,104,61,.12); }
.auth-field input[aria-invalid="true"] { border-color: #b8342b; }
.auth-field-error,.auth-field .errorlist { margin: 0; padding: 0; color: #a62a23; font-size: 0.75rem; list-style: none; }
.auth-form-errors { margin: 0 0 20px; padding: 11px 13px; border: 1px solid #f2c9c5; border-radius: 10px; background: #fff0ee; color: #a62a23; font-size: 0.8125rem; }
.auth-submit { position: relative; display: flex; min-height: 51px; align-items: center; justify-content: center; margin-top: 4px; padding: 0 48px; border: 0; border-radius: 11px; background: var(--sun); color: var(--ink); font: 700 0.875rem var(--body); cursor: pointer; transition: background .16s, transform .16s; }
.auth-submit:hover { transform: translateY(-1px); background: #e99a05; }
.auth-submit-secondary { border: 1px solid #d9ded9; background: #fff; color: var(--ink); }
.auth-submit-secondary:hover { background: #f2f4f0; }
.account-security-card { display: grid; grid-template-columns: auto minmax(0,1fr) auto; align-items: center; gap: 18px; margin: 22px 0 30px; padding: 22px 24px; border: 1px solid var(--line); border-radius: 16px; background: #fff; }
.account-security-icon { display: grid; width: 48px; height: 48px; place-items: center; border-radius: 14px; background: rgba(242,160,7,.12); color: #a96800; }
.account-security-icon svg { width: 23px; height: 23px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.8; }
.account-security-copy .eyebrow { margin: 0 0 5px; color: var(--lake); font-size: 0.625rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.account-security-copy h2 { margin: 0; color: var(--ink); font-size: 1.0625rem; }
.account-security-copy p:not(.eyebrow) { max-width: 65ch; margin: 6px 0 9px; color: var(--ink-soft); font-size: 0.8125rem; line-height: 1.55; }
.account-security-status { display: inline-flex; padding: 4px 9px; border-radius: 999px; background: #f0f2ef; color: #66716a; font-size: 0.6875rem; font-weight: 700; }
.account-security-status.is-enabled { background: #eaf5ee; color: #247349; }
.account-security-toggle { display: inline-flex; min-width: 122px; min-height: 42px; align-items: center; justify-content: center; gap: 9px; padding: 0 14px; border: 1px solid #d8ded8; border-radius: 999px; background: #fff; color: var(--ink); font: 700 0.75rem var(--body); cursor: pointer; }
.account-security-toggle > span { width: 15px; height: 15px; border: 1.5px solid #87918b; border-radius: 50%; }
.account-security-toggle.is-enabled { border-color: #247349; background: #247349; color: #fff; }
.account-security-toggle.is-enabled > span { border-color: #fff; background: #fff; box-shadow: inset 0 0 0 4px #247349; }
@media (max-width: 650px) { .account-security-card { grid-template-columns: auto minmax(0,1fr); gap: 12px; padding: 17px; } .account-security-card form { grid-column: 1 / -1; } .account-security-toggle { width: 100%; } }
.auth-submit span { position: absolute; right: 18px; font-size: 1.1875rem; }
.google-auth-block { margin: -8px 0 18px; }
.google-signin-button { display: flex; width: 100%; min-height: 46px; align-items: center; justify-content: center; gap: 11px; padding: 0 14px; border: 1px solid #d7dad6; border-radius: 9px; background: #fff; color: #30343a; font: 600 0.8125rem var(--body); }
.google-signin-button svg { width: 19px; height: 19px; flex: 0 0 19px; }
.google-signin-unconfigured { cursor: not-allowed; opacity: .78; }
.google-auth-setup-note { margin: 6px 0 0; color: var(--ink-soft); font-size: 0.625rem; text-align: center; }
.google-auth-divider { display: flex; align-items: center; gap: 12px; margin: 16px 0 0; color: #7d8580; font-size: 0.625rem; }
.google-auth-divider::before,.google-auth-divider::after { height: 1px; flex: 1; background: #e5e7e3; content: ''; }
.google-auth-post { display: none; }
.auth-signup { margin: 22px 0 0; color: var(--ink-soft); font-size: 0.8125rem; }
.auth-footnote { width: min(100%,420px); margin: 30px auto 0; color: #7b857e; font-size: 0.6875rem; text-align: center; }
.auth-mobile-brand { display: none; }
.auth-messages { margin: 0 0 20px; }
@media (max-width: 900px) {
  .auth-shell { grid-template-columns: minmax(0,1fr) minmax(390px,.92fr); }
  .auth-form-side { padding-right: 34px; padding-left: 34px; }
}
@media (max-width: 700px) {
  .auth-shell { display: block; }
  .auth-visual { min-height: 250px; height: 34vh; padding: 25px 24px; }
  .auth-brand,.auth-visual-caption { display: none; }
  .auth-mobile-brand { display: inline-flex; align-self: flex-end; margin: 0 0 26px auto; color: var(--ink); }
  .auth-mobile-brand .brand-mark { background: var(--lake); color: #fff; }
  .auth-visual-copy { margin: auto 0 0; padding: 16px 0 3px; }
  .auth-visual-kicker { margin-bottom: 10px; font-size: 0.5625rem; }
  .auth-visual-copy h1 { font-size: clamp(2rem, 9vw, 3rem); }
  .auth-visual-copy p { max-width: 38ch; margin-top: 10px; font-size: 0.8125rem; }
  .auth-form-side { min-height: 66vh; padding: 28px 24px 22px; }
  .auth-card,.auth-footnote { width: min(100%, 460px); margin-right: auto; margin-left: auto; }
  .auth-footnote { text-align: center; }
}
@media (max-width: 380px) {
  .auth-visual { min-height: 235px; }
  .auth-form-side { padding-right: 19px; padding-left: 19px; }
  .auth-intro { margin-bottom: 22px; }
}

/* Account dashboard */
.account-dashboard-page .page-shell { padding-top: clamp(24px, 4vw, 48px); }
.dashboard-welcome { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; margin-bottom: 28px; }
.dashboard-welcome,#your-businesses,#your-events,#dashboard-sales { scroll-margin-top: 88px; }
.dashboard-welcome .eyebrow,.dashboard-section-heading .eyebrow,.dashboard-panel-heading .eyebrow { margin: 0 0 6px; font-size: 0.6875rem; letter-spacing: .13em; text-transform: uppercase; }
.dashboard-welcome h1 { font-size: clamp(1.875rem, 4vw, 2.875rem); letter-spacing: -.045em; }
.dashboard-welcome > div:first-child > p:last-child { margin: 9px 0 0; color: var(--ink-soft); font-size: 0.875rem; }
.dashboard-actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 9px; }
.dashboard-actions .button { min-height: 40px; padding: 0 15px; font-size: 0.75rem; }
.dashboard-actions .button span { font-size: 1rem; }
.dashboard-ticket-link { padding: 8px 10px; color: var(--lake-dark); font-size: 0.75rem; font-weight: 700; white-space: nowrap; }
.dashboard-ticket-link:hover { text-decoration: underline; text-underline-offset: 3px; }
.dashboard-metrics { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 13px; }
.dashboard-metric { display: flex; min-width: 0; align-items: center; gap: 13px; padding: 17px; border: 1px solid var(--line); border-radius: 15px; background: var(--surface); box-shadow: 0 6px 20px rgba(20,32,27,.035); }
.dashboard-metric-icon { display: grid; flex: 0 0 42px; width: 42px; height: 42px; place-items: center; border-radius: 13px; color: var(--lake); background: var(--lake-tint); }
.dashboard-metric-icon svg,.dashboard-list-icon svg,.recent-sale-icon svg { width: 21px; height: 21px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.metric-icon-events { color: #946308; background: #fff3d7; }
.metric-icon-tickets { color: #4e66a3; background: #edf1fb; }
.metric-icon-revenue { color: #28743d; background: #e9f5e8; }
.dashboard-metric > div { display: grid; min-width: 0; }
.dashboard-metric p { margin: 0; color: var(--ink-soft); font-size: 0.6875rem; font-weight: 600; }
.dashboard-metric strong { overflow: hidden; margin: 2px 0; font: 800 clamp(1.1875rem, 2.1vw, 1.6875rem)/1.15 var(--display); letter-spacing: -.035em; text-overflow: ellipsis; white-space: nowrap; }
.dashboard-metric-revenue strong { font-size: clamp(0.9375rem, 1.55vw, 1.25rem); }
.dashboard-metric small { color: #7b857e; font-size: 0.625rem; }
.dashboard-sales-note { margin: 9px 0 0; color: #77827b; font-size: 0.625rem; }
.dashboard-chart-grid { display: grid; grid-template-columns: minmax(0,1.15fr) minmax(0,.85fr); gap: 15px; margin-top: 19px; }
.dashboard-panel { min-width: 0; padding: 20px; border: 1px solid var(--line); border-radius: 16px; background: var(--surface); box-shadow: 0 8px 24px rgba(20,32,27,.04); }
.dashboard-panel-heading { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 18px; }
.dashboard-panel-heading h2 { font-size: 1.3125rem; letter-spacing: -.03em; }
.dashboard-panel-heading > a { color: var(--lake); font-size: 0.6875rem; font-weight: 700; }
.dashboard-panel-heading > a:hover { text-decoration: underline; text-underline-offset: 3px; }
.chart-legend { display: inline-flex; align-items: center; gap: 7px; color: var(--ink-soft); font-size: 0.625rem; }
.chart-legend i { width: 9px; height: 9px; border-radius: 3px; background: var(--lake); }
.sales-chart { display: grid; height: 170px; grid-template-columns: repeat(6,minmax(0,1fr)); gap: 13px; padding: 12px 4px 0; border-bottom: 1px solid var(--line); background: transparent; }
.sales-chart-column { display: grid; min-width: 0; grid-template-rows: 1fr auto; justify-items: center; gap: 8px; }
.sales-chart-bar-area { display: flex; width: min(100%, 34px); height: 100%; align-items: flex-end; justify-content: center; }
.sales-chart-bar { display: block; width: 100%; height: var(--bar-height); min-height: 0; border-radius: 6px 6px 2px 2px; background: var(--lake); transition: filter .15s, height .25s ease; }
.sales-chart-bar.has-sales { min-height: 5px; }
.sales-chart-column:hover .sales-chart-bar { filter: brightness(1.12); }
.sales-chart-month { padding-bottom: 7px; color: var(--ink-soft); font-size: 0.625rem; font-weight: 600; }
.chart-total { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 12px; color: var(--ink-soft); font-size: 0.6875rem; }
.chart-total strong { color: var(--ink); font-size: 0.75rem; }
.chart-empty { display: grid; min-height: 175px; align-content: center; justify-items: center; gap: 10px; color: #7a867f; text-align: center; }
.chart-empty > span { display: grid; min-width: 48px; height: 42px; padding: 0 8px; place-items: center; border-radius: 13px; background: var(--lake-tint); color: var(--lake-dark); font-size: 0.75rem; font-weight: 800; }
.chart-empty p { max-width: 34ch; margin: 0; font-size: 0.75rem; }
.chart-empty-compact { min-height: 150px; justify-items: start; text-align: left; }
.chart-empty-compact .text-link { font-size: 0.6875rem; }
.event-performance-list { display: grid; gap: 14px; }
.event-performance-row { display: grid; gap: 6px; }
.event-performance-title { display: flex; justify-content: space-between; gap: 10px; font-size: 0.6875rem; }
.event-performance-title span { overflow: hidden; font-weight: 600; text-overflow: ellipsis; white-space: nowrap; }
.event-performance-title strong { flex: 0 0 auto; color: var(--lake-dark); font-size: 0.625rem; }
.event-performance-track { height: 7px; overflow: hidden; border-radius: 999px; background: #edf0eb; }
.event-performance-track > span { display: block; width: var(--bar-width); height: 100%; border-radius: inherit; background: var(--sun); }
.event-performance-row > small { color: #7b857e; font-size: 0.5625rem; }
.dashboard-recent-sales { margin-top: 15px; }
.dashboard-recent-sales .dashboard-panel-heading { margin-bottom: 9px; }
.recent-sales-list { display: grid; }
.recent-sale { display: flex; min-width: 0; align-items: center; gap: 11px; padding: 10px 0; border-top: 1px solid #eef0ec; }
.recent-sale-icon { display: grid; flex: 0 0 34px; width: 34px; height: 34px; place-items: center; border-radius: 11px; background: var(--lake-tint); color: var(--lake); }
.recent-sale-icon svg { width: 18px; height: 18px; }
.recent-sale-info { display: grid; min-width: 0; flex: 1; }
.recent-sale-info strong { overflow: hidden; font-size: 0.6875rem; text-overflow: ellipsis; white-space: nowrap; }
.recent-sale-info span { color: var(--ink-soft); font-size: 0.625rem; }
.recent-sale > b { flex: 0 0 auto; color: var(--lake-dark); font-size: 0.6875rem; }
.recent-sales-empty { margin: 0; color: var(--ink-soft); font-size: 0.6875rem; }
.dashboard-section { margin-top: 42px; }
.dashboard-section-heading { margin-bottom: 14px; }
.dashboard-section-heading h2 { font-size: clamp(1.4375rem, 3vw, 1.875rem); }
.dashboard-section-heading p:last-child { margin: 6px 0 0; color: var(--ink-soft); font-size: 0.75rem; }
.dashboard-search { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 13px; padding: 10px; border: 1px solid var(--line); border-radius: 13px; background: #fff; }
.dashboard-search > label { padding-left: 5px; color: var(--ink-soft); font-size: 0.6875rem; font-weight: 700; }
.dashboard-search > div { display: flex; width: min(100%, 440px); gap: 7px; }
.dashboard-search input:not([type="hidden"]) { width: 100%; min-width: 0; height: 37px; padding: 0 11px; border: 1px solid var(--line); border-radius: 9px; outline: none; font: 0.75rem var(--body); }
.dashboard-search input:focus { border-color: var(--lake); box-shadow: 0 0 0 3px rgba(217,104,61,.1); }
.dashboard-search button { padding: 0 14px; border: 0; border-radius: 9px; background: var(--lake); color: #fff; font: 700 0.6875rem var(--body); cursor: pointer; }
.dashboard-search button:hover { background: var(--lake-dark); }
.dashboard-list-grid { display: grid; grid-template-columns: minmax(0,1fr); gap: 10px; }
.dashboard-list-card { display: flex; min-width: 0; gap: 12px; padding: 15px; border: 1px solid var(--line); border-radius: 14px; background: var(--surface); transition: border-color .16s, transform .16s, box-shadow .16s; }
.dashboard-list-card:hover { transform: translateY(-1px); border-color: #c8dcd4; box-shadow: 0 9px 22px rgba(20,32,27,.055); }
.dashboard-list-icon { display: grid; flex: 0 0 38px; width: 38px; height: 38px; place-items: center; border-radius: 12px; background: var(--lake-tint); color: var(--lake); }
.dashboard-list-icon svg { width: 19px; height: 19px; }
.event-list-icon { background: #fff3d7; color: #946308; }
.dashboard-list-content { min-width: 0; flex: 1; }
.dashboard-list-top { display: flex; align-items: flex-start; justify-content: space-between; gap: 8px; }
.dashboard-list-top h3 { overflow: hidden; font: 700 0.875rem/1.3 var(--display); text-overflow: ellipsis; }
.dashboard-list-top h3 a:hover { color: var(--lake); }
.dashboard-status { flex: 0 0 auto; padding: 3px 8px; border-radius: 999px; background: #f0f2ef; color: var(--ink-soft); font-size: 0.5625rem; font-weight: 700; }
.status-published { background: #e6f4e8; color: #28743d; }
.status-pending { background: #fff3d7; color: #946308; }
.status-rejected { background: #fbe9e7; color: #a62a23; }
.dashboard-list-content > p { overflow: hidden; margin: 5px 0 10px; color: var(--ink-soft); font-size: 0.625rem; text-overflow: ellipsis; white-space: nowrap; }
.dashboard-list-actions { display: flex; flex-wrap: wrap; gap: 7px 14px; }
.dashboard-list-actions a { color: var(--lake); font-size: 0.625rem; font-weight: 700; }
.dashboard-list-actions a:hover { text-decoration: underline; text-underline-offset: 2px; }
.dashboard-list-actions .dashboard-danger-link { color: #a62a23; }
.dashboard-list-actions .dashboard-finance-link { color: #946308; }
.dashboard-business-card { display: grid; grid-template-columns: 38px minmax(0,1fr) auto; align-items: center; column-gap: 12px; }
.dashboard-business-card > .dashboard-list-icon { grid-column: 1; grid-row: 1 / 3; }
.dashboard-business-card .dashboard-list-content { display: contents; }
.dashboard-business-card .dashboard-list-top { grid-column: 2; grid-row: 1; min-width: 0; }
.dashboard-business-card .dashboard-list-content > p { grid-column: 2; grid-row: 2; margin: 4px 0 0; }
.dashboard-business-card .dashboard-card-actions { grid-column: 3; grid-row: 1 / 3; align-self: center; flex-wrap: nowrap; gap: 7px; margin-left: 6px; }
.dashboard-business-card .dashboard-card-actions a { display: inline-flex; align-items: center; justify-content: center; gap: 5px; min-height: 34px; padding: 0 9px; border: 1px solid var(--line); border-radius: 9px; background: #fff; color: var(--lake-dark); font-size: 0.625rem; white-space: nowrap; text-decoration: none; }
.dashboard-business-card .dashboard-card-actions a:hover { border-color: #c8dcd4; background: #f6faf7; text-decoration: none; }
.dashboard-business-card .dashboard-card-actions a.dashboard-danger-link { color: #a62a23; }
.dashboard-business-card .dashboard-card-actions a.dashboard-danger-link:hover { border-color: #edceca; background: #fff8f7; }
.dashboard-business-card .dashboard-card-actions svg { width: 14px; height: 14px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.dashboard-empty { display: flex; grid-column: 1 / -1; align-items: center; gap: 13px; padding: 18px; border: 1px dashed #cbd3cc; border-radius: 14px; background: rgba(255,255,255,.55); }
.dashboard-empty > span { display: grid; flex: 0 0 38px; width: 38px; height: 38px; place-items: center; border-radius: 12px; background: var(--lake-tint); color: var(--lake); font-size: 1.375rem; }
.dashboard-empty > div { flex: 1; }
.dashboard-empty strong { font: 700 0.8125rem var(--display); }
.dashboard-empty p { margin: 3px 0 0; color: var(--ink-soft); font-size: 0.625rem; }
.dashboard-empty .button { min-height: 35px; padding: 0 13px; font-size: 0.625rem; white-space: nowrap; }
.dashboard-pagination { display: flex; align-items: center; justify-content: center; gap: 13px; margin-top: 15px; color: var(--ink-soft); font-size: 0.625rem; }
.dashboard-pagination a { padding: 7px 12px; border: 1px solid var(--line); border-radius: 999px; background: #fff; color: var(--lake-dark); font-weight: 700; }
.dashboard-pagination a:hover { background: var(--lake-tint); }
.dashboard-nav-open { position: fixed; z-index: 105; top: 50%; left: 0; display: flex; width: 44px; min-height: 132px; align-items: center; justify-content: center; gap: 10px; padding: 14px 9px; transform: translateY(-50%); border: 0; border-radius: 0 13px 13px 0; background: var(--lake); color: #fff; box-shadow: 0 9px 28px rgba(143,65,35,.24); cursor: pointer; writing-mode: vertical-rl; font: 700 0.75rem var(--body); letter-spacing: .04em; transition: width .18s, background .18s, box-shadow .18s; }
.dashboard-nav-open:hover { width: 49px; background: var(--lake-dark); box-shadow: 0 12px 30px rgba(143,65,35,.32); }
.dashboard-nav-open svg { width: 18px; height: 18px; flex: 0 0 18px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; }
.dashboard-drawer { position: fixed; z-index: 140; inset: 0; visibility: hidden; pointer-events: none; transition: visibility .25s; }
.dashboard-drawer.is-open { visibility: visible; pointer-events: auto; }
.dashboard-drawer-backdrop { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; background: rgba(12,25,22,.48); opacity: 0; cursor: default; transition: opacity .25s ease; }
.dashboard-drawer.is-open .dashboard-drawer-backdrop { opacity: 1; }
.dashboard-drawer-panel { position: absolute; inset: 0 auto 0 0; display: flex; width: min(320px, calc(100vw - 42px)); height: 100%; flex-direction: column; padding: 23px 19px 18px; transform: translateX(-102%); background: var(--paper); box-shadow: 18px 0 55px rgba(0,0,0,.2); transition: transform .28s cubic-bezier(.2,.75,.25,1); }
.dashboard-drawer.is-open .dashboard-drawer-panel { transform: translateX(0); }
.dashboard-drawer-heading { display: flex; align-items: center; justify-content: space-between; padding: 0 1px 25px; border-bottom: 1px solid var(--line); }
.dashboard-drawer-heading .brand { font-size: 1.375rem; }
.dashboard-drawer-heading .brand-mark { width: 32px; height: 32px; font-size: 1.0625rem; }
.brand-mark { overflow: hidden; background: var(--ink); }
.brand-mark img { display: block; width: 100%; height: 100%; object-fit: contain; }
.auth-brand .brand-mark,.auth-mobile-brand .brand-mark { background: var(--ink); }

/* Seller registration, module settings, and listing creation */
.account-type-choice,.seller-module-choice { min-width: 0; margin: 0; padding: 13px; border: 1px solid rgba(255,255,255,.2); border-radius: 12px; }
.account-type-choice legend,.seller-module-choice legend { padding: 0 5px; color: inherit; font-size: 0.75rem; font-weight: 700; }
.account-type-choice ul { display: grid; gap: 8px; margin: 7px 0 0; padding: 0; list-style: none; }
.account-type-choice li label,.seller-module-option { display: flex; align-items: center; gap: 9px; font-size: 0.75rem; }
.account-type-choice input,.seller-module-option input { accent-color: var(--sun); }
.seller-module-choice > p { margin: 0 0 9px; color: rgba(255,255,255,.68); font-size: 0.6875rem; }
.seller-module-option { min-height: 30px; }
.seller-module-choice[hidden] { display: none; }
.seller-module-settings-note { padding: 12px 14px; border-left: 3px solid var(--sun); background: rgba(242,160,7,.08); color: var(--muted); font-size: 0.75rem; }
.account-setting-field { display: grid; grid-template-columns: minmax(160px,.8fr) minmax(0,1.2fr); align-items: center; gap: 10px; }
.account-setting-field label { font-size: 0.75rem; font-weight: 650; }
.account-setting-field input[type="checkbox"] { width: 18px; height: 18px; accent-color: var(--sun); }
.seller-tools-panel { display: grid; grid-template-columns: minmax(220px,.7fr) minmax(0,1.3fr); align-items: center; gap: 24px; margin: 22px 0 30px; padding: 22px; border: 1px solid var(--line); border-radius: 16px; background: #fff; }
.seller-tools-panel h2 { margin: 0; font: 700 1.1875rem/1.2 var(--display); }
.seller-tools-panel > div:first-child > p:last-child { margin: 6px 0 0; color: var(--muted); font-size: 0.6875rem; }
.seller-tool-links { display: flex; flex-wrap: wrap; gap: 8px; }
.seller-tool-links a { display: inline-flex; min-height: 38px; align-items: center; gap: 7px; padding: 0 11px; border: 1px solid var(--line); border-radius: 9px; background: #fff; color: var(--ink); font-size: 0.6875rem; font-weight: 650; }
.seller-tool-links a:hover { border-color: var(--sun); background: #fff9eb; }
.seller-tool-links .ui-button-icon { width: 15px; height: 15px; color: #a66a00; }
.seller-listing-form-layout { display: grid; grid-template-columns: minmax(0,1fr) 270px; align-items: start; gap: 20px; margin: 18px 0 54px; }
.seller-listing-form { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 15px; padding: clamp(18px,3vw,30px); }
.seller-form-field { display: grid; align-content: start; gap: 6px; min-width: 0; }
.seller-form-field-wide,.seller-listing-form-note,.seller-listing-form-actions { grid-column: 1/-1; }
.seller-form-field label { color: var(--ink); font-size: 0.6875rem; font-weight: 700; }
.seller-form-field input:not([type="checkbox"]),.seller-form-field select,.seller-form-field textarea { width: 100%; min-height: 41px; padding: 10px 12px; border: 1px solid var(--line); border-radius: 9px; background: #fff; color: var(--ink); font: 0.75rem var(--body); }
.seller-form-field textarea { min-height: 112px; resize: vertical; }
.seller-form-field input[type="file"] { padding: 8px; }
.seller-form-field small { color: var(--muted); font-size: 0.625rem; line-height: 1.5; }
.seller-listing-form-note { margin: 0; color: var(--muted); font-size: 0.6875rem; line-height: 1.6; }
.seller-listing-form-actions { display: flex; justify-content: flex-end; gap: 9px; padding-top: 14px; border-top: 1px solid var(--line); }
.seller-listing-aside { position: sticky; top: 95px; padding: 22px; border: 1px solid var(--line); border-radius: 15px; background: #fff; }
.seller-listing-aside h2 { margin: 0 0 13px; font: 700 1.1875rem/1.3 var(--display); }
.seller-listing-aside ul { display: grid; gap: 10px; margin: 0; padding-left: 18px; color: var(--muted); font-size: 0.6875rem; line-height: 1.6; }
.seller-listing-aside > p:last-child { margin: 15px 0 0; color: var(--muted); font-size: 0.625rem; line-height: 1.6; }
.post-listing-facts { display: flex; flex-wrap: wrap; gap: 12px 24px; }
.post-listing-facts div { display: flex; gap: 6px; font-size: 0.75rem; }
.post-listing-facts dt { color: var(--muted); }
.post-listing-facts dd { margin: 0; font-weight: 700; }
.job-application-links { display: flex; flex-wrap: wrap; gap: 10px; }
.job-application-links a { color: #a66a00; font-weight: 700; }
@media (max-width: 760px) {
  .seller-tools-panel { grid-template-columns: minmax(0,1fr); gap: 15px; padding: 17px; }
  .seller-listing-form-layout { grid-template-columns: minmax(0,1fr); }
  .seller-listing-aside { position: static; }
}
@media (max-width: 540px) {
  .seller-listing-form { grid-template-columns: minmax(0,1fr); gap: 13px; }
  .seller-form-field-wide,.seller-listing-form-note,.seller-listing-form-actions { grid-column: auto; }
  .seller-listing-form-actions { justify-content: stretch; }
  .seller-listing-form-actions > * { flex: 1; justify-content: center; }
  .account-setting-field { grid-template-columns: minmax(0,1fr) auto; }
}

/* Signup role and seller module choices */
.auth-signup-page .auth-shell { align-items: start; }
.auth-signup-page .auth-visual { position: sticky; top: 0; height: 100vh; height: 100dvh; }
.auth-signup-page .auth-form-side { justify-content: flex-start; padding-top: 38px; }
.auth-signup-page .auth-card { width: min(100%, 470px); margin: 0 auto; }
.auth-signup-page .auth-footnote { margin-top: 18px; }
.auth-signup-page .auth-intro { margin-bottom: 20px; }
.auth-signup-form { gap: 14px; }
.auth-signup-form[data-signup-flow] { gap: 16px; }
.signup-progress { display: flex; align-items: center; gap: 8px; margin: 0 0 2px; }
.signup-progress-step { display: flex; align-items: center; gap: 6px; color: #8b928d; font-size: 0.5625rem; white-space: nowrap; }
.signup-progress-step[hidden] { display: none; }
.signup-progress-step > span { display: grid; width: 22px; height: 22px; place-items: center; border: 1px solid #dfe3dd; border-radius: 50%; background: #fff; font-size: 0.625rem; font-weight: 750; }
.signup-progress-step b { font-weight: 650; }
.signup-progress-step.is-active { color: var(--ink); }
.signup-progress-step.is-active > span,.signup-progress-step.is-complete > span { border-color: var(--sun); background: var(--sun); color: var(--ink); }
.signup-progress > i { flex: 1 1 16px; height: 1px; min-width: 12px; background: #e1e4df; }
.signup-progress > i[hidden] { display: none; }
.signup-step[hidden] { display: none; }
.signup-step { display: grid; gap: 13px; }
.signup-step-title { margin: 0; color: var(--ink); font: 700 1.0625rem/1.3 var(--display); }
.signup-step-copy { margin: -7px 0 1px; color: var(--ink-soft); font-size: 0.6875rem; line-height: 1.5; }
.signup-step-actions { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.signup-step-actions .auth-submit { flex: 1; }
.signup-back { min-height: 45px; padding: 0 12px; border: 1px solid #e1e4df; border-radius: 9px; background: #fff; color: var(--ink-soft); font: 650 0.6875rem var(--body); cursor: pointer; }
.signup-back:hover { border-color: #e5bd68; color: var(--ink); }
.signup-create-personal[hidden],.signup-next[hidden] { display: none; }
.auth-signup-form .auth-field { gap: 6px; }
.auth-signup-form .auth-field input:not([type="radio"]):not([type="checkbox"]) { min-height: 45px; border-radius: 9px; }
.account-type-choice,.seller-module-choice { min-width: 0; margin: 0; padding: 13px; border: 1px solid #e2e5df; border-radius: 13px; background: #fff; color: var(--ink); }
.account-type-choice legend,.seller-module-choice legend { padding: 0 5px; color: var(--ink); font-size: 0.75rem; font-weight: 750; }
.auth-choice-intro { margin: 0 0 10px; color: var(--ink-soft); font-size: 0.625rem; line-height: 1.5; }
.account-type-options { display: grid; gap: 8px; }
.account-type-option { position: relative; display: grid; grid-template-columns: 1px 34px minmax(0,1fr); align-items: center; gap: 10px; min-height: 60px; padding: 9px 11px; overflow: hidden; border: 1px solid #e2e5df; border-radius: 10px; background: #fff; cursor: pointer; transition: border-color .15s, background .15s, box-shadow .15s; }
.account-type-option:hover { border-color: #e5bd68; background: #fffdf7; }
.account-type-option:has(input:checked) { border-color: var(--sun); background: #fff9e9; box-shadow: 0 0 0 2px rgba(242,160,7,.12); }
.account-type-option input[type="radio"] { width: 1px; height: 1px; margin: 0; padding: 0; opacity: 0; }
.account-type-option input[type="radio"]:focus-visible + .account-type-option-icon { outline: 2px solid var(--lake); outline-offset: 3px; }
.account-type-option-icon { display: grid; width: 34px; height: 34px; place-items: center; border-radius: 10px; background: #f3f4f1; color: #5d6861; }
.account-type-option:has(input:checked) .account-type-option-icon { background: #ffedc3; color: #946308; }
.account-type-option-icon .ui-button-icon { width: 17px; height: 17px; }
.account-type-option-copy { display: grid; gap: 3px; }
.account-type-option-copy strong { color: var(--ink); font-size: 0.6875rem; font-weight: 750; }
.account-type-option-copy small { color: var(--ink-soft); font-size: 0.625rem; font-weight: 400; line-height: 1.35; }
.seller-module-choice > p { margin: 0 0 9px; color: var(--ink-soft); font-size: 0.625rem; line-height: 1.45; }
.seller-module-options { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 9px; }
.seller-module-option { position: relative; display: grid; min-width: 0; min-height: 94px; align-content: center; justify-items: center; gap: 8px; padding: 12px 7px 10px; border: 1px solid #e5e7e2; border-radius: 12px; background: #fff; color: var(--ink); text-align: center; cursor: pointer; transition: border-color .16s, background .16s, box-shadow .16s, transform .16s; }
.seller-module-option:hover { transform: translateY(-1px); border-color: #e5bd68; background: #fffdf7; }
.seller-module-option:has(input[type="checkbox"]:checked) { border-color: var(--sun); background: #fff9e9; box-shadow: 0 0 0 2px rgba(242,160,7,.12); }
.seller-module-option:focus-within { outline: 2px solid var(--lake); outline-offset: 2px; }
.seller-module-option input[type="checkbox"] { position: absolute; top: 0; left: 0; width: 1px; height: 1px; min-height: 1px; margin: 0; padding: 0; opacity: 0; }
.seller-module-icon { display: grid; width: 38px; height: 38px; place-items: center; border-radius: 11px; background: #f2f4f0; color: #58645c; transition: color .16s, background .16s; }
.seller-module-icon .ui-button-icon { width: 20px; height: 20px; }
.seller-module-option:has(input[type="checkbox"]:checked) .seller-module-icon { background: #ffedc3; color: #946308; }
.seller-module-label { max-width: 100%; color: var(--ink); font-size: 0.625rem; font-weight: 650; line-height: 1.25; }
.seller-module-selected { position: absolute; top: 6px; right: 6px; display: none; width: 17px; height: 17px; place-items: center; border-radius: 50%; background: var(--sun); color: var(--ink); }
.seller-module-option:has(input[type="checkbox"]:checked) .seller-module-selected { display: grid; }
.seller-module-selected .ui-button-icon { width: 11px; height: 11px; }
.seller-module-choice[hidden] { display: none; }
@media (max-width: 700px) {
  .auth-signup-page .auth-visual { position: relative; top: auto; height: 34vh; }
  .auth-signup-page .auth-form-side { justify-content: flex-start; padding-top: 25px; }
  .auth-signup-page .auth-card { margin: 0 auto; }
  .auth-signup-page .auth-footnote { margin-top: 17px; }
}
@media (max-width: 380px) {
  .seller-module-options { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .account-type-choice,.seller-module-choice { padding: 11px; }
}
.dashboard-drawer-close { display: grid; width: 37px; height: 37px; place-items: center; border: 1px solid var(--line); border-radius: 50%; background: var(--surface); color: var(--ink); cursor: pointer; }
.dashboard-drawer-close:hover { background: var(--lake-tint); }
.dashboard-drawer-close svg { width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; }
.seller-setup-page .dashboard-welcome { align-items: center; }
.seller-setup-panel { display: grid; gap: 22px; max-width: 920px; margin: 0 auto; padding: clamp(20px,3vw,32px); }
.seller-setup-heading h2 { margin: 0; color: var(--ink); font: 700 1.25rem/1.3 var(--display); }
.seller-setup-heading p { margin: 7px 0 0; color: var(--ink-soft); font-size: 0.75rem; }
.seller-setup-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 13px; }
.seller-setup-card { position: relative; display: grid; min-height: 132px; align-content: center; justify-items: center; gap: 11px; padding: 17px; border: 1px solid var(--line); border-radius: 14px; background: var(--surface); color: var(--ink); text-align: center; cursor: pointer; transition: border-color .16s, background .16s, box-shadow .16s, transform .16s; }
.seller-setup-card:hover { transform: translateY(-2px); border-color: #e5bd68; }
.seller-setup-card:has(input:checked) { border-color: var(--sun); background: #fff9e9; box-shadow: 0 0 0 2px rgba(242,160,7,.12); }
.seller-setup-card:focus-within { outline: 2px solid var(--lake); outline-offset: 2px; }
.seller-setup-card input { position: absolute; top: 0; left: 0; width: 1px; height: 1px; opacity: 0; }
.seller-setup-icon { display: grid; width: 44px; height: 44px; place-items: center; border-radius: 13px; background: #f2f4f0; color: #58645c; }
.seller-setup-icon .ui-button-icon { width: 22px; height: 22px; }
.seller-setup-card:has(input:checked) .seller-setup-icon { background: #ffedc3; color: #946308; }
.seller-setup-card strong { font-size: 0.75rem; font-weight: 700; }
.seller-setup-check { position: absolute; top: 9px; right: 9px; display: none; width: 21px; height: 21px; place-items: center; border-radius: 50%; background: var(--sun); color: var(--ink); }
.seller-setup-card:has(input:checked) .seller-setup-check { display: grid; }
.seller-setup-check .ui-button-icon { width: 13px; height: 13px; }
.seller-setup-actions { display: flex; justify-content: space-between; gap: 12px; padding-top: 16px; border-top: 1px solid var(--line); }
.seller-setup-actions .ui-button-icon { width: 15px; height: 15px; }
.seller-setup-actions .button { display: inline-flex; align-items: center; gap: 7px; }
@media (max-width: 620px) { .seller-setup-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 9px; } .seller-setup-card { min-height: 112px; } }
@media (max-width: 380px) { .seller-setup-actions { flex-direction: column-reverse; } .seller-setup-actions .button { justify-content: center; } }
.dashboard-drawer-label { margin: 25px 9px 11px; color: #78837c; font-size: 0.5625rem; font-weight: 800; letter-spacing: .14em; }
.dashboard-drawer-nav { display: grid; gap: 5px; }
.dashboard-drawer-nav a { display: flex; min-height: 44px; align-items: center; gap: 12px; padding: 0 11px; border-radius: 11px; color: var(--ink-soft); font-size: 0.75rem; font-weight: 600; transition: color .15s, background .15s; }
.dashboard-drawer-nav a:hover { background: var(--lake-tint); color: var(--lake-dark); }
.dashboard-drawer-nav a[aria-current="page"] { background: #e8f2ed; color: var(--lake-dark); }
.dashboard-drawer-nav svg { width: 18px; height: 18px; flex: 0 0 18px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.dashboard-drawer-account { display: flex; align-items: center; gap: 10px; margin-top: auto; padding: 15px 5px 2px; border-top: 1px solid var(--line); }
.dashboard-account-avatar { display: grid; flex: 0 0 37px; width: 37px; height: 37px; place-items: center; border-radius: 50%; background: var(--lake); color: #fff; font: 700 0.875rem var(--display); }
.dashboard-drawer-account > div { display: grid; min-width: 0; }
.dashboard-drawer-account strong { overflow: hidden; font-size: 0.6875rem; text-overflow: ellipsis; white-space: nowrap; }
.dashboard-drawer-account a { color: var(--lake); font-size: 0.625rem; font-weight: 600; }
.dashboard-drawer-account a:hover { text-decoration: underline; text-underline-offset: 2px; }
.dashboard-drawer-open { overflow: hidden; }
.business-form-page .page-shell { padding-top: clamp(26px, 4vw, 50px); }
.business-form-heading { max-width: 790px; margin-bottom: 24px; }
.business-form-heading .eyebrow { margin: 0 0 7px; font-size: 0.6875rem; letter-spacing: .13em; text-transform: uppercase; }
.business-form-heading h1 { font-size: clamp(2rem, 4.5vw, 3rem); letter-spacing: -.045em; }
.business-form-heading > p:last-child { margin: 9px 0 0; color: var(--ink-soft); font-size: 0.875rem; }
.business-form-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(235px, 285px); align-items: start; gap: clamp(20px, 3vw, 36px); }
.business-submit-form { min-width: 0; overflow: hidden; border: 1px solid var(--line); border-radius: 17px; background: var(--surface); box-shadow: 0 12px 36px rgba(20,32,27,.055); }
.business-form-section { padding: clamp(19px, 3vw, 27px); border-bottom: 1px solid #edf0eb; }
.business-form-section-heading { display: flex; align-items: flex-start; gap: 12px; margin-bottom: 19px; }
.business-form-step { display: grid; flex: 0 0 31px; width: 31px; height: 31px; place-items: center; border-radius: 10px; background: var(--lake-tint); color: var(--lake-dark); font-size: 0.625rem; font-weight: 800; }
.business-form-section-heading h2 { font-size: 1.1875rem; letter-spacing: -.025em; }
.business-form-section-heading p { margin: 4px 0 0; color: var(--ink-soft); font-size: 0.6875rem; }
.business-form-fields { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 15px 13px; }
.business-form-field { display: grid; min-width: 0; align-content: start; gap: 7px; }
.business-form-field-wide { grid-column: 1 / -1; }
.business-field-label { display: flex; align-items: center; gap: 7px; color: var(--ink); font-size: 0.6875rem; font-weight: 700; }
.business-field-icon { display: grid; flex: 0 0 22px; width: 22px; height: 22px; place-items: center; border-radius: 7px; background: #f0f5f1; color: var(--lake); }
.business-field-icon svg { width: 14px; height: 14px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.business-form-field input:not([type="checkbox"]):not([type="file"]),
.business-form-field select,
.business-form-field textarea { display: block; width: 100%; min-width: 0; min-height: 41px; padding: 9px 11px; border: 1px solid #dfe4dd; border-radius: 9px; outline: 0; background: #fff; color: var(--ink); font: 0.75rem/1.5 var(--body); transition: border-color .15s, box-shadow .15s; }
.business-form-field textarea { min-height: 102px; resize: vertical; }
.business-form-field-wide textarea { min-height: 96px; }
.business-form-field input:focus,
.business-form-field select:focus,
.business-form-field textarea:focus { border-color: var(--lake); box-shadow: 0 0 0 3px rgba(217,104,61,.1); }
.business-form-field input[type="file"] { width: 100%; min-width: 0; padding: 9px; border: 1px dashed #cbd6ce; border-radius: 9px; background: #f8faf7; color: var(--ink-soft); font: 0.6875rem var(--body); }
.business-form-field input[type="checkbox"] { accent-color: var(--lake); }
.business-field-help { color: #78837c; font-size: 0.625rem; line-height: 1.5; }
.business-field-errors { color: #a62a23; font-size: 0.625rem; }
.business-field-errors ul,.business-form-errors ul { margin: 0; padding-left: 17px; }
.business-form-errors { margin: 18px 22px 0; padding: 11px 13px; border: 1px solid #f0c9c5; border-radius: 10px; background: #fff1ef; color: #a62a23; font-size: 0.6875rem; }
.business-cover-preview { display: grid; justify-items: start; gap: 6px; color: var(--ink-soft); font-size: 0.625rem; }
.business-cover-preview img { display: block; width: min(100%, 280px); max-height: 150px; object-fit: cover; border-radius: 10px; }
.business-form-footer { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 17px clamp(19px, 3vw, 27px); background: #fbfcfa; }
.business-form-footer p { max-width: 42ch; margin: 0; color: var(--ink-soft); font-size: 0.625rem; line-height: 1.5; }
.business-form-footer .button { min-height: 41px; padding: 0 16px; font-size: 0.75rem; white-space: nowrap; }
.business-form-footer .button span { font-size: 1.0625rem; }
.business-form-aside { position: sticky; top: 92px; padding: 20px; border: 1px solid #e5eae4; border-radius: 16px; background: #f3f7f2; }
.business-form-aside-icon { display: grid; width: 38px; height: 38px; place-items: center; margin-bottom: 14px; border-radius: 12px; background: var(--sun); color: var(--ink); }
.business-form-aside-icon svg { width: 20px; height: 20px; fill: currentColor; }
.business-form-aside h2 { font-size: 1.125rem; }
.business-form-aside > p { margin: 8px 0 14px; color: var(--ink-soft); font-size: 0.6875rem; line-height: 1.55; }
.business-form-aside ul { display: grid; gap: 10px; margin: 0; padding: 0; list-style: none; }
.business-form-aside li { display: flex; align-items: flex-start; gap: 8px; color: var(--ink-soft); font-size: 0.625rem; line-height: 1.45; }
.business-form-aside li span { color: var(--lake); font-weight: 800; }
.business-review-note { display: flex; gap: 9px; margin-top: 17px; padding: 11px; border-radius: 10px; background: #eaf3ee; }
.business-review-note > span { flex: 0 0 17px; color: var(--lake); }
.business-review-note svg { width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.business-review-note p { margin: 0; color: var(--lake-dark); font-size: 0.625rem; font-weight: 600; line-height: 1.45; }
.business-detail-page .page-shell { max-width: none; padding: 28px clamp(16px,4vw,60px) 64px; }
.business-detail-page .trend-section { margin-top: 30px; }
.business-related-section { margin-top: 28px; }
.business-detail-shell { color: var(--ink); }
.business-detail-hero { position: relative; min-height: clamp(245px, 31vw, 360px); overflow: hidden; border-radius: 20px; isolation: isolate; background: #17342f; }
.business-detail-cover,.business-detail-hero-shade { position: absolute; inset: 0; width: 100%; height: 100%; }
.business-detail-cover { z-index: -2; object-fit: cover; }
.business-detail-cover-empty { display: grid; place-items: center; background: #164d43; color: rgba(255,255,255,.5); }
.business-detail-cover-empty svg { width: 86px; height: 86px; fill: none; stroke: currentColor; stroke-width: 1; stroke-linecap: round; stroke-linejoin: round; }
.business-detail-hero-shade { z-index: -1; background: rgba(9,23,20,.62); }
.business-detail-hero-copy { position: absolute; right: 28px; bottom: 27px; left: 32px; color: #fff; }
.business-detail-kicker { margin: 0 0 9px; color: rgba(255,255,255,.82); font-size: 0.6875rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.business-detail-kicker span { padding: 0 5px; color: var(--sun); }
.business-detail-hero h1 { max-width: 780px; margin: 0; font: 700 clamp(1.875rem,4.4vw,3.125rem)/1.06 var(--display); letter-spacing: -.045em; text-wrap: balance; }
.business-detail-hero-meta { display: flex; align-items: center; flex-wrap: wrap; gap: 9px; margin-top: 15px; }
.business-detail-page .verified-badge { padding: 6px 10px; border: 1px solid rgba(255,255,255,.25); border-radius: 99px; background: rgba(255,255,255,.13); color: #fff; font-size: 0.625rem; }
.business-detail-rating { color: #ffd166; font-size: 0.75rem; font-weight: 800; }
.business-detail-rating > span:first-child { margin-right: 3px; }
.business-detail-rating-count,.business-detail-price { color: rgba(255,255,255,.82); font-size: 0.6875rem; }
.business-detail-price { padding: 5px 9px; border: 1px solid rgba(255,255,255,.25); border-radius: 99px; }
.business-detail-layout { display: grid; grid-template-columns: minmax(0,1fr) 310px; align-items: start; gap: 24px; margin-top: 24px; }
.business-detail-content { min-width: 0; }
.business-detail-section { margin-bottom: 17px; padding: clamp(20px,3vw,28px); border: 1px solid var(--line); border-radius: 16px; background: var(--surface); }
.business-detail-eyebrow { margin: 0 0 6px; color: var(--lake); font-size: 0.5625rem; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.business-detail-section h2,.business-contact-card h2 { margin: 0; font: 700 1.3125rem/1.2 var(--display); letter-spacing: -.025em; }
.business-detail-description { margin-top: 12px; color: var(--ink-soft); font-size: 0.8125rem; line-height: 1.75; }
.business-detail-description p { margin: 0 0 10px; }
.business-detail-description p:last-child { margin-bottom: 0; }
.business-detail-muted { color: var(--ink-soft); font-size: 0.6875rem; line-height: 1.6; }
.business-hours-display { display: grid; margin-top: 14px; border-top: 1px solid #edf0eb; }
.business-hours-display-row { display: flex; justify-content: space-between; gap: 15px; padding: 10px 1px; border-bottom: 1px solid #edf0eb; font-size: 0.6875rem; }
.business-hours-display-row strong { color: var(--ink); }
.business-hours-display-row span { color: var(--ink-soft); }
.business-hours-display-row i { padding: 0 4px; color: #9ca69f; font-style: normal; }
.business-detail-sidebar { min-width: 0; }
.business-contact-card { position: sticky; top: 86px; padding: 21px; border: 1px solid #dfe8e1; border-radius: 16px; background: #f5f8f4; box-shadow: 0 10px 28px rgba(20,32,27,.05); }
.business-contact-card h2 { font-size: 1.125rem; }
.business-contact-location { display: flex; align-items: flex-start; gap: 8px; margin: 11px 0 16px; color: var(--ink-soft); }
.business-contact-location svg { flex: 0 0 16px; width: 16px; height: 16px; margin-top: 1px; fill: none; stroke: var(--lake); stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.business-contact-location p { margin: 0; font-size: 0.6875rem; line-height: 1.5; }
.business-contact-actions { display: grid; gap: 8px; }
.business-contact-actions .button { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 40px; padding: 0 12px; border-radius: 10px; font-size: 0.6875rem; text-decoration: none; }
.business-contact-actions svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.business-contact-actions .business-contact-call { background: var(--lake); color: #fff; }
.business-contact-actions .business-contact-whatsapp { background: #148c5b; color: #fff; }
.business-contact-actions .business-contact-directions { border: 1px solid #dfe5df; background: #fff; color: var(--ink); }
.business-owner-tools { margin-top: 15px; padding-top: 13px; border-top: 1px solid #e6ebe5; }
.business-owner-tools p { margin: 0 0 5px; }
.business-owner-tools .text-link { color: var(--lake); font-size: 0.6875rem; font-weight: 700; }
.business-contact-share { margin-top: 15px; padding-top: 13px; border-top: 1px solid #e6ebe5; }
.business-report-listing { display: inline-block; margin-top: 15px; color: #87918a; font-size: 0.625rem; }
.business-report-listing:hover,.business-review-report:hover { color: #a62a23; text-decoration: underline; text-underline-offset: 3px; }
.business-review-heading { display: flex; align-items: center; justify-content: space-between; gap: 15px; margin-bottom: 17px; }
.business-review-average { display: grid; justify-items: end; gap: 2px; color: #b37c08; font-size: 0.75rem; }
.business-review-average small { color: var(--ink-soft); font-size: 0.5625rem; }
.business-review-form,.business-reply-form { display: grid; gap: 8px; padding: 15px; border: 1px solid #e3e9e2; border-radius: 12px; background: #f8faf7; }
.business-review-form { margin-bottom: 16px; }
.business-review-form h3 { margin: 0 0 4px; font: 700 0.875rem var(--display); }
.business-review-form label,.business-reply-form label { color: var(--ink); font-size: 0.625rem; font-weight: 700; }
.business-review-form select,.business-review-form textarea,.business-reply-form textarea { width: 100%; min-height: 38px; padding: 9px 10px; border: 1px solid #dfe4dd; border-radius: 9px; background: #fff; color: var(--ink); font: 0.6875rem/1.5 var(--body); }
.business-review-form textarea,.business-reply-form textarea { min-height: 80px; resize: vertical; }
.business-review-form .button { justify-self: start; min-height: 36px; padding: 0 13px; font-size: 0.625rem; }
.business-review-signin { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 15px; padding: 13px; border-radius: 11px; background: #f5f8f4; }
.business-review-signin p { margin: 0; color: var(--ink-soft); font-size: 0.625rem; line-height: 1.5; }
.business-review-signin .button { flex: 0 0 auto; }
.business-review-list { display: grid; gap: 11px; }
.business-review-card { padding: 15px; border: 1px solid #e7ebe6; border-radius: 12px; background: #fff; scroll-margin-top: 100px; }
.business-review-author { display: flex; align-items: center; gap: 9px; }
.business-review-avatar { display: grid; flex: 0 0 33px; width: 33px; height: 33px; place-items: center; border-radius: 50%; background: #eaf3ee; color: var(--lake-dark); font-size: 0.75rem; font-weight: 800; }
.business-review-author > div { display: grid; min-width: 0; gap: 3px; }
.business-review-author strong { color: var(--ink); font-size: 0.625rem; }
.business-review-author > div > span { color: var(--ink-soft); font-size: 0.5625rem; }
.business-review-author time { color: #8b958e; }
.business-review-report { margin-left: auto; color: #89928c; font-size: 0.5625rem; }
.business-review-body { margin: 11px 0 0; color: var(--ink-soft); font-size: 0.6875rem; line-height: 1.65; }
.business-review-reply { margin: 13px 0 0 24px; padding: 12px; border-left: 2px solid #c9ddd2; border-radius: 0 9px 9px 0; background: #f7faf7; }
.business-owner-avatar { background: #fff1d0; color: #946308; }
.business-owner-label { display: inline-block; margin-left: 4px; padding: 2px 5px; border-radius: 99px; background: #fff1d0; color: #946308; font-size: 0.5rem; }
.business-reply-form { margin: 12px 0 0 24px; padding: 11px; }
.business-reply-form textarea { min-height: 58px; }
.business-reply-form .button { justify-self: start; min-height: 31px; padding: 0 11px; font-size: 0.5625rem; }
.business-reviews-empty { display: flex; align-items: center; gap: 11px; padding: 15px; border: 1px dashed #d8e0d8; border-radius: 11px; color: var(--ink-soft); }
.business-reviews-empty > span { color: #d19a27; font-size: 1.375rem; }
.business-reviews-empty p { margin: 0; font-size: 0.625rem; line-height: 1.6; }
.business-reviews-empty strong { color: var(--ink); }
.business-review-pagination { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 15px; color: var(--ink-soft); font-size: 0.625rem; }
.business-review-pagination a { color: var(--lake); font-weight: 700; }
.event-form-page .page-shell { max-width: 1320px; margin-inline: auto; padding: clamp(25px,4vw,48px) clamp(15px,3vw,38px) 64px; }
.event-form-heading { max-width: 780px; margin-bottom: 23px; }
.event-form-heading .eyebrow { margin: 0 0 7px; color: var(--lake); font-size: 0.625rem; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.event-form-heading h1 { margin: 0; font: 700 clamp(1.875rem,4.2vw,2.875rem)/1.08 var(--display); letter-spacing: -.045em; }
.event-form-heading > p:last-child { margin: 9px 0 0; color: var(--ink-soft); font-size: 0.8125rem; line-height: 1.6; }
.event-form-layout { display: grid; grid-template-columns: minmax(0,1fr) 280px; align-items: start; gap: clamp(18px,3vw,30px); }
.event-submit-form { min-width: 0; overflow: hidden; border: 1px solid var(--line); border-radius: 17px; background: var(--surface); box-shadow: 0 12px 36px rgba(20,32,27,.055); }
.event-form-section { padding: clamp(19px,3vw,27px); border-bottom: 1px solid #edf0eb; }
.event-form-section-heading { display: flex; align-items: flex-start; gap: 12px; margin-bottom: 19px; }
.event-form-section-heading > span { display: grid; flex: 0 0 31px; width: 31px; height: 31px; place-items: center; border-radius: 10px; background: #fff3d7; color: #946308; font-size: 0.625rem; font-weight: 800; }
.event-form-section-heading h2 { margin: 0; font: 700 1.125rem/1.25 var(--display); letter-spacing: -.02em; }
.event-form-section-heading p { margin: 4px 0 0; color: var(--ink-soft); font-size: 0.625rem; }
.event-stepper { display: grid; grid-template-columns: auto minmax(70px,1fr) auto; align-items: center; gap: 12px; padding: 14px clamp(19px,3vw,27px); border-bottom: 1px solid #edf0eb; background: #fbfcfa; color: var(--ink-soft); font-size: 0.5625rem; }
.event-stepper b { color: #946308; }
.event-stepper strong { color: var(--ink); font-size: 0.5625rem; text-align: right; }
.event-stepper-track { height: 5px; overflow: hidden; border-radius: 99px; background: #e7ece7; }
.event-stepper-track span { display: block; width: 33.333%; height: 100%; border-radius: inherit; background: #c18c1b; transition: width .2s ease; }
.event-stepper[hidden],.event-step-controls[hidden],.event-form-step-panel[hidden],.event-form-submit[hidden],.event-step-controls button[hidden] { display: none !important; }
.event-step-controls { display: flex; justify-content: space-between; gap: 10px; padding: 13px clamp(19px,3vw,27px); border-top: 1px solid #edf0eb; }
.event-step-controls .button { min-height: 38px; padding: 0 14px; font-size: 0.625rem; }
.event-step-back { border: 1px solid var(--line); background: #fff; color: var(--ink); }
.event-form-fields { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 15px 13px; }
.event-form-field { display: grid; min-width: 0; align-content: start; gap: 7px; }
.event-form-field-wide { grid-column: 1 / -1; }
.event-form-label { display: flex; align-items: center; gap: 7px; color: var(--ink); font-size: 0.625rem; font-weight: 700; }
.event-form-icon { display: grid; flex: 0 0 22px; width: 22px; height: 22px; place-items: center; border-radius: 7px; background: #f8f3e6; color: #946308; }
.event-form-icon svg { width: 14px; height: 14px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.event-form-field > small { color: #78837c; font-size: 0.5625rem; line-height: 1.5; }
.event-form-field input:not([type="checkbox"]):not([type="file"]),.event-form-field select,.event-form-field textarea { display: block; width: 100%; min-width: 0; min-height: 41px; padding: 9px 11px; border: 1px solid #dfe4dd; border-radius: 9px; outline: 0; background: #fff; color: var(--ink); font: 0.6875rem/1.5 var(--body); transition: border-color .15s,box-shadow .15s; }
.event-form-field textarea { min-height: 116px; resize: vertical; }
.event-form-field input:focus,.event-form-field select:focus,.event-form-field textarea:focus { border-color: var(--lake); box-shadow: 0 0 0 3px rgba(217,104,61,.1); }
.event-form-field input[type="file"] { width: 100%; min-width: 0; padding: 9px; border: 1px dashed #d9cfad; border-radius: 9px; background: #fffdf7; color: var(--ink-soft); font: 0.625rem var(--body); }
.event-form-field-errors { color: #a62a23; font-size: 0.625rem; }
.event-form-field-errors ul,.event-form-errors ul { margin: 0; padding-left: 17px; }
.event-form-errors { margin: 17px 22px 0; padding: 12px 14px; border: 1px solid #f0c9c5; border-radius: 10px; background: #fff1ef; color: #a62a23; font-size: 0.625rem; }
.event-form-errors a { color: inherit; text-decoration: underline; text-underline-offset: 2px; }
.event-ticket-toggle-field { display: flex; grid-column: 1 / -1; align-items: center; justify-content: space-between; gap: 15px; padding: 14px; border: 1px solid #ecdfbb; border-radius: 12px; background: #fffaf0; }
.event-ticket-toggle-field > div strong { color: var(--ink); font-size: 0.6875rem; }
.event-ticket-toggle-field > div p { max-width: 58ch; margin: 4px 0 0; color: var(--ink-soft); font-size: 0.5625rem; line-height: 1.5; }
.event-toggle { position: relative; display: inline-flex; flex: 0 0 auto; align-items: center; gap: 7px; cursor: pointer; }
.event-toggle input { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); clip-path: inset(50%); white-space: nowrap; }
.event-toggle-track { display: inline-flex; width: 38px; height: 21px; align-items: center; padding: 3px; border-radius: 99px; background: #cbd2cc; transition: background .15s ease; }
.event-toggle-track i { display: block; width: 15px; height: 15px; border-radius: 50%; background: #fff; box-shadow: 0 1px 3px rgba(20,32,27,.2); transition: transform .15s ease; }
.event-toggle input:checked + .event-toggle-track { background: var(--lake); }
.event-toggle input:checked + .event-toggle-track i { transform: translateX(17px); }
.event-toggle input:focus-visible + .event-toggle-track { outline: 3px solid rgba(217,104,61,.2); outline-offset: 2px; }
.event-toggle-state { min-width: 19px; color: var(--ink-soft); font-size: 0.5625rem; font-weight: 700; }
.event-ticket-options { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 13px; }
.event-ticket-options[hidden] { display: none !important; }
.event-form-footer { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 16px clamp(19px,3vw,27px); background: #fbfcfa; }
.event-form-footer p { max-width: 45ch; margin: 0; color: var(--ink-soft); font-size: 0.5625rem; line-height: 1.5; }
.event-form-footer .button { min-height: 40px; padding: 0 16px; font-size: 0.6875rem; white-space: nowrap; }
.event-form-aside { position: sticky; top: 90px; padding: 19px; border: 1px solid #ece5d2; border-radius: 15px; background: #fbf8ee; }
.event-form-aside-icon { display: grid; width: 37px; height: 37px; place-items: center; margin-bottom: 13px; border-radius: 11px; background: #fff0ca; color: #946308; }
.event-form-aside-icon svg { width: 19px; height: 19px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.event-form-aside h2 { margin: 0; font: 700 1.0625rem var(--display); }
.event-form-aside > p { margin: 8px 0 14px; color: var(--ink-soft); font-size: 0.625rem; line-height: 1.55; }
.event-form-aside ul { display: grid; gap: 10px; margin: 0; padding: 0; list-style: none; }
.event-form-aside li { display: flex; align-items: flex-start; gap: 8px; color: var(--ink-soft); font-size: 0.5625rem; line-height: 1.5; }
.event-form-aside li span { color: #a77a14; font-weight: 800; }
.event-review-note { margin-top: 16px; padding: 11px; border-radius: 10px; background: #fff1d0; }
.event-review-note strong { color: #76570e; font-size: 0.5625rem; }
.event-review-note p { margin: 4px 0 0; color: #796a45; font-size: 0.5625rem; line-height: 1.5; }
.ui-button-icon { display: inline-block; flex: 0 0 15px; width: 15px; height: 15px; vertical-align: middle; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
button:has(> .ui-button-icon),.button:has(> .ui-button-icon) { display: inline-flex; align-items: center; justify-content: center; gap: 7px; }
button:has(> .ui-button-icon) { cursor: pointer; }
@media (max-width: 850px) {
  .event-form-layout { grid-template-columns: minmax(0,1fr) 235px; gap: 16px; }
}
@media (max-width: 700px) {
  .event-form-layout { grid-template-columns: minmax(0,1fr); }
  .event-form-aside { position: static; grid-row: 1; }
}
@media (max-width: 480px) {
  .event-form-page .page-shell { padding: 22px 13px 48px; }
  .event-form-fields,.event-ticket-options { grid-template-columns: minmax(0,1fr); }
  .event-form-field-wide { grid-column: auto; }
  .event-form-section { padding: 17px 14px; }
  .event-ticket-toggle-field { align-items: flex-start; flex-direction: column; }
  .event-form-footer { align-items: stretch; flex-direction: column; }
  .event-form-footer .button { width: 100%; }
}
@media (max-width: 780px) {
  .business-detail-layout { grid-template-columns: minmax(0,1fr); }
  .business-detail-sidebar { grid-row: 1; }
  .business-contact-card { position: static; }
  .business-contact-actions { grid-template-columns: repeat(auto-fit,minmax(130px,1fr)); }
}
@media (max-width: 520px) {
  .business-detail-page .page-shell { padding: 14px 13px 48px; }
  .business-detail-hero { min-height: 255px; border-radius: 15px; }
  .business-detail-hero-copy { right: 16px; bottom: 18px; left: 18px; }
  .business-detail-hero h1 { font-size: 2rem; }
  .business-detail-kicker { font-size: 0.5625rem; }
  .business-detail-layout { gap: 13px; margin-top: 13px; }
  .business-detail-section { margin-bottom: 12px; padding: 17px; border-radius: 13px; }
  .business-contact-card { padding: 17px; }
  .business-review-signin { align-items: flex-start; flex-direction: column; }
  .business-review-reply,.business-reply-form { margin-left: 12px; }
}
.business-stepper { display: grid; grid-template-columns: auto minmax(70px,1fr) auto; align-items: center; gap: 12px; padding: 15px clamp(19px, 3vw, 27px); border-bottom: 1px solid #edf0eb; background: #fbfcfa; }
.business-stepper-count,.business-stepper-name { color: var(--ink-soft); font-size: 0.625rem; }
.business-stepper-count b { color: var(--lake-dark); }
.business-stepper-track { height: 5px; overflow: hidden; border-radius: 99px; background: #e7ece7; }
.business-stepper-track span { display: block; width: 25%; height: 100%; border-radius: inherit; background: var(--lake); transition: width .2s ease; }
.business-stepper-name { color: var(--ink); font-weight: 700; text-align: right; }
.business-form-step-panel[hidden] { display: none !important; }
.business-step-controls { display: flex; justify-content: space-between; gap: 10px; padding: 15px clamp(19px, 3vw, 27px); border-top: 1px solid #edf0eb; }
.business-step-controls .button { min-height: 41px; padding: 0 16px; font-size: 0.75rem; }
.business-step-controls [hidden] { display: none !important; }
.business-step-back { border: 1px solid var(--line); background: #fff; color: var(--ink); }
.business-hours-list { display: grid; gap: 7px; }
.business-hours-row { overflow: hidden; border: 1px solid #e5eae4; border-radius: 10px; background: #fff; }
.business-hours-row summary { display: flex; align-items: center; gap: 10px; min-height: 43px; padding: 8px 12px; cursor: pointer; list-style: none; }
.business-hours-row summary::-webkit-details-marker { display: none; }
.business-hours-day { min-width: 92px; color: var(--ink); font-size: 0.6875rem; }
.business-hours-summary { flex: 1; color: var(--ink-soft); font-size: 0.625rem; }
.business-hours-chevron { color: var(--lake); font-size: 1rem; transition: transform .15s ease; }
.business-hours-row[open] .business-hours-chevron { transform: rotate(180deg); }
.business-hours-controls { display: grid; grid-template-columns: minmax(95px,.7fr) repeat(2,minmax(120px,1fr)); align-items: end; gap: 10px; padding: 3px 12px 12px; }
.business-hours-closed,.business-hours-time { display: grid; gap: 5px; color: var(--ink-soft); font-size: 0.625rem; }
.business-hours-closed { display: flex; align-items: center; min-height: 40px; gap: 7px; }
.business-hours-closed input { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; clip-path: inset(50%); }
.business-hours-toggle { position: relative; display: inline-flex; flex: 0 0 34px; width: 34px; height: 19px; align-items: center; padding: 2px; border-radius: 99px; background: #cbd2cc; transition: background .15s ease; }
.business-hours-toggle i { display: block; width: 15px; height: 15px; border-radius: 50%; background: #fff; box-shadow: 0 1px 3px rgba(20,32,27,.2); transition: transform .15s ease; }
.business-hours-closed input:checked + .business-hours-toggle { background: var(--lake); }
.business-hours-closed input:checked + .business-hours-toggle i { transform: translateX(15px); }
.business-hours-closed input:focus-visible + .business-hours-toggle { outline: 3px solid rgba(217,104,61,.2); outline-offset: 2px; }
.business-hours-time input { min-height: 38px; padding: 7px 9px; border: 1px solid #dfe4dd; border-radius: 8px; background: #fff; color: var(--ink); font: 0.6875rem var(--body); }
.business-hours-time input:focus { border-color: var(--lake); outline: 3px solid rgba(217,104,61,.1); }
.business-hours-time input:disabled { background: #f2f4f1; }
.business-hours-controls .business-field-errors { grid-column: 1 / -1; }
.business-form-errors a { color: inherit; text-decoration: underline; text-underline-offset: 2px; }
.dashboard-sales-metrics { grid-template-columns: repeat(2,minmax(0,1fr)); max-width: 750px; }
.ticket-list-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
.ticket-list-card { align-items: flex-start; }
.ticket-qr { display: block; width: 116px; height: 116px; margin: 10px 0 0; padding: 5px; border: 1px solid var(--line); border-radius: 10px; background: #fff; }
.account-settings-panel { display: grid; grid-template-columns: 112px minmax(0,1fr); align-items: start; gap: 10px 22px; max-width: 800px; }
.account-settings-photo { width: 100px; height: 100px; object-fit: cover; border-radius: 50%; }
.account-settings-form { min-width: 0; }
.account-settings-form p { display: grid; gap: 5px; margin: 0 0 15px; color: var(--ink-soft); font-size: 0.75rem; }
.account-settings-form input { width: 100%; min-height: 40px; padding: 8px 10px; border: 1px solid var(--line); border-radius: 9px; background: #fff; color: var(--ink); font: 0.75rem var(--body); }
.account-settings-form input:focus { border-color: var(--lake); outline: 3px solid rgba(217,104,61,.1); }
.account-settings-form .button { min-height: 39px; padding: 0 16px; }
.account-password-link { grid-column: 2; margin: 0; font-size: 0.6875rem; }
.account-password-link a { color: var(--lake); font-weight: 700; }
.account-password-link a:hover { text-decoration: underline; text-underline-offset: 3px; }

/* Peza business profile hub */
.business-detail-page .page-shell { padding-top: 22px; }
.business-detail-hero { min-height: clamp(220px, 25vw, 310px); border: 1px solid rgba(27,43,39,.1); border-radius: 17px; }
.business-detail-hero-shade { background: rgba(15,25,24,.58); }
.business-detail-layout { grid-template-columns: minmax(0,1.65fr) minmax(290px,.85fr); gap: 22px; margin-top: 19px; }
.business-profile-actions { margin-bottom: 17px; padding: 19px 20px 14px; border: 1px solid var(--line); border-radius: 15px; background: var(--surface); box-shadow: 0 8px 22px rgba(20,32,27,.035); }
.business-profile-actions-heading { display: flex; align-items: center; gap: 11px; margin-bottom: 13px; }
.business-profile-mark { display: grid; flex: 0 0 38px; width: 38px; height: 38px; place-items: center; border-radius: 12px; background: #fff1e8; color: #d65b31; }
.business-profile-mark svg { width: 19px; height: 19px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.business-profile-actions-heading .business-detail-eyebrow { margin-bottom: 3px; color: #d65b31; }
.business-profile-actions-heading h2 { margin: 0; font: 700 1.0625rem/1.2 var(--display); letter-spacing: -.02em; }
.business-profile-action-grid { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 7px; }
.business-profile-action-grid a { display: flex; min-width: 0; min-height: 74px; align-items: center; justify-content: center; flex-direction: column; gap: 7px; padding: 9px 5px; border: 1px solid transparent; border-radius: 10px; color: var(--ink-soft); font-size: 0.625rem; font-weight: 600; text-align: center; text-decoration: none; transition: background .16s ease,border-color .16s ease,color .16s ease,transform .16s ease; }
.business-profile-action-grid a:hover { transform: translateY(-2px); border-color: #f1d7c8; background: #fff8f3; color: #a86400; }
.business-action-icon { display: grid; width: 29px; height: 29px; place-items: center; color: #a86400; }
.business-action-icon svg { width: 19px; height: 19px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.business-profile-actions .ui-button-icon { width: 19px; height: 19px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.business-detail-section { box-shadow: 0 6px 18px rgba(20,32,27,.025); }
.business-detail-section h2,.business-contact-card h2 { font-family: var(--display); }
.business-detail-sidebar { align-self: stretch; }
.business-contact-card { top: 86px; padding: 0; overflow: hidden; border-color: #dfe3df; border-radius: 15px; background: var(--surface); box-shadow: 0 9px 26px rgba(20,32,27,.055); }
.business-contact-card > .business-detail-eyebrow,.business-contact-card > h2,.business-contact-card > .business-contact-location,.business-contact-card > .business-contact-actions,.business-contact-card > .business-owner-tools,.business-contact-card > .business-contact-share,.business-contact-card > .business-report-listing { margin-right: 19px; margin-left: 19px; }
.business-contact-card > .business-detail-eyebrow { padding-top: 18px; }
.business-contact-card > h2 { font-size: 1.25rem; }
.business-contact-card > .business-contact-location { margin-top: 8px; }
.business-contact-card > .business-contact-actions { grid-template-columns: repeat(2,minmax(0,1fr)); padding-bottom: 17px; }
.business-contact-actions .business-contact-call { background: #d65b31; }
.business-contact-actions .business-contact-whatsapp { background: #137b5a; }
.business-contact-actions .business-contact-directions { grid-column: 1 / -1; }
.business-contact-card > .business-owner-tools,.business-contact-card > .business-contact-share { padding-top: 13px; }
.business-contact-card > .business-report-listing { margin-bottom: 18px; }
.business-gallery-section,.business-posts-section { scroll-margin-top: 100px; }
.business-photo-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 9px; margin-top: 13px; }
.business-photo-item { position: relative; display: block; aspect-ratio: 1.35; overflow: hidden; border-radius: 10px; background: #f0f1ed; }
.business-photo-item img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .25s ease; }
.business-photo-item:hover img { transform: scale(1.04); }
.business-photo-item > span { position: absolute; right: 0; bottom: 0; left: 0; overflow: hidden; padding: 15px 8px 7px; background: rgba(0,0,0,.65); color: #fff; font-size: 0.5625rem; text-overflow: ellipsis; white-space: nowrap; }
.business-profile-post-list { display: grid; gap: 9px; margin-top: 13px; }
.business-profile-post { position: relative; display: flex; min-height: 77px; align-items: center; gap: 13px; padding: 12px; border: 1px solid #e9ece8; border-radius: 11px; background: #fff; }
.business-profile-post > div { min-width: 0; }
.business-profile-post > div > span { color: #a55b3e; font-size: 0.5625rem; font-weight: 700; }
.business-profile-post p { display: -webkit-box; overflow: hidden; margin: 5px 0 0; color: var(--ink-soft); font-size: 0.6875rem; line-height: 1.5; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.business-profile-post > img { flex: 0 0 62px; width: 62px; height: 52px; border-radius: 7px; object-fit: cover; }
.business-profile-post-link { position: absolute; inset: 0; border-radius: inherit; }
.business-profile-post:has(.business-profile-post-link:hover) { border-color: #eac8b8; background: #fffaf7; }
.business-related-section { padding-top: 5px; }
@media (max-width: 780px) {
  .business-detail-layout { grid-template-columns: minmax(0,1fr); }
  .business-detail-sidebar { grid-row: 1; }
  .business-profile-action-grid { grid-template-columns: repeat(auto-fit,minmax(80px,1fr)); }
  .business-contact-card > .business-contact-actions { grid-template-columns: repeat(auto-fit,minmax(125px,1fr)); }
  .business-contact-actions .business-contact-directions { grid-column: auto; }
}
@media (max-width: 520px) {
  .business-detail-hero { min-height: 225px; }
  .business-profile-actions { padding: 15px 12px 10px; }
  .business-profile-action-grid { grid-template-columns: repeat(4,minmax(0,1fr)); }
  .business-photo-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .business-contact-card > .business-contact-actions { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 960px) {
  .business-form-layout { grid-template-columns: minmax(0,1fr) 230px; gap: 17px; }
  .dashboard-metrics { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .dashboard-chart-grid { grid-template-columns: 1fr; }
}
@media (max-width: 700px) {
  .business-form-layout { grid-template-columns: 1fr; }
  .business-form-aside { position: static; grid-row: 1; }
  .dashboard-welcome { align-items: flex-start; flex-direction: column; }
  .dashboard-actions { justify-content: flex-start; }
  .dashboard-list-grid { grid-template-columns: 1fr; }
  .dashboard-search { align-items: stretch; flex-direction: column; }
  .dashboard-search > div { width: 100%; }
}
@media (max-width: 460px) {
  .business-form-section { padding: 18px 15px; }
  .business-form-fields { grid-template-columns: 1fr; }
  .business-form-field-wide { grid-column: auto; }
  .business-form-footer { align-items: stretch; flex-direction: column; }
  .business-form-footer .button { width: 100%; }
  .business-stepper { grid-template-columns: auto 1fr; gap: 7px 10px; }
  .business-stepper-name { grid-column: 1 / -1; grid-row: 2; text-align: left; }
  .business-hours-controls { grid-template-columns: 1fr 1fr; }
  .business-hours-closed { grid-column: 1 / -1; min-height: 25px; }
  .dashboard-metrics { grid-template-columns: 1fr 1fr; gap: 8px; }
  .dashboard-metric { align-items: flex-start; flex-direction: column; gap: 9px; padding: 12px; }
  .dashboard-metric-icon { width: 35px; height: 35px; flex-basis: 35px; border-radius: 11px; }
  .dashboard-metric-icon svg { width: 18px; height: 18px; }
  .dashboard-metric strong { font-size: 1.25rem; }
  .dashboard-metric-revenue strong { font-size: 0.875rem; }
  .dashboard-panel { padding: 15px; }
  .dashboard-actions { gap: 6px; }
  .dashboard-actions .button { padding: 0 11px; font-size: 0.625rem; }
  .dashboard-empty { align-items: flex-start; flex-wrap: wrap; }
  .ticket-list-grid { grid-template-columns: 1fr; }
  .account-settings-panel { grid-template-columns: 1fr; }
  .account-password-link { grid-column: 1; }
}

/* Business detail profile preview, modeled on the supplied profile anatomy */
.business-detail-page .page-shell { padding: 22px clamp(16px,3vw,42px) 58px; }
.business-profile-preview { display: grid; max-width: 1380px; grid-template-columns: minmax(0,1.55fr) minmax(360px,.95fr); align-items: stretch; gap: 14px; margin: 8px auto 24px; }
.business-profile-preview-public { grid-template-columns: minmax(0,1fr); }
.business-profile-preview-public .business-profile-preview-card { order: 0; }
.business-profile-preview-public .business-profile-management { order: 1; }
.business-profile-preview-public .business-profile-media { height: clamp(220px,20vw,300px); }
.business-profile-preview-public .business-profile-actions { padding: 16px 20px 14px; }
.business-profile-preview-public .business-profile-action-grid { grid-template-columns: repeat(auto-fit,minmax(100px,1fr)); }
.business-profile-management { display: grid; min-width: 0; align-self: start; align-content: start; grid-template-rows: auto auto auto; gap: 12px; }
.business-profile-actions { margin: 0; padding: 19px 20px 14px; border: 1px solid #eadfd8; border-radius: 15px; background: var(--surface); box-shadow: 0 8px 22px rgba(40,32,28,.035); }
.business-profile-actions-heading { align-items: flex-start; margin-bottom: 13px; }
.business-profile-actions-heading h1 { margin: 0; font: 700 clamp(1.0625rem,1.5vw,1.3125rem)/1.25 var(--display); letter-spacing: -.025em; }
.business-profile-actions-heading .business-detail-eyebrow { margin-bottom: 3px; color: var(--green); }
.business-profile-mark { flex-basis: 38px; width: 38px; height: 38px; background: var(--green-tint); color: var(--green-dark); }
.business-profile-mark svg { width: 20px; height: 20px; }
.business-profile-performance { display: inline-flex; align-items: center; gap: 5px; margin-top: 4px; color: #63727e; font-size: 0.625rem; text-decoration: none; }
.business-profile-performance svg { width: 13px; height: 13px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.business-profile-action-grid { grid-template-columns: repeat(auto-fit,minmax(76px,1fr)); gap: 6px; }
.business-profile-action-grid a { min-height: 66px; gap: 5px; padding: 7px 3px; border-radius: 9px; color: #46525b; font-size: 0.5625rem; }
.business-profile-action-grid a:hover { transform: none; border-color: #c8dfd3; background: var(--green-tint); color: var(--green-dark); }
.business-action-icon { width: 25px; height: 25px; color: var(--green-dark); }
.business-action-icon svg,.business-profile-actions .ui-button-icon { width: 17px; height: 17px; }
.business-profile-owner-notice { margin-top: 10px; padding-top: 9px; border-top: 1px solid #eee8e3; color: #6c746f; font-size: 0.625rem; }
.business-profile-owner-notice a { color: #a86400; font-weight: 650; text-decoration: none; }
.business-profile-owner-notice .ui-button-icon { width: 13px; height: 13px; vertical-align: -2px; }
.business-profile-suggestions { display: grid; min-width: 0; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 9px; }
.business-suggestion-card { display: grid; min-width: 0; min-height: 0; align-content: start; gap: 11px; padding: 14px; border: 1px solid var(--line); border-radius: 12px; background: var(--surface); color: var(--ink); text-decoration: none; transition: border-color .16s ease,box-shadow .16s ease,transform .16s ease; }
.business-suggestion-card:hover { transform: translateY(-2px); border-color: #b8d7c6; box-shadow: 0 8px 18px rgba(20,32,27,.07); }
.business-suggestion-topline { display: flex; align-items: center; justify-content: space-between; }
.business-suggestion-icon { display: grid; width: 34px; height: 34px; place-items: center; border-radius: 10px; background: var(--green-tint); color: var(--green-dark); }
.business-suggestion-icon .ui-button-icon { width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.business-suggestion-reviews .business-suggestion-icon { background: var(--lake-tint); color: var(--lake-dark); }
.business-suggestion-post .business-suggestion-icon { background: #fcebe7; color: #a94435; }
.business-suggestion-more { display: grid; width: 28px; height: 28px; place-items: center; border-radius: 50%; color: var(--ink-soft); }
.business-suggestion-more .ui-button-icon { width: 15px; height: 15px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.business-suggestion-card strong { font-size: 0.75rem; line-height: 1.35; }
.business-suggestion-card p { margin: 0; color: var(--ink-soft); font-size: 0.6875rem; line-height: 1.5; }
.business-profile-private-note { margin: 0 2px; color: #737c80; font-size: 0.5625rem; }
.business-profile-preview-card { min-width: 0; overflow: hidden; border: 1px solid #e2dfda; border-radius: 15px; background: var(--surface); box-shadow: 0 8px 22px rgba(40,32,28,.045); }
.business-profile-media { display: grid; height: clamp(145px,17vw,205px); grid-template-columns: 1fr 1fr; gap: 2px; overflow: hidden; background: #e8ece8; }
.business-profile-photos { position: relative; display: grid; min-width: 0; grid-template-columns: 1fr 1fr; gap: 2px; overflow: hidden; }
.business-profile-main-photo,.business-profile-second-photo { display: block; width: 100%; height: 100%; min-width: 0; object-fit: cover; }
.business-profile-main-photo { grid-column: 1 / -1; }
.business-profile-photos:has(.business-profile-second-photo) { grid-template-columns: 1fr 1fr; }
.business-profile-photos:has(.business-profile-second-photo) .business-profile-main-photo { grid-column: auto; }
.business-profile-photo-placeholder,.business-profile-map-empty { display: flex; min-width: 0; align-items: center; justify-content: center; flex-direction: column; gap: 7px; background: #f2eee8; color: #a75837; font-size: 0.625rem; }
.business-profile-photo-placeholder .ui-button-icon,.business-profile-map-empty .ui-button-icon { width: 24px; height: 24px; fill: none; stroke: currentColor; stroke-width: 1.5; }
.business-profile-add-photos { position: absolute; bottom: 10px; left: 10px; display: inline-flex; min-height: 29px; align-items: center; gap: 5px; padding: 0 9px; border: 1px solid rgba(255,255,255,.65); border-radius: 7px; background: rgba(23,31,34,.78); color: #fff; font-size: 0.5625rem; text-decoration: none; backdrop-filter: blur(6px); }
.business-profile-add-photos .ui-button-icon { width: 13px; height: 13px; fill: none; stroke: currentColor; stroke-width: 1.8; }
.business-profile-map { min-width: 0; overflow: hidden; background: #e8ece8; }
.business-profile-map iframe { display: block; width: 100%; height: 100%; border: 0; }
.business-profile-map { position: relative; }
.business-profile-map-label { position: absolute; right: 7px; bottom: 7px; padding: 5px 8px; border: 1px solid rgba(255,255,255,.8); border-radius: 7px; background: rgba(255,255,255,.94); color: #48545a; font-size: 0.5625rem; font-weight: 700; text-decoration: none; box-shadow: 0 2px 7px rgba(24,32,36,.14); }
.business-profile-summary { padding: 13px 17px 15px; }
.business-profile-summary > .business-detail-eyebrow { margin-bottom: 4px; color: var(--green-dark); font-size: 0.5625rem; letter-spacing: .08em; }
.business-profile-summary h2 { margin: 0; font: 700 clamp(1.125rem,1.7vw,1.375rem)/1.2 var(--display); letter-spacing: -.025em; }
.business-profile-rating-line { display: flex; align-items: center; flex-wrap: wrap; gap: 7px; margin-top: 7px; color: #52616a; font-size: 0.625rem; }
.business-profile-rating-line > strong { color: #423c34; font-size: 0.6875rem; }
.business-profile-rating-line > strong span { color: #dc9d20; }
.business-profile-rating-line > a { color: var(--green-dark); text-decoration: none; }
.business-profile-verified { display: inline-flex; align-items: center; gap: 4px; color: #55745e; font-size: 0.5625rem; font-weight: 700; }
.business-profile-verified .ui-button-icon { width: 13px; height: 13px; fill: none; stroke: currentColor; stroke-width: 2; }
.business-profile-primary-actions { display: flex; flex-wrap: wrap; gap: 6px; margin: 11px 0 10px; }
.business-profile-primary-actions a { display: inline-flex; min-height: 31px; align-items: center; gap: 5px; padding: 0 9px; border: 1px solid #e2e0da; border-radius: 99px; background: #fff; color: #515d64; font-size: 0.5625rem; text-decoration: none; }
.business-profile-primary-actions a:hover { border-color: #b8d7c6; background: var(--green-tint); color: var(--green-dark); }
.business-profile-primary-actions > a:first-child { border-color: var(--green); background: var(--green); color: #fff; }
.business-profile-primary-actions > a:first-child:hover { border-color: var(--green-dark); background: var(--green-dark); color: #fff; }
.business-profile-primary-actions > a:first-child .ui-button-icon { color: inherit; }
.business-profile-primary-actions .business-profile-share-button { border-color: #e4b39e; color: #a94435; }
.business-profile-primary-actions .business-profile-share-button:hover { border-color: #d78a77; background: #fcebe7; color: #96392d; }
.business-profile-primary-actions .ui-button-icon { width: 13px; height: 13px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.business-profile-primary-actions .business-profile-social-button { width: 31px; justify-content: center; padding: 0; }
.business-profile-primary-actions .business-profile-social-button .ui-button-icon { width: 14px; height: 14px; }
.business-profile-share-menu { position: relative; }
.business-profile-share-menu summary { display: inline-flex; min-height: 31px; align-items: center; gap: 5px; padding: 0 9px; border: 1px solid #e2e0da; border-radius: 99px; background: #fff; color: #515d64; font-size: 0.5625rem; cursor: pointer; list-style: none; }
.business-profile-share-menu summary::-webkit-details-marker { display: none; }
.business-profile-share-menu summary:hover,.business-profile-share-menu[open] summary { border-color: #e3b49d; background: #fff8f3; color: #a86400; }
.business-profile-share-menu summary .ui-button-icon { width: 13px; height: 13px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.business-profile-share-options { position: absolute; z-index: 8; top: calc(100% + 7px); right: 0; width: min(250px,calc(100vw - 40px)); padding: 9px; border: 1px solid #e2e0da; border-radius: 11px; background: #fff; box-shadow: 0 12px 30px rgba(30,36,40,.16); }
.business-profile-share-options .share-links { display: grid; gap: 5px; }
.business-profile-share-options .share-links > span { padding: 2px 4px 5px; color: #71777b; font-size: 0.5625rem; }
.business-profile-share-options .share-links a { display: flex; min-height: 32px; align-items: center; gap: 7px; padding: 0 8px; border: 1px solid #ebe9e5; border-radius: 7px; color: #4e5960; font-size: 0.625rem; text-decoration: none; }
.business-profile-share-options .share-links a:hover { border-color: #e3b49d; background: #fff8f3; color: #a86400; }
.business-profile-share-options .share-links .ui-button-icon { width: 14px; height: 14px; }
.business-profile-facts { padding-top: 8px; border-top: 1px solid #ece9e4; }
.business-profile-facts p { margin: 5px 0; color: #626b6e; font-size: 0.5625rem; line-height: 1.45; }
.business-profile-facts strong { color: #343b3d; }
.business-profile-facts a,.business-profile-edit-link { color: #a86400; text-decoration: none; }
.business-profile-facts a[href^="https://wa.me/"] { color: #16744f; font-weight: 700; }
.verified-badge { background: var(--green-tint); color: var(--green-dark); }
.badge-open { background: var(--green-tint); color: var(--green-dark); }
.business-contact-actions .business-contact-whatsapp { background: var(--green); color: #fff; }
.business-contact-actions .business-contact-whatsapp:hover { background: var(--green-dark); }
.business-profile-edit-link { display: inline-block; margin-top: 7px; font-size: 0.5625rem; font-weight: 650; }
.business-profile-share { margin-top: 8px; }
.business-profile-share .share-links { gap: 5px; }
.business-detail-layout { display: grid; grid-template-columns: minmax(0,1fr); max-width: 1380px; margin: 0 auto; }
.business-detail-content { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); align-items: start; gap: 14px; }
.business-detail-content > .business-detail-section { width: 100%; margin: 0; }
.business-detail-content > .business-reviews-section,.business-detail-content > .business-posts-section { grid-column: 1 / -1; }
.business-gallery-section .business-photo-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
.business-profile-preview + .business-detail-layout { margin-top: 17px; }
.business-detail-page .trend-section,.business-related-section { max-width: 1380px; margin-right: auto; margin-left: auto; }
@media (max-width: 980px) {
  .business-profile-preview { grid-template-columns: minmax(0,1.1fr) minmax(320px,.9fr); }
  .business-profile-management { grid-template-rows: auto auto auto; }
  .business-profile-action-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .business-profile-suggestions { grid-template-columns: repeat(3,minmax(0,1fr)); }
}
@media (max-width: 760px) {
  .business-profile-preview { grid-template-columns: minmax(0,1fr); }
  .business-profile-media { height: clamp(170px,40vw,250px); }
  .business-profile-action-grid { grid-template-columns: repeat(6,minmax(0,1fr)); }
}
@media (max-width: 560px) {
  .business-detail-page .page-shell { padding: 14px 13px 42px; }
  .business-profile-actions { padding: 15px 12px 12px; }
  .business-profile-action-grid { grid-template-columns: repeat(4,minmax(0,1fr)); }
  .business-profile-suggestions { gap: 6px; }
  .business-suggestion-card { gap: 9px; padding: 11px 9px; }
  .business-suggestion-card strong { font-size: 0.625rem; }
  .business-suggestion-card p { font-size: 0.5625rem; }
  .business-suggestion-icon { width: 30px; height: 30px; }
  .business-profile-media { height: 180px; }
  .business-profile-summary { padding: 12px; }
  .business-detail-content { grid-template-columns: minmax(0,1fr); gap: 11px; }
  .business-detail-content > .business-reviews-section,.business-detail-content > .business-posts-section { grid-column: auto; }
}

/* Public directory, events, and nearby discovery pages */
.business-directory-page .page-shell,
.events-page .page-shell,
.nearby-page .page-shell { padding-top: clamp(28px, 4vw, 54px); }
.business-directory-page .page-heading,
.events-page .page-heading,
.nearby-page .page-heading { position: relative; isolation: isolate; width: 100%; max-width: none; margin: 0 0 30px; padding: clamp(24px, 4vw, 38px) clamp(20px, 4vw, 42px); overflow: hidden; border: 1px solid #e6e7de; border-radius: 22px; background: #fff; }
.business-directory-page .page-heading::after,
.events-page .page-heading::after,
.nearby-page .page-heading::after { position: absolute; z-index: -1; right: -60px; bottom: -165px; width: 290px; height: 290px; border: 1px solid rgba(217,104,61,.13); border-radius: 50%; box-shadow: 0 0 0 24px rgba(217,104,61,.035), 0 0 0 52px rgba(217,104,61,.025); content: ''; }
.business-directory-page .page-heading .eyebrow,
.events-page .page-heading .eyebrow,
.nearby-page .page-heading .eyebrow { margin: 0 0 9px; font-size: 0.75rem; letter-spacing: .13em; text-transform: uppercase; }
.business-directory-page .page-heading h1,
.events-page .page-heading h1,
.nearby-page .page-heading h1 { max-width: 19ch; font-size: clamp(2.125rem, 5vw, 3.375rem); letter-spacing: -.045em; }
.business-directory-page .page-heading > p:last-child,
.events-page .page-heading > p:last-child,
.nearby-page .page-heading > p:last-child { max-width: 56ch; margin: 13px 0 0; color: var(--ink-soft); font-size: clamp(0.875rem, 1.5vw, 1.0625rem); }

.business-directory-page .filter-panel { display: grid; grid-template-columns: minmax(220px, 1.5fr) repeat(3, minmax(135px, 1fr)) auto; align-items: end; gap: 14px; margin: 0 0 44px; padding: 20px; border: 1px solid var(--line); border-radius: 18px; background: var(--surface); box-shadow: 0 12px 34px rgba(20,32,27,.055); }
.business-directory-page .filter-panel > div { display: grid; min-width: 0; gap: 7px; }
.business-directory-page .filter-panel label { color: var(--ink-soft); font-size: 0.75rem; font-weight: 700; }
.business-directory-page .filter-panel input:not([type="checkbox"]),
.business-directory-page .filter-panel select { width: 100%; height: 45px; min-width: 0; padding: 0 12px; border: 1px solid #dfe4dd; border-radius: 10px; outline: 0; background: #fff; color: var(--ink); font: 500 0.8125rem var(--body); }
.business-directory-page .filter-panel input:focus,
.business-directory-page .filter-panel select:focus { border-color: var(--lake); box-shadow: 0 0 0 3px rgba(217,104,61,.1); }
.business-directory-page .filter-panel > button { min-height: 45px; padding: 0 19px; border: 0; border-radius: 10px; background: var(--sun); color: var(--ink); font: 700 0.8125rem var(--body); cursor: pointer; }
.business-directory-page .filter-panel > button:hover { background: #e99a05; }
.business-directory-page .filter-panel .checkbox-row { display: inline-flex; grid-column: 1 / -1; align-items: center; justify-self: start; gap: 9px; margin-top: 1px; padding: 8px 12px; border: 1px solid var(--line); border-radius: 999px; background: #f8f9f6; color: var(--ink); cursor: pointer; }
.business-directory-page .checkbox-row input { appearance: none; position: relative; width: 34px; height: 20px; margin: 0; border-radius: 99px; background: #cbd2cc; cursor: pointer; transition: background .18s; }
.business-directory-page .checkbox-row input::before { position: absolute; top: 3px; left: 3px; width: 14px; height: 14px; border-radius: 50%; background: #fff; box-shadow: 0 1px 3px rgba(0,0,0,.2); content: ''; transition: transform .18s; }
.business-directory-page .checkbox-row input:checked { background: var(--lake); }
.business-directory-page .checkbox-row input:checked::before { transform: translateX(14px); }
.business-directory-page .section-heading { margin: 0 0 20px; }
.business-directory-page .card-grid,
.events-page .card-grid { gap: 18px; }
.business-directory-page .discovery-card,
.events-page .discovery-card { border-radius: 17px; box-shadow: 0 5px 18px rgba(20,32,27,.035); }
.business-directory-page .discovery-card:hover,
.events-page .discovery-card:hover { box-shadow: 0 18px 36px -18px rgba(20,32,27,.3); }
.business-directory-page .card-image,
.events-page .card-image { height: clamp(170px, 17vw, 220px); }
.business-directory-page .card-body,
.events-page .card-body { padding: 17px 18px 16px; }
.business-directory-page .card-body h3,
.events-page .card-body h3 { font-size: 1.3125rem; }
.business-directory-page .card-meta,
.events-page .card-meta { font-size: 0.8125rem; }
.business-directory-page .pagination,
.events-page .pagination { display: flex; align-items: center; justify-content: center; gap: 14px; margin: 34px auto 0; color: var(--ink-soft); font-size: 0.8125rem; }
.business-directory-page .pagination a,
.events-page .pagination a { padding: 9px 15px; border: 1px solid var(--line); border-radius: 999px; background: var(--surface); color: var(--lake-dark); font-weight: 700; }
.business-directory-page .pagination a:hover,
.events-page .pagination a:hover { border-color: var(--lake); background: var(--lake-tint); }

.events-page .event-filters { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 16px; }
.events-page .event-filter { display: inline-flex; min-height: 39px; align-items: center; padding: 0 16px; border: 1px solid var(--line); border-radius: 999px; background: var(--surface); color: var(--ink-soft); font-size: 0.8125rem; font-weight: 600; transition: color .15s, border-color .15s, background .15s; }
.events-page .event-filter:hover { border-color: #b9d5cc; background: var(--lake-tint); color: var(--lake-dark); }
.events-page .event-filter.active { border-color: var(--lake); background: var(--lake); color: #fff; }
.events-page .search-box { max-width: 780px !important; margin: 0 0 34px !important; border: 1px solid var(--line); box-shadow: 0 8px 26px rgba(20,32,27,.06); }
.events-page .search-box button { background: var(--sun); color: var(--ink); font-size: 0.875rem; font-weight: 700; }
.events-page .search-box button:hover { background: #e99a05; }
.events-page .split-banner { margin-top: 58px; }

.nearby-page .page-heading { margin-bottom: 22px; }
.nearby-page #peza-nearby { max-width: 1180px; margin: 0; }
.nearby-page .nearby-panel { padding: clamp(23px, 4vw, 40px); box-shadow: 0 18px 46px rgba(20,32,27,.08); }
.nearby-page .nearby-map { height: clamp(330px, 48vw, 520px); }
.nearby-page .nearby-results { grid-template-columns: repeat(auto-fill, minmax(min(100%, 260px), 1fr)); }
.nearby-launch-panel { display: grid; grid-template-columns: auto minmax(0,1fr) auto; align-items: center; gap: 20px; width: 100%; max-width: none; padding: clamp(20px, 3.5vw, 34px); border: 1px solid var(--line); border-radius: 20px; background: #fff; box-shadow: 0 12px 34px rgba(20,32,27,.055); }
.nearby-launch-icon { display: grid; width: 54px; height: 54px; place-items: center; border: 1px solid #cfe3dd; border-radius: 17px; background: #fff; color: var(--lake); }
.nearby-launch-icon svg { width: 26px; height: 26px; }
.nearby-launch-panel .eyebrow { margin: 0 0 5px; font-size: 0.6875rem; letter-spacing: .12em; text-transform: uppercase; }
.nearby-launch-panel h2 { font-size: clamp(1.3125rem, 2.5vw, 1.8125rem); }
.nearby-launch-panel p:last-child { max-width: 62ch; margin: 7px 0 0; color: var(--ink-soft); font-size: 0.8125rem; }
.nearby-launch-panel .button { min-height: 43px; padding: 0 17px; font-size: 0.8125rem; white-space: nowrap; }
.nearby-launch-panel .button span { font-size: 1.125rem; }
.business-directory-page .trend-section,
.events-page .trend-section,
.nearby-page .trend-section { margin-top: 54px; }
.business-directory-page .discover-float-card,
.events-page .discover-float-card,
.nearby-page .discover-float-card { width: 258px; }
.business-directory-page .discover-float-card:not([open]),
.events-page .discover-float-card:not([open]),
.nearby-page .discover-float-card:not([open]) { width: 190px; }
.business-directory-page .nearby-drawer-trigger,
.events-page .nearby-drawer-trigger,
.nearby-page .nearby-drawer-trigger { width: 44px; min-height: 132px; font-size: 0.75rem; }
.business-directory-page .nearby-drawer-trigger:hover,
.events-page .nearby-drawer-trigger:hover,
.nearby-page .nearby-drawer-trigger:hover { width: 49px; }
.nearby-page .nearby-drawer .nearby-panel { max-width: none; padding: clamp(20px, 4vw, 30px); }

/* Keep discovery page introductions airy instead of framing them as cards. */
.business-directory-page .page-heading,
.events-page .page-heading,
.nearby-page .page-heading { margin-bottom: 28px; padding: 5px 0 20px; border: 0; border-bottom: 1px solid var(--line); border-radius: 0; background: transparent; }
.business-directory-page .page-heading::after,
.events-page .page-heading::after,
.nearby-page .page-heading::after { content: none; }
.nearby-launch-panel { grid-template-columns: auto minmax(0,1fr) auto; gap: 16px; padding: 16px 0 22px; border: 0; border-bottom: 1px solid var(--line); border-radius: 0; background: transparent; box-shadow: none; }
.nearby-launch-icon { width: 44px; height: 44px; border: 0; border-radius: 50%; background: var(--lake-tint); }

@media (max-width: 1000px) {
  .business-directory-page .filter-panel { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .business-directory-page .filter-panel > button { grid-column: 2; grid-row: 3; }
  .business-directory-page .filter-panel .checkbox-row { grid-column: 1; grid-row: 3; align-self: center; }
}
@media (max-width: 640px) {
  .business-directory-page .page-heading,
  .events-page .page-heading,
  .nearby-page .page-heading { margin-bottom: 22px; padding: 3px 0 17px; border-radius: 0; }
  .business-directory-page .filter-panel { grid-template-columns: 1fr; gap: 12px; margin-bottom: 32px; padding: 15px; }
  .business-directory-page .filter-panel > button,
  .business-directory-page .filter-panel .checkbox-row { grid-column: 1; grid-row: auto; }
  .business-directory-page .filter-panel > button { width: 100%; }
  .events-page .event-filters { flex-wrap: nowrap; margin-right: calc(-1 * var(--gutter)); padding: 0 var(--gutter) 7px 0; overflow-x: auto; scrollbar-width: none; }
  .events-page .event-filter { flex: 0 0 auto; }
  .events-page .search-box { margin-bottom: 26px !important; }
  .business-directory-page .card-image,
  .events-page .card-image { height: 205px; }
  .nearby-page .nearby-map { height: 330px; }
  .nearby-launch-panel { grid-template-columns: auto minmax(0,1fr); gap: 13px; padding: 14px 0 18px; }
  .nearby-launch-icon { width: 44px; height: 44px; border-radius: 14px; }
  .nearby-launch-panel .button { grid-column: 1 / -1; width: 100%; }
  .business-directory-page .discover-float-card,
  .events-page .discover-float-card,
  .nearby-page .discover-float-card { width: min(238px, calc(100vw - 24px)); }
  .business-directory-page .discover-float-card:not([open]),
  .events-page .discover-float-card:not([open]),
  .nearby-page .discover-float-card:not([open]) { width: min(190px, calc(100vw - 24px)); }
}

/* Business posts and marketplace */
.business-posts-page .page-shell,
.business-post-detail-page .page-shell { max-width: 1240px; }
.posts-directory-heading { margin: 14px 0 25px; padding: 18px 0 21px; border-bottom: 1px solid var(--line); }
.posts-directory-heading h1 { margin: 0; font-size: clamp(2.125rem, 5vw, 3.375rem); letter-spacing: -.045em; }
.posts-directory-heading p:last-child { margin: 8px 0 0; color: var(--ink-soft); }
.posts-directory-filters { display: grid; grid-template-columns: minmax(180px,1fr) minmax(190px,260px) auto; gap: 10px; max-width: 850px; margin: 0 0 27px; }
.posts-directory-filters input,.posts-directory-filters select,.business-post-form input,.business-post-form select,.business-post-form textarea { width: 100%; min-height: 44px; padding: 10px 13px; border: 1px solid var(--line); border-radius: 11px; background: var(--surface); color: var(--ink); font: inherit; }
.business-post-form textarea { min-height: 128px; resize: vertical; }
.posts-directory-filters .button { min-height: 44px; }
.business-post-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; }
.business-post-card { min-width: 0; overflow: hidden; border: 1px solid var(--line); border-radius: 16px; background: var(--surface); box-shadow: 0 7px 22px rgba(20,32,27,.045); }
.business-post-cover { display: grid; aspect-ratio: 1.42 / 1; overflow: hidden; place-items: center; background: #f5eee1; color: var(--lake); font: 800 1.75rem var(--display); }
.business-post-cover img { width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease; }
.business-post-cover:hover img { transform: scale(1.035); }
.business-post-card-body { padding: 15px 16px 16px; }
.business-post-meta { display: flex; align-items: center; justify-content: space-between; gap: 10px; color: var(--ink-soft); font-size: 0.6875rem; }
.business-post-meta > span { color: var(--lake-dark); font-weight: 700; }
.business-post-card-body h2 { margin: 9px 0 0; font: 700 1.1875rem var(--display); }
.business-post-card-body h2 a { color: var(--ink); }
.business-post-card-body > p { margin: 9px 0 0; color: var(--ink-soft); font-size: 0.8125rem; line-height: 1.55; white-space: pre-line; }
.business-post-owner { margin-top: 10px; color: var(--ink-soft); font-size: 0.75rem; }
.post-read-more { display: inline-flex; align-items: center; gap: 7px; margin-top: 13px; color: var(--lake-dark); font-size: 0.8125rem; font-weight: 700; }
.posts-workspace { margin-top: 30px; }
.posts-workspace-heading { display: flex; align-items: end; justify-content: space-between; gap: 20px; margin-bottom: 17px; }
.posts-workspace-heading .eyebrow { margin: 0 0 5px; }
.posts-workspace-heading h2 { margin: 0; font: 700 1.4375rem var(--display); }
.posts-workspace-heading > a { color: var(--lake-dark); font-size: 0.8125rem; font-weight: 700; }
.business-post-card-actions { display: flex; justify-content: space-between; gap: 12px; margin-top: 15px; padding-top: 12px; border-top: 1px solid var(--line); }
.business-post-card-actions a,.business-post-card-actions button { padding: 0; border: 0; background: none; color: var(--lake-dark); font: 700 0.75rem var(--body); cursor: pointer; }
.posts-empty,.posts-no-business { padding: 34px; border: 1px dashed #cbd3cc; border-radius: 16px; background: rgba(255,255,255,.48); text-align: center; }
.posts-empty { grid-column: 1/-1; }
.posts-empty > span { color: var(--lake); font-size: 1.875rem; }
.posts-empty h2,.posts-no-business h2 { margin: 8px 0 5px; font: 700 1.375rem var(--display); }
.posts-empty p,.posts-no-business p { margin: 0 auto 15px; color: var(--ink-soft); font-size: 0.8125rem; }
.posts-no-business { margin: 0 0 25px; text-align: left; }
.posts-no-business p { max-width: 650px; margin: 0 0 15px; }
.business-post-detail { max-width: 930px; margin: 8px auto 50px; }
.post-back-link { display: inline-flex; align-items: center; gap: 7px; margin-bottom: 22px; color: var(--lake-dark); font-size: 0.8125rem; font-weight: 700; }
.post-detail-heading { display: flex; justify-content: space-between; align-items: center; gap: 20px; }
.post-detail-heading .eyebrow { margin: 0 0 8px; color: var(--lake-dark); font-size: 0.6875rem; font-weight: 700; text-transform: uppercase; letter-spacing: .1em; }
.post-detail-heading h1 { margin: 0; font-size: clamp(1.875rem,4vw,2.75rem); letter-spacing: -.04em; }
.post-detail-heading p:last-child { margin: 6px 0 0; color: var(--ink-soft); font-size: 0.8125rem; }
.post-detail-caption { margin: 20px 0 24px; color: var(--ink); font-size: 1rem; line-height: 1.7; white-space: pre-line; }
.post-detail-gallery { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
.post-detail-gallery figure { min-width: 0; margin: 0; overflow: hidden; border-radius: 14px; background: var(--lake-tint); }
.post-detail-gallery img { display: block; width: 100%; max-height: 580px; aspect-ratio: 1 / 1; object-fit: cover; }
.post-detail-gallery.single-image { grid-template-columns: minmax(0,1fr); }
.post-detail-gallery.single-image img { max-height: 680px; aspect-ratio: 1.3 / 1; object-fit: contain; background: #f0f1ec; }
.business-post-detail .share-links { margin-top: 24px; }
.post-modal { position: fixed; z-index: 1200; inset: 0; display: none; align-items: center; justify-content: center; padding: 20px; }
.post-modal.is-open { display: flex; }
.post-modal-backdrop { position: absolute; inset: 0; width: 100%; border: 0; background: rgba(12,24,21,.58); cursor: default; }
.post-modal-panel { position: relative; z-index: 1; width: min(100%,620px); max-height: min(90vh,850px); overflow-y: auto; padding: 25px; border: 1px solid rgba(255,255,255,.7); border-radius: 19px; background: var(--surface); box-shadow: 0 30px 90px rgba(0,0,0,.24); }
.post-modal-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; padding-bottom: 17px; border-bottom: 1px solid var(--line); }
.post-modal-heading .eyebrow { margin: 0 0 5px; color: var(--lake-dark); font-size: 0.6875rem; text-transform: uppercase; letter-spacing: .09em; }
.post-modal-heading h2 { margin: 0; font: 700 1.6875rem var(--display); }
.post-modal-close { display: grid; flex: 0 0 38px; width: 38px; height: 38px; place-items: center; border: 1px solid var(--line); border-radius: 50%; background: transparent; color: var(--ink); cursor: pointer; }
.post-modal-close svg { width: 18px; height: 18px; }
.business-post-form { display: grid; gap: 16px; padding-top: 17px; }
.post-form-field { display: grid; gap: 7px; }
.post-form-field label { font-size: 0.8125rem; font-weight: 700; }
.post-form-field input[type=file] { padding: 10px; }
.post-form-field small { color: var(--ink-soft); font-size: 0.6875rem; }
.post-form-field .form-error { color: #a12e26; font-size: 0.75rem; }
.post-form-note { margin: -2px 0 0; color: var(--ink-soft); font-size: 0.75rem; line-height: 1.5; }
.post-modal-actions { display: flex; justify-content: flex-end; gap: 9px; padding-top: 6px; }
.post-modal-open { overflow: hidden; }
@media (max-width: 850px) { .business-post-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media (max-width: 600px) {
  .posts-directory-filters { grid-template-columns: 1fr; }
  .posts-directory-filters .button { justify-content: center; }
  .business-post-grid { grid-template-columns: 1fr; gap: 13px; }
  .public-post-grid .business-post-card { display: grid; grid-template-columns: 118px minmax(0,1fr); }
  .public-post-grid .business-post-cover { height: 100%; min-height: 155px; aspect-ratio: auto; }
  .business-post-card-body { padding: 12px; }
  .business-post-card-body h2 { font-size: 1rem; }
  .post-detail-heading { align-items: flex-start; flex-direction: column; }
  .post-detail-gallery { grid-template-columns: 1fr; }
  .post-modal { align-items: flex-end; padding: 0; }
  .post-modal-panel { width: 100%; max-height: 92vh; padding: 21px 18px calc(20px + env(safe-area-inset-bottom)); border-radius: 20px 20px 0 0; }
  .posts-workspace-heading { align-items: flex-start; }
}

/* Category pages and Peza Stories */
.catalog-page,.blog-article-page { max-width: 1260px; }
.catalog-heading { margin: 12px 0 24px; padding: 19px 0 22px; border-bottom: 1px solid var(--line); }
.catalog-heading h1 { margin: 0; font-size: clamp(2.1875rem,5vw,3.375rem); letter-spacing: -.045em; }
.catalog-heading > p:last-child { margin: 8px 0 0; color: var(--ink-soft); }
.catalog-search { display: flex; gap: 10px; width: min(100%,760px); margin: 0 0 27px; }
.catalog-search input { flex: 1; min-width: 0; min-height: 44px; padding: 10px 14px; border: 1px solid var(--line); border-radius: 11px; background: var(--surface); color: var(--ink); font: inherit; }
.catalog-search .button { flex: 0 0 auto; min-height: 44px; }
.catalog-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; }
.catalog-card { min-width: 0; overflow: hidden; border: 1px solid var(--line); border-radius: 16px; background: var(--surface); box-shadow: 0 7px 22px rgba(20,32,27,.045); }
.catalog-image { display: grid; aspect-ratio: 1.45 / 1; overflow: hidden; place-items: center; background: #f5eee1; color: var(--lake); font: 800 1.5rem var(--display); }
.catalog-image img { width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease; }
.catalog-image:hover img { transform: scale(1.035); }
.catalog-card-body { display: grid; align-content: start; gap: 9px; padding: 15px 16px 16px; }
.catalog-tag { color: var(--lake-dark); font-size: 0.6875rem; font-weight: 700; }
.catalog-card-body h2 { font: 700 1.1875rem var(--display); }
.catalog-card-body h2 a { color: var(--ink); }
.catalog-card-body p { margin: 0; color: var(--ink-soft); font-size: 0.8125rem; line-height: 1.55; white-space: pre-line; }
.catalog-card-body small { color: var(--ink-soft); font-size: 0.6875rem; }
.catalog-link { display: inline-flex; align-items: center; gap: 7px; margin-top: 3px; color: var(--lake-dark); font-size: 0.8125rem; font-weight: 700; }
.catalog-empty { grid-column: 1/-1; padding: 36px; border: 1px dashed #cbd3cc; border-radius: 16px; background: rgba(255,255,255,.48); text-align: center; }
.catalog-empty h2 { margin: 0 0 7px; font: 700 1.4375rem var(--display); }
.catalog-empty p { margin: 0 0 10px; color: var(--ink-soft); font-size: 0.8125rem; }
.catalog-empty a { color: var(--lake-dark); font-size: 0.8125rem; font-weight: 700; }
.catalog-pagination { display: flex; align-items: center; justify-content: center; gap: 15px; margin: 30px auto 0; color: var(--ink-soft); font-size: 0.8125rem; }
.catalog-pagination a { padding: 8px 14px; border: 1px solid var(--line); border-radius: 999px; background: var(--surface); color: var(--lake-dark); font-weight: 700; }
.blog-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
.blog-card .catalog-card-body h2 { font-size: 1.375rem; }
.blog-article { max-width: 890px; margin: 8px auto 45px; }
.blog-article > header { padding: 10px 0 23px; }
.blog-article > header .eyebrow { margin: 0 0 10px; color: var(--lake-dark); font-size: 0.6875rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.blog-article h1 { max-width: 22ch; font-size: clamp(2.125rem,5vw,3.5rem); letter-spacing: -.045em; }
.blog-article-byline { margin: 12px 0 0; color: var(--ink-soft); font-size: 0.8125rem; }
.blog-article-excerpt { margin: 18px 0 0; color: var(--ink-soft); font-size: 1.1875rem; line-height: 1.55; }
.blog-article-cover { margin: 0 0 25px; overflow: hidden; border-radius: 17px; background: var(--lake-tint); }
.blog-article-cover img { display: block; width: 100%; max-height: 560px; object-fit: cover; }
.blog-article-content { max-width: 72ch; margin: 0 auto 25px; color: var(--ink); font-size: 1rem; line-height: 1.8; overflow-wrap: anywhere; }
.blog-article-content p { margin: 0 0 1.25em; }
.mobile-menu nav { max-height: calc(100vh - 90px); overflow-y: auto; }
@media (max-width: 1100px) {
  .header-quick-actions { margin-left: auto; }
  .nav-actions-authenticated + .header-quick-actions { margin-left: 0; }
  .main-nav,.nav-actions { display: none; }
  .mobile-menu { display: block; }
  .nav-shell { gap: 16px; }
}
@media (max-width: 850px) { .catalog-grid,.blog-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media (max-width: 600px) {
  .catalog-grid,.blog-grid { grid-template-columns: 1fr; gap: 13px; }
  .catalog-search { flex-direction: column; }
  .catalog-search .button { justify-content: center; }
  .catalog-pagination { gap: 8px; font-size: 0.6875rem; }
  .catalog-pagination a { padding: 7px 10px; }
  .blog-article-excerpt { font-size: 1.0625rem; }
  .blog-article-content { font-size: 0.9375rem; }
}
.main-nav { align-items: center; gap: 1px; }
.main-nav a { display: inline-flex; align-items: center; gap: 5px; padding: 8px 7px; font-size: 0.75rem; white-space: nowrap; }
.main-nav .ui-button-icon,.mobile-menu nav a .ui-button-icon { flex: 0 0 15px; width: 15px; height: 15px; }
.mobile-menu nav a { display: flex; align-items: center; gap: 10px; }
.nav-account { display: inline-flex; align-items: center; gap: 6px; }
.nav-account .ui-button-icon { flex: 0 0 15px; width: 15px; height: 15px; }
.header-account-menu { position: relative; margin-left: 4px; }
.header-account-menu > summary { display: grid; width: 42px; height: 42px; overflow: hidden; place-items: center; border: 2px solid var(--surface); border-radius: 50%; background: var(--lake); color: #fff; box-shadow: 0 0 0 1px var(--line); cursor: pointer; list-style: none; font: 700 1rem var(--display); }
.header-account-menu > summary::-webkit-details-marker { display: none; }
.header-account-menu > summary img { width: 100%; height: 100%; object-fit: cover; }
.header-account-menu > nav { position: absolute; top: 51px; right: 0; z-index: 80; display: grid; width: 190px; padding: 7px; border: 1px solid var(--line); border-radius: 13px; background: var(--surface); box-shadow: 0 15px 40px rgba(20,32,27,.18); }
.header-account-menu > nav a,.header-account-menu > nav button { display: flex; align-items: center; gap: 9px; width: 100%; padding: 11px 10px; border: 0; border-radius: 8px; background: transparent; color: var(--ink-soft); font: 500 0.8125rem var(--body); text-align: left; }
.header-account-menu > nav a:hover,.header-account-menu > nav button:hover { background: var(--lake-tint); color: var(--lake-dark); }
.header-account-menu > nav form { border-color: var(--line); }
.header-account-menu > nav .ui-button-icon { width: 16px; height: 16px; }
.mobile-account-note { margin: 7px 10px; color: var(--ink-soft); font-size: 0.75rem; }
@media (max-width: 1100px) {
  .nav-actions-authenticated { display: flex; margin-left: auto; }
  .nav-actions-authenticated > .nav-account { display: none; }
  .nav-actions-authenticated .header-account-menu { margin-left: 0; }
  .mobile-menu { margin-left: 0; }
  .nav-actions-authenticated .button { display: none; }
}

/* Let Marketplace and Jobs use the full content width on large screens. */
.business-posts-page .page-shell,
.catalog-page .page-shell { width: 100%; max-width: none; }
.catalog-page { width: 100%; max-width: none; margin: 0; }
@media (min-width: 900px) {
  .business-directory-page .card-grid { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 24px; }
}
.business-posts-page .posts-directory-filters { width: 100%; max-width: none; grid-template-columns: minmax(220px,1fr) minmax(220px,300px) auto; margin-bottom: 40px; }
@media (min-width: 1650px) {
  .business-posts-page .business-post-grid,
  .catalog-page .catalog-grid { grid-template-columns: repeat(4,minmax(0,1fr)); gap: 20px; }
}

/* Listing cards: photo first, quick status, place, then clear action. */
.rental-listing-card,.update-card,.business-listing-card { overflow: hidden; border: 1px solid #e1e2e6; border-radius: 17px; background: #f5f5f7; box-shadow: 0 8px 18px rgba(20,25,35,.10); }
.rental-listing-card .catalog-image,.update-card .business-post-cover,.business-listing-card .card-image { position: relative; height: 218px; aspect-ratio: auto; overflow: hidden; background: #e6e8e9; }
.rental-listing-card .catalog-image img,.update-card .business-post-cover img,.business-listing-card .card-image img { width: 100%; height: 100%; object-fit: cover; }
.rental-listing-card .catalog-card-body,.update-card .business-post-card-body,.business-listing-card .card-body { display: flex; min-width: 0; flex-direction: column; gap: 9px; padding: 15px 16px 13px; }
.rental-listing-card .catalog-card-body h2,.update-card .business-post-card-body h2,.business-listing-card .card-body h3 { min-width: 0; overflow: hidden; color: #24262b; font: 700 1.125rem/1.25 var(--body); letter-spacing: -.02em; text-overflow: ellipsis; }
.rental-listing-card .catalog-card-body h2 a,.update-card .business-post-card-body h2 a,.business-listing-card .card-body h3 a { color: inherit; }
.listing-image-badge { position: absolute; top: 12px; left: 12px; z-index: 2; display: inline-flex; align-items: center; min-height: 25px; padding: 4px 10px; border: 1px solid rgba(255,255,255,.65); border-radius: 7px; background: rgba(255,255,255,.88); color: #25262a; font-size: 0.625rem; font-weight: 800; letter-spacing: .045em; text-transform: uppercase; }
.listing-verified-badge { position: absolute; top: 12px; right: 12px; z-index: 2; display: inline-flex; align-items: center; gap: 4px; min-height: 27px; padding: 4px 9px; border: 1px solid rgba(255,255,255,.75); border-radius: 999px; background: rgba(255,255,255,.91); color: #548900; font-size: 0.625rem; font-weight: 700; }
.listing-verified-badge .ui-button-icon { width: 14px; height: 14px; flex: 0 0 14px; }
.listing-location-row { display: flex; align-items: center; gap: 5px; color: #70747c; font-size: 0.6875rem; }
.listing-location-row .ui-button-icon,.business-listing-card .card-category .ui-button-icon { width: 14px; height: 14px; flex: 0 0 14px; color: #74a900; }
.rental-business-name { margin: 0; color: #777b82; font-size: 0.6875rem; }
.rental-listing-card .listing-card-footer,.update-card .listing-card-footer { display: flex; align-items: center; gap: 8px; margin-top: 4px; padding-top: 11px; border-top: 1px solid #dfe0e3; color: #737780; font-size: 0.625rem; }
.listing-card-footer > span { color: #ed6331; font-weight: 800; }
.listing-card-footer time { margin-left: auto; white-space: nowrap; }
.listing-card-footer > a { color: #4e5960; font-size: 0.625rem; font-weight: 700; white-space: nowrap; }
.update-card .business-post-card-body > p { display: -webkit-box; min-height: 40px; margin: 0; overflow: hidden; color: #656a72; font-size: 0.75rem; line-height: 1.5; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.update-card .listing-location-row { margin-top: auto; }
.update-card .business-post-card-body h2 { margin: 0; }
.business-listing-card .card-image .card-tag { position: absolute; top: 12px; left: 12px; bottom: auto; padding: 5px 9px; border: 1px solid rgba(255,255,255,.7); border-radius: 7px; background: rgba(255,255,255,.9); color: #27282c; font-size: 0.625rem; font-weight: 800; }
.business-listing-card .card-category { display: flex; align-items: center; gap: 4px; color: #70747c; font-size: 0.6875rem; }
.business-listing-card .card-meta { min-height: 18px; font-size: 0.6875rem; }
.business-listing-card .card-bottom { padding-top: 10px; border-top: 1px solid #dfe0e3; }
.listing-image-badge,.listing-card-footer > span,.catalog-tag { color: #a86400; }
.listing-image-badge { background: #fff7f2; border-color: #f2d7c9; }
.listing-verified-badge,.business-listing-card .verified-badge { border-color: #d6e2ec; background: #f1f6fa; color: #42627b; }
.listing-location-row .ui-button-icon,.business-listing-card .card-category .ui-button-icon { color: #f2a007; }
.business-listing-card .card-image .card-tag { color: #a86400; background: #fff7f2; border-color: #f2d7c9; }
.business-listing-card .status-label { background: #eef2f5; color: #5c6973; }
@media (max-width: 640px) {
  .business-posts-page .posts-directory-filters { grid-template-columns: 1fr; }
  .rental-listing-card .catalog-image,.update-card .business-post-cover,.business-listing-card .card-image { height: 205px; }
  .rental-listing-card .catalog-card-body,.update-card .business-post-card-body,.business-listing-card .card-body { padding: 13px 14px; }
  .rental-listing-card .listing-card-footer,.update-card .listing-card-footer { gap: 6px; }
}

/* Shared rotating featured-business hero for discovery pages. */
.featured-business-hero { position: relative; isolation: isolate; margin: 20px 0 34px; overflow: hidden; border-radius: 20px; background: #263647; color: #fff; box-shadow: 0 15px 32px rgba(28,34,42,.16); }
.featured-business-slides { display: grid; min-height: clamp(270px,29vw,365px); }
.featured-business-slide { position: relative; grid-area: 1/1; display: flex; min-width: 0; min-height: inherit; align-items: center; overflow: hidden; padding: clamp(24px,5vw,56px); opacity: 0; visibility: hidden; pointer-events: none; transition: opacity .75s ease, visibility .75s; }
.featured-business-slide.is-active { z-index: 1; opacity: 1; visibility: visible; pointer-events: auto; }
.featured-business-image,.featured-business-shade { position: absolute; inset: 0; width: 100%; height: 100%; }
.featured-business-image { z-index: 0; }
.featured-business-shade { z-index: 1; }
.featured-business-image { object-fit: cover; }
.featured-business-shade { background: rgba(14,22,31,.72); }
.featured-business-content { position: relative; z-index: 2; width: min(690px,82%); }
.featured-business-kicker { display: inline-flex; align-items: center; gap: 7px; margin-bottom: 13px; color: #ffd18b; font-size: 0.6875rem; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.featured-business-kicker .ui-button-icon { width: 16px; height: 16px; color: #ffb24a; }
.featured-business-category { margin: 0 0 8px; color: rgba(255,255,255,.78); font-size: 0.75rem; font-weight: 600; }
.featured-business-content h2 { margin: 0; color: #fff; font-size: clamp(1.75rem,4vw,2.8125rem); letter-spacing: -.035em; }
.featured-business-description { max-width: 58ch; margin: 12px 0 17px; color: rgba(255,255,255,.86); font-size: 0.875rem; line-height: 1.6; }
.featured-business-link { display: inline-flex; align-items: center; gap: 9px; min-height: 41px; padding: 0 16px; border-radius: 999px; background: #f2a007; color: #24201b; font-size: 0.75rem; font-weight: 800; transition: background .18s, transform .18s; }
.featured-business-link:hover { transform: translateY(-1px); background: #ffb321; }
.featured-business-controls { position: absolute; z-index: 3; right: clamp(18px,3vw,32px); bottom: 22px; display: flex; align-items: center; gap: 10px; }
.featured-business-controls > button { display: grid; width: 35px; height: 35px; place-items: center; border: 1px solid rgba(255,255,255,.44); border-radius: 50%; background: rgba(22,30,38,.44); color: #fff; cursor: pointer; backdrop-filter: blur(6px); }
.featured-business-controls > button:hover { background: rgba(242,160,7,.92); color: #211d18; }
.featured-business-controls > button .ui-button-icon { width: 16px; height: 16px; }
.featured-business-dots { display: flex; align-items: center; gap: 6px; }
.featured-business-dots button { width: 8px; height: 8px; padding: 0; border: 0; border-radius: 99px; background: rgba(255,255,255,.58); cursor: pointer; transition: width .2s, background .2s; }
.featured-business-dots button[aria-current="true"] { width: 21px; background: #ffb24a; }
@media (max-width: 640px) {
  .featured-business-hero { margin: 17px 0 28px; border-radius: 16px; }
  .featured-business-slides { min-height: 320px; }
  .featured-business-slide { align-items: flex-start; padding: 28px 20px 74px; }
  .featured-business-content { width: 100%; }
  .featured-business-shade { background: rgba(14,22,31,.68); }
  .featured-business-content h2 { font-size: clamp(1.6875rem,8vw,2.25rem); }
  .featured-business-description { font-size: 0.8125rem; }
  .featured-business-controls { right: 16px; bottom: 15px; }
}
@media (prefers-reduced-motion: reduce) { .featured-business-slide,.featured-business-link,.featured-business-dots button { transition: none; } }

/* Keep the business directory compact while leaving the site header unchanged. */
.business-directory-page .featured-business-slides { min-height: clamp(235px,22vw,300px); }
.business-directory-page .featured-business-slide { padding: clamp(22px,3.5vw,40px); }
.business-directory-page .featured-business-content h2 { font-size: clamp(1.5625rem,3vw,2.25rem); }
.business-directory-page .featured-business-description { margin: 9px 0 13px; font-size: 0.8125rem; }
.business-directory-page .featured-business-controls { bottom: 16px; }
@media (min-width: 900px) {
  .business-directory-page .card-grid { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 17px; }
}
@media (min-width: 1200px) {
  .business-directory-page .card-grid { grid-template-columns: repeat(4,minmax(0,1fr)); gap: 17px; }
}
.business-directory-page .business-card-link { display: flex; height: 100%; flex-direction: column; color: inherit; }
.business-directory-page .business-card-link:focus-visible { outline: 3px solid #f2a007; outline-offset: 3px; border-radius: 12px; }
.business-directory-page .business-listing-card .card-image { height: 184px; }
.business-directory-page .business-listing-card { border: 1px solid #d5d9df; border-radius: 13px; box-shadow: 0 4px 12px rgba(26,34,44,.09); }
.business-directory-page .business-listing-card .card-body { gap: 6px; padding: 13px 14px 12px; }
.business-directory-page .business-listing-card .card-body h3 { font-size: 1rem; }
.business-directory-page .business-listing-card .card-meta { font-size: 0.65625rem; }
.business-directory-page .business-listing-card .card-bottom { margin-top: 8px; padding-top: 9px; }
@media (max-width: 640px) {
  .business-directory-page .featured-business-slides { min-height: 275px; }
  .business-directory-page .business-listing-card .card-image { height: 176px; }
}

/* Compact filters placed directly under the business results heading. */
.business-directory-page .business-results-heading { align-items: end; margin: 0 0 12px; }
.business-directory-page .business-results-heading > span { padding-bottom: 4px; color: #717781; font-size: 0.75rem; }
.business-directory-page .filter-panel { grid-template-columns: minmax(200px,1.5fr) repeat(3,minmax(125px,1fr)) auto; align-items: end; gap: 11px; margin: 0 0 24px; padding: 14px; border-color: #dfe2e7; border-radius: 14px; background: #f7f8fa; box-shadow: none; }
.business-directory-page .filter-panel > div:not(.business-filter-actions) { gap: 5px; }
.business-directory-page .filter-panel label:not(.checkbox-row) { color: #717781; font-size: 0.625rem; letter-spacing: .07em; text-transform: uppercase; }
.business-directory-page .filter-panel input:not([type="checkbox"]),
.business-directory-page .filter-panel select { height: 40px; border-color: #dfe2e7; border-radius: 9px; font-size: 0.75rem; }
.business-directory-page .filter-panel input:focus,
.business-directory-page .filter-panel select:focus { border-color: #f2a007; box-shadow: 0 0 0 3px rgba(223,117,65,.12); }
.business-directory-page .business-filter-actions { display: flex; align-items: center; gap: 9px; }
.business-directory-page .filter-panel .business-filter-actions .checkbox-row { grid-column: auto; gap: 7px; margin: 0; padding: 0 2px; border: 0; background: transparent; font-size: 0.6875rem; white-space: nowrap; }
.business-directory-page .filter-panel .checkbox-row input:checked { background: #f2a007; }
.business-directory-page .business-filter-actions > button { min-height: 40px; padding: 0 15px; border-radius: 9px; background: #f2a007; color: white; font-size: 0.75rem; white-space: nowrap; }
.business-directory-page .business-filter-actions > button:hover { background: #c68100; }
.business-directory-page .business-filter-actions > button .ui-button-icon { width: 15px; height: 15px; }
.business-directory-page .business-filter-clear { color: #737780; font-size: 0.6875rem; font-weight: 600; white-space: nowrap; }
.business-directory-page .business-filter-clear:hover { color: #a86400; text-decoration: underline; }
@media (max-width: 1100px) {
  .business-directory-page .filter-panel { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .business-directory-page .business-filter-actions { grid-column: 1 / -1; justify-content: flex-end; }
}
@media (max-width: 640px) {
  .business-directory-page .business-results-heading { margin-bottom: 10px; }
  .business-directory-page .filter-panel { grid-template-columns: 1fr 1fr; gap: 10px; margin-bottom: 20px; padding: 12px; }
  .business-directory-page .business-filter-actions { justify-content: flex-start; flex-wrap: wrap; }
  .business-directory-page .business-filter-actions > button { margin-left: auto; }
}
@media (max-width: 420px) {
  .business-directory-page .filter-panel { grid-template-columns: 1fr; }
  .business-directory-page .business-filter-actions { grid-column: 1; }
}

/* Marketplace: category rail with a dense, Peza-styled listing grid. */
.marketplace-page .page-shell { width: 100%; max-width: none; padding: 22px clamp(14px,2vw,30px) 64px; }
.marketplace-layout { display: grid; grid-template-columns: 238px minmax(0,1fr); align-items: start; gap: clamp(22px,2vw,34px); min-height: calc(100vh - 130px); }
.marketplace-sidebar { position: sticky; top: 86px; max-height: calc(100vh - 104px); overflow-y: auto; padding: 0 14px 20px 0; border-right: 1px solid #e1e4e8; scrollbar-width: thin; }
.marketplace-sidebar-heading { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin: 0 0 13px; }
.marketplace-sidebar-heading h1 { margin: 0; color: #252a31; font: 700 1.5rem/1.15 var(--display); letter-spacing: -.035em; }
.marketplace-brand-mark { display: grid; width: 34px; height: 34px; flex: 0 0 34px; place-items: center; border-radius: 11px; background: #fbe9df; color: #a86400; font: 800 1.125rem var(--display); }
.marketplace-search { display: flex; height: 40px; align-items: center; gap: 8px; margin-bottom: 14px; padding: 0 11px; border: 1px solid #e2e4e8; border-radius: 12px; background: #f3f4f6; }
.marketplace-search > span { display: grid; flex: 0 0 17px; color: #707781; }
.marketplace-search svg { width: 17px; height: 17px; }
.marketplace-search input { width: 100%; min-width: 0; border: 0; outline: 0; background: transparent; color: #262b31; font: 500 0.75rem var(--body); }
.marketplace-search:focus-within { border-color: #d97847; box-shadow: 0 0 0 3px rgba(217,120,71,.12); }
.marketplace-primary-nav,.marketplace-category-section nav { display: grid; gap: 3px; }
.marketplace-primary-nav a,.marketplace-category-section nav a { display: flex; min-height: 40px; align-items: center; gap: 10px; padding: 5px 8px; border-radius: 10px; color: #454b54; font-size: 0.75rem; font-weight: 600; transition: background .16s,color .16s; }
.marketplace-primary-nav a:hover,.marketplace-category-section nav a:hover { background: #f3f4f6; color: #bd572e; }
.marketplace-primary-nav a.is-current,.marketplace-category-section nav a.is-current { background: #fff0e8; color: #a86400; }
.marketplace-nav-icon,.marketplace-category-icon { display: grid; width: 30px; height: 30px; flex: 0 0 30px; place-items: center; border-radius: 9px; background: #eceef1; color: #555d67; }
.marketplace-nav-icon svg,.marketplace-category-icon svg { width: 16px; height: 16px; }
.marketplace-primary-nav a.is-current .marketplace-nav-icon,.marketplace-category-section a.is-current .marketplace-category-icon { background: #f2a007; color: #fff; }
.marketplace-create-link { display: flex; min-height: 39px; align-items: center; justify-content: center; gap: 8px; margin: 12px 0 10px; padding: 0 12px; border: 1px solid #f1c3ad; border-radius: 10px; background: #fff8f4; color: #a86400; font-size: 0.75rem; font-weight: 700; transition: background .16s,border-color .16s; }
.marketplace-create-link:hover { border-color: #f2a007; background: #ffefe6; }
.marketplace-create-link .ui-button-icon { width: 16px; height: 16px; }
.marketplace-sidebar-section { margin-top: 13px; padding: 13px 2px 3px; border-top: 1px solid #e2e4e8; }
.marketplace-sidebar-section h2 { margin: 0 0 8px; color: #31363d; font-size: 0.75rem; font-weight: 800; }
.marketplace-sidebar-section > p { display: flex; align-items: center; gap: 7px; margin: 0; color: #a86400; font-size: 0.6875rem; font-weight: 700; }
.marketplace-sidebar-section > p svg { width: 15px; height: 15px; flex: 0 0 15px; color: #f2a007; }
.marketplace-category-section nav a { min-height: 36px; font-weight: 500; }
.marketplace-category-icon { width: 27px; height: 27px; flex-basis: 27px; border-radius: 50%; }
.marketplace-category-icon svg { width: 14px; height: 14px; }
.marketplace-content { min-width: 0; }
.marketplace-content-heading { display: flex; min-height: 40px; align-items: center; justify-content: space-between; gap: 18px; margin: 0 0 14px; }
.marketplace-content-heading .eyebrow { margin: 0 0 3px; color: #a86400; font-size: 0.625rem; letter-spacing: .1em; text-transform: uppercase; }
.marketplace-content-heading h2 { margin: 0; color: #252a31; font: 700 clamp(1.3125rem,2vw,1.6875rem)/1.15 var(--display); letter-spacing: -.035em; }
.marketplace-location { display: inline-flex; align-items: center; gap: 5px; color: #6c737d; font-size: 0.6875rem; white-space: nowrap; }
.marketplace-location svg { width: 15px; height: 15px; color: #f2a007; }
.marketplace-search-summary { margin: -3px 0 13px; color: #626a74; font-size: 0.75rem; }
.marketplace-product-grid { grid-template-columns: repeat(auto-fill,minmax(min(100%,185px),1fr)); gap: 17px 11px; }
.marketplace-product-card { overflow: hidden; border: 1px solid #dfe2e7; border-radius: 12px; background: #f5f5f7; box-shadow: 0 3px 10px rgba(25,33,44,.07); transition: transform .18s,box-shadow .18s,border-color .18s; }
.marketplace-product-link { display: flex; height: 100%; flex-direction: column; color: inherit; }
.marketplace-product-link:focus-visible { outline: 3px solid #f2a007; outline-offset: 2px; border-radius: 11px; }
.marketplace-product-card:hover { transform: translateY(-2px); border-color: #c7cdd5; box-shadow: 0 9px 20px rgba(25,33,44,.12); }
.marketplace-product-card .business-post-cover { position: relative; aspect-ratio: 1 / 1; border-radius: 0; background: #e7e9ed; }
.marketplace-product-card .business-post-cover img { transition: transform .28s; }
.marketplace-product-card:hover .business-post-cover img { transform: scale(1.035); }
.marketplace-product-card .business-post-cover .listing-image-badge { top: 9px; bottom: auto; left: 9px; padding: 4px 7px; border: 1px solid rgba(255,255,255,.78); border-radius: 6px; background: rgba(255,255,255,.94); color: #9e4c2b; font-size: 0.5625rem; }
.marketplace-product-card .business-post-cover .listing-verified-badge { top: 9px; right: 9px; min-height: 23px; padding: 3px 6px; font-size: 0.5625rem; }
.marketplace-product-card .business-post-card-body { display: flex; min-height: 94px; flex-direction: column; gap: 5px; padding: 10px 10px 11px; }
.marketplace-product-caption { display: -webkit-box; min-height: 32px; margin: 0; overflow: hidden; color: #252a31; font-size: 0.75rem; font-weight: 700; line-height: 1.35; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.marketplace-product-card .business-post-card-body h3 { display: -webkit-box; margin: 0; overflow: hidden; color: #5c626b; font: 500 0.6875rem/1.3 var(--body); -webkit-box-orient: vertical; -webkit-line-clamp: 1; }
.marketplace-product-card .business-post-card-body h3 a { color: inherit; }
.marketplace-product-card .listing-location-row { gap: 4px; margin-top: auto; font-size: 0.625rem; }
.marketplace-product-card .listing-location-row .ui-button-icon { width: 12px; height: 12px; flex-basis: 12px; color: #f2a007; }
.marketplace-image-placeholder { display: grid; width: 100%; height: 100%; place-items: center; background: #eee4dc; color: #a86400; font: 800 1.625rem var(--display); }
.marketplace-page .posts-empty { grid-column: 1/-1; }
@media (min-width: 1650px) { .marketplace-product-grid { grid-template-columns: repeat(6,minmax(0,1fr)); } }
@media (max-width: 1000px) {
  .marketplace-layout { grid-template-columns: 205px minmax(0,1fr); gap: 17px; }
  .marketplace-sidebar { padding-right: 10px; }
  .marketplace-product-grid { grid-template-columns: repeat(auto-fill,minmax(min(100%,165px),1fr)); gap: 14px 9px; }
}
@media (max-width: 700px) {
  .marketplace-page .page-shell { padding: 15px 12px 48px; }
  .marketplace-layout { grid-template-columns: minmax(0,1fr); gap: 18px; }
  .marketplace-sidebar { position: static; max-height: none; overflow: visible; padding: 0 0 12px; border-right: 0; border-bottom: 1px solid #e1e4e8; }
  .marketplace-sidebar-heading { display: none; }
  .marketplace-search { max-width: none; }
  .marketplace-primary-nav { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .marketplace-create-link { width: 100%; }
  .marketplace-sidebar-section { margin-top: 9px; }
  .marketplace-category-section nav { display: flex; gap: 7px; overflow-x: auto; padding: 2px 0 5px; scrollbar-width: thin; }
  .marketplace-category-section nav a { flex: 0 0 auto; min-height: 33px; padding: 3px 9px 3px 5px; border: 1px solid #e2e4e8; border-radius: 999px; background: #fff; }
  .marketplace-category-icon { width: 25px; height: 25px; flex-basis: 25px; }
  .marketplace-content-heading { margin-bottom: 11px; }
  .marketplace-product-grid { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px 8px; }
  .marketplace-product-card .business-post-card-body { min-height: 88px; padding: 8px; }
  .marketplace-product-caption { font-size: 0.6875rem; }
}
@media (max-width: 430px) {
  .marketplace-product-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}

/* Job detail: browsable opportunity list alongside the selected listing. */
.job-detail-page .page-shell { padding: 24px clamp(14px,3vw,40px) 56px; }
.job-detail-shell { display: grid; width: 100%; max-width: 1500px; min-height: min(78vh,850px); grid-template-columns: minmax(290px,.78fr) minmax(0,1.22fr); gap: 20px; margin: 0 auto; }
.job-detail-sidebar { position: sticky; top: 88px; display: flex; max-height: calc(100vh - 108px); min-height: 650px; flex-direction: column; overflow: hidden; padding: 17px; border: 1px solid #e2e1dc; border-radius: 16px; background: #fff; }
.job-detail-back { display: inline-flex; width: fit-content; align-items: center; gap: 6px; margin: 0 0 14px; color: #a86400; font-size: 0.6875rem; font-weight: 700; }
.job-detail-back .ui-button-icon { width: 15px; height: 15px; }
.job-detail-search { display: grid; gap: 6px; margin-bottom: 17px; }
.job-detail-search label { color: #646b70; font-size: 0.5625rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.job-detail-search > div { display: flex; min-height: 39px; overflow: hidden; border: 1px solid #e0e1dd; border-radius: 9px; background: #fafaf9; }
.job-detail-search input { width: 100%; min-width: 0; padding: 0 10px; border: 0; outline: 0; background: transparent; color: var(--ink); font: 0.6875rem var(--body); }
.job-detail-search button { display: grid; width: 40px; flex: 0 0 40px; place-items: center; border: 0; background: var(--sun); color: var(--ink); cursor: pointer; }
.job-detail-search button .ui-button-icon { width: 16px; height: 16px; }
.job-detail-sidebar > h2 { margin: 0 0 9px; font: 700 0.9375rem/1.25 var(--display); }
.job-detail-list { display: grid; align-content: start; gap: 8px; overflow-y: auto; padding: 1px 3px 3px 0; scrollbar-color: #d1cec8 transparent; scrollbar-width: thin; }
.job-detail-listing { display: grid; min-width: 0; grid-template-columns: 38px minmax(0,1fr); align-items: start; gap: 10px; padding: 11px; border: 1px solid #e1dfda; border-radius: 12px; background: #fff; color: inherit; text-decoration: none; transition: border-color .15s,background .15s; }
.job-detail-listing:hover { border-color: #dfb54d; background: #fffdf6; }
.job-detail-listing.is-selected { border-color: #d39400; background: #fffaf0; }
.job-detail-company-mark { display: grid; width: 38px; height: 38px; overflow: hidden; place-items: center; border: 1px solid #e8e5de; border-radius: 9px; background: #f7f4ed; color: #a86400; font: 700 0.875rem var(--display); }
.job-detail-company-mark img { width: 100%; height: 100%; object-fit: cover; }
.job-detail-listing-copy { display: grid; min-width: 0; gap: 4px; }
.job-detail-listing-copy strong { display: -webkit-box; overflow: hidden; color: #272d30; font-size: 0.6875rem; line-height: 1.4; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.job-detail-listing-copy small { overflow: hidden; color: #73797c; font-size: 0.5625rem; line-height: 1.35; text-overflow: ellipsis; white-space: nowrap; }
.job-detail-no-more { padding: 12px; color: var(--ink-soft); font-size: 0.625rem; }
.job-detail-all-jobs { display: flex; min-height: 42px; flex: 0 0 auto; align-items: center; justify-content: center; gap: 7px; margin-top: 10px; border-top: 1px solid #eceae6; color: #a86400; font-size: 0.625rem; font-weight: 700; }
.job-detail-all-jobs .ui-button-icon { width: 15px; height: 15px; }
.job-detail-main { min-width: 0; max-height: calc(100vh - 108px); overflow-y: auto; border: 1px solid #e2e1dc; border-radius: 16px; background: #fff; scrollbar-color: #d1cec8 transparent; scrollbar-width: thin; }
.job-detail-header { padding: clamp(23px,3vw,38px); border-bottom: 8px solid #f5f4f1; }
.job-detail-eyebrow { margin: 0 0 8px; color: #a86400; font-size: 0.5625rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.job-detail-header h1 { max-width: 850px; color: #292f32; font: 700 clamp(1.375rem,2.7vw,2rem)/1.2 var(--display); letter-spacing: -.035em; }
.job-detail-employer { display: inline-block; margin-top: 11px; color: #665c3e; font-size: 0.75rem; text-decoration: underline; text-underline-offset: 3px; }
.job-detail-employer span { text-decoration: none; }
.job-detail-location { display: flex; align-items: center; gap: 6px; margin: 8px 0 0; color: #575f62; font-size: 0.6875rem; }
.job-detail-location .ui-button-icon { width: 14px; height: 14px; color: #a86400; }
.job-detail-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; margin-top: 18px; }
.job-detail-apply,.job-detail-action-icon,.job-detail-share summary { display: inline-flex; min-height: 40px; align-items: center; justify-content: center; gap: 7px; padding: 0 14px; border: 1px solid #e9b63a; border-radius: 10px; background: var(--sun); color: #29261c; font-size: 0.6875rem; font-weight: 700; text-decoration: none; cursor: pointer; }
.job-detail-apply:hover,.job-detail-action-icon:hover,.job-detail-share summary:hover { border-color: #d59a00; background: #e7a000; }
.job-detail-apply .ui-button-icon,.job-detail-action-icon .ui-button-icon,.job-detail-share summary .ui-button-icon { width: 16px; height: 16px; }
.job-detail-action-icon,.job-detail-share summary { width: 40px; padding: 0; border-color: #e9e7e1; background: #f6f5f2; color: #343a3c; }
.job-detail-share { position: relative; }
.job-detail-share summary { list-style: none; }
.job-detail-share summary::-webkit-details-marker { display: none; }
.job-detail-share-options { position: absolute; z-index: 9; top: calc(100% + 7px); right: 0; display: grid; width: 145px; gap: 4px; padding: 7px; border: 1px solid #e5e2db; border-radius: 10px; background: #fff; box-shadow: 0 10px 25px rgba(35,34,29,.15); }
.job-detail-share-options a { display: flex; min-height: 30px; align-items: center; gap: 7px; padding: 0 7px; border-radius: 6px; color: #454b4e; font-size: 0.625rem; }
.job-detail-share-options a:hover { background: #fff4d9; }
.job-detail-share-options .ui-button-icon { width: 14px; height: 14px; }
.job-detail-facts,.job-detail-description { padding: 24px clamp(23px,3vw,38px); border-bottom: 8px solid #f5f4f1; }
.job-detail-facts h2,.job-detail-description h2 { margin: 0 0 15px; color: #303538; font: 700 1.0625rem/1.25 var(--display); }
.job-detail-facts > p { display: flex; align-items: center; gap: 10px; margin: 11px 0; color: #434a4c; font-size: 0.6875rem; }
.job-detail-facts > p strong { font-weight: 700; }
.job-detail-facts > p a { margin-left: 3px; color: #a86400; }
.job-detail-fact-icon { display: grid; width: 18px; height: 18px; flex: 0 0 18px; place-items: center; color: #a86400; }
.job-detail-fact-icon .ui-button-icon { width: 16px; height: 16px; }
.job-detail-description { border-bottom: 0; color: #62696b; font-size: 0.75rem; line-height: 1.75; }
.job-detail-description > div > p { margin: 0 0 13px; }
.job-detail-gallery { display: grid; grid-template-columns: repeat(auto-fill,minmax(min(100%,210px),1fr)); gap: 10px; margin-top: 18px; }
.job-detail-gallery figure { aspect-ratio: 1.35; overflow: hidden; margin: 0; border: 1px solid #e7e5df; border-radius: 10px; background: #f5f4f1; }
.job-detail-gallery img { width: 100%; height: 100%; object-fit: cover; }
.job-detail-employer-footer { display: flex; align-items: center; gap: 11px; padding: 16px clamp(23px,3vw,38px); border-top: 1px solid #ebe9e4; }
.job-detail-employer-footer > div:nth-child(2) { display: grid; min-width: 0; gap: 3px; }
.job-detail-employer-footer strong { overflow: hidden; color: #303538; font-size: 0.6875rem; text-overflow: ellipsis; white-space: nowrap; }
.job-detail-employer-footer small { color: #72797b; font-size: 0.5625rem; }
.job-detail-employer-footer > a { margin-left: auto; color: #a86400; font-size: 0.625rem; font-weight: 700; white-space: nowrap; }
@media (max-width: 850px) {
  .job-detail-shell { grid-template-columns: minmax(235px,.75fr) minmax(0,1.25fr); gap: 12px; }
  .job-detail-sidebar { padding: 12px; }
}
@media (max-width: 650px) {
  .job-detail-page .page-shell { padding: 12px 10px 42px; }
  .job-detail-shell { min-height: 0; grid-template-columns: minmax(0,1fr); }
  .job-detail-sidebar { position: static; max-height: 370px; min-height: 0; }
  .job-detail-main { max-height: none; }
  .job-detail-list { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .job-detail-listing { grid-template-columns: 30px minmax(0,1fr); gap: 7px; padding: 8px; }
  .job-detail-company-mark { width: 30px; height: 30px; }
  .job-detail-header,.job-detail-facts,.job-detail-description { padding: 20px 17px; }
}
@media (max-width: 430px) {
  .job-detail-list { grid-template-columns: minmax(0,1fr); }
  .job-detail-sidebar { max-height: 330px; }
  .job-detail-header h1 { font-size: 1.375rem; }
  .job-detail-employer-footer { padding: 13px; }
  .job-detail-employer-footer small { max-width: 180px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
}

/* Jobs search hero and readable, full-width opportunity rows. */
.jobs-page .page-shell { padding-top: 24px; }
.jobs-hero { position: relative; overflow: hidden; margin: 0 0 32px; padding: clamp(26px,4vw,48px); border: 1px solid #25333d; border-radius: 20px; background: #263743; color: #fff; box-shadow: 0 16px 36px rgba(29,39,47,.15); }
.jobs-hero-copy { text-align: center; }
.jobs-hero-copy .eyebrow { margin: 0 0 8px; color: #ffc396; font-size: 0.6875rem; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; }
.jobs-hero-copy h1 { margin: 0; color: #fff; font: 700 clamp(1.8125rem,4.3vw,2.875rem)/1.1 var(--display); letter-spacing: -.04em; }
.jobs-hero-copy > p:not(.eyebrow) { margin: 9px 0 0; color: rgba(255,255,255,.8); font-size: 0.875rem; }
.jobs-browse-link { display: inline-flex; min-height: 35px; align-items: center; gap: 7px; margin-top: 13px; padding: 0 13px; border: 1px solid rgba(255,255,255,.27); border-radius: 999px; background: rgba(255,255,255,.09); color: #fff; font-size: 0.6875rem; font-weight: 700; transition: background .16s,border-color .16s; }
.jobs-browse-link:hover { border-color: #f0a27c; background: rgba(223,117,65,.2); }
.jobs-browse-link svg { width: 15px; height: 15px; color: #ffc396; }
.jobs-search-panel { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr) auto; align-items: end; gap: 12px; max-width: 1100px; margin: 28px auto 0; padding: clamp(15px,2vw,23px); border: 1px solid rgba(255,255,255,.72); border-radius: 15px; background: #fff; color: #282d33; box-shadow: 0 12px 30px rgba(8,18,24,.2); }
.jobs-search-field { display: grid; min-width: 0; gap: 6px; }
.jobs-search-field label { color: #69717a; font-size: 0.625rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.jobs-search-field input { width: 100%; min-width: 0; height: 43px; padding: 0 12px; border: 1px solid #dfe3e7; border-radius: 9px; outline: 0; background: #fafbfc; color: #252a31; font: 500 0.75rem var(--body); }
.jobs-search-field input:focus { border-color: #f2a007; box-shadow: 0 0 0 3px rgba(223,117,65,.12); }
.jobs-search-submit { display: inline-flex; min-height: 43px; align-items: center; justify-content: center; gap: 8px; padding: 0 18px; border: 0; border-radius: 9px; background: #f2a007; color: #fff; font: 700 0.75rem var(--body); white-space: nowrap; cursor: pointer; transition: background .16s,transform .16s; }
.jobs-search-submit:hover { transform: translateY(-1px); background: #c68100; }
.jobs-search-submit .ui-button-icon { width: 16px; height: 16px; }
.jobs-search-clear { grid-column: 3; justify-self: center; color: #787f88; font-size: 0.625rem; font-weight: 600; }
.jobs-search-clear:hover { color: #a86400; text-decoration: underline; }
.jobs-search-note { grid-column: 1 / -1; margin: 0; color: #78808a; font-size: 0.625rem; }
.jobs-results { width: 100%; }
.jobs-results-heading { display: flex; align-items: end; justify-content: space-between; gap: 15px; margin-bottom: 13px; }
.jobs-results-heading .eyebrow { margin: 0 0 4px; color: #a86400; font-size: 0.625rem; letter-spacing: .1em; text-transform: uppercase; }
.jobs-results-heading h2 { margin: 0; color: #292e34; font: 700 clamp(1.3125rem,2.6vw,1.75rem)/1.2 var(--display); letter-spacing: -.025em; }
.jobs-results-heading > span { padding-bottom: 3px; color: #737b84; font-size: 0.6875rem; }
.jobs-list { display: grid; gap: 10px; }
.job-result-row { overflow: hidden; border: 1px solid #dfe3e7; border-radius: 13px; background: #fff; box-shadow: 0 3px 12px rgba(24,34,44,.045); transition: border-color .16s,box-shadow .16s,transform .16s; }
.job-result-row:hover { transform: translateY(-1px); border-color: #d3a48d; box-shadow: 0 8px 20px rgba(24,34,44,.09); }
.job-result-link { display: grid; min-height: 88px; grid-template-columns: 54px minmax(0,1.6fr) minmax(130px,.8fr) minmax(90px,.55fr) 18px; align-items: center; gap: clamp(12px,2vw,25px); padding: 12px 18px; color: inherit; }
.job-result-link:focus-visible { outline: 3px solid #f2a007; outline-offset: -3px; border-radius: 13px; }
.job-result-logo { display: grid; width: 50px; height: 50px; overflow: hidden; place-items: center; border: 1px solid #e5e7ea; border-radius: 12px; background: #f5f5f7; color: #a86400; }
.job-result-logo svg { width: 23px; height: 23px; }
.job-result-logo img { width: 100%; height: 100%; object-fit: cover; }
.job-result-main { display: grid; min-width: 0; gap: 5px; }
.job-result-title { display: -webkit-box; overflow: hidden; color: #292f35; font-size: 0.875rem; line-height: 1.35; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.job-result-company { overflow: hidden; color: #69717a; font-size: 0.6875rem; text-overflow: ellipsis; white-space: nowrap; }
.job-result-location { display: inline-flex; min-width: 0; align-items: center; gap: 6px; color: #555f69; font-size: 0.6875rem; }
.job-result-location .ui-button-icon { width: 14px; height: 14px; flex: 0 0 14px; color: #f2a007; }
.job-result-date { color: #818790; font-size: 0.625rem; text-align: right; white-space: nowrap; }
.job-result-arrow { display: grid; place-items: center; color: #a86400; }
.job-result-arrow .ui-button-icon { width: 16px; height: 16px; }
.jobs-page .catalog-empty { margin: 0; background: #fff; }
@media (min-width: 1450px) { .jobs-page .page-shell { max-width: 1520px; margin-inline: auto; } }
@media (max-width: 850px) {
  .jobs-search-panel { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .jobs-search-submit { grid-column: 1 / -1; }
  .jobs-search-clear { grid-column: 1 / -1; justify-self: center; }
  .job-result-link { grid-template-columns: 48px minmax(0,1fr) minmax(105px,.65fr) 16px; gap: 12px; padding: 11px 13px; }
  .job-result-logo { width: 45px; height: 45px; }
  .job-result-date { display: none; }
}
@media (max-width: 560px) {
  .jobs-page .page-shell { padding: 13px 12px 48px; }
  .jobs-hero { margin-bottom: 24px; padding: 24px 14px 14px; border-radius: 15px; }
  .jobs-hero-copy h1 { font-size: clamp(1.6875rem,8vw,2.25rem); }
  .jobs-hero-copy > p:not(.eyebrow) { font-size: 0.75rem; }
  .jobs-search-panel { grid-template-columns: 1fr; gap: 9px; margin-top: 20px; padding: 12px; }
  .jobs-search-submit,.jobs-search-clear { grid-column: 1; }
  .jobs-search-submit { width: 100%; }
  .jobs-search-note { font-size: 0.5625rem; }
  .job-result-link { grid-template-columns: 42px minmax(0,1fr) 16px; gap: 10px; min-height: 76px; padding: 9px; }
  .job-result-logo { width: 40px; height: 40px; border-radius: 10px; }
  .job-result-title { font-size: 0.75rem; }
  .job-result-company { font-size: 0.625rem; }
  .job-result-location { grid-column: 2; grid-row: 2; font-size: 0.625rem; }
  .job-result-arrow { grid-column: 3; grid-row: 1 / 3; }
}

/* Rental discovery: newest listings rail, search filters, then available homes. */
.rentals-page .page-shell { width: 100%; max-width: none; padding-top: clamp(22px,3vw,38px); }
.rentals-newest { margin: 0 auto clamp(36px,5vw,58px); }
.rentals-section-heading { margin: 0 0 24px; text-align: center; }
.rentals-section-heading .eyebrow { margin: 0 0 6px; color: #a86400; font-size: 0.625rem; letter-spacing: .12em; text-transform: uppercase; }
.rentals-section-heading h1,.rentals-section-heading h2 { margin: 0; color: #282d33; font: 700 clamp(1.5625rem,3vw,2.125rem)/1.15 var(--display); letter-spacing: -.04em; }
.rentals-section-heading h1 span,.rentals-section-heading h2 span { color: #d86e3d; }
.rentals-section-heading > p:last-child { margin: 7px 0 0; color: #717781; font-size: 0.75rem; }
.rentals-newest-track { display: grid; grid-auto-columns: minmax(210px,1fr); grid-auto-flow: column; gap: 15px; overflow-x: auto; padding: 3px 2px 13px; scrollbar-color: #c9cdd3 transparent; scrollbar-width: thin; }
.rental-newest-card { min-width: 0; border: 1px solid #dce0e5; border-radius: 14px; background: #f5f5f7; box-shadow: 0 5px 15px rgba(26,34,44,.09); transition: transform .18s,box-shadow .18s; }
.rental-newest-card:hover { transform: translateY(-2px); box-shadow: 0 10px 23px rgba(26,34,44,.14); }
.rental-newest-link { display: block; height: 100%; color: inherit; }
.rental-newest-link:focus-visible,.rental-result-link:focus-visible { outline: 3px solid #f2a007; outline-offset: 2px; border-radius: 12px; }
.rental-newest-card .catalog-image { position: relative; aspect-ratio: 1.42 / 1; border-radius: 13px 13px 0 0; background: #e7e9ed; }
.rental-newest-card .catalog-image img { width: 100%; height: 100%; object-fit: cover; }
.rental-newest-card .listing-image-badge,.rental-result-card .listing-image-badge { top: 10px; bottom: auto; left: 10px; padding: 4px 8px; border: 1px solid rgba(255,255,255,.82); border-radius: 6px; background: rgba(255,255,255,.94); color: #a86400; font-size: 0.5625rem; }
.rental-newest-card .listing-verified-badge,.rental-result-card .listing-verified-badge { top: 10px; right: 10px; min-height: 23px; padding: 3px 7px; font-size: 0.5625rem; }
.rental-image-placeholder { display: grid; width: 100%; height: 100%; place-items: center; background: #e8e9ec; color: #a86400; font: 800 1.5625rem var(--display); }
.rental-newest-card-body { display: grid; gap: 6px; padding: 11px 12px 13px; }
.rental-newest-card-body strong { display: -webkit-box; overflow: hidden; color: #292e34; font-size: 0.75rem; line-height: 1.35; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.rental-newest-card-body > span { overflow: hidden; color: #777e86; font-size: 0.625rem; text-overflow: ellipsis; white-space: nowrap; }
.rental-feature-list { display: flex; flex-wrap: wrap; gap: 7px 12px; overflow: visible; color: #59616b; font-size: 0.625rem; text-overflow: clip; white-space: normal; }
.rental-feature-list > span { display: inline-flex; align-items: center; gap: 4px; white-space: nowrap; }
.rental-feature-list svg { width: 15px; height: 15px; flex: 0 0 15px; color: #f2a007; }
.rentals-newest-empty { grid-column: 1/-1; padding: 26px; border: 1px dashed #d6dbe0; border-radius: 13px; color: #737b84; font-size: 0.75rem; text-align: center; }
.rentals-results-heading { margin-bottom: 20px; }
.rentals-results-heading > p:last-child strong { color: #a86400; }
.rentals-filter-bar { display: grid; grid-template-columns: minmax(0,1.5fr) minmax(190px,1fr) auto auto; align-items: end; gap: 12px; margin: 0 0 25px; padding: 15px; border: 1px solid #dfe2e7; border-radius: 14px; background: #f5f5f7; }
.rentals-filter-field { display: grid; min-width: 0; gap: 5px; }
.rentals-filter-field label { color: #6f7680; font-size: 0.5625rem; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.rentals-filter-field input { width: 100%; min-width: 0; height: 41px; padding: 0 11px; border: 1px solid #dfe2e7; border-radius: 9px; outline: 0; background: #fff; color: #282d33; font: 500 0.75rem var(--body); }
.rentals-filter-field input:focus { border-color: #f2a007; box-shadow: 0 0 0 3px rgba(223,117,65,.12); }
.rentals-filter-input { position: relative; }
.rentals-filter-input > span { position: absolute; top: 50%; left: 10px; display: grid; transform: translateY(-50%); color: #737b84; }
.rentals-filter-input svg { width: 16px; height: 16px; }
.rentals-filter-input input { padding-left: 34px; }
.rentals-filter-submit { display: inline-flex; min-height: 41px; align-items: center; justify-content: center; gap: 7px; padding: 0 15px; border: 0; border-radius: 9px; background: #f2a007; color: #fff; font: 700 0.6875rem var(--body); white-space: nowrap; cursor: pointer; }
.rentals-filter-submit:hover { background: #c68100; }
.rentals-filter-submit .ui-button-icon { width: 15px; height: 15px; }
.rentals-filter-clear { padding: 0 4px 12px; color: #737b84; font-size: 0.625rem; font-weight: 600; white-space: nowrap; }
.rentals-filter-clear:hover { color: #a86400; text-decoration: underline; }
.rental-catalog-grid { grid-template-columns: repeat(4,minmax(0,1fr)); gap: 18px; }
.rental-result-card { border: 1px solid #d8dce2; border-radius: 14px; background: #f5f5f7; box-shadow: 0 5px 14px rgba(26,34,44,.08); transition: transform .18s,box-shadow .18s; }
.rental-result-card:hover { transform: translateY(-2px); box-shadow: 0 10px 22px rgba(26,34,44,.13); }
.rental-result-link { display: flex; height: 100%; flex-direction: column; color: inherit; }
.rental-result-card .catalog-image { position: relative; aspect-ratio: 1.4 / 1; border-radius: 13px 13px 0 0; background: #e7e9ed; }
.rental-result-card .catalog-image img { width: 100%; height: 100%; object-fit: cover; }
.rental-result-card .catalog-card-body { display: flex; min-width: 0; flex: 1; flex-direction: column; gap: 8px; padding: 13px 14px 12px; }
.rental-result-card .catalog-card-body h3 { display: -webkit-box; min-height: 38px; margin: 0; overflow: hidden; color: #292e34; font: 700 0.875rem/1.35 var(--body); -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.rental-result-card .rental-business-name { overflow: hidden; margin: 0; color: #777e86; font-size: 0.625rem; text-overflow: ellipsis; white-space: nowrap; }
.rental-result-card .listing-location-row { font-size: 0.625rem; }
.rental-result-card .rental-feature-list { margin-top: 1px; }
.rental-result-card .listing-location-row .ui-button-icon { width: 13px; height: 13px; flex: 0 0 13px; color: #f2a007; }
.rental-result-date { margin-top: auto; padding-top: 8px; border-top: 1px solid #e0e2e6; color: #818790; font-size: 0.5625rem; }
.rentals-page .catalog-empty { grid-column: 1/-1; }
@media (max-width: 1000px) {
  .rental-catalog-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .rentals-filter-bar { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .rentals-filter-clear { align-self: center; padding: 0; }
}
@media (max-width: 620px) {
  .rentals-page .page-shell { padding: 16px 12px 48px; }
  .rentals-newest-track { grid-auto-columns: minmax(205px,72vw); gap: 11px; }
  .rentals-section-heading { margin-bottom: 17px; }
  .rentals-section-heading h1,.rentals-section-heading h2 { font-size: 1.625rem; }
  .rentals-filter-bar { grid-template-columns: 1fr; gap: 10px; padding: 12px; }
  .rentals-filter-submit { width: 100%; }
  .rentals-filter-clear { justify-self: center; }
  .rental-catalog-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
  .rental-result-card .catalog-card-body { padding: 10px; }
  .rental-result-card .catalog-card-body h3 { font-size: 0.75rem; }
}
@media (max-width: 390px) { .rental-catalog-grid { grid-template-columns: 1fr; } }

/* Match homepage business cards to the compact, clickable directory cards. */
.home-page .home-business-card { overflow: hidden; border: 1px solid #d5d9df; border-radius: 13px; background: #f5f5f7; box-shadow: 0 4px 12px rgba(26,34,44,.09); }
.home-page .home-business-card-link { display: flex; height: 100%; flex-direction: column; color: inherit; }
.home-page .home-business-card-link:focus-visible { outline: 3px solid #f2a007; outline-offset: 3px; border-radius: 12px; }
.home-page .home-business-card .card-image { height: 184px; background: #e6e8e9; }
.home-page .home-business-card .card-image .card-tag { top: 12px; bottom: auto; left: 12px; padding: 5px 9px; border: 1px solid #f2d7c9; border-radius: 7px; background: #fff7f2; color: #a86400; font-size: 0.625rem; font-weight: 800; }
.home-page .home-business-card .card-body { display: flex; min-width: 0; flex: 1; flex-direction: column; gap: 6px; padding: 13px 14px 12px; }
.home-page .home-business-card .card-category { display: flex; align-items: center; gap: 4px; color: #70747c; font-size: 0.6875rem; }
.home-page .home-business-card .card-category .ui-button-icon { width: 14px; height: 14px; color: #f2a007; }
.home-page .home-business-card .card-body h3 { overflow: hidden; font-size: 1rem; line-height: 1.25; text-overflow: ellipsis; }
.home-page .home-business-card .card-meta { font-size: 0.65625rem; }
.home-page .home-business-card .listing-verified-badge { color: #42627b; }
@media (min-width: 900px) { .home-page .section .card-grid { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 17px; } }
@media (min-width: 1200px) { .home-page .section .card-grid { grid-template-columns: repeat(4,minmax(0,1fr)); gap: 17px; } }
@media (max-width: 640px) { .home-page .home-business-card .card-image { height: 176px; } }

/* Peza about and leadership section */
.home-about-section { display: grid; grid-template-columns: minmax(250px,.8fr) minmax(0,1.5fr); gap: clamp(25px,5vw,68px); align-items: center; margin-top: clamp(52px,7vw,88px); padding: clamp(24px,4.5vw,56px); border: 1px solid #e8e1d2; border-radius: 20px; background: #fff; }
.home-about-section { grid-template-columns: minmax(180px,.55fr) minmax(0,1fr); gap: clamp(22px,4vw,48px); }
.home-about-section > img { display: block; width: 100%; max-height: 250px; aspect-ratio: 1.1; border-radius: 14px; background: #282629; object-fit: cover; object-position: center 24%; }
.home-about-section > div { max-width: 650px; }
.home-about-section > div > .eyebrow { margin: 0 0 8px; color: #a86400; font-size: 0.625rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.home-about-section > div > h2 { color: #222a2d; font: 700 clamp(1.5rem,3.1vw,2.25rem)/1.12 var(--display); letter-spacing: -.04em; }
.home-about-section > div > p:not(.eyebrow) { margin: 12px 0 15px; color: #667073; font-size: 0.75rem; line-height: 1.7; }
.home-about-intro { max-width: 390px; }
.home-about-intro .eyebrow,.home-about-team .eyebrow { margin: 0 0 8px; color: #a86400; font-size: 0.625rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.home-about-intro h2 { color: #222a2d; font: 700 clamp(1.5625rem,3.4vw,2.4375rem)/1.12 var(--display); letter-spacing: -.04em; }
.home-about-intro > p:not(.eyebrow) { margin: 13px 0 17px; color: #667073; font-size: 0.75rem; line-height: 1.75; }
.home-about-link { display: inline-flex; min-height: 36px; align-items: center; gap: 7px; color: #956100; font-size: 0.6875rem; font-weight: 700; }
.home-about-link .ui-button-icon { width: 15px; height: 15px; }
.home-about-team { min-width: 0; }
.home-about-team > header { display: flex; align-items: end; justify-content: space-between; gap: 15px; margin-bottom: 15px; }
.home-about-team > header h2 { color: #252d30; font: 700 clamp(1.3125rem,2.6vw,1.8125rem)/1.15 var(--display); letter-spacing: -.035em; }
.home-about-team > header > p { max-width: 190px; margin: 0; color: #757d7e; font-size: 0.625rem; line-height: 1.5; text-align: right; }
.home-team-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; }
.home-team-card { position: relative; display: flex; min-width: 0; min-height: 145px; flex-direction: column; justify-content: space-between; gap: 14px; overflow: hidden; padding: 14px; border: 1px solid #e8e5de; border-radius: 13px; background: #fbfaf7; }
.home-team-avatar { display: grid; width: 42px; height: 42px; place-items: center; border: 1px solid #f0d89f; border-radius: 13px; background: #fff1c9; color: #825500; font: 800 0.875rem var(--display); }
.home-team-avatar-green { border-color: #d1e2d7; background: #e8f3ed; color: #216747; }
.home-team-avatar-sand { border-color: #ead9c6; background: #f5eadb; color: #875b36; }
.home-team-card h3 { overflow-wrap: anywhere; color: #2c3334; font: 700 0.75rem/1.35 var(--display); letter-spacing: -.015em; }
.home-team-card p { margin: 4px 0 0; color: #737b7c; font-size: 0.5625rem; line-height: 1.4; }
.home-team-number { position: absolute; top: 13px; right: 13px; color: #aaa69a; font-size: 0.5625rem; font-weight: 700; letter-spacing: .06em; }
@media (max-width: 850px) {
  .home-about-section { grid-template-columns: 1fr; gap: 28px; }
  .home-about-intro { max-width: 650px; }
  .home-about-section > img { width: min(100%,340px); max-height: 210px; aspect-ratio: 1.6; }
}
@media (max-width: 560px) {
  .home-about-section { gap: 24px; margin-top: 48px; padding: 21px 16px; border-radius: 15px; }
  .home-about-team > header { align-items: flex-start; flex-direction: column; gap: 6px; }
  .home-about-team > header > p { text-align: left; }
  .home-team-grid { grid-template-columns: 1fr; gap: 8px; }
  .home-team-card { min-height: 84px; flex-direction: row; align-items: center; justify-content: flex-start; padding: 11px; }
  .home-team-card > div:last-of-type { min-width: 0; }
  .home-team-card h3 { font-size: 0.75rem; }
}

/* Event detail page: poster-led hero with booking information below. */
.event-detail-page .page-shell { max-width: none; padding: 0 0 58px; }
.event-detail-page .messages { margin: 16px clamp(14px,4vw,48px); }
.event-detail-hero { position: relative; isolation: isolate; min-height: 480px; overflow: hidden; background: #26313a; color: #fff; }
.event-detail-backdrop,.event-detail-hero-shade { position: absolute; z-index: -2; inset: 0; width: 100%; height: 100%; }
.event-detail-backdrop { object-fit: cover; filter: blur(18px) brightness(.42); transform: scale(1.07); }
.event-detail-hero-shade { z-index: -1; background: rgba(16,24,31,.56); }
.event-detail-hero-content { width: min(100%,1460px); margin: 0 auto; padding: 0 clamp(18px,3.6vw,52px) 42px; }
.event-detail-topbar { display: flex; min-height: 53px; align-items: center; justify-content: space-between; gap: 12px; }
.event-detail-back,.event-detail-share summary { display: inline-flex; min-height: 32px; align-items: center; gap: 6px; padding: 0 11px; border: 1px solid rgba(255,255,255,.3); border-radius: 999px; background: rgba(255,255,255,.1); color: #fff; font-size: 0.625rem; font-weight: 600; text-decoration: none; cursor: pointer; }
.event-detail-back:hover,.event-detail-share summary:hover { border-color: rgba(255,255,255,.7); background: rgba(255,255,255,.18); }
.event-detail-back .ui-button-icon,.event-detail-share summary .ui-button-icon { width: 14px; height: 14px; }
.event-detail-share { position: relative; }
.event-detail-share summary { list-style: none; }
.event-detail-share summary::-webkit-details-marker { display: none; }
.event-detail-share-menu { position: absolute; z-index: 10; top: calc(100% + 7px); right: 0; width: 190px; padding: 8px; border: 1px solid #dedbd2; border-radius: 11px; background: #fff; box-shadow: 0 10px 28px rgba(0,0,0,.2); }
.event-detail-share-menu .share-links { display: grid; gap: 4px; }
.event-detail-share-menu .share-links > span { padding: 1px 4px 4px; color: #72777a; font-size: 0.5625rem; }
.event-detail-share-menu .share-links a { display: flex; min-height: 30px; align-items: center; gap: 6px; padding: 0 7px; border: 0; border-radius: 6px; background: #fff; color: #4e5557; font-size: 0.5625rem; text-decoration: none; }
.event-detail-share-menu .share-links a:hover { background: #fff4d9; color: #7d5200; }
.event-detail-share-menu .share-links .ui-button-icon { width: 14px; height: 14px; }
.event-detail-hero-grid { display: grid; grid-template-columns: minmax(240px,340px) minmax(0,1fr); align-items: center; gap: clamp(28px,4vw,50px); padding-top: 3px; }
.event-detail-poster-wrap { min-width: 0; }
.event-detail-poster { display: block; width: 100%; max-height: 425px; aspect-ratio: .8; border: 1px solid rgba(255,255,255,.16); border-radius: 16px; background: #343a3d; object-fit: cover; box-shadow: 0 15px 42px rgba(0,0,0,.3); }
.event-detail-poster-empty { display: flex; align-items: center; justify-content: center; flex-direction: column; gap: 12px; color: #e9b750; font-size: 0.6875rem; }
.event-detail-poster-empty .ui-button-icon { width: 36px; height: 36px; }
.event-detail-hero-copy { min-width: 0; padding: 14px 0; }
.event-detail-date { display: flex; align-items: center; gap: 9px; margin: 0 0 13px; color: #f4c766; font-size: 0.625rem; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }
.event-detail-date > span { width: 9px; height: 9px; border: 2px solid #e9a900; border-radius: 50%; background: #f4c766; box-shadow: 0 0 0 3px rgba(242,160,7,.17); }
.event-detail-hero-copy h1 { max-width: 900px; margin: 0; color: #fff; font: 800 clamp(2rem,5.3vw,4.25rem)/1.04 var(--display); letter-spacing: -.055em; text-wrap: balance; }
.event-detail-venue { display: flex; align-items: center; gap: 8px; margin: 18px 0 0; color: rgba(255,255,255,.86); font-size: 0.75rem; }
.event-detail-venue .ui-button-icon { width: 16px; height: 16px; flex: 0 0 16px; color: #f2a007; }
.event-detail-hero-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 28px; }
.event-detail-buy-link,.event-detail-whatsapp { display: inline-flex; min-height: 42px; align-items: center; justify-content: center; gap: 7px; padding: 0 20px; border: 1px solid #f2a007; border-radius: 999px; background: #f2a007; color: #251c06; font-size: 0.6875rem; font-weight: 800; text-decoration: none; }
.event-detail-buy-link:hover { border-color: #d18b00; background: #d18b00; }
.event-detail-whatsapp { border-color: var(--green); background: var(--green); color: #fff; }
.event-detail-whatsapp:hover { border-color: var(--green-dark); background: var(--green-dark); }
.event-detail-buy-link .ui-button-icon,.event-detail-whatsapp .ui-button-icon { width: 15px; height: 15px; }
.event-detail-price-hint { margin: 12px 0 0; color: rgba(255,255,255,.76); font-size: 0.625rem; }
.event-detail-price-hint strong { color: #fff; font-weight: 700; }
.event-detail-content-grid { display: grid; width: min(100% - 36px,1280px); grid-template-columns: minmax(0,1.8fr) minmax(290px,.9fr); align-items: start; gap: 20px; margin: 38px auto 0; }
.event-detail-information { display: grid; min-width: 0; gap: 15px; }
.event-detail-panel,.event-detail-ticket-card { min-width: 0; padding: clamp(19px,2.8vw,29px); border: 1px solid #e4e5e1; border-radius: 16px; background: #fff; box-shadow: 0 5px 18px rgba(31,38,39,.035); }
.event-detail-panel-eyebrow { margin: 0 0 7px; color: #9c6800; font-size: 0.5625rem; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }
.event-detail-panel h2 { margin: 0; color: #263034; font: 700 1.3125rem/1.2 var(--display); letter-spacing: -.025em; }
.event-detail-description { margin-top: 13px; color: #5d686d; font-size: 0.75rem; line-height: 1.75; }
.event-detail-description p { margin: 0 0 13px; }
.event-detail-description p:last-child { margin-bottom: 0; }
.event-detail-muted { color: #747d80; font-size: 0.6875rem; line-height: 1.6; }
.event-detail-manage-link,.event-detail-more-link { display: inline-flex; align-items: center; gap: 7px; margin-top: 14px; color: #986500; font-size: 0.625rem; font-weight: 700; }
.event-detail-manage-link .ui-button-icon,.event-detail-more-link .ui-button-icon { width: 14px; height: 14px; }
.event-detail-facts { display: grid; gap: 14px; margin: 17px 0 0; }
.event-detail-facts > div { display: grid; grid-template-columns: minmax(110px,.6fr) minmax(0,1fr); gap: 12px; }
.event-detail-facts dt { display: flex; align-items: center; gap: 7px; color: #687174; font-size: 0.625rem; font-weight: 700; }
.event-detail-facts dt .ui-button-icon { width: 15px; height: 15px; color: #a86400; }
.event-detail-facts dd { display: grid; gap: 2px; margin: 0; color: #364044; font-size: 0.6875rem; font-weight: 600; }
.event-detail-facts dd span { color: #747d80; font-size: 0.625rem; font-weight: 400; }
.event-detail-ticket-column { min-width: 0; scroll-margin-top: 90px; }
.event-detail-ticket-card { position: sticky; top: 88px; padding: 21px; }
.event-detail-ticket-price { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; margin-top: 11px; }
.event-detail-ticket-price strong,.event-detail-nonticket-price { color: #26343b; font: 700 1.3125rem/1.2 var(--display); }
.event-detail-ticket-price span { color: #6e777a; font-size: 0.625rem; }
.event-detail-ticket-cutout { position: relative; height: 18px; margin: 11px -21px 9px; border-bottom: 1px dashed #d8dce0; }
.event-detail-ticket-cutout::before,.event-detail-ticket-cutout::after { position: absolute; bottom: -8px; width: 16px; height: 16px; border: 1px solid #e4e5e1; border-radius: 50%; background: #f8f8f5; content: ''; }
.event-detail-ticket-cutout::before { left: -8px; }
.event-detail-ticket-cutout::after { right: -8px; }
.event-detail-ticket-remaining { margin: 0 0 12px; color: #697275; font-size: 0.625rem; }
.event-detail-ticket-form { display: grid; gap: 8px; }
.event-detail-ticket-form label { color: #4c565a; font-size: 0.625rem; font-weight: 700; }
.event-detail-ticket-form input { width: 100%; min-height: 39px; padding: 0 10px; border: 1px solid #dadddf; border-radius: 8px; background: #fff; color: #263034; font: 0.6875rem var(--body); }
.event-detail-ticket-form input:focus { border-color: #d99b00; outline: 3px solid rgba(242,160,7,.18); }
.event-detail-ticket-form button { display: flex; width: 100%; min-height: 42px; align-items: center; justify-content: center; gap: 7px; margin-top: 3px; border: 1px solid #f2a007; border-radius: 9px; background: #f2a007; color: #241c08; font: 700 0.6875rem var(--body); cursor: pointer; }
.event-detail-ticket-form button:hover { border-color: #d18b00; background: #d18b00; }
.event-detail-ticket-form button .ui-button-icon { width: 15px; height: 15px; }
.event-detail-sold-out { padding: 10px; border-radius: 8px; background: #fbe9e7; color: #a52d24; font-size: 0.6875rem; font-weight: 700; text-align: center; }
.event-detail-organizer-link,.event-detail-organizer-whatsapp { display: flex; min-height: 39px; align-items: center; justify-content: center; gap: 7px; margin-top: 8px; border: 1px solid #e0e1dc; border-radius: 9px; color: #4b5558; font-size: 0.625rem; font-weight: 700; }
.event-detail-organizer-whatsapp { border-color: var(--green); background: var(--green); color: #fff; }
.event-detail-organizer-link .ui-button-icon,.event-detail-organizer-whatsapp .ui-button-icon { width: 14px; height: 14px; }
.event-detail-report-link { display: inline-block; margin-top: 15px; color: #8a9294; font-size: 0.5625rem; }
.event-detail-report-link:hover { color: #ad3025; text-decoration: underline; }
@media (max-width: 760px) {
  .event-detail-hero { min-height: 0; }
  .event-detail-hero-content { padding: 0 16px 28px; }
  .event-detail-hero-grid { grid-template-columns: minmax(120px,200px) minmax(0,1fr); gap: 19px; }
  .event-detail-poster { max-height: 295px; border-radius: 12px; }
  .event-detail-hero-copy h1 { font-size: clamp(1.4375rem,5vw,2.375rem); }
  .event-detail-content-grid { grid-template-columns: minmax(0,1.3fr) minmax(250px,.9fr); gap: 12px; margin-top: 23px; }
  .event-detail-ticket-card { top: 78px; padding: 16px; }
  .event-detail-ticket-cutout { margin-right: -16px; margin-left: -16px; }
}
@media (max-width: 560px) {
  .event-detail-hero-content { padding: 0 13px 23px; }
  .event-detail-topbar { min-height: 47px; }
  .event-detail-hero-grid { grid-template-columns: minmax(95px,32vw) minmax(0,1fr); align-items: center; gap: 13px; }
  .event-detail-poster { aspect-ratio: .74; max-height: 260px; border-radius: 10px; }
  .event-detail-date { gap: 6px; margin-bottom: 8px; font-size: 0.5rem; letter-spacing: .07em; }
  .event-detail-date > span { width: 7px; height: 7px; flex: 0 0 7px; }
  .event-detail-hero-copy h1 { font-size: clamp(1.1875rem,6vw,1.8125rem); letter-spacing: -.035em; }
  .event-detail-venue { align-items: flex-start; gap: 5px; margin-top: 9px; font-size: 0.5625rem; line-height: 1.45; }
  .event-detail-venue .ui-button-icon { width: 13px; height: 13px; flex-basis: 13px; }
  .event-detail-hero-actions { display: grid; gap: 7px; margin-top: 14px; }
  .event-detail-buy-link,.event-detail-whatsapp { min-height: 35px; padding: 0 9px; font-size: 0.5625rem; }
  .event-detail-price-hint { margin-top: 8px; font-size: 0.5rem; }
  .event-detail-content-grid { width: calc(100% - 24px); grid-template-columns: minmax(0,1fr); gap: 12px; margin-top: 15px; }
  .event-detail-ticket-column { grid-row: 1; }
  .event-detail-ticket-card { position: static; }
  .event-detail-panel,.event-detail-ticket-card { padding: 17px; border-radius: 13px; }
  .event-detail-panel h2 { font-size: 1.125rem; }
  .event-detail-facts > div { grid-template-columns: 1fr; gap: 4px; }
}

/* Dedicated team page: editorial portrait and leadership profiles. */
.about-team-page .page-shell { max-width: none; padding: 0; background: #101113; }
.about-team-shell { position: relative; isolation: isolate; min-height: calc(100vh - 68px); overflow: hidden; padding: clamp(42px,6vw,76px) clamp(18px,7vw,105px) 30px; background: #101113; color: #f7f7f5; }
.about-team-shell::before,.about-team-shell::after { position: absolute; z-index: -1; width: 360px; height: 360px; border: 46px solid #17191b; border-radius: 50%; content: ''; pointer-events: none; }
.about-team-shell::before { top: -230px; left: -180px; }
.about-team-shell::after { right: -215px; bottom: -260px; }
.about-team-heading { position: relative; max-width: 560px; margin: 0 auto clamp(35px,5vw,58px); text-align: center; }
.about-team-kicker,.about-team-eyebrow { margin: 0 0 9px; color: #f2a007; font-size: 0.625rem; font-weight: 800; letter-spacing: .15em; text-transform: uppercase; }
.about-team-heading h1 { color: #fff; font: 700 clamp(1.9375rem,4.4vw,3rem)/1.1 var(--display); letter-spacing: -.045em; }
.about-team-heading > p:last-child { max-width: 460px; margin: 10px auto 0; color: #b7b9ba; font-size: 0.75rem; line-height: 1.6; }
.about-team-feature { display: grid; width: min(100%,1120px); grid-template-columns: minmax(300px,.78fr) minmax(0,1.22fr); align-items: center; gap: clamp(35px,7vw,90px); margin: 0 auto; }
.about-team-portrait { position: relative; min-height: 410px; max-height: 530px; overflow: hidden; border: 1px solid #343638; border-radius: 27px; background: #282629; }
.about-team-portrait img { display: block; width: 100%; height: 100%; min-height: 410px; max-height: 530px; object-fit: cover; object-position: center 17%; }
.about-team-role { position: absolute; top: 17px; right: 17px; left: 17px; display: flex; min-height: 40px; align-items: center; gap: 10px; padding: 0 12px; border: 1px solid rgba(255,255,255,.1); border-radius: 999px; background: #090a0b; color: #f7f7f5; font-size: 0.625rem; font-weight: 600; }
.about-team-role > span { display: grid; width: 29px; height: 29px; place-items: center; border-radius: 50%; background: #20272c; color: #f2a007; font-size: 1rem; }
.about-team-bio { max-width: 620px; padding: 20px 0; }
.about-team-eyebrow { color: #aeb1b2; font-size: 0.5625rem; }
.about-team-bio h2 { margin: 0; color: #fff; font: 700 clamp(2.125rem,5vw,3.4375rem)/1.05 var(--display); letter-spacing: -.05em; }
.about-team-title { margin: 9px 0 0; color: #f2a007; font-size: 0.75rem; font-weight: 700; }
.about-team-description { max-width: 55ch; margin: 19px 0 23px; color: #c1c3c3; font-size: 0.875rem; line-height: 1.75; }
.about-team-cta { display: inline-flex; min-height: 42px; align-items: center; gap: 8px; padding: 0 16px; border: 1px solid #f2a007; border-radius: 999px; background: #f2a007; color: #201b0e; font-size: 0.6875rem; font-weight: 800; }
.about-team-cta:hover { border-color: #d28a00; background: #d28a00; }
.about-team-cta .ui-button-icon { width: 15px; height: 15px; }
.about-team-leaders { display: grid; width: min(100%,1120px); grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; margin: clamp(34px,5vw,58px) auto 0; }
.about-team-leader-card { display: flex; min-width: 0; align-items: center; gap: 13px; padding: 15px; border: 1px solid #303234; border-radius: 13px; background: #17191b; }
.about-team-leader-avatar { display: grid; width: 47px; height: 47px; flex: 0 0 47px; place-items: center; border: 1px solid #70571f; border-radius: 13px; background: #282317; color: #f2a007; font: 800 0.8125rem var(--display); }
.about-team-leader-avatar-green { border-color: #315d48; background: #1d2b23; color: #91c9a4; }
.about-team-leader-card > div:nth-child(2) { min-width: 0; }
.about-team-leader-card p { margin: 0 0 3px; color: #aeb1b2; font-size: 0.5625rem; }
.about-team-leader-card h2 { overflow-wrap: anywhere; color: #f7f7f5; font: 700 0.875rem/1.3 var(--display); }
.about-team-leader-card > span { margin-left: auto; color: #777b7c; font-size: 0.5625rem; font-weight: 700; }
.about-team-footer { display: flex; width: min(100%,1120px); align-items: center; gap: 12px; margin: 35px auto 0; padding-top: 15px; border-top: 1px solid #292b2d; color: #a8acad; font-size: 0.5625rem; }
.about-team-footer > span { color: #fff; font: 800 0.9375rem var(--display); }
.about-team-footer p { margin: 0; }
.about-team-footer a { margin-left: auto; color: #f2a007; font-weight: 700; }
@media (max-width: 720px) {
  .about-team-shell { padding: 39px 16px 23px; }
  .about-team-heading { margin-bottom: 28px; }
  .about-team-feature { grid-template-columns: minmax(0,1fr); gap: 20px; }
  .about-team-portrait { width: min(100%,430px); min-height: 0; max-height: 470px; margin: 0 auto; }
  .about-team-portrait img { min-height: 0; max-height: 470px; aspect-ratio: .9; }
  .about-team-bio { padding: 0; }
  .about-team-description { margin: 13px 0 17px; font-size: 0.75rem; }
  .about-team-leaders { margin-top: 27px; }
}
@media (max-width: 500px) {
  .about-team-leaders { grid-template-columns: minmax(0,1fr); }
  .about-team-footer { flex-wrap: wrap; }
}

/* Marketplace listing detail, saved listings, and conversations */
.visually-hidden { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; clip-path: inset(50%); }
body.business-post-detail-page { height: 100dvh; min-height: 0; overflow: hidden; background: #e9e7e2; }
body.business-post-detail-page .site-header,
body.business-post-detail-page .site-footer { display: none; }
body.business-post-detail-page .page-shell { display: flex; flex: 1 1 auto; min-width: 0; min-height: 0; max-width: none; padding: 0; overflow: hidden; }
body.business-post-detail-page .messages { position: absolute; z-index: 5; top: 8px; left: 50%; width: min(600px, calc(100% - 24px)); transform: translateX(-50%); }
.marketplace-detail-layout { display: grid; grid-template-columns: minmax(0, 1.85fr) minmax(400px, 1fr); width: 100%; min-width: 0; height: 100%; overflow: hidden; background: var(--surface); color: #171915; font-family: var(--body); }
.marketplace-gallery-panel { position: relative; display: flex; min-width: 0; min-height: 0; flex-direction: column; padding: 10px 16px 12px; background: #292a29; }
.marketplace-gallery-topbar { position: absolute; z-index: 2; top: 14px; left: 16px; right: 16px; display: flex; align-items: center; gap: 12px; }
.marketplace-close { display: grid; width: 40px; height: 40px; place-items: center; border-radius: 50%; background: #f7f7f5; box-shadow: 0 2px 8px #0003; }
.marketplace-close svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 2; }
.marketplace-gallery-brand { display: inline-flex; align-items: baseline; gap: 7px; padding: 7px 12px; border-radius: 999px; background: #fff; color: #17231b; font: 800 0.9375rem var(--display); }
.marketplace-gallery-brand span { color: var(--ink-soft); font: 500 0.75rem var(--body); }
.marketplace-gallery-stage { position: relative; display: grid; flex: 1 1 auto; min-width: 0; min-height: 0; place-items: center; overflow: hidden; }
.marketplace-gallery-main { display: block; width: 100%; height: 100%; object-fit: contain; }
.marketplace-gallery-empty { display: grid; width: 100%; height: 100%; place-content: center; justify-items: center; color: #f6f5ef; }
.marketplace-gallery-empty > span svg { width: 46px; height: 46px; stroke: currentColor; fill: none; stroke-width: 1.5; }
.marketplace-gallery-empty p { margin: 10px 0 0; }
.marketplace-gallery-arrow { position: absolute; top: 50%; display: grid; width: 44px; height: 44px; place-items: center; border: 0; border-radius: 50%; background: rgba(255,255,255,.92); box-shadow: 0 2px 8px #0003; transform: translateY(-50%); cursor: pointer; }
.marketplace-gallery-arrow svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 2.2; }
.marketplace-gallery-arrow:hover { background: var(--sun); }
.gallery-previous { left: 12px; }
.gallery-next { right: 12px; }
.marketplace-gallery-thumbs { display: flex; flex: 0 0 auto; justify-content: center; gap: 8px; overflow-x: auto; padding: 9px 0 0; scrollbar-width: thin; }
.marketplace-gallery-thumb { flex: 0 0 48px; width: 48px; height: 40px; overflow: hidden; padding: 2px; border: 2px solid transparent; border-radius: 8px; background: #ffffff20; cursor: pointer; }
.marketplace-gallery-thumb.is-active { border-color: var(--sun); }
.marketplace-gallery-thumb img { width: 100%; height: 100%; border-radius: 4px; object-fit: cover; }
.marketplace-detail-sidebar { display: flex; min-width: 0; min-height: 0; flex-direction: column; border-left: 1px solid #d9dad6; background: var(--surface); }
.marketplace-sidebar-scroll { flex: 1 1 auto; min-height: 0; overflow-y: auto; padding: 20px 20px 24px; scrollbar-color: #c9cbc7 transparent; scrollbar-width: thin; }
.marketplace-listing-header { padding: 4px 0 14px; }
.marketplace-category-label { margin: 0 0 8px; color: var(--ink-soft); font-size: 0.6875rem; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
.marketplace-category-label span,.marketplace-listing-location span { padding: 0 3px; color: #93968f; }
.marketplace-listing-header h1 { font: 750 clamp(1.3125rem, 1.65vw, 1.6875rem)/1.15 var(--display); letter-spacing: -.025em; }
.marketplace-listing-price { margin: 7px 0 0; font: 700 1.1875rem var(--display); }
.marketplace-listing-price span { font: 500 0.8125rem var(--body); color: var(--ink-soft); }
.marketplace-listing-location { margin: 4px 0 0; color: var(--ink-soft); font-size: 0.75rem; }
.marketplace-listing-actions { display: flex; align-items: center; gap: 8px; padding: 0 0 17px; border-bottom: 1px solid var(--line); }
.marketplace-listing-actions form { margin: 0; }
.marketplace-message-action,.marketplace-icon-action { display: inline-flex; min-height: 40px; align-items: center; justify-content: center; gap: 8px; border: 0; border-radius: 11px; background: #f0f1ed; color: var(--ink); font: 700 0.8125rem var(--body); cursor: pointer; }
.marketplace-message-action { flex: 1; padding: 0 14px; background: var(--sun); }
.marketplace-message-action:hover { background: #e19400; }
.marketplace-message-action .ui-button-icon { width: 18px; height: 18px; }
.marketplace-message-action.is-disabled { cursor: default; opacity: .72; }
.marketplace-icon-action { width: 42px; height: 40px; padding: 0; }
.marketplace-icon-action svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.marketplace-icon-action:hover,.marketplace-icon-action.is-saved { background: var(--lake-tint); color: var(--lake-dark); }
.marketplace-share-menu { position: relative; }
.marketplace-share-menu > summary { list-style: none; }
.marketplace-share-menu > summary::-webkit-details-marker { display: none; }
.marketplace-share-popover { position: absolute; z-index: 5; top: calc(100% + 8px); right: 0; display: grid; width: 190px; gap: 3px; padding: 12px; border: 1px solid var(--line); border-radius: 13px; background: #fff; box-shadow: 0 14px 35px #14201b24; }
.marketplace-share-popover strong { padding: 5px 7px; font-size: 0.75rem; }
.marketplace-share-popover a { padding: 8px 7px; border-radius: 8px; font-size: 0.75rem; }
.marketplace-share-popover a:hover { background: var(--lake-tint); }
.marketplace-detail-section,.marketplace-map-section,.marketplace-seller-section,.marketplace-related-section { padding: 16px 0; border-bottom: 1px solid var(--line); }
.marketplace-detail-section h2,.marketplace-map-section h2,.marketplace-seller-section h2,.marketplace-related-section h2 { margin: 0 0 9px; font: 700 0.9375rem var(--display); letter-spacing: -.01em; }
.marketplace-description { color: #333b35; font-size: 0.8125rem; line-height: 1.55; overflow-wrap: anywhere; }
.marketplace-facts { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; margin: 13px 0 0; }
.marketplace-facts div { padding: 9px 10px; border-radius: 9px; background: #f4f4f0; }
.marketplace-facts dt { color: var(--ink-soft); font-size: 0.625rem; }
.marketplace-facts dd { margin: 2px 0 0; font-size: 0.75rem; font-weight: 700; }
.marketplace-condition { margin: 10px 0 0; font-size: 0.75rem; }
.marketplace-map-section iframe { display: block; width: 100%; height: 94px; border: 0; border-radius: 9px; background: #e8eddf; }
.marketplace-map-placeholder { display: grid; min-height: 94px; align-content: center; justify-items: center; gap: 3px; border-radius: 9px; background: #e8eddf; }
.marketplace-map-placeholder > span svg { width: 21px; height: 21px; stroke: var(--green); fill: none; stroke-width: 1.8; }
.marketplace-map-placeholder strong { font-size: 0.75rem; }
.marketplace-map-placeholder small,.marketplace-map-section > p { color: var(--ink-soft); font-size: 0.625rem; }
.marketplace-map-section > p { margin: 6px 0 0; }
.marketplace-map-section > p span { color: #838881; }
.marketplace-section-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.marketplace-section-heading a { color: var(--lake-dark); font-size: 0.6875rem; font-weight: 700; }
.marketplace-seller-card { display: flex; align-items: center; gap: 11px; margin-top: 9px; }
.marketplace-seller-card > img,.marketplace-seller-avatar { display: grid; width: 42px; height: 42px; flex: 0 0 42px; place-items: center; border-radius: 50%; background: var(--lake-tint); color: var(--lake-dark); font: 700 1.0625rem var(--display); object-fit: cover; }
.marketplace-seller-card > div { display: grid; gap: 1px; }
.marketplace-seller-card strong { font-size: 0.8125rem; }
.marketplace-seller-card small { color: var(--ink-soft); font-size: 0.625rem; }
.marketplace-phone-link { display: inline-flex; margin-top: 10px; color: var(--lake-dark); font-size: 0.75rem; font-weight: 700; }
.marketplace-related-tags { display: flex; flex-wrap: wrap; gap: 7px; }
.marketplace-related-tags a { padding: 7px 10px; border-radius: 999px; background: #f0f1ed; font-size: 0.625rem; font-weight: 600; }
.marketplace-related-tags a:hover { background: var(--lake-tint); }
.marketplace-chat-dock { flex: 0 0 auto; padding: 12px 16px 15px; border-top: 1px solid var(--line); background: var(--surface); }
.marketplace-chat-dock form > label { display: flex; align-items: center; gap: 7px; margin-bottom: 6px; font-size: 0.6875rem; font-weight: 600; }
.marketplace-chat-dock form > label .ui-button-icon { width: 16px; height: 16px; color: var(--lake-dark); }
.marketplace-chat-dock form > div { display: flex; gap: 7px; }
.marketplace-chat-dock input { width: 100%; min-width: 0; height: 42px; padding: 0 13px; border: 1px solid #d8dad5; border-radius: 13px; font: 0.8125rem var(--body); }
.marketplace-chat-dock button,.marketplace-chat-login { display: inline-flex; align-items: center; justify-content: center; padding: 0 16px; border: 0; border-radius: 10px; background: var(--sun); color: var(--ink); font: 700 0.75rem var(--body); cursor: pointer; }
.marketplace-chat-dock > p { margin: 0; color: var(--ink-soft); font-size: 0.75rem; }
.marketplace-chat-login { min-height: 36px; margin-top: 8px; }
.account-message-shell,.account-chat-shell,.saved-listings-shell { width: min(100%,1100px); margin: 0 auto; }
.account-message-shell > header,.saved-listings-shell > header { margin: 12px 0 23px; }
.account-message-shell h1,.saved-listings-shell h1,.account-chat-header h1 { font-size: clamp(1.75rem,4vw,2.5rem); }
.account-message-shell > header > p:last-child,.saved-listings-shell > header > p:last-child { margin: 7px 0 0; color: var(--ink-soft); }
.account-conversation-list { overflow: hidden; border: 1px solid var(--line); border-radius: 15px; background: var(--surface); }
.account-conversation-row { display: flex; align-items: center; gap: 13px; min-width: 0; padding: 15px; border-bottom: 1px solid var(--line); }
.account-conversation-row:last-child { border-bottom: 0; }
.account-conversation-row:hover { background: #fffaf0; }
.account-conversation-avatar { display: grid; width: 44px; height: 44px; flex: 0 0 44px; place-items: center; border-radius: 50%; background: var(--lake-tint); color: var(--lake-dark); font: 700 1.125rem var(--display); }
.account-conversation-copy { display: grid; min-width: 0; flex: 1; }
.account-conversation-copy strong,.account-conversation-copy span,.account-conversation-copy small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.account-conversation-copy strong { font-size: 0.8125rem; }
.account-conversation-copy span,.account-conversation-copy small,.account-conversation-row time { color: var(--ink-soft); font-size: 0.6875rem; }
.account-conversation-row time { flex: 0 0 auto; }
.account-message-empty { padding: 38px 20px; border: 1px dashed #c9cec5; border-radius: 14px; color: var(--ink-soft); text-align: center; }
.account-message-empty strong { color: var(--ink); }
.account-message-empty p { margin: 7px auto 15px; max-width: 52ch; font-size: 0.8125rem; }
.account-chat-shell { display: flex; min-height: min(76vh,820px); flex-direction: column; overflow: hidden; border: 1px solid var(--line); border-radius: 16px; background: var(--surface); }
.account-chat-header { display: flex; align-items: center; gap: 18px; padding: 17px 20px; border-bottom: 1px solid var(--line); }
.account-chat-header > a:first-child { color: var(--lake-dark); font-size: 0.75rem; font-weight: 700; }
.account-chat-header > div { flex: 1; min-width: 0; }
.account-chat-header .eyebrow { margin: 0 0 4px; font-size: 0.625rem; }
.account-chat-header h1 { overflow: hidden; font-size: 1.1875rem; text-overflow: ellipsis; white-space: nowrap; }
.account-chat-header span { color: var(--ink-soft); font-size: 0.6875rem; }
.account-chat-messages { display: flex; min-height: 330px; flex: 1; flex-direction: column; gap: 12px; overflow-y: auto; padding: 20px; }
.account-chat-message { align-self: flex-start; max-width: min(76%,620px); padding: 10px 13px; border-radius: 13px 13px 13px 3px; background: #f1f2ee; }
.account-chat-message.is-mine { align-self: flex-end; border-radius: 13px 13px 3px 13px; background: var(--lake-tint); }
.account-chat-message p { margin: 0; font-size: 0.8125rem; overflow-wrap: anywhere; }
.account-chat-message small { display: block; margin-top: 6px; color: var(--ink-soft); font-size: 0.5625rem; }
.account-chat-composer { display: flex; align-items: end; gap: 10px; padding: 14px; border-top: 1px solid var(--line); }
.account-chat-composer textarea { flex: 1; min-width: 0; resize: vertical; padding: 11px 13px; border: 1px solid var(--line); border-radius: 12px; font: 0.8125rem var(--body); }
.account-chat-composer .button { white-space: nowrap; }
.saved-listings-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; }
.saved-listing-card { min-width: 0; overflow: hidden; border: 1px solid var(--line); border-radius: 14px; background: var(--surface); }
.saved-listing-card > img,.saved-listing-placeholder { display: grid; width: 100%; aspect-ratio: 1.4; place-items: center; background: #eeeade; object-fit: cover; }
.saved-listing-card > div:last-child { padding: 13px; }
.saved-listing-card > div span { color: var(--lake-dark); font-size: 0.625rem; font-weight: 700; }
.saved-listing-card h2 { margin: 5px 0; font: 700 0.9375rem var(--display); }
.saved-listing-card p { margin: 0 0 7px; color: var(--ink-soft); font-size: 0.6875rem; }
.saved-listing-card strong { font-size: 0.8125rem; }
@media (max-width: 820px) {
  body.business-post-detail-page { height: auto; min-height: 100dvh; overflow: auto; }
  body.business-post-detail-page .page-shell { display: block; min-height: 100dvh; overflow: visible; }
  .marketplace-detail-layout { grid-template-columns: minmax(0,1fr); height: auto; min-height: 100dvh; overflow: visible; }
  .marketplace-gallery-panel { height: min(64vh,620px); min-height: 350px; padding: 8px 10px 10px; }
  .marketplace-gallery-topbar { top: 11px; left: 12px; }
  .marketplace-detail-sidebar { min-height: 630px; border-left: 0; }
  .marketplace-sidebar-scroll { overflow: visible; }
  .marketplace-chat-dock { position: sticky; bottom: 0; z-index: 3; }
  .saved-listings-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 520px) {
  .marketplace-gallery-panel { height: 54vh; min-height: 290px; }
  .marketplace-sidebar-scroll { padding: 17px 15px 20px; }
  .marketplace-listing-header h1 { font-size: 1.3125rem; }
  .marketplace-chat-dock { padding: 10px 12px calc(10px + env(safe-area-inset-bottom)); }
  .marketplace-gallery-thumb { flex-basis: 42px; width: 42px; height: 36px; }
  .saved-listings-grid { grid-template-columns: 1fr; }
  .account-chat-header { align-items: flex-start; flex-wrap: wrap; }
  .account-chat-header > div { order: 2; flex-basis: 100%; }
  .account-chat-header > a:first-child { margin-right: auto; }
  .account-chat-message { max-width: 90%; }
  .account-chat-composer { align-items: stretch; flex-direction: column; }
  .account-chat-composer .button { width: 100%; }
}

/* Multi-photo upload drop areas for business galleries and listings */
.peza-image-dropzone { position: relative; display: grid; min-height: 150px; align-content: center; justify-items: center; gap: 5px; padding: 18px; overflow: hidden; border: 1.5px dashed #c9c9bc; border-radius: 14px; background: #fbfaf6; color: var(--ink); text-align: center; transition: border-color .15s, background .15s, box-shadow .15s; }
.peza-image-dropzone.is-dragging { border-color: var(--sun); background: var(--lake-tint); box-shadow: inset 0 0 0 2px var(--sun); }
.peza-image-dropzone-icon { display: grid; width: 38px; height: 38px; place-items: center; border-radius: 12px; background: var(--lake-tint); color: var(--lake-dark); }
.peza-image-dropzone-icon svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.peza-image-dropzone > strong { margin-top: 3px; font: 700 0.8125rem var(--display); }
.peza-image-dropzone > span:not(.peza-image-dropzone-icon) { color: var(--ink-soft); font-size: 0.6875rem; }
.peza-image-dropzone > span label { color: var(--lake-dark); font-weight: 700; text-decoration: underline; text-underline-offset: 2px; cursor: pointer; }
.peza-image-dropzone > span label:focus-visible { outline: 2px solid var(--sun); outline-offset: 3px; }
.peza-image-dropzone input[type="file"] { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); clip-path: inset(50%); white-space: nowrap; }
.peza-image-previews { display: flex; width: 100%; flex-wrap: wrap; justify-content: center; gap: 8px; margin-top: 8px; }
.peza-image-preview { display: grid; width: 78px; min-width: 0; gap: 3px; text-align: left; }
.peza-image-preview img { width: 78px; height: 58px; border-radius: 7px; object-fit: cover; }
.peza-image-preview span { overflow: hidden; color: var(--ink-soft); font-size: 0.5625rem; text-overflow: ellipsis; white-space: nowrap; }
.peza-image-preview-count { flex: 0 0 100%; margin: 3px 0 0; color: var(--green); font-size: 0.625rem; font-weight: 700; }
.business-existing-gallery { display: grid; gap: 8px; margin-top: 12px; }
.business-existing-gallery > strong { font-size: 0.6875rem; }
.business-existing-gallery > div { display: flex; flex-wrap: wrap; gap: 8px; }
.business-existing-gallery img { width: 76px; height: 60px; border-radius: 7px; object-fit: cover; }
.business-existing-gallery small { color: var(--ink-soft); font-size: 0.625rem; }
.peza-image-dropzone-post { min-height: 165px; }
@media (prefers-reduced-motion: reduce) { .peza-image-dropzone { transition: none; } }

/* Seller dashboard workspace */
body.peza-seller-dashboard-page { min-height: 100vh; background: #f1f3f3; }
body.peza-seller-dashboard-page .site-header,body.peza-seller-dashboard-page .site-footer { display: none; }
body.peza-seller-dashboard-page .page-shell { position: relative; width: 100%; max-width: none; min-height: 100vh; padding: 0; }
body.peza-seller-dashboard-page > .skip-link { z-index: 250; }
body.peza-seller-dashboard-page .messages { position: fixed; z-index: 230; top: 12px; left: 50%; width: min(620px,calc(100vw - 28px)); margin: 0; transform: translateX(-50%); }
.peza-dashboard-layout { display: grid; min-height: 100vh; grid-template-columns: 258px minmax(0,1fr); color: #18231f; }
.peza-dashboard-sidebar { position: sticky; top: 0; display: flex; height: 100vh; min-height: 620px; flex-direction: column; padding: 20px 15px 13px; border-right: 1px solid #dce2df; background: #edf2f1; }
.peza-dashboard-brand { display: flex; align-items: center; gap: 9px; padding: 0 9px 27px; color: var(--ink); font: 800 1.1875rem var(--display); letter-spacing: -.04em; }
.peza-dashboard-brand .brand-mark { display: grid; width: 27px; height: 27px; place-items: center; overflow: hidden; border-radius: 7px; }
.peza-dashboard-brand .brand-mark img { width: 100%; height: 100%; object-fit: contain; }
.peza-sidebar-label { margin: 0 10px 9px; color: #77847e; font-size: 0.5625rem; font-weight: 800; letter-spacing: .14em; }
.peza-dashboard-nav { display: grid; gap: 3px; }
.peza-dashboard-nav a,.peza-sidebar-bottom > a:first-child { display: flex; min-height: 40px; align-items: center; gap: 10px; padding: 0 10px; border-radius: 9px; color: #606b66; font-size: 0.75rem; font-weight: 600; }
.peza-dashboard-nav a:hover,.peza-sidebar-bottom > a:first-child:hover { background: #e3e9e6; color: var(--ink); }
.peza-dashboard-nav a.is-active { border: 1px solid #e0e4e1; background: #fff; color: #202a25; box-shadow: 0 1px 3px #14201b0a; }
.peza-nav-icon { display: grid; width: 19px; height: 19px; flex: 0 0 19px; place-items: center; color: #66736d; }
.peza-nav-icon .ui-button-icon { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.peza-dashboard-nav a.is-active .peza-nav-icon { color: var(--green); }
.peza-sidebar-bottom { display: grid; gap: 9px; margin-top: auto; }
.peza-sidebar-user { display: flex; min-width: 0; align-items: center; gap: 8px; padding: 9px 3px 0; border-top: 1px solid #dce2df; }
.peza-sidebar-user > img,.peza-sidebar-avatar { display: grid; width: 34px; height: 34px; flex: 0 0 34px; place-items: center; border-radius: 50%; background: var(--sun); color: #283128; font: 700 0.75rem var(--display); object-fit: cover; }
.peza-sidebar-user > span:nth-child(2) { display: grid; min-width: 0; flex: 1; }
.peza-sidebar-user strong { overflow: hidden; font-size: 0.6875rem; text-overflow: ellipsis; white-space: nowrap; }
.peza-sidebar-user small { color: #78837d; font-size: 0.5625rem; }
.peza-sidebar-chevron { color: #8a928d; }
.peza-dashboard-workspace { min-width: 0; }
.peza-dashboard-topbar { position: sticky; z-index: 40; top: 0; display: flex; min-height: 67px; align-items: center; justify-content: space-between; gap: 14px; padding: 0 clamp(20px,3vw,42px); border-bottom: 1px solid #e1e5e2; background: rgba(249,250,249,.94); backdrop-filter: blur(10px); }
.peza-dashboard-topbar-label { color: #74817a; font-size: 0.6875rem; font-weight: 700; }
.peza-dashboard-topbar > div { display: flex; align-items: center; gap: 20px; }
.peza-dashboard-topbar > div > a:not(.peza-topbar-avatar) { color: #58645e; font-size: 0.6875rem; font-weight: 600; }
.peza-dashboard-topbar > div > a:not(.peza-topbar-avatar):hover { color: var(--lake-dark); }
.peza-topbar-avatar { display: grid; width: 36px; height: 36px; overflow: hidden; place-items: center; border-radius: 50%; background: var(--sun); color: #283128; font: 700 0.8125rem var(--display); }
.peza-topbar-avatar img { width: 100%; height: 100%; object-fit: cover; }
.peza-dashboard-columns { display: grid; grid-template-columns: minmax(0,1fr) 300px; align-items: start; gap: 20px; width: min(100%,1600px); margin: 0 auto; padding: 29px clamp(18px,2.8vw,40px) 54px; }
.peza-dashboard-primary { min-width: 0; }
.peza-dashboard-primary > .dashboard-welcome { align-items: flex-start; margin: 0 0 21px; }
.peza-dashboard-primary .dashboard-welcome h1 { color: #18231f; font-size: clamp(1.5625rem,2.6vw,2.125rem); letter-spacing: -.04em; }
.peza-dashboard-primary .dashboard-welcome > div:first-child > p:last-child { margin-top: 5px; font-size: 0.75rem; }
.peza-dashboard-primary .dashboard-welcome .eyebrow { color: var(--green); }
.peza-dashboard-primary .dashboard-actions { display: none; }
.peza-dashboard-primary .dashboard-metrics { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 11px; }
.peza-dashboard-primary .dashboard-metric { min-height: 83px; padding: 15px 17px; border-color: #e1e6e3; border-radius: 12px; box-shadow: 0 2px 8px #18231f07; }
.peza-dashboard-primary .dashboard-metric-icon { width: 36px; height: 36px; flex-basis: 36px; border-radius: 11px; }
.peza-dashboard-primary .dashboard-metric strong { font-size: clamp(1.3125rem,2vw,1.6875rem); }
.peza-dashboard-primary .dashboard-sales-note { margin-top: 8px; font-size: 0.5625rem; }
.peza-dashboard-primary .dashboard-chart-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; margin-top: 16px; }
.peza-dashboard-primary .dashboard-panel { padding: 16px; border-color: #e1e6e3; border-radius: 14px; box-shadow: 0 2px 9px #18231f08; }
.peza-dashboard-primary .dashboard-panel-heading { margin-bottom: 12px; }
.peza-dashboard-primary .dashboard-panel-heading h2 { font-size: 1rem; }
.peza-dashboard-primary .dashboard-panel-heading .eyebrow { font-size: 0.5625rem; }
.peza-dashboard-primary .sales-chart { height: 145px; }
.peza-dashboard-primary .dashboard-recent-sales { margin-top: 12px; }
.peza-dashboard-primary .dashboard-section { margin-top: 27px; }
.peza-dashboard-primary .dashboard-section-heading h2 { font-size: 1.3125rem; }
.peza-dashboard-primary .dashboard-section-heading p:last-child { font-size: 0.625rem; }
.peza-dashboard-primary .dashboard-search { padding: 8px; }
.peza-dashboard-primary .dashboard-business-card { grid-template-columns: 34px minmax(0,1fr) auto; padding: 12px; }
.peza-dashboard-primary .dashboard-business-card > .dashboard-list-icon { width: 34px; height: 34px; flex-basis: 34px; }
.peza-dashboard-rail { position: sticky; top: 82px; display: grid; gap: 13px; min-width: 0; }
.peza-rail-card { padding: 16px; border: 1px solid #e0e5e2; border-radius: 15px; background: #fff; box-shadow: 0 2px 8px #18231f08; }
.peza-rail-heading { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 12px; }
.peza-rail-heading .eyebrow { margin: 0 0 4px; color: var(--green); font-size: 0.5625rem; }
.peza-rail-heading h2,.peza-rail-card h2 { font-size: 1rem; letter-spacing: -.025em; }
.peza-rail-heading-icon,.peza-status-icon { display: grid; width: 35px; height: 35px; place-items: center; border-radius: 50%; background: #f1f4f2; color: var(--green); }
.peza-rail-heading-icon .ui-button-icon,.peza-status-icon .ui-button-icon { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 1.7; }
.peza-quick-actions { display: grid; gap: 7px; }
.peza-quick-actions a { display: flex; min-height: 45px; align-items: center; gap: 9px; padding: 0 10px; border-radius: 10px; background: #f5f6f5; color: #27322d; }
.peza-quick-actions a:hover { background: #eef3ef; }
.peza-quick-actions a > span { display: grid; width: 23px; height: 23px; place-items: center; color: var(--green); }
.peza-quick-actions a > span .ui-button-icon { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.peza-quick-actions a strong { flex: 1; font-size: 0.6875rem; }
.peza-quick-actions a i { color: #818a85; font-size: 1.25rem; font-style: normal; }
.peza-account-status .peza-status-icon,.peza-help-card .peza-status-icon { margin-bottom: 12px; }
.peza-rail-card > p { margin: 7px 0 10px; color: #69756f; font-size: 0.6875rem; line-height: 1.55; }
.peza-rail-card > a { display: inline-flex; align-items: center; gap: 6px; color: var(--green); font-size: 0.625rem; font-weight: 700; }
.peza-rail-card > small { display: block; margin-top: 9px; padding-top: 9px; border-top: 1px solid #edf0ee; color: #85918a; font-size: 0.5625rem; }
.peza-help-card { background: #f8faf8; }
.peza-help-card .peza-status-icon { background: var(--lake-tint); color: var(--lake-dark); }
body.peza-seller-dashboard-page .dashboard-nav-open { display: none; }
.peza-dashboard-page-content { width: 100%; max-width: 1600px; min-width: 0; margin: 0 auto; padding: 28px clamp(18px,2.8vw,40px) 52px; }
.peza-seller-dashboard-home .peza-dashboard-page-content { max-width: none; padding: 0; }
.peza-seller-dashboard-home .peza-dashboard-columns { padding-top: 29px; }
.peza-dashboard-page-content > .dashboard-welcome { align-items: flex-start; margin: 0 0 23px; }
.peza-dashboard-page-content > .dashboard-welcome h1 { font-size: clamp(1.5625rem,2.6vw,2.125rem); }
.peza-dashboard-page-content > .dashboard-welcome > div:first-child > p:last-child { font-size: 0.75rem; }
.peza-dashboard-page-content > .dashboard-search { margin: 0 0 17px; }
.peza-dashboard-page-content > .dashboard-list-grid { gap: 10px; }
.peza-dashboard-page-content > .dashboard-metrics { margin-bottom: 0; }
.peza-dashboard-page-content > .dashboard-chart-grid { margin-top: 18px; }
.peza-dashboard-page-content > .dashboard-recent-sales { margin-top: 14px; }
.peza-dashboard-page-content > .dashboard-section { margin-top: 31px; }
.peza-dashboard-page-content .dashboard-nav-open { display: none; }
.peza-create-dialog { width: min(100%,1120px); margin: 2px auto 25px; overflow: hidden; border: 1px solid #dfe5e2; border-radius: 15px; background: #fff; box-shadow: 0 10px 32px #13221a0c; }
.peza-create-dialog-header { display: flex; min-height: 72px; align-items: center; justify-content: space-between; gap: 20px; padding: 15px 20px; border-bottom: 1px solid #e4e8e5; }
.peza-create-dialog-header .eyebrow { margin: 0 0 3px; color: var(--green); font-size: 0.5625rem; letter-spacing: .1em; text-transform: uppercase; }
.peza-create-dialog-header h1 { color: #28322d; font-size: 1.1875rem; letter-spacing: -.025em; }
.peza-create-dialog-header p:last-child { margin: 3px 0 0; color: #78817c; font-size: 0.625rem; }
.peza-dialog-close { display: grid; width: 35px; height: 35px; flex: 0 0 35px; place-items: center; border-radius: 50%; color: #626c66; }
.peza-dialog-close:hover { background: #f0f3f1; color: var(--ink); }
.peza-dialog-close svg { width: 19px; height: 19px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; }
.peza-dialog-guide { align-self: stretch; min-width: 0; padding: 18px !important; border: 0 !important; border-radius: 0 !important; background: #f0f6f7 !important; box-shadow: none !important; }
.peza-dialog-guide h2 { color: #2c3732; font-size: 0.9375rem; }
.peza-dialog-guide > p { color: #68736e; font-size: 0.625rem; line-height: 1.55; }
.peza-dialog-guide ul { display: grid; gap: 9px; margin: 14px 0; padding: 0; list-style: none; }
.peza-dialog-guide li { display: flex; align-items: flex-start; gap: 7px; color: #57635d; font-size: 0.625rem; line-height: 1.4; }
.peza-dialog-guide li span { color: var(--green); font-weight: 800; }
.peza-dialog-guide .business-form-aside-icon,.peza-dialog-guide .event-form-aside-icon { width: 68px; height: 68px; margin: 0 auto 15px; border-radius: 14px; background: #fff; color: #0b9bc1; }
.peza-dialog-guide .business-review-note,.peza-dialog-guide .event-review-note { margin-top: 16px; padding-top: 12px; border-top: 1px solid #d8e2e2; background: transparent; }
.peza-dialog-guide .business-review-note p,.peza-dialog-guide .event-review-note p { color: #68736e; font-size: 0.5625rem; }
.peza-dialog-cancel { display: inline-flex; min-height: 35px; align-items: center; justify-content: center; padding: 0 15px; border: 1px solid #d9dedb; border-radius: 9px; background: #fff; color: #4f5b55; font: 600 0.625rem var(--body); }
.peza-dialog-cancel:hover { background: #f5f7f5; }
.business-form-page .page-shell,.event-form-page .page-shell { max-width: none; }
.business-form-page .peza-dashboard-page-content,.event-form-page .peza-dashboard-page-content { max-width: 1400px; }
.business-form-heading,.event-form-heading { display: none; }
.business-form-layout,.event-form-layout,.seller-listing-form-layout { display: grid; grid-template-columns: 220px minmax(0,1fr); gap: 0; align-items: stretch; overflow: hidden; border-bottom: 1px solid #e5e9e6; }
.business-form-layout > form,.event-form-layout > form,.seller-listing-form-layout > form { grid-column: 2; grid-row: 1; min-width: 0; border: 0; border-radius: 0; box-shadow: none; }
.business-form-layout > aside,.event-form-layout > aside,.seller-listing-form-layout > aside { grid-column: 1; grid-row: 1; position: static; margin: 0; }
.business-form-layout .business-form-section,.event-form-layout .event-form-section { padding: 19px 22px; }
.business-form-layout .business-stepper,.event-form-layout .event-stepper { margin: 0; padding: 12px 22px; border-bottom: 1px solid #edf0ee; background: #fff; }
.business-form-layout .business-form-section-heading,.event-form-layout .event-form-section-heading { margin-bottom: 14px; }
.business-form-layout .business-form-section-heading h2,.event-form-layout .event-form-section-heading h2 { font-size: 0.9375rem; }
.business-form-layout .business-form-section-heading p,.event-form-layout .event-form-section-heading p { font-size: 0.5625rem; }
.business-form-layout .business-form-field input,.business-form-layout .business-form-field select,.business-form-layout .business-form-field textarea,.event-form-layout .event-form-field input,.event-form-layout .event-form-field select,.event-form-layout .event-form-field textarea,.seller-listing-form input:not([type=checkbox]):not([type=file]),.seller-listing-form select,.seller-listing-form textarea { min-height: 38px; border-radius: 8px; font-size: 0.625rem; }
.business-form-layout .business-form-fields,.event-form-layout .event-form-fields { gap: 11px; }
.business-form-layout .business-step-controls,.event-form-layout .event-form-footer,.seller-listing-form-actions { display: flex; min-height: 59px; align-items: center; justify-content: flex-end; gap: 8px; padding: 10px 18px; border-top: 1px solid #e4e8e5; background: #fbfcfb; }
.business-form-layout .business-step-controls { justify-content: flex-end; }
.business-form-layout .business-step-controls .peza-dialog-cancel { margin-right: auto; }
.business-form-layout .business-step-controls .button,.event-form-layout .event-form-footer .button,.seller-listing-form-actions .button { min-height: 35px; padding: 0 15px; border-radius: 9px; font-size: 0.625rem; }
.event-form-layout .event-form-footer p { margin: 0 auto 0 0; color: #79827d; font-size: 0.5625rem; }
.event-form-layout .event-step-controls { padding: 8px 18px 0; }
.seller-listing-form-layout { border-bottom: 0; }
.seller-listing-form-layout > form { padding: 20px 22px; }
.seller-listing-form .seller-form-field label { font-size: 0.625rem; }
.seller-listing-form .seller-form-field small { font-size: 0.5625rem; }
.seller-listing-form .seller-listing-form-note { margin: 0; color: #7a847f; font-size: 0.5625rem; }
.seller-listing-form-actions { margin: 17px -22px -20px; }
.seller-listing-form-layout .seller-listing-aside { order: -1; }
.peza-settings-dialog { display: grid; grid-template-columns: 220px minmax(0,1fr); overflow: hidden; border: 1px solid #dfe5e2; border-radius: 15px; background: #fff; }
.peza-settings-guide { padding: 20px; background: #f0f6f7; }
.peza-settings-guide h2 { font-size: 0.9375rem; }
.peza-settings-guide p { color: #68736e; font-size: 0.625rem; line-height: 1.6; }
.account-settings-panel { border: 0; border-radius: 0; box-shadow: none; }
.peza-settings-guide .business-form-aside-icon { display: grid; width: 48px; height: 48px; margin: 0 0 17px; place-items: center; border-radius: 13px; background: #fff; color: var(--lake-dark); }
.peza-settings-guide .business-form-aside-icon .ui-button-icon { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 1.7; }
.peza-setup-dialog { max-width: 900px; margin-top: 28px; }
.seller-setup-layout { display: grid; grid-template-columns: 230px minmax(0,1fr); align-items: stretch; }
.seller-setup-layout > .peza-dialog-guide { grid-column: 1; grid-row: 1; }
.seller-setup-layout > form { grid-column: 2; grid-row: 1; min-width: 0; margin: 0; border: 0; border-radius: 0; box-shadow: none; }
.seller-setup-panel .seller-setup-heading { margin-bottom: 15px; }
.seller-setup-panel .seller-setup-heading h2 { font-size: 0.9375rem; }
.seller-setup-panel .seller-setup-heading p { font-size: 0.625rem; }
.seller-setup-panel .seller-setup-grid { gap: 8px; }
.seller-setup-panel .seller-setup-card { min-height: 68px; padding: 9px; border-radius: 9px; }
.seller-setup-panel .seller-setup-card strong { font-size: 0.625rem; }
.seller-setup-panel .seller-setup-icon { width: 27px; height: 27px; }
.seller-setup-panel .seller-setup-actions { margin-top: 15px; padding-top: 12px; border-top: 1px solid #e7ebe8; }
@media (max-width: 920px) {
  .peza-dashboard-page-content { padding: 22px 18px 38px; }
  .business-form-layout,.event-form-layout,.seller-listing-form-layout,.peza-settings-dialog { grid-template-columns: 190px minmax(0,1fr); }
  .seller-setup-layout { grid-template-columns: 190px minmax(0,1fr); }
}
@media (max-width: 640px) {
  .peza-dashboard-page-content { padding: 18px 13px 30px; }
  .peza-create-dialog { margin-top: 0; border-radius: 12px; }
  .peza-create-dialog-header { min-height: 64px; padding: 12px 14px; }
  .business-form-layout,.event-form-layout,.seller-listing-form-layout,.peza-settings-dialog,.seller-setup-layout { grid-template-columns: minmax(0,1fr); }
  .business-form-layout > aside,.event-form-layout > aside,.seller-listing-form-layout > aside,.seller-setup-layout > aside { grid-column: 1; grid-row: 1; }
  .business-form-layout > form,.event-form-layout > form,.seller-listing-form-layout > form,.seller-setup-layout > form { grid-column: 1; grid-row: 2; }
  .peza-dialog-guide { padding: 13px 16px !important; }
  .peza-dialog-guide .business-form-aside-icon,.peza-dialog-guide .event-form-aside-icon { display: none; }
  .peza-dialog-guide ul { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 6px; margin: 9px 0; }
  .peza-dialog-guide .business-review-note,.peza-dialog-guide .event-review-note { display: none; }
  .business-form-layout .business-form-section,.event-form-layout .event-form-section { padding: 16px; }
  .business-form-layout .business-form-stepper,.event-form-layout .event-stepper { padding: 11px 16px; }
  .business-form-layout .business-step-controls,.event-form-layout .event-form-footer,.seller-listing-form-actions { padding-right: 13px; padding-left: 13px; }
  .event-form-layout .event-form-footer { flex-wrap: wrap; }
  .event-form-layout .event-form-footer p { flex-basis: 100%; }
}

/* Shared seller dashboard form treatment: listings, businesses, and events. */
.peza-listing-dialog,
.peza-business-dialog,
.peza-event-dialog { width: min(100%, 1120px); }
.seller-listing-form-layout,
.business-form-layout,
.event-form-layout {
  grid-template-columns: 230px minmax(0, 1fr);
  align-items: stretch;
  gap: 0;
  overflow: hidden;
  border: 1px solid #e2e7e4;
  border-radius: 0 0 15px 15px;
  background: #fff;
}
.seller-listing-form-layout > form,
.business-form-layout > form,
.event-form-layout > form {
  grid-column: 2;
  grid-row: 1;
  min-width: 0;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  background: #fff;
}
.seller-listing-form-layout > aside,
.business-form-layout > aside,
.event-form-layout > aside {
  grid-column: 1;
  grid-row: 1;
  position: static;
  margin: 0;
}
.seller-listing-form,
.business-submit-form,
.event-submit-form {
  color: #303a35;
  font-size: 0.875rem;
}
.seller-listing-form { gap: 18px; padding: 24px; }
.seller-form-field label,
.business-form-field label,
.event-form-field label,
.event-ticket-toggle-field strong {
  color: #303a35;
  font-size: 0.8125rem;
  font-weight: 650;
}
.seller-form-field input:not([type="checkbox"]):not([type="file"]),
.seller-form-field select,
.seller-form-field textarea,
.business-form-field input:not([type="checkbox"]):not([type="file"]),
.business-form-field select,
.business-form-field textarea,
.event-form-field input:not([type="checkbox"]):not([type="file"]),
.event-form-field select,
.event-form-field textarea {
  min-height: 42px;
  padding: 10px 12px;
  border: 1px solid #cfd7d2;
  border-radius: 9px;
  background: #fff;
  color: #26322c;
  font: 400 0.875rem/1.45 var(--body);
}
.seller-form-field textarea,
.business-form-field textarea,
.event-form-field textarea { min-height: 112px; }
.seller-form-field small,
.business-field-help,
.event-form-field small,
.seller-listing-form-note,
.event-form-section-heading p,
.business-form-section-heading p {
  color: #68736e;
  font-size: 0.75rem;
  line-height: 1.55;
}
.seller-listing-form-actions,
.business-form-layout .business-step-controls,
.event-form-layout .event-form-footer {
  min-height: 64px;
  padding: 12px 20px;
  gap: 10px;
  border-top: 1px solid #e4e8e5;
  background: #fbfcfb;
}
.seller-listing-form-actions .button,
.business-form-layout .business-step-controls .button,
.event-form-layout .event-form-footer .button {
  min-height: 42px;
  padding: 0 18px;
  border-radius: 9px;
  font-size: 0.875rem;
}
.seller-listing-aside h2,
.peza-dialog-guide h2 { font-size: 1.0625rem; }
.seller-listing-aside ul,
.peza-dialog-guide li,
.peza-dialog-guide > p { font-size: 0.75rem; line-height: 1.55; }
.business-form-layout .business-form-section,
.event-form-layout .event-form-section { padding: 22px 24px; }
.business-form-layout .business-form-fields,
.event-form-layout .event-form-fields { gap: 16px; }
.business-form-layout .business-form-section-heading h2,
.event-form-layout .event-form-section-heading h2 { font-size: 1rem; }
.business-form-layout .business-stepper,
.event-form-layout .event-stepper { padding: 14px 24px; }
.event-form-layout .event-form-footer p { font-size: 0.75rem; }
@media (max-width: 760px) {
  .seller-listing-form-layout,
  .business-form-layout,
  .event-form-layout { grid-template-columns: minmax(0, 1fr); }
  .seller-listing-form-layout > aside,
  .business-form-layout > aside,
  .event-form-layout > aside { grid-column: 1; grid-row: 1; }
  .seller-listing-form-layout > form,
  .business-form-layout > form,
  .event-form-layout > form { grid-column: 1; grid-row: 2; }
}
@media (max-width: 1180px) {
  .peza-dashboard-layout { grid-template-columns: 220px minmax(0,1fr); }
  .peza-dashboard-columns { grid-template-columns: minmax(0,1fr) 265px; gap: 14px; }
  .peza-dashboard-primary .dashboard-business-card { grid-template-columns: 34px minmax(0,1fr); }
  .peza-dashboard-primary .dashboard-business-card .dashboard-card-actions { grid-column: 2; grid-row: 3; justify-self: start; margin: 7px 0 0; }
}
@media (max-width: 920px) {
  .peza-dashboard-layout { grid-template-columns: 72px minmax(0,1fr); }
  .peza-dashboard-sidebar { align-items: center; padding: 15px 7px; }
  .peza-dashboard-brand { padding: 0 0 24px; }
  .peza-dashboard-brand > span:last-child,.peza-sidebar-label,.peza-dashboard-nav a { font-size: 0; }
  .peza-dashboard-brand > span:last-child { display: none; }
  .peza-dashboard-nav { width: 100%; }
  .peza-dashboard-nav a,.peza-sidebar-bottom > a:first-child { justify-content: center; padding: 0; }
  .peza-sidebar-bottom > a:first-child { font-size: 0; }
  .peza-sidebar-user { justify-content: center; padding: 9px 0 0; }
  .peza-sidebar-user > span:nth-child(2),.peza-sidebar-chevron { display: none; }
  .peza-dashboard-columns { grid-template-columns: minmax(0,1fr); }
  .peza-dashboard-rail { position: static; grid-template-columns: repeat(2,minmax(0,1fr)); }
  .peza-rail-card:first-child { grid-row: span 2; }
}
@media (max-width: 640px) {
  .peza-dashboard-layout { display: block; }
  .peza-dashboard-sidebar { position: relative; z-index: 20; display: block; width: 100%; height: auto; min-height: 0; padding: 9px 11px; border-right: 0; border-bottom: 1px solid #dce2df; }
  .peza-dashboard-brand { display: inline-flex; padding: 0 0 9px; font-size: 1.0625rem; }
  .peza-dashboard-brand > span:last-child { display: inline; }
  .peza-sidebar-label,.peza-sidebar-bottom { display: none; }
  .peza-dashboard-nav { display: flex; width: 100%; gap: 5px; overflow-x: auto; padding-bottom: 2px; scrollbar-width: thin; }
  .peza-dashboard-nav a,.peza-dashboard-nav a:not(.is-active) { min-height: 36px; flex: 0 0 auto; gap: 6px; padding: 0 9px; font-size: 0.625rem; }
  .peza-nav-icon { width: 16px; height: 16px; flex-basis: 16px; }
  .peza-nav-icon .ui-button-icon { width: 14px; height: 14px; }
  .peza-dashboard-topbar { min-height: 52px; padding: 0 14px; }
  .peza-dashboard-topbar > div { gap: 12px; }
  .peza-dashboard-topbar > div > a:not(.peza-topbar-avatar) { font-size: 0.625rem; }
  .peza-topbar-avatar { width: 31px; height: 31px; }
  .peza-dashboard-columns { padding: 20px 13px 38px; }
  .peza-dashboard-primary > .dashboard-welcome { display: block; }
  .peza-dashboard-primary .dashboard-metrics { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; }
  .peza-dashboard-primary .dashboard-metric { gap: 8px; padding: 11px; }
  .peza-dashboard-primary .dashboard-metric-icon { width: 30px; height: 30px; flex-basis: 30px; }
  .peza-dashboard-primary .dashboard-metric p { font-size: 0.5625rem; }
  .peza-dashboard-primary .dashboard-metric small { font-size: 0.5rem; }
  .peza-dashboard-primary .dashboard-chart-grid { grid-template-columns: minmax(0,1fr); }
  .peza-dashboard-rail { grid-template-columns: minmax(0,1fr); }
  .peza-rail-card:first-child { grid-row: auto; }
  .peza-dashboard-primary .dashboard-search { align-items: flex-start; flex-direction: column; }
  .peza-dashboard-primary .dashboard-search > div { width: 100%; }
  .peza-dashboard-primary .dashboard-business-card { grid-template-columns: 30px minmax(0,1fr); }
  .peza-dashboard-primary .dashboard-business-card .dashboard-list-top { flex-wrap: wrap; }
  .peza-dashboard-primary .dashboard-business-card .dashboard-card-actions { grid-column: 2; }
}

/* Final type scale overrides for the integrations dialog */
.peza-integration-dialog .peza-create-dialog-header h1 { font-size: 1.3125rem; }
.peza-integration-dialog .peza-create-dialog-header p:last-child { font-size: 0.6875rem; }
.peza-integration-guide h2 { font-size: 1rem; }
.peza-integration-guide > p { font-size: 0.6875rem; }
.peza-integration-guide li { font-size: 0.625rem; }
.peza-integration-guide > small { font-size: 0.5625rem; }
.peza-integration-form-heading label { font-size: 0.5625rem; }
.peza-integration-form-heading h2 { font-size: 1rem; }
.peza-integration-form-heading p { font-size: 0.6875rem; }
.peza-payment-provider-copy strong { font-size: 0.6875rem; }
.peza-payment-provider-copy span { font-size: 0.625rem; }
.peza-payment-connection-card .peza-button-outline { min-height: 34px; font-size: 0.625rem; }
.peza-integration-status { font-size: 0.5625rem; }
.peza-payment-preference h3 { font-size: 0.6875rem; }
.peza-payment-option strong { font-size: 0.625rem; }
.peza-payment-option small { font-size: 0.5625rem; }
.peza-integration-payment-block .peza-integration-form-footer > span,.peza-integration-form-footer > span { font-size: 0.5625rem; }
.peza-integration-count { font-size: 0.5625rem; }
.peza-integration-choice-copy strong { font-size: 0.625rem; }
.peza-integration-choice-copy small { font-size: 0.5625rem; }
.peza-integration-details-label { font-size: 0.625rem; }
.peza-integration-details-label small { font-size: 0.5625rem; }
.peza-integration-request-form > textarea { font-size: 0.625rem; }
.peza-integration-form-footer .button { min-height: 36px; padding: 0 14px; font-size: 0.625rem; }

/* Consistent file pickers across profile, business and listing forms. */
input[type="file"] { display: block; width: 100%; max-width: 100%; min-height: 46px; padding: 6px; border: 1px dashed #cbd5cf; border-radius: 10px; background: #f8faf8; color: #536159; font: 500 0.75rem var(--body); cursor: pointer; }
input[type="file"]::file-selector-button { min-height: 32px; margin-right: 11px; padding: 0 13px; border: 0; border-radius: 7px; background: #f2e5c8; color: #74500d; font: 700 0.6875rem var(--body); cursor: pointer; transition: background-color .15s ease; }
input[type="file"]:hover { border-color: #d99112; background: #fffdf8; }
input[type="file"]:hover::file-selector-button { background: #f7dfaa; }
input[type="file"]:focus-visible { outline: 3px solid #f5e5bf; outline-offset: 2px; }
input[type="file"]::-webkit-file-upload-button { min-height: 32px; margin-right: 11px; padding: 0 13px; border: 0; border-radius: 7px; background: #f2e5c8; color: #74500d; font: 700 0.6875rem var(--body); cursor: pointer; }

/* PayChangu ticket checkout and paired merchant key fields */
.peza-paychangu-key-form { grid-template-columns: minmax(0,1fr) minmax(190px,.8fr) minmax(190px,.8fr) auto; }
.peza-paychangu-key-intro { grid-column: 1 / -1; }
.peza-paychangu-key-intro strong { color: #34423a; font-size: 0.8125rem; }
.peza-paychangu-key-field { display: grid; gap: 6px; min-width: 0; }
.peza-paychangu-key-field > small { color: #748078; font-size: 0.625rem; line-height: 1.5; }
.peza-paychangu-key-field input[type=text] { padding-right: 10px; }
.peza-event-payment-page { min-height: 70vh; display: grid; place-items: start center; padding: clamp(28px,6vw,72px) 20px; background: #f4f6f4; }
.peza-event-payment-card { width: min(100%,620px); padding: clamp(22px,4vw,38px); border: 1px solid #e0e6e1; border-radius: 18px; background: #fff; box-shadow: 0 14px 42px rgba(32,46,38,.08); }
.peza-event-payment-back { display: inline-flex; margin-bottom: 24px; color: #637168; font-size: 0.8125rem; text-decoration: none; }
.peza-event-payment-card .eyebrow { margin: 0 0 8px; color: #b97608; font-size: 0.6875rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.peza-event-payment-card h1 { margin: 0; color: #26312b; font-size: clamp(1.5rem,4vw,2.125rem); line-height: 1.2; }
.peza-event-payment-summary { margin: 14px 0 8px; color: #59665e; font-size: 0.9375rem; }
.peza-event-payment-summary strong { color: #27332b; }
.peza-event-payment-payee { margin: 0 0 12px; padding: 11px 13px; border: 1px solid #e7e9e5; border-radius: 10px; background: #fafbf9; color: #66736b; font-size: 0.8125rem; line-height: 1.5; }
.peza-event-payment-payee strong { color: #28352d; }
.peza-event-payment-methods,.peza-event-payment-security { color: #718078; font-size: 0.8125rem; line-height: 1.6; }
#paychangu-checkout { min-height: 180px; margin-top: 22px; }
.peza-event-payment-security { margin: 20px 0 0; padding-top: 15px; border-top: 1px solid #edf0ed; }
@media (max-width: 760px) {
  .peza-paychangu-key-form { grid-template-columns: minmax(0,1fr); }
  .peza-paychangu-key-intro { grid-column: auto; }
}

/* Centered site notifications for Django success, warning and error messages */
.peza-message-overlay { position: fixed; z-index: 2147483000; inset: 0; display: grid; place-items: center; padding: 20px; background: rgba(19,27,23,.48); backdrop-filter: blur(3px); animation: peza-message-fade-in .18s ease-out both; pointer-events: auto; }
.peza-message-modal { position: relative; display: grid; justify-items: center; width: min(100%,440px); padding: 30px 28px 24px; border: 1px solid #e7e9e5; border-radius: 18px; background: #fff; box-shadow: 0 24px 80px rgba(17,27,21,.24); text-align: center; animation: peza-message-pop-in .22s cubic-bezier(.2,.8,.2,1) both; }
.peza-message-close { position: absolute; top: 10px; right: 12px; display: grid; width: 32px; height: 32px; place-items: center; border: 0; border-radius: 50%; background: #f2f3f0; color: #5b655e; font-size: 1.5rem; line-height: 1; cursor: pointer; }
.peza-message-mark { display: grid; width: 42px; height: 42px; place-items: center; margin-bottom: 13px; border-radius: 50%; background: #fff2d5; color: #a96800; font-size: 1.3125rem; font-weight: 800; }
.peza-message-items { display: grid; gap: 8px; width: 100%; }
.peza-message-item { margin: 0; color: #344039; font-size: 0.9375rem; line-height: 1.55; overflow-wrap: anywhere; }
.peza-message-item.error,.peza-message-item.danger { color: #a33b32; }
.peza-message-item.success { color: #326948; }
.peza-message-confirm { min-width: 112px; min-height: 40px; margin-top: 20px; padding: 0 20px; border: 0; border-radius: 10px; background: var(--sun,#f2a007); color: #27210f; font: 700 0.8125rem var(--body); cursor: pointer; }
@keyframes peza-message-fade-in { from { opacity: 0; } to { opacity: 1; } }
@keyframes peza-message-pop-in { from { opacity: 0; transform: translateY(8px) scale(.98); } to { opacity: 1; transform: translateY(0) scale(1); } }
@media (max-width: 480px) { .peza-message-modal { padding: 28px 20px 20px; } .peza-message-item { font-size: 0.875rem; } }

/* Shared form feedback and full-width account settings improvements. */
.settings-dashboard-page .peza-dashboard-page-content { width: 100%; max-width: 1500px; }
.settings-dashboard-page .peza-settings-dialog { width: 100%; grid-template-columns: minmax(220px, .24fr) minmax(0, 1fr); }
.settings-dashboard-page .account-settings-panel { width: 100%; min-width: 0; padding: clamp(20px, 3vw, 38px); }
.settings-dashboard-page .account-settings-form { width: 100%; max-width: none; grid-template-columns: repeat(2, minmax(0,1fr)); column-gap: 20px; }
.settings-dashboard-page .account-settings-form .seller-module-settings-note,
.settings-dashboard-page .account-settings-form .account-photo-setting,
.settings-dashboard-page .account-settings-form > button,
.settings-dashboard-page .account-settings-form .account-settings-errors { grid-column: 1 / -1; }
.settings-dashboard-page .account-settings-form .account-setting-field:not(.seller-setting-module) { display: grid; align-content: start; gap: 7px; min-width: 0; margin: 0 0 18px; color: var(--ink); font-size: 0.75rem; }
.settings-dashboard-page .account-setting-field > label,
.settings-dashboard-page .account-photo-input > label { color: #34423a; font-size: 0.75rem; font-weight: 700; }
.settings-dashboard-page .account-setting-field > input:not([type=checkbox]),
.settings-dashboard-page .account-setting-field > select { width: 100%; min-height: 44px; padding: 9px 12px; border: 1px solid #d9e1dc; border-radius: 9px; background: #fff; color: #28332d; font: 0.8125rem var(--body); }
.settings-dashboard-page .account-photo-setting { display: grid; grid-template-columns: 70px minmax(0,1fr); align-items: center; gap: 15px; margin: 0 0 18px; padding: 15px; border: 1px solid #e3e9e5; border-radius: 12px; background: #fbfcfb; }
.settings-dashboard-page .account-photo-preview { display: grid; width: 70px; height: 70px; overflow: hidden; place-items: center; border-radius: 14px; background: #eef2ef; color: #68766e; font-size: 1.5rem; font-weight: 700; }
.settings-dashboard-page .account-photo-preview img { width: 100%; height: 100%; object-fit: cover; }
.settings-dashboard-page .account-photo-input { display: grid; min-width: 0; gap: 6px; }
.settings-dashboard-page .account-photo-input small { color: #718078; font-size: 0.6875rem; }
.settings-dashboard-page .account-photo-input input[type=file] { min-height: 42px; }
.settings-dashboard-page .account-settings-form .seller-setting-module { height: auto; min-height: 82px; margin-bottom: 12px !important; }
.settings-dashboard-page .account-settings-form .seller-setting-module > label { min-height: 82px; height: 100%; }
.settings-dashboard-page .account-settings-form > button { justify-self: start; min-height: 43px; padding: 0 18px; }
.settings-dashboard-page .account-security-card { width: 100%; }
.peza-message-item { display: flex; align-items: center; justify-content: center; gap: 12px; text-align: left; }
.peza-message-mark { display: grid; width: 38px; height: 38px; flex: 0 0 38px; place-items: center; margin: 0; border-radius: 50%; background: #fff2d5; color: #a96800; font-size: 1.125rem; font-weight: 800; }
.peza-message-mark svg { width: 21px; height: 21px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 2; }
.peza-message-mark.is-success { background: #e5f5e9; color: #218548; }
.peza-message-mark.is-error { background: #fff0ee; color: #b8342b; }
.peza-message-item.success { color: #247344; }
.peza-message-item.error,.peza-message-item.danger { color: #a33b32; }
.peza-message-modal.is-success { border-color: #b9dfc2; background: #f5fcf6; }
.peza-message-modal.is-error { border-color: #f0c4bf; background: #fff8f7; }
.peza-message-confirm { background: #f2a007; }
.peza-submit-spinner { width: 16px; height: 16px; flex: 0 0 16px; border: 2px solid currentColor; border-right-color: transparent; border-radius: 50%; animation: peza-submit-spin .7s linear infinite; }
.peza-submit-loading-overlay { position: fixed; z-index: 2147482500; inset: 0; display: grid; place-items: center; padding: 20px; background: rgba(20,29,24,.36); backdrop-filter: blur(2px); }
.peza-submit-loading-panel { display: flex; min-width: 180px; min-height: 96px; align-items: center; justify-content: center; gap: 13px; padding: 22px 28px; border: 1px solid #e3e9e5; border-radius: 16px; background: #fff; box-shadow: 0 18px 60px rgba(18,31,23,.2); color: #26312b; font-size: 0.875rem; font-weight: 700; }
.peza-submit-loading-panel .peza-submit-spinner { width: 24px; height: 24px; flex-basis: 24px; border-width: 3px; color: #d99112; }
form[aria-busy=true] { cursor: progress; }
@keyframes peza-submit-spin { to { transform: rotate(360deg); } }
@media (max-width: 760px) {
  .settings-dashboard-page .peza-settings-dialog { grid-template-columns: minmax(0,1fr); }
  .settings-dashboard-page .account-settings-form { grid-template-columns: minmax(0,1fr); }
  .settings-dashboard-page .account-settings-form .seller-module-settings-note,
  .settings-dashboard-page .account-settings-form .account-photo-setting,
  .settings-dashboard-page .account-settings-form > button,
  .settings-dashboard-page .account-settings-form .account-settings-errors { grid-column: 1; }
}

/* Comfortable, standard reading sizes on the seller integrations page. */
.integrations-dashboard-page .peza-integration-dialog { font-size: 1rem; }
.integrations-dashboard-page .peza-create-dialog-header { padding: 22px 26px; }
.integrations-dashboard-page .peza-integration-dialog .peza-create-dialog-header .eyebrow { font-size: 0.75rem; }
.integrations-dashboard-page .peza-integration-dialog .peza-create-dialog-header h1 { font-size: 1.625rem; }
.integrations-dashboard-page .peza-integration-dialog .peza-create-dialog-header p:last-child { font-size: 0.9375rem; line-height: 1.55; }
.integrations-dashboard-page .peza-integration-guide { padding: 25px; }
.integrations-dashboard-page .peza-integration-guide h2 { font-size: 1.1875rem; line-height: 1.35; }
.integrations-dashboard-page .peza-integration-guide > p { font-size: 0.875rem; line-height: 1.65; }
.integrations-dashboard-page .peza-integration-guide li { font-size: 0.875rem; line-height: 1.5; }
.integrations-dashboard-page .peza-integration-guide > small { font-size: 0.75rem; line-height: 1.5; }
.integrations-dashboard-page .peza-integration-main { padding: 25px; }
.integrations-dashboard-page .peza-integration-form-heading { gap: 18px; margin-bottom: 18px; }
.integrations-dashboard-page .peza-integration-form-heading label { font-size: 0.6875rem; letter-spacing: .1em; }
.integrations-dashboard-page .peza-integration-form-heading h2 { font-size: 1.25rem; line-height: 1.35; }
.integrations-dashboard-page .peza-integration-form-heading p { font-size: 0.875rem; line-height: 1.55; }
.integrations-dashboard-page .peza-integration-status { font-size: 0.75rem; }
.integrations-dashboard-page .peza-integration-config-note { font-size: 0.8125rem; line-height: 1.55; }
.integrations-dashboard-page .peza-payment-connection-card { gap: 18px; padding: 16px; }
.integrations-dashboard-page .peza-payment-provider-copy strong { font-size: 0.9375rem; }
.integrations-dashboard-page .peza-payment-provider-copy span { font-size: 0.8125rem; line-height: 1.5; }
.integrations-dashboard-page .peza-paychangu-key-form { gap: 15px; padding: 18px; }
.integrations-dashboard-page .peza-paychangu-key-intro strong { font-size: 0.9375rem; }
.integrations-dashboard-page .peza-paychangu-key-intro small,
.integrations-dashboard-page .peza-paychangu-key-field > small { font-size: 0.8125rem; line-height: 1.55; }
.integrations-dashboard-page .peza-paychangu-key-field label { font-size: 0.8125rem; }
.integrations-dashboard-page .peza-paychangu-key-field input { min-height: 44px; font-size: 0.875rem; }
.integrations-dashboard-page .peza-paychangu-key-form .peza-button-outline,
.integrations-dashboard-page .peza-payment-connection-card .peza-button-outline { min-height: 42px; padding: 0 16px; font-size: 0.8125rem; }
.integrations-dashboard-page .peza-payment-preference { gap: 15px !important; margin-top: 20px; padding: 18px !important; }
.integrations-dashboard-page .peza-payment-preference h3 { font-size: 1.0625rem; }
.integrations-dashboard-page .peza-payment-choice-grid { gap: 14px !important; }
.integrations-dashboard-page .peza-payment-option { min-height: 76px !important; padding: 15px !important; }
.integrations-dashboard-page .peza-payment-choice-copy strong { font-size: 0.875rem; }
.integrations-dashboard-page .peza-payment-choice-copy small { font-size: 0.75rem; line-height: 1.5; }
.integrations-dashboard-page .peza-integration-count { font-size: 0.75rem; }
.integrations-dashboard-page .peza-integration-choice-grid { gap: 12px; }
.integrations-dashboard-page .peza-integration-choice { min-height: 88px; gap: 13px; padding: 14px; }
.integrations-dashboard-page .peza-integration-choice-icon { width: 42px; height: 42px; flex-basis: 42px; }
.integrations-dashboard-page .peza-integration-choice-icon svg { width: 22px; height: 22px; }
.integrations-dashboard-page .peza-integration-choice-copy strong { font-size: 0.875rem; }
.integrations-dashboard-page .peza-integration-choice-copy small { font-size: 0.75rem; line-height: 1.45; }
.integrations-dashboard-page .peza-integration-details-label { margin-top: 20px; font-size: 0.8125rem; }
.integrations-dashboard-page .peza-integration-details-label small { font-size: 0.75rem; }
.integrations-dashboard-page .peza-integration-request-form > textarea { min-height: 90px; padding: 12px; font-size: 0.875rem; }
.integrations-dashboard-page .peza-integration-form-footer { gap: 16px; margin-top: 16px; }
.integrations-dashboard-page .peza-integration-form-footer > span { font-size: 0.75rem !important; line-height: 1.45; }
.integrations-dashboard-page .peza-integration-form-footer .button { min-height: 42px; padding: 0 17px; font-size: 0.8125rem; }

/* PezaStore */
.pezastore-nav-link { position: relative; }
.pezastore-nav-icon { display: block; width: 19px; height: 19px; max-width: 19px; flex: 0 0 19px; object-fit: contain; border-radius: 3px; }
.pezastore-new-badge { display: inline-flex; align-items: center; min-height: 15px; margin-left: 1px; padding: 1px 5px; border-radius: 99px; background: #f2a007; color: #2e250f; font-size: .5rem; font-weight: 800; line-height: 1; letter-spacing: .02em; text-transform: uppercase; }
.nav-new-badge { display: inline-flex; align-items: center; min-height: 17px; margin-left: 2px; padding: 2px 6px; border-radius: 999px; background: #f2a007; color: #352807; font-size: .58rem; font-weight: 800; line-height: 1; letter-spacing: .02em; text-transform: uppercase; }
.nav-new-link { gap: 6px !important; }
.emergency-shell { width: min(100%, 980px); margin: 0 auto; padding: clamp(28px,6vw,72px) 16px; }
.emergency-heading { max-width: 650px; margin-bottom: 28px; }
.emergency-mark { display: grid; width: 52px; height: 52px; place-items: center; margin-bottom: 18px; border-radius: 15px; background: #fff0e9; color: #bc3728; }
.emergency-mark .ui-button-icon { width: 25px; height: 25px; }
.emergency-heading .eyebrow { color: #ad3125; font-weight: 800; text-transform: uppercase; letter-spacing: .09em; }
.emergency-heading h1 { margin: 6px 0 10px; font-size: clamp(2rem,5vw,3.2rem); }
.emergency-heading > p:last-child { color: #667269; line-height: 1.6; }
.emergency-contact-grid { display: grid; gap: 12px; }
.emergency-contact-card { display: grid; grid-template-columns: 48px minmax(0,1fr) auto; align-items: center; gap: 14px; padding: 18px; border: 1px solid #e3e6e2; border-radius: 14px; background: #fff; box-shadow: 0 5px 18px rgba(31,38,34,.05); }
.emergency-contact-icon { display: grid; width: 44px; height: 44px; place-items: center; border-radius: 12px; background: #fff3e9; color: #a83b2d; }
.emergency-contact-icon .ui-button-icon { width: 21px; height: 21px; }
.emergency-contact-card h2 { margin: 0 0 4px; font-size: 1.05rem; }
.emergency-contact-card p { margin: 0; color: #68746c; font-size: .88rem; }
.emergency-contact-card > a { display: flex; align-items: center; gap: 10px; padding: 9px 14px; border-radius: 9px; background: #b12e25; color: #fff; font-weight: 800; text-decoration: none; }
.emergency-contact-card > a span { font-size: .75rem; font-weight: 600; }
.emergency-source { margin-top: 20px; color: #707b73; font-size: .82rem; line-height: 1.5; }
.emergency-source a { color: #9b3028; text-decoration: underline; }
@media (max-width: 550px) { .emergency-contact-card { grid-template-columns: 44px minmax(0,1fr); } .emergency-contact-card > a { grid-column: 1 / -1; justify-content: center; } }
.pezastore-page .page-shell { width: 100%; max-width: none; margin: 0; }
.pezastore-hero { display: flex; align-items: end; justify-content: space-between; gap: 24px; margin: 0 0 25px; padding: clamp(25px,4vw,48px); border-radius: 20px; background: #173e37; color: white; }
.pezastore-hero h1 { max-width: 18ch; font-size: clamp(2rem,4.5vw,3.2rem); }
.pezastore-hero .eyebrow { color: #f6bd45; }
.pezastore-hero p:not(.eyebrow) { max-width: 60ch; margin: 12px 0 0; color: #d4e5df; font-size: 1rem; }
.pezastore-hero > .button { flex: 0 0 auto; min-height: 43px; font-size: .8125rem; }
.pezastore-filters { display: grid; grid-template-columns: minmax(220px,1fr) minmax(145px,200px) minmax(145px,200px) auto; gap: 10px; margin-bottom: 34px; padding: 14px; border: 1px solid #e0e5e2; border-radius: 13px; background: #fff; }
.pezastore-filters input,.pezastore-filters select { min-width: 0; min-height: 42px; padding: 8px 11px; border: 1px solid #dfe4e1; border-radius: 8px; background: #fff; color: #2a342e; font: 400 .875rem var(--body); }
.pezastore-filters .button { min-height: 42px; padding: 0 17px; font-size: .8125rem; }
.pezastore-results > header,.pezastore-my-apps-heading { display: flex; align-items: end; justify-content: space-between; gap: 16px; margin-bottom: 16px; }
.pezastore-results > header h2,.pezastore-my-apps-heading h1 { color: #26322c; font-size: clamp(1.4rem,3vw,2rem); }
.pezastore-results > header > a { color: #9e6600; font-size: .8125rem; font-weight: 700; }
.pezastore-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 15px; }
.pezastore-card { display: flex; min-width: 0; flex-direction: column; padding: 17px; border: 1px solid #e0e5e2; border-radius: 14px; background: #fff; box-shadow: 0 3px 10px #18231f08; }
.pezastore-card-main { display: flex; min-width: 0; align-items: center; gap: 12px; color: inherit; }
.pezastore-app-icon { display: grid; width: 52px; height: 52px; flex: 0 0 52px; place-items: center; overflow: hidden; border-radius: 13px; background: #fff2d5; color: #a66b00; font: 800 1.25rem var(--display); }
.pezastore-app-icon img { width: 100%; height: 100%; object-fit: cover; }
.pezastore-app-info { display: grid; min-width: 0; gap: 3px; }
.pezastore-app-info strong { overflow: hidden; color: #26322c; font-size: 1rem; text-overflow: ellipsis; white-space: nowrap; }
.pezastore-app-info small,.pezastore-app-platform { color: #7a857f; font-size: .75rem; }
.pezastore-card > p { flex: 1; margin: 13px 0; color: #637068; font-size: .875rem; line-height: 1.55; }
.pezastore-card > footer { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding-top: 12px; border-top: 1px solid #edf0ee; color: #29352e; font-size: .8125rem; font-weight: 700; }
.pezastore-card > footer a { color: #a66b00; }
.pezastore-empty { grid-column: 1/-1; padding: 50px 20px; border: 1px dashed #d8dfdb; border-radius: 14px; background: #fff; text-align: center; }
.pezastore-empty h2 { font-size: 1.25rem; }
.pezastore-empty p { color: #758079; font-size: .875rem; }
.pezastore-detail,.pezastore-submit { width: min(100%,1000px); margin: 0 auto; }
.pezastore-back { display: inline-block; margin-bottom: 22px; color: #66736c; font-size: .875rem; font-weight: 600; }
.pezastore-detail > header { display: flex; align-items: center; gap: 18px; padding: 25px; border: 1px solid #e1e6e3; border-radius: 16px; background: #fff; }
.pezastore-app-icon-large { width: 84px; height: 84px; flex-basis: 84px; border-radius: 19px; font-size: 2rem; }
.pezastore-detail > header > div { min-width: 0; flex: 1; }
.pezastore-detail > header h1,.pezastore-submit h1 { color: #24312a; font-size: clamp(1.75rem,4vw,2.5rem); }
.pezastore-detail > header > div > p:last-child,.pezastore-submit > header > p:last-child { color: #758079; font-size: .875rem; }
.pezastore-detail-price { color: #28352e; font-size: 1.125rem; font-weight: 800; }
.pezastore-detail-body { display: grid; grid-template-columns: minmax(0,1fr) 300px; gap: 22px; margin-top: 18px; }
.pezastore-detail-body > section,.pezastore-detail-body > aside { padding: 22px; border: 1px solid #e1e6e3; border-radius: 14px; background: #fff; }
.pezastore-detail-body h2 { font-size: 1.125rem; }
.pezastore-detail-body > section > p { color: #5d6a62; font-size: .9375rem; line-height: 1.75; }
.pezastore-detail-body > aside > p,.pezastore-detail-body > aside > small { display: block; color: #758079; font-size: .8125rem; line-height: 1.55; }
.pezastore-detail-body > aside form .button { width: 100%; min-height: 43px; font-size: .8125rem; }
.pezastore-submit > header { margin-bottom: 20px; }
.peza-form-card { padding: 22px; border: 1px solid #e0e5e2; border-radius: 15px; background: #fff; }
.pezastore-form-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 15px; margin-bottom: 18px; }
.pezastore-form-grid .is-wide { grid-column: 1/-1; }
.pezastore-form-grid .peza-form-field { display: grid; align-content: start; gap: 6px; }
.pezastore-form-grid label { color: #35423b; font-size: .8125rem; font-weight: 700; }
.pezastore-form-grid input:not([type=checkbox]):not([type=file]),.pezastore-form-grid select,.pezastore-form-grid textarea { width: 100%; min-height: 42px; padding: 9px 11px; border: 1px solid #dce2de; border-radius: 8px; background: #fff; font: 400 .875rem var(--body); }
.pezastore-form-grid textarea { min-height: 100px; }
.pezastore-form-grid input[type=file] { width: 100%; padding: 8px; border: 1px solid #dce2de; border-radius: 8px; background: #fff; }
.peza-form-field .field-error,.form-errors { color: #ae3930; font-size: .75rem; }
.pezastore-submit > header p:not(.eyebrow) { color: #718078; font-size: .9375rem; }
.pezastore-status { padding: 5px 9px; border-radius: 99px; background: #fff3d6; color: #805400; font-size: .75rem; }
.pezastore-status.is-published { background: #e5f5e9; color: #317343; }
.pezastore-status.is-rejected { background: #fff0ee; color: #a33d34; }
.local-presence-columns { grid-template-columns: minmax(0,1fr); width: min(100%,1500px); }
.local-presence-columns .dashboard-section { margin-top: 24px; }
.local-presence-columns .dashboard-section-heading { align-items: end; }
.local-presence-columns .dashboard-section-heading > div > p:last-child { color: #758079; }
.dashboard-section-tabs { display: flex; gap: 7px; margin: 22px 0 8px; padding: 5px; border: 1px solid #e1e6e3; border-radius: 12px; background: #f0f3f1; }
.dashboard-section-tabs [role="tab"] { display: inline-flex; min-height: 39px; align-items: center; justify-content: center; gap: 8px; padding: 0 15px; border: 1px solid transparent; border-radius: 9px; background: transparent; color: #68746d; font: 700 .8125rem var(--body); cursor: pointer; }
.dashboard-section-tabs [role="tab"][aria-selected="true"] { border-color: #e1e6e3; background: #fff; color: #26322c; box-shadow: 0 1px 3px #18231f12; }
.dashboard-section-tabs .ui-button-icon { width: 16px; height: 16px; }
.dashboard-section[hidden] { display: none !important; }

/* Local presence: full-width, tabbed seller catalog workspace. */
body.local-presence-dashboard-page .peza-dashboard-page-content { width: 100%; max-width: none; padding: 30px clamp(20px,3vw,44px) 52px; }
.local-presence-columns { width: 100%; max-width: none; margin: 0; padding: 0; }
.local-presence-columns .peza-dashboard-primary { width: 100%; max-width: none; }
.local-presence-columns .dashboard-welcome { margin-bottom: 22px; }
.local-presence-columns .dashboard-welcome h1 { font-size: clamp(1.7rem,2.5vw,2.2rem); }
.local-presence-columns .dashboard-resource-stats { margin-bottom: 24px; box-shadow: 0 2px 8px #18231f06; }
.local-presence-columns .dashboard-resource-stats > div { min-height: 82px; align-content: center; }
.local-presence-columns .dashboard-resource-stats strong { font-size: 1.45rem; }
.local-presence-columns .dashboard-section-tabs { display: flex; gap: 28px; margin: 0; padding: 0 18px; border: 1px solid #dfe2e1; border-bottom: 0; border-radius: 12px 12px 0 0; background: #fff; }
.local-presence-columns .dashboard-section-tabs [role="tab"] { position: relative; min-height: 50px; padding: 0 3px; border: 0; border-radius: 0; background: transparent; color: #686e6b; box-shadow: none; }
.local-presence-columns .dashboard-section-tabs [role="tab"][aria-selected="true"] { color: #303432; }
.local-presence-columns .dashboard-section-tabs [role="tab"][aria-selected="true"]::after { position: absolute; right: 0; bottom: -1px; left: 0; height: 2px; background: #303432; content: ''; }
.local-presence-columns .dashboard-section-tabs .ui-button-icon { color: #777e7a; }
.local-presence-columns .dashboard-section-tabs [aria-selected="true"] .ui-button-icon { color: #d58a00; }
.local-presence-columns .dashboard-section { margin: 0; padding: 0 18px 18px; border: 1px solid #dfe2e1; border-top: 0; border-radius: 0 0 12px 12px; background: #fff; box-shadow: 0 5px 18px #18231f0a; }
.local-presence-columns .dashboard-section-heading { min-height: 86px; align-items: center; margin: 0; padding: 15px 0; }
.local-presence-columns .dashboard-section-heading .eyebrow { margin-bottom: 3px; color: #858b88; font-size: .625rem; }
.local-presence-columns .dashboard-section-heading h2 { margin: 0; color: #303432; font-size: 1.125rem; }
.local-presence-columns .dashboard-section-heading > div > p:last-child { margin-top: 4px; font-size: .75rem; }
.local-presence-columns .dashboard-section-heading > .button { flex: 0 0 auto; min-height: 36px; padding: 0 13px; border-radius: 7px; font-size: .75rem; }
.local-presence-columns .dashboard-resource-panel { overflow: visible; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
.local-presence-columns .dashboard-resource-search { min-height: 54px; }
.local-presence-columns .dashboard-resource-search { display: grid; width: 100%; grid-template-columns: minmax(0,1fr) 40px; align-items: center; gap: 9px; padding: 11px 14px; }
.local-presence-columns .dashboard-resource-search > input[type="search"] { display: block; width: 100%; min-width: 0; min-height: 40px; flex: initial; padding: 8px 12px; border: 1px solid #d8ddda; border-radius: 8px; background: #fff; color: #303734; font: 400 .8125rem/1.4 var(--body); box-sizing: border-box; }
.local-presence-columns .dashboard-resource-search > input[type="search"]:focus { border-color: #789889; outline: 3px solid #3c8c641c; }
.local-presence-columns .dashboard-resource-search > input[type="search"]::placeholder { color: #858d89; }
.local-presence-columns .dashboard-resource-search > button { display: grid; width: 38px; height: 38px; flex: initial; place-items: center; border: 1px solid #e0e4e1; border-radius: 8px; background: #f8faf8; color: #56645c; }
.local-presence-columns .dashboard-resource-search > button:hover { border-color: #cbd5cf; background: #f0f4f1; }
.local-presence-columns .dashboard-resource-search > input[type="hidden"] { display: none; }
.peza-seller-dashboard-home .dashboard-resource-search { display: grid; width: 100%; grid-template-columns: minmax(0,1fr) 40px; align-items: center; gap: 9px; padding: 11px 14px; }
.peza-seller-dashboard-home .dashboard-resource-search > input[type="search"],
.peza-seller-dashboard-home .dashboard-resource-search > input:not([type]) { display: block; width: 100%; min-width: 0; min-height: 40px; flex: initial; padding: 8px 12px; border: 1px solid #d8ddda; border-radius: 8px; background: #fff; color: #303734; font: 400 .8125rem/1.4 var(--body); box-sizing: border-box; }
.peza-seller-dashboard-home .dashboard-resource-search > input:focus { border-color: #789889; outline: 3px solid #3c8c641c; }
.peza-seller-dashboard-home .dashboard-resource-search > input::placeholder { color: #858d89; }
.peza-seller-dashboard-home .dashboard-resource-search > button { display: grid; width: 38px; height: 38px; flex: initial; place-items: center; border: 1px solid #e0e4e1; border-radius: 8px; background: #f8faf8; color: #56645c; }
.peza-seller-dashboard-home .dashboard-resource-search > button:hover { border-color: #cbd5cf; background: #f0f4f1; }
.peza-seller-dashboard-home .dashboard-resource-search > input[type="hidden"] { display: none; }
.local-presence-columns .dashboard-data-table { min-width: 760px; }
@media (max-width: 720px) {
  body.local-presence-dashboard-page .peza-dashboard-page-content { padding: 20px 14px 34px; }
  .local-presence-columns .dashboard-resource-stats > div { min-height: 72px; }
  .local-presence-columns .dashboard-section-tabs { gap: 22px; padding: 0 13px; }
  .local-presence-columns .dashboard-section { padding: 0 12px 12px; }
  .local-presence-columns .dashboard-section-heading { align-items: flex-start; gap: 10px; }
  .local-presence-columns .dashboard-section-heading h2 { font-size: 1rem; }
}

/* PezaStore app marketplace layout inspired by familiar app-store browsing. */
.pezastore-page .page-shell { padding: 0; }
.pezastore-store-nav { position: relative; z-index: 2; display: flex; min-height: 64px; align-items: center; gap: 34px; padding: 0 clamp(22px,5vw,72px); border-bottom: 1px solid #e6e8e7; background: #fff; }
.pezastore-wordmark { display: inline-flex; flex: 0 0 auto; align-items: center; gap: 10px; color: #555b60; }
.pezastore-wordmark img { width: 34px; height: 34px; border-radius: 8px; }
.pezastore-wordmark strong { font: 600 1.1875rem var(--display); }
.pezastore-store-nav > div { display: flex; height: 64px; align-items: stretch; gap: 24px; }
.pezastore-store-nav > div a { display: inline-flex; align-items: center; padding: 0 2px; border-bottom: 3px solid transparent; color: #60666c; font-size: .875rem; font-weight: 600; }
.pezastore-store-nav > div a.is-current { border-bottom-color: #13845f; color: #16785b; }
.pezastore-top-search { display: flex; width: min(320px,28vw); height: 40px; align-items: center; gap: 5px; margin-left: auto; padding: 0 10px 0 13px; border: 1px solid #e1e4e2; border-radius: 22px; background: #f7f8f7; }
.pezastore-top-search input { width: 100%; min-width: 0; border: 0; outline: 0; background: transparent; color: #30363a; font: 400 .8125rem var(--body); }
.pezastore-top-search button { display: grid; width: 30px; height: 30px; flex: 0 0 30px; place-items: center; border: 0; border-radius: 50%; background: transparent; color: #59615d; cursor: pointer; }
.pezastore-top-search .ui-button-icon { width: 18px; height: 18px; }
.pezastore-feature-hero { position: relative; display: flex; min-height: 530px; align-items: center; overflow: hidden; padding: 56px max(clamp(24px,8vw,145px),calc((100vw - 1300px)/2)); isolation: isolate; background: #202124; color: #f4f5f6; }
.pezastore-feature-hero::before { position: absolute; z-index: -1; inset: -40px; background-image: var(--store-feature-image); background-position: center 35%; background-size: cover; content: ""; filter: blur(18px); opacity: .3; transform: scale(1.06); }
.pezastore-feature-hero::after { position: absolute; z-index: -1; inset: 0; background: rgba(24,26,28,.76); content: ""; }
.pezastore-feature-content { position: relative; z-index: 1; width: min(670px,65%); }
.pezastore-feature-kicker { margin: 0 0 12px; color: #19b589; font-size: .6875rem; font-weight: 800; letter-spacing: .14em; }
.pezastore-feature-content h1 { max-width: 14ch; color: #f4f5f6; font-size: clamp(2.6rem,5.4vw,4.25rem); letter-spacing: -.045em; line-height: 1.05; }
.pezastore-feature-developer { margin: 16px 0 0; color: #18bf92; font-size: .9375rem; font-weight: 600; }
.pezastore-feature-summary { max-width: 48ch; margin: 10px 0 0; color: #c4c7c8; font-size: .9375rem; line-height: 1.55; }
.pezastore-feature-stats,.pezastore-detail-stats { display: flex; flex-wrap: wrap; gap: 0; margin-top: 22px; }
.pezastore-feature-stats > span,.pezastore-detail-stats > span { display: grid; gap: 4px; min-width: 104px; padding: 0 20px; border-right: 1px solid #ffffff35; }
.pezastore-feature-stats > span:first-child,.pezastore-detail-stats > span:first-child { padding-left: 0; }
.pezastore-feature-stats > span:last-child,.pezastore-detail-stats > span:last-child { border-right: 0; }
.pezastore-feature-stats strong,.pezastore-detail-stats strong { color: #f2f3f4; font-size: .8125rem; }
.pezastore-feature-stats small,.pezastore-detail-stats small { color: #a7abad; font-size: .6875rem; }
.pezastore-feature-actions,.pezastore-detail-hero-actions { display: flex; align-items: center; gap: 20px; margin-top: 24px; }
.pezastore-install-button { display: inline-flex; min-width: 168px; min-height: 44px; align-items: center; justify-content: center; gap: 8px; padding: 0 20px; border: 0; border-radius: 8px; background: #00a77a; color: #06261d; font: 700 .875rem var(--body); cursor: pointer; }
.pezastore-install-button:hover { background: #19bd91; }
.pezastore-install-button .ui-button-icon { width: 17px; height: 17px; }
.pezastore-feature-secondary { display: inline-flex; align-items: center; gap: 8px; color: #20c397; font-size: .8125rem; font-weight: 700; }
.pezastore-availability { display: block; margin-top: 21px; color: #a7abad; font-size: .75rem; }
.pezastore-feature-art { position: absolute; top: 50%; right: max(clamp(30px,12vw,210px),calc((100vw - 1260px)/2)); display: grid; width: clamp(185px,22vw,300px); aspect-ratio: 1; place-items: center; overflow: hidden; border: 1px solid #ffffff1f; border-radius: 24px; box-shadow: 0 25px 70px #0008; transform: translateY(-50%); }
.pezastore-feature-art img { width: 100%; height: 100%; object-fit: cover; }
.pezastore-feature-art > span { display: grid; width: 100%; height: 100%; place-items: center; background: #34383b; color: white; font-size: 5rem; }
.pezastore-feature-empty { min-height: 390px; }
.pezastore-feature-empty .pezastore-feature-content { width: min(760px,100%); }
.pezastore-store-content { width: min(100% - 48px,1320px); margin: 0 auto; padding: 25px 0 70px; }
.pezastore-device-filters { display: flex; flex-wrap: wrap; gap: 10px; margin: 2px 0 32px; }
.pezastore-device-filters a { display: inline-flex; min-height: 38px; align-items: center; gap: 8px; padding: 0 15px; border: 1px solid #d9dddb; border-radius: 22px; background: #fff; color: #626970; font-size: .75rem; font-weight: 600; }
.pezastore-device-filters .ui-button-icon { width: 17px; height: 17px; color: #626970; }
.pezastore-device-filters a.is-current { border-color: #d7eee7; background: #e8f5f0; color: #087759; }
.pezastore-device-filters a.is-current .ui-button-icon { color: #087759; }
.pezastore-store-content .pezastore-filters { margin-bottom: 27px; }
.pezastore-results > header,.pezastore-top-charts > header { align-items: center; margin: 0 0 17px; }
.pezastore-results > header h2,.pezastore-top-charts > header h2 { color: #272c30; font-size: 1.375rem; letter-spacing: -.025em; }
.pezastore-results > header p,.pezastore-top-charts > header p { margin: 6px 0 0; color: #747a7f; font-size: .8125rem; }
.pezastore-result-actions { display: flex; align-items: center; gap: 16px; }
.pezastore-result-actions a { color: #137e5c; font-size: .75rem; font-weight: 700; }
.pezastore-recommend-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 20px; }
.pezastore-recommend-card { min-width: 0; }
.pezastore-recommend-art { display: grid; width: 100%; aspect-ratio: 1.82; place-items: center; overflow: hidden; border-radius: 11px; background: #e8ecea; }
.pezastore-recommend-art img { width: 100%; height: 100%; object-fit: cover; transition: transform .2s; }
.pezastore-recommend-card:hover .pezastore-recommend-art img { transform: scale(1.035); }
.pezastore-recommend-art span { color: #4e5e55; font-size: 3rem; }
.pezastore-recommend-copy { display: grid; gap: 4px; padding: 11px 1px 0; }
.pezastore-recommend-copy > a { overflow: hidden; color: #272c30; text-overflow: ellipsis; white-space: nowrap; }
.pezastore-recommend-copy > a strong { font-size: .875rem; font-weight: 600; }
.pezastore-recommend-copy small,.pezastore-recommend-copy > span { color: #70777d; font-size: .75rem; }
.pezastore-top-charts { margin-top: 46px; }
.pezastore-chart-filter { padding: 7px 13px; border: 1px solid #dfe3e1; border-radius: 22px; color: #58615d; font-size: .75rem; }
.pezastore-chart-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 2px 28px; }
.pezastore-chart-item { display: flex; min-width: 0; min-height: 76px; align-items: center; gap: 13px; padding: 7px 3px; border-bottom: 1px solid #edf0ee; }
.pezastore-chart-rank { width: 16px; color: #737a7f; font-size: .8125rem; text-align: center; }
.pezastore-chart-icon { display: grid; width: 52px; height: 52px; flex: 0 0 52px; place-items: center; overflow: hidden; border-radius: 12px; background: #e8eeeb; color: #49705c; font-size: 1.25rem; }
.pezastore-chart-icon img { width: 100%; height: 100%; object-fit: cover; }
.pezastore-chart-copy { display: grid; min-width: 0; gap: 3px; }
.pezastore-chart-copy strong { overflow: hidden; color: #30363a; font-size: .8125rem; text-overflow: ellipsis; white-space: nowrap; }
.pezastore-chart-copy small { color: #747b80; font-size: .6875rem; }
.pezastore-detail-hero { position: relative; display: flex; min-height: 570px; align-items: center; overflow: hidden; padding: 38px max(clamp(24px,8vw,145px),calc((100vw - 1300px)/2)); isolation: isolate; background: #202124; color: #f4f5f6; }
.pezastore-detail-hero::before { position: absolute; z-index: -1; inset: -35px; background-image: var(--store-feature-image); background-position: center; background-size: cover; content: ""; filter: blur(20px); opacity: .35; transform: scale(1.08); }
.pezastore-detail-hero::after { position: absolute; z-index: -1; inset: 0; background: rgba(24,26,28,.78); content: ""; }
.pezastore-detail-hero-inner { width: min(760px,70%); }
.pezastore-detail-hero .pezastore-back { margin-bottom: 38px; color: #c5c9ca; }
.pezastore-detail-summary { display: flex; align-items: center; gap: 22px; }
.pezastore-detail-app-icon { width: 88px; height: 88px; flex-basis: 88px; border-radius: 18px; }
.pezastore-detail-title h1 { color: #f5f6f7; font-size: clamp(2.35rem,5vw,4rem); letter-spacing: -.045em; }
.pezastore-detail-title > a { display: inline-block; margin-top: 8px; color: #1cc193; font-size: .9375rem; font-weight: 600; }
.pezastore-detail-title > small { display: block; margin-top: 5px; color: #aeb2b4; font-size: .6875rem; }
.pezastore-detail-hero-actions form { margin: 0; }
.pezastore-detail-hero-actions .pezastore-feature-secondary { color: #20c397; }
.pezastore-detail-hero-actions .pezastore-feature-secondary .ui-button-icon { width: 17px; height: 17px; }
.pezastore-share-button { display: inline-flex; min-height: 40px; align-items: center; gap: 8px; padding: 0 14px; border: 1px solid #ffffff3d; border-radius: 8px; background: #ffffff0d; color: #d7dcdd; font: 600 .8125rem var(--body); cursor: pointer; }
.pezastore-share-button .ui-button-icon { width: 17px; height: 17px; }
.pezastore-share-button:hover { border-color: #20c397; color: #20c397; }
.pezastore-detail-art { position: absolute; top: 50%; right: max(clamp(30px,13vw,220px),calc((100vw - 1250px)/2)); display: grid; width: clamp(180px,21vw,290px); aspect-ratio: 1; place-items: center; overflow: hidden; border-radius: 24px; box-shadow: 0 25px 70px #0008; transform: translateY(-50%); }
.pezastore-detail-art img { width: 100%; height: 100%; object-fit: cover; }
.pezastore-detail-art > span { display: grid; width: 100%; height: 100%; place-items: center; background: #34383b; color: #fff; font-size: 5rem; }
.pezastore-detail-content { display: grid; grid-template-columns: minmax(0,1fr) 330px; gap: 26px; width: min(100% - 48px,1290px); margin: 0 auto; padding: 38px 0 70px; }
.pezastore-detail-gallery { display: flex; min-width: 0; align-items: center; gap: 18px; }
.pezastore-detail-preview { display: grid; width: min(52%,420px); aspect-ratio: 1.8; place-items: center; overflow: hidden; border-radius: 12px; background: #edf0ee; }
.pezastore-detail-preview img { width: 100%; height: 100%; object-fit: cover; }
.pezastore-detail-preview-copy { min-width: 0; }
.pezastore-detail-preview-copy h2,.pezastore-about-app h2,.pezastore-app-information h2 { color: #292f33; font-size: 1.25rem; }
.pezastore-detail-preview-copy p { color: #626a70; font-size: .875rem; line-height: 1.55; }
.pezastore-detail-preview-copy span { color: #70777d; font-size: .75rem; }
.pezastore-rating-card { display: flex; gap: 13px; padding: 19px; border: 1px solid #dadedc; border-radius: 14px; }
.pezastore-rating-symbol { display: grid; width: 38px; height: 38px; flex: 0 0 38px; place-items: center; border: 1px solid #383d40; color: #383d40; font-size: 1.35rem; }
.pezastore-rating-card strong { color: #30363a; font-size: .9375rem; }
.pezastore-rating-card p { margin: 7px 0; color: #747b80; font-size: .75rem; line-height: 1.5; }
.pezastore-rating-card a { color: #176dc2; font-size: .75rem; }
.pezastore-about-app,.pezastore-app-information { grid-column: 1/-1; padding-top: 8px; border-top: 1px solid #e4e7e5; }
.pezastore-about-app p { max-width: 82ch; color: #545d62; font-size: .9375rem; line-height: 1.8; }
.pezastore-app-information dl { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; }
.pezastore-app-information dl > div { padding: 13px; border: 1px solid #e2e6e4; border-radius: 10px; }
.pezastore-app-information dt { color: #7a8286; font-size: .6875rem; }
.pezastore-app-information dd { margin: 5px 0 0; color: #31383c; font-size: .8125rem; font-weight: 700; }
@media (max-width: 850px) { .pezastore-feature-hero,.pezastore-detail-hero { min-height: 490px; padding: 36px 7vw; } .pezastore-feature-content,.pezastore-detail-hero-inner { width: 68%; } .pezastore-feature-art,.pezastore-detail-art { right: 5vw; width: 180px; } .pezastore-recommend-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } .pezastore-chart-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } .pezastore-detail-content { grid-template-columns: minmax(0,1fr); } .pezastore-rating-card { grid-row: auto; } }
@media (max-width: 600px) { .pezastore-store-nav { min-height: 58px; flex-wrap: wrap; gap: 10px 18px; padding: 8px 15px; } .pezastore-store-nav > div { height: 40px; gap: 17px; order: 3; width: 100%; } .pezastore-store-nav > div a { font-size: .75rem; } .pezastore-wordmark img { width: 29px; height: 29px; } .pezastore-wordmark strong { font-size: 1rem; } .pezastore-top-search { width: 40px; height: 38px; margin-left: auto; padding: 0 4px; border: 0; background: transparent; } .pezastore-top-search input { display: none; } .pezastore-feature-hero,.pezastore-detail-hero { min-height: 570px; align-items: flex-end; padding: 28px 22px 36px; } .pezastore-feature-content,.pezastore-detail-hero-inner { width: 100%; } .pezastore-feature-content h1 { max-width: 13ch; font-size: 2.5rem; } .pezastore-feature-art,.pezastore-detail-art { top: 30px; right: 23px; width: 135px; transform: none; border-radius: 18px; } .pezastore-feature-stats > span,.pezastore-detail-stats > span { min-width: auto; padding: 0 11px; } .pezastore-feature-stats > span:first-child,.pezastore-detail-stats > span:first-child { padding-left: 0; } .pezastore-store-content,.pezastore-detail-content { width: calc(100% - 30px); padding: 21px 0 46px; } .pezastore-device-filters { flex-wrap: nowrap; overflow-x: auto; padding-bottom: 5px; } .pezastore-device-filters a { flex: 0 0 auto; } .pezastore-results > header,.pezastore-top-charts > header { align-items: flex-start; } .pezastore-result-actions { flex-direction: column; align-items: flex-end; gap: 7px; } .pezastore-recommend-grid,.pezastore-chart-grid { grid-template-columns: minmax(0,1fr); gap: 17px; } .pezastore-recommend-art { aspect-ratio: 1.72; } .pezastore-detail-hero .pezastore-back { margin-bottom: 190px; } .pezastore-detail-summary { align-items: flex-start; gap: 13px; } .pezastore-detail-app-icon { width: 64px; height: 64px; flex-basis: 64px; border-radius: 14px; } .pezastore-detail-title h1 { font-size: 2rem; } .pezastore-detail-stats { gap: 12px 0; } .pezastore-detail-gallery { align-items: flex-start; flex-direction: column; } .pezastore-detail-preview { width: 100%; } .pezastore-app-information dl { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media (max-width: 900px) { .pezastore-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } .pezastore-filters { grid-template-columns: minmax(0,1fr) minmax(130px,1fr); } .pezastore-detail-body { grid-template-columns: minmax(0,1fr); } }
@media (max-width: 600px) { .pezastore-hero { align-items: flex-start; flex-direction: column; } .pezastore-grid,.pezastore-form-grid { grid-template-columns: minmax(0,1fr); } .pezastore-form-grid .is-wide { grid-column: 1; } .pezastore-filters { grid-template-columns: minmax(0,1fr); } .pezastore-detail > header { flex-wrap: wrap; padding: 17px; } .pezastore-app-icon-large { width: 64px; height: 64px; flex-basis: 64px; } .pezastore-detail-price { flex-basis: 100%; } .pezastore-my-apps-heading { align-items: flex-start; flex-direction: column; } }
@media (max-width: 760px) {
  .integrations-dashboard-page .peza-integration-main { padding: 18px; }
  .integrations-dashboard-page .peza-integration-guide { padding: 18px; }
  .integrations-dashboard-page .peza-integration-guide h2 { font-size: 1.0625rem; }
  .integrations-dashboard-page .peza-integration-guide > p { font-size: 0.8125rem; }
  .integrations-dashboard-page .peza-integration-dialog .peza-create-dialog-header { padding: 17px; }
  .integrations-dashboard-page .peza-payment-choice-grid,
  .integrations-dashboard-page .peza-integration-choice-grid { grid-template-columns: minmax(0,1fr); }
}
.personal-area-content { width: min(100% - 36px, 1040px); margin: 0 auto; padding: clamp(28px, 5vw, 58px) 0 72px; }
.personal-area-content .dashboard-welcome { padding: 0; }
.personal-account-home { width: min(100% - 36px, 900px); margin: 0 auto; padding: clamp(38px, 6vw, 72px) 0; }
.personal-account-heading { margin-bottom: 30px; }
.personal-account-heading .eyebrow,.personal-account-section-heading .eyebrow { margin: 0 0 8px; color: var(--sun-dark, #bd7600); font-size: .75rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.personal-account-heading h1 { margin: 0; color: var(--ink, #202923); font-size: clamp(2rem, 4vw, 3rem); letter-spacing: -.045em; }
.personal-account-heading > p:last-child { margin: 10px 0 0; color: var(--ink-soft, #69736d); }
.personal-account-links { display: grid; gap: 12px; }
.personal-account-link { display: grid; grid-template-columns: 48px minmax(0,1fr) auto; align-items: center; gap: 16px; min-height: 84px; padding: 16px 20px; border: 1px solid #e1e6e3; border-radius: 16px; background: #fff; color: inherit; text-decoration: none; transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease; }
.personal-account-link:hover { transform: translateY(-1px); border-color: #efaa31; box-shadow: 0 8px 24px #24332810; }
.personal-account-link-icon,.personal-ticket-icon { display: grid; width: 46px; height: 46px; place-items: center; border-radius: 14px; background: #fff5df; color: #bd7600; }
.personal-account-link-icon svg,.personal-ticket-icon svg { width: 21px; height: 21px; }
.personal-account-link > span:nth-child(2) { display: grid; gap: 5px; }
.personal-account-link strong { color: #202923; font-size: 1rem; }
.personal-account-link small,.personal-recent-ticket small { color: #6b756e; font-size: .875rem; }
.personal-account-link > b { color: #bd7600; font-size: 1.15rem; }
.personal-recent-tickets { margin-top: 38px; }
.personal-account-section-heading { display: flex; align-items: end; justify-content: space-between; gap: 16px; margin-bottom: 12px; }
.personal-account-section-heading h2 { margin: 0; font-size: 1.35rem; }
.personal-account-section-heading > a { color: #93600b; font-weight: 700; text-decoration: none; }
.personal-recent-ticket { display: flex; align-items: center; gap: 14px; padding: 14px 0; border-bottom: 1px solid #e7ebe8; }
.personal-recent-ticket > div { display: grid; flex: 1; gap: 5px; }
.personal-seller-invite { display: flex; align-items: center; justify-content: space-between; gap: 22px; margin-top: 38px; padding: 20px 22px; border: 1px solid #efdfbd; border-radius: 16px; background: #fffaf0; }
.personal-seller-invite p { margin: 6px 0 0; color: #69736d; }
@media (max-width: 600px) { .personal-account-link { grid-template-columns: 42px minmax(0,1fr) auto; gap: 12px; padding: 14px; } .personal-account-link-icon { width: 42px; height: 42px; } .personal-account-link small { line-height: 1.4; } .personal-seller-invite { align-items: flex-start; flex-direction: column; } .personal-recent-ticket { align-items: flex-start; flex-wrap: wrap; } }
.peza-ticket-list { display: grid; gap: 20px; }
.peza-ticket-pass { position: relative; display: grid; grid-template-columns: 178px minmax(0,1fr) 150px; min-height: 228px; overflow: hidden; border: 1px solid #43333a; border-radius: 17px; background: #2b2027; color: #fff; box-shadow: 0 12px 28px #1d152017; }
.peza-ticket-pass.is-no-art { grid-template-columns: 178px minmax(0,1fr); }
.peza-ticket-qr-panel { position: relative; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 10px; padding: 17px; background: #1d2025; }
.peza-ticket-brand { align-self: flex-start; color: #fff; font-size: .75rem; font-weight: 900; letter-spacing: .12em; }
.peza-ticket-brand i { color: #f3a000; font-size: .63rem; font-style: normal; }
.peza-ticket-qr { display: block; width: 112px; height: 112px; padding: 7px; border-radius: 7px; background: #fff; }
.peza-ticket-qr-panel > small { color: #c3c4c5; font-size: .6875rem; }
.peza-ticket-cancelled { display: grid; width: 112px; height: 112px; place-items: center; padding: 15px; border: 1px dashed #a9a3a5; border-radius: 7px; color: #dfd7d9; text-align: center; }
.peza-ticket-details { position: relative; display: flex; min-width: 0; flex-direction: column; justify-content: center; padding: 22px 24px; }
.peza-ticket-details::before,.peza-ticket-details::after { position: absolute; left: -10px; z-index: 1; width: 20px; height: 20px; border-radius: 50%; background: var(--page,#f8f8f5); content: ''; }
.peza-ticket-details::before { top: -10px; }
.peza-ticket-details::after { bottom: -10px; }
.peza-ticket-pass::before { position: absolute; top: 15px; bottom: 15px; left: 177px; z-index: 2; border-left: 1px dashed #8e777f; content: ''; }
.peza-ticket-topline { display: flex; align-items: center; justify-content: space-between; gap: 12px; color: #f5b943; font-size: .6875rem; font-weight: 800; letter-spacing: .12em; }
.peza-ticket-status { flex: 0 0 auto; padding: 5px 9px; border: 1px solid #806a32; border-radius: 99px; background: #42351f; color: #ffd36f; font-size: .6875rem; letter-spacing: 0; }
.peza-ticket-status.status-checked_in { border-color: #2b7761; background: #163d34; color: #8fe1c4; }
.peza-ticket-status.status-cancelled { border-color: #915255; background: #4e292c; color: #ffb4b4; }
.peza-ticket-details h2 { margin: 12px 0 18px; color: #fff; font-size: clamp(1.2rem,2.2vw,1.7rem); line-height: 1.14; }
.peza-ticket-facts { display: grid; grid-template-columns: 1fr 1fr; gap: 14px 20px; }
.peza-ticket-facts > div { display: grid; min-width: 0; gap: 3px; }
.peza-ticket-facts small,.peza-ticket-code-row > span { color: #c0b4b8; font-size: .6rem; font-weight: 800; letter-spacing: .12em; }
.peza-ticket-facts strong { overflow: hidden; color: #fff; font-size: .8rem; text-overflow: ellipsis; white-space: nowrap; }
.peza-ticket-facts span { overflow: hidden; color: #d1c8cb; font-size: .72rem; text-overflow: ellipsis; white-space: nowrap; }
.peza-ticket-code-row { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; margin-top: 17px; padding-top: 12px; border-top: 1px dashed #725d65; }
.peza-ticket-code-row code { overflow: hidden; color: #f5b943; font-size: .68rem; text-overflow: ellipsis; }
.peza-ticket-art { position: relative; min-width: 0; overflow: hidden; background: #6d292b; }
.peza-ticket-art { display: grid; place-items: center; padding: 10px; background: #1d2025; }
.peza-ticket-art img { width: 100%; height: 100%; min-height: 208px; object-fit: cover; object-position: center; opacity: 1; }
.peza-ticket-art span { display: none; }
.peza-ticket-art span { position: absolute; right: 8px; bottom: 9px; left: 8px; color: #fff; font-size: .7rem; font-weight: 800; line-height: 1.25; text-shadow: 0 1px 5px #000; }
.peza-ticket-pass.is-cancelled { opacity: .72; }
@media (max-width: 720px) { .peza-ticket-pass,.peza-ticket-pass.is-no-art { grid-template-columns: 122px minmax(0,1fr); } .peza-ticket-pass::before { left: 121px; } .peza-ticket-qr-panel { padding: 13px 8px; } .peza-ticket-qr { width: 88px; height: 88px; } .peza-ticket-cancelled { width: 88px; height: 88px; } .peza-ticket-brand { font-size: .65rem; } .peza-ticket-details { padding: 17px 15px; } .peza-ticket-details h2 { margin: 10px 0 14px; } .peza-ticket-facts { gap: 11px 12px; } .peza-ticket-art { display: none; } }
@media (max-width: 460px) { .peza-ticket-pass,.peza-ticket-pass.is-no-art { grid-template-columns: 1fr; } .peza-ticket-pass::before { display: none; } .peza-ticket-qr-panel { display: grid; grid-template-columns: auto 78px; justify-items: start; gap: 4px 12px; padding: 12px 16px; } .peza-ticket-brand { grid-column: 1; grid-row: 1; align-self: end; } .peza-ticket-qr { grid-column: 2; grid-row: 1 / span 3; width: 78px; height: 78px; } .peza-ticket-qr-panel > small { grid-column: 1; grid-row: 2; align-self: start; } .peza-ticket-cancelled { grid-column: 2; grid-row: 1 / span 3; width: 78px; height: 78px; } .peza-ticket-details { padding: 16px; } .peza-ticket-topline { font-size: .59rem; } .peza-ticket-facts strong { font-size: .72rem; } .peza-ticket-code-row code { font-size: .58rem; } }
@media print { .site-header,.peza-dashboard-sidebar,.peza-dashboard-topbar,.dashboard-welcome .button,.dashboard-actions { display: none !important; } .peza-ticket-pass { break-inside: avoid; box-shadow: none; print-color-adjust: exact; -webkit-print-color-adjust: exact; } }

/* Final account-screen overrides: keep these after the legacy auth styles above. */
.auth-page { --auth-bg: #080909; --auth-panel: #111313; --auth-text: #f7f7f7; --auth-muted: #888b8b; --auth-line: #252828; --auth-accent: #baf000; display: block; min-height: 100vh; min-height: 100dvh; background: var(--auth-bg); color: var(--auth-text); }
.auth-page .auth-shell { display: block; min-height: 100vh; min-height: 100dvh; }
.auth-page .auth-form-side { box-sizing: border-box; display: flex; min-height: 100vh; min-height: 100dvh; flex-direction: column; align-items: flex-start; justify-content: flex-start; padding: 92px 24px 20px; background: var(--auth-bg); }
.auth-page .auth-card { width: 372px; max-width: 100%; margin: 0 0 0 max(0px,calc(50vw - 271px)); }
.auth-page .auth-eyebrow { margin: 0 0 14px; color: var(--auth-accent); font-size: .625rem; letter-spacing: .14em; }
.auth-page .auth-title { margin: 0; color: var(--auth-text); font-size: clamp(1.8rem,4vw,2rem); font-weight: 700; letter-spacing: -.055em; line-height: 1.12; }
.auth-page .auth-intro { max-width: 39ch; margin: 11px 0 27px; color: var(--auth-muted); font-size: .9rem; line-height: 1.6; }
.auth-page .auth-form { gap: 18px; }
.auth-page .auth-field { gap: 7px; }
.auth-page .auth-field label,.auth-page .auth-label-row { color: #f0f0f0; font-size: .78rem; font-weight: 550; }
.auth-page .auth-label-row a,.auth-page .auth-signup a { color: var(--auth-accent); font-weight: 500; }
.auth-page .auth-label-row a:hover,.auth-page .auth-signup a:hover { color: #d0ff37; }
.auth-page .auth-field input,.auth-page .auth-field select,.auth-page .auth-field textarea { box-sizing: border-box; width: 100%; min-height: 44px; padding: 0 13px; border: 1px solid var(--auth-line); border-radius: 5px; outline: 0; background: transparent; color: var(--auth-text); font: 400 .84rem var(--body); }
.auth-page .auth-input-icon input { padding-left: 42px; }
.auth-page .auth-password-wrap input { padding-right: 52px; }
.auth-page .auth-field input::placeholder,.auth-page .auth-field textarea::placeholder { color: #858888; opacity: 1; }
.auth-page .auth-field input:focus,.auth-page .auth-field select:focus,.auth-page .auth-field textarea:focus { border-color: #777b7b; box-shadow: 0 0 0 2px #ffffff0e; }
.auth-page .auth-field input[aria-invalid="true"] { border-color: #e26f6f; }
.auth-page .auth-input-icon-mark { stroke: #888b8b; }
.auth-page .auth-password-toggle { color: #888b8b; }
.auth-page .auth-password-toggle:hover { background: #ffffff0d; color: #fff; }
.auth-page .auth-submit { min-height: 41px; margin-top: -2px; border: 0; border-radius: 5px; background: var(--auth-accent); color: #080909; font-size: .9rem; font-weight: 600; }
.auth-page .auth-submit:hover { background: #ccff16; }
.auth-page .auth-form-errors { border-color: #6a3535; background: #291818; color: #ffb3b3; }
.auth-page .auth-field-error,.auth-page .auth-field .errorlist { color: #ff9b9b; }
.auth-page .auth-help { color: #a2a5a5; }
.auth-page .auth-help ul { border-color: var(--auth-line); background: var(--auth-panel); color: #a2a5a5; }
.auth-page .auth-signup { margin: 24px 0 0; color: var(--auth-muted); font-size: .82rem; text-align: center; }
.auth-page .google-auth-block { display: flex; flex-direction: column; margin: 0 0 20px; }
.auth-page .google-signin-button { min-height: 40px; border: 1px solid #f5f5f5; border-radius: 4px; background: #f5f5f5; color: #171818; font-size: .85rem; }
.auth-page .google-auth-divider { gap: 12px; margin-top: 17px; color: #888b8b; font-size: .7rem; }
.auth-page .google-auth-divider::before,.auth-page .google-auth-divider::after { background: var(--auth-line); }
.auth-page .auth-topbar { position: absolute; z-index: 10; top: 0; right: 25px; display: flex; height: 30px; align-items: stretch; gap: 8px; }
.auth-page .auth-topbar-search { display: flex; width: min(380px,35vw); min-width: 220px; align-items: center; gap: 10px; padding: 0 12px; border-radius: 0 0 8px 8px; background: #1b1e1e; color: #929696; }
.auth-page .auth-topbar-search input { width: 100%; min-width: 0; border: 0; outline: 0; background: transparent; color: #fff; font: 400 .76rem var(--body); }
.auth-page .auth-topbar-search input::placeholder { color: #929696; }
.auth-page .auth-topbar-search kbd { color: #858989; font: .625rem var(--body); white-space: nowrap; }
.auth-page .auth-topbar-signin,.auth-page .auth-topbar-signup { display: inline-flex; align-items: center; justify-content: center; padding: 0 17px; border-radius: 0 0 8px 8px; background: #1c1f1f; color: #fff; font-size: .76rem; font-weight: 600; }
.auth-page .auth-topbar-signup { background: #f6f6f6; color: #101111; }
.auth-page .auth-lower-footer { position: fixed; z-index: 5; right: 10.5%; bottom: calc(48px + 18vh); left: 10.5%; display: flex; align-items: center; justify-content: space-between; gap: 30px; color: #858989; }
.auth-page .auth-footer-brand { display: inline-flex; align-items: center; gap: 9px; color: #929696; font-size: .75rem; white-space: nowrap; }
.auth-page .auth-footer-brand > span { color: var(--auth-accent); font-size: 1.15rem; font-weight: 800; }
.auth-page .auth-lower-footer .peza-legal-links { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px 22px; }
.auth-page .auth-lower-footer .peza-legal-links a { color: #858989; font-size: .75rem; }
.auth-page .auth-bottom-bar { position: fixed; z-index: 20; right: 0; bottom: 0; left: 0; display: flex; min-height: 48px; align-items: center; justify-content: space-between; gap: 20px; padding: 6px 26px; border-top: 1px solid #181b1b; background: #111313; color: #f8f8f8; }
.auth-page .auth-bottom-label { color: #858989; font-size: .57rem; letter-spacing: .1em; }
.auth-page .auth-bottom-bar p { overflow: hidden; margin: 3px 0 0; font-size: .8rem; font-weight: 600; text-overflow: ellipsis; white-space: nowrap; }
.auth-page .auth-bottom-actions { display: flex; flex: 0 0 auto; gap: 10px; }
.auth-page .auth-bottom-actions a { display: inline-flex; min-height: 38px; align-items: center; justify-content: center; padding: 0 18px; border-radius: 8px; background: #202323; color: #fff; font-size: .8rem; font-weight: 650; white-space: nowrap; }
.auth-page .auth-bottom-actions a:last-child { background: #fff; color: #111; }
@media (max-width: 700px) {
  .auth-page .auth-form-side { align-items: center; padding: 66px 22px 100px; }
  .auth-page .auth-card { width: min(100%,372px); margin: 0 auto; }
  .auth-page .auth-topbar { right: 12px; height: 38px; }
  .auth-page .auth-topbar-search { width: auto; min-width: 0; padding: 0 10px; }
  .auth-page .auth-topbar-search input,.auth-page .auth-topbar-search kbd { display: none; }
  .auth-page .auth-topbar-signin,.auth-page .auth-topbar-signup { padding: 0 12px; }
  .auth-page .auth-lower-footer { right: 16px; bottom: 77px; left: 16px; flex-direction: column; gap: 10px; }
  .auth-page .auth-lower-footer .peza-legal-links { justify-content: center; gap: 7px 13px; }
  .auth-page .auth-bottom-bar { min-height: 58px; padding: 7px 12px; }
  .auth-page .auth-bottom-bar p { max-width: 55vw; font-size: .65rem; }
  .auth-page .auth-bottom-actions { gap: 6px; }
  .auth-page .auth-bottom-actions a { min-height: 36px; padding: 0 10px; font-size: .67rem; }
}
.auth-signup-page .auth-card { width: min(100%,470px); margin: 0 auto; }
.auth-signup-page .auth-form-side { align-items: center; padding-top: 78px; }
.auth-signup-page .auth-intro { margin-bottom: 20px; }
.auth-signup-page .auth-signup-form { gap: 14px; }
.auth-signup-page .signup-progress { display: flex; align-items: center; gap: 8px; margin: 0 0 4px; color: #9a9e9e; }
.auth-signup-page .signup-progress-step { display: flex; align-items: center; gap: 6px; color: #929696; font-size: .59rem; white-space: nowrap; }
.auth-signup-page .signup-progress-step > span { display: grid; width: 22px; height: 22px; place-items: center; border: 1px solid #444848; border-radius: 50%; background: #151717; color: #c8cbcb; font-size: .625rem; font-weight: 700; }
.auth-signup-page .signup-progress-step.is-active { color: var(--auth-accent); }
.auth-signup-page .signup-progress-step.is-active > span,.auth-signup-page .signup-progress-step.is-complete > span { border-color: var(--auth-accent); background: var(--auth-accent); color: #090a0a; }
.auth-signup-page .signup-progress > i { flex: 1 1 16px; height: 1px; min-width: 12px; background: #393d3d; }
.auth-signup-page .signup-step { display: grid; gap: 13px; }
.auth-signup-page .signup-step-title { margin: 0; color: #f5f5f5; font: 700 1.05rem/1.3 var(--display); }
.auth-signup-page .signup-step-copy { margin: -7px 0 1px; color: #929696; font-size: .69rem; line-height: 1.5; }
.auth-signup-page .account-type-choice,.auth-signup-page .seller-module-choice { border-color: #292d2d; }
.auth-signup-page .account-type-choice legend,.auth-signup-page .seller-module-choice legend { color: #f0f0f0; }
.auth-signup-page .account-type-choice > p,.auth-signup-page .seller-module-choice > p { color: #929696; }
.auth-signup-page .account-type-option,.auth-signup-page .seller-module-option { border: 1px solid #292d2d; background: #111313; color: #f4f4f4; }
.auth-signup-page .account-type-option:hover,.auth-signup-page .seller-module-option:hover { border-color: #646b48; background: #15190e; }
.auth-signup-page .account-type-option:has(input:checked),.auth-signup-page .seller-module-option:has(input:checked) { border-color: var(--auth-accent); background: #171d09; box-shadow: 0 0 0 2px #baf00016; }
.auth-signup-page .account-type-option-icon,.auth-signup-page .seller-module-icon { background: #1d2310; color: var(--auth-accent); }
.auth-signup-page .account-type-option-copy strong,.auth-signup-page .seller-module-label { color: #f4f4f4; }
.auth-signup-page .account-type-option-copy small { color: #929696; }
.auth-signup-page .signup-step-actions { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.auth-signup-page .signup-step-actions .auth-submit { flex: 1; }
.auth-signup-page .signup-back { color: #b9bdbd; }
.auth-page [hidden] { display: none !important; }
@media (max-width: 700px) {
  .auth-signup-page .auth-form-side { padding-top: 66px; }
  .auth-signup-page .auth-card { width: min(100%,470px); }
  .auth-signup-page .auth-lower-footer { bottom: 77px; }
}

/* Light appearance across the shared site shell and account pages. */
.site-header { background: rgba(248,248,245,.96); border-bottom: 1px solid #e4e4dc; color: #14201b; }
.header-promo { background: #f0f1ed; color: #37423b; }
.header-promo a { color: #a86400; }
.brand,.main-nav a,.nav-account,.header-location { color: #14201b; }
.brand-period { color: #a86400; }
.header-search { background: #eceeea; color: #59645d; }
.header-search input { color: #14201b; }
.header-search input::placeholder { color: #69736d; }
.main-nav a:hover,.nav-account:hover { color: #a86400; }
.header-discover { background: #14201b; color: #fff; }
.header-discover:hover { background: #26352d; color: #fff; }
.mobile-menu summary { border-color: #d9ded9; background: #fff; }
.mobile-menu summary span { background: #14201b; }
.mobile-menu nav { background: #fff; border-color: #dfe3dd; }
.mobile-menu nav a { color: #14201b; }
.mobile-menu nav a:hover { background: #f1f3ee; }
.mobile-menu nav a:last-child:not(:first-child) { background: #14201b; color: #fff; }
.header-account-menu > summary { color: #14201b; }
.home-page .home-editorial-section { background: #f8f8f5; color: #14201b; }
.home-page .home-editorial-section .section-heading h2,.home-page .home-editorial-section .section-heading p:not(.eyebrow) { color: #14201b; }
.home-page .home-editorial-section .section-heading > .text-link,.home-page .home-editorial-section .eyebrow { color: #a86400; }
.home-editorial-card { color: #14201b; }
.home-editorial-card h3,.home-editorial-card h3 a { color: #14201b; }
.home-editorial-card h3 a:hover,.home-editorial-cta:hover { color: #a86400; }
.home-editorial-meta,.home-editorial-card > p { color: #657068; }
.home-editorial-cta { color: #14201b; }
.home-editorial-image { background: #e8ebe6; }

.auth-page { --auth-bg: #f8f8f5; --auth-panel: #fff; --auth-text: #171915; --auth-muted: #59645d; --auth-line: #e4e2da; --auth-accent: #f2a007; color-scheme: light; background: var(--auth-bg); color: var(--auth-text); }
.auth-page .auth-form-side { background: var(--auth-bg); }
.auth-page .auth-eyebrow { color: #9c6500; }
.auth-page .auth-title,.auth-page .auth-field label,.auth-page .auth-label-row { color: #171915; }
.auth-page .auth-intro,.auth-page .auth-signup { color: #69736d; }
.auth-page .auth-label-row a,.auth-page .auth-signup a { color: #9c6500; }
.auth-page .auth-field input,.auth-page .auth-field select,.auth-page .auth-field textarea { border-color: #dce1db; background: #fff; color: #14201b; }
.auth-page .auth-field input::placeholder,.auth-page .auth-field textarea::placeholder { color: #858c87; }
.auth-page .auth-field input:focus,.auth-page .auth-field select:focus,.auth-page .auth-field textarea:focus { border-color: #c98500; box-shadow: 0 0 0 3px #f2a00724; }
.auth-page .auth-input-icon-mark,.auth-page .auth-password-toggle { color: #737d76; stroke: #737d76; }
.auth-page .auth-password-toggle:hover { background: #f1f3ee; color: #14201b; }
.auth-page .auth-submit { background: #f2a007; color: #171915; }
.auth-page .auth-submit:hover { background: #d98f00; }
.auth-page .auth-form-errors { border-color: #f0c8c3; background: #fff0ee; color: #a62a23; }
.auth-page .auth-field-error,.auth-page .auth-field .errorlist { color: #a62a23; }
.auth-page .google-auth-divider { color: #7c847f; }
.auth-page .google-auth-divider::before,.auth-page .google-auth-divider::after { background: #dfe3dd; }
.auth-page .google-signin-button { border-color: #d8ddd8; background: #fff; color: #171818; }
.auth-page .auth-topbar-search { background: #e9ece8; color: #6c756f; }
.auth-page .auth-topbar-search input { color: #14201b; }
.auth-page .auth-topbar-search input::placeholder,.auth-page .auth-topbar-search kbd { color: #747d77; }
.auth-page .auth-topbar-signin { background: #e7eae6; color: #14201b; }
.auth-page .auth-topbar-signup { background: #14201b; color: #fff; }
.auth-page .auth-lower-footer,.auth-page .auth-footer-brand,.auth-page .auth-lower-footer .peza-legal-links a { color: #707a73; }
.auth-page .auth-footer-brand > span { color: #79a800; }
.auth-page .auth-bottom-bar { border-color: #e1e5df; background: #eef0ec; color: #14201b; }
.auth-page .auth-bottom-label { color: #737c76; }
.auth-page .auth-bottom-actions a { background: #dfe3de; color: #14201b; }
.auth-page .auth-bottom-actions a:last-child { background: #14201b; color: #fff; }
.auth-page .auth-help,.auth-page .auth-help ul { color: #69736d; }
.auth-page .auth-help ul { border-color: #dce1db; background: #fff; }
.auth-signup-page .signup-progress-step { color: #78817b; }
.auth-signup-page .signup-progress-step > span { border-color: #d5dad4; background: #fff; color: #68726b; }
.auth-signup-page .signup-progress-step.is-active { color: #587a00; }
.auth-signup-page .signup-progress > i { background: #dce1db; }
.auth-signup-page .signup-step-title,.auth-signup-page .account-type-choice legend,.auth-signup-page .seller-module-choice legend { color: #14201b; }
.auth-signup-page .signup-step-copy,.auth-signup-page .account-type-choice > p,.auth-signup-page .seller-module-choice > p { color: #69736d; }
.auth-signup-page .account-type-choice,.auth-signup-page .seller-module-choice { border-color: #dce1db; }
.auth-signup-page .account-type-option,.auth-signup-page .seller-module-option { border-color: #dce1db; background: #fff; color: #14201b; }
.auth-signup-page .account-type-option:has(input:checked),.auth-signup-page .seller-module-option:has(input:checked) { border-color: #84ad00; background: #f4f9e7; }
.auth-signup-page .account-type-option-icon,.auth-signup-page .seller-module-icon { background: #f0f3e9; color: #638700; }
.auth-signup-page .account-type-option-copy strong,.auth-signup-page .seller-module-label { color: #14201b; }
.auth-signup-page .account-type-option-copy small { color: #69736d; }
.auth-signup-page .signup-back { color: #58645c; }
.peza-ticket-actions { grid-column: 1 / -1; display: flex; align-items: center; gap: 10px; padding: 12px 17px; border-top: 1px solid #504047; background: #241c21; }
.peza-ticket-actions button { display: inline-flex; min-height: 38px; align-items: center; justify-content: center; gap: 8px; padding: 0 13px; border: 1px solid #766069; border-radius: 9px; background: transparent; color: #fff; font: 700 .8125rem var(--body); cursor: pointer; }
.peza-ticket-actions button:hover:not(:disabled) { border-color: #f3a000; background: #3c2b20; color: #ffd271; }
.peza-ticket-actions button:disabled { cursor: wait; opacity: .65; }
.peza-ticket-actions .ui-button-icon { width: 16px; height: 16px; }
.peza-ticket-action-status { margin-left: auto; color: #f5c763; font-size: .75rem; }
.peza-checkout-order-summary { padding: 16px; }
.peza-checkout-event-preview { overflow: hidden; border: 1px solid #e6e2dc; border-radius: 14px; background: #fff; }
.peza-checkout-event-preview > img,.peza-checkout-event-placeholder { display: grid; width: 100%; height: 175px; object-fit: cover; }
.peza-checkout-event-placeholder { place-content: center; justify-items: center; gap: 10px; background: #252027; color: #ffc85b; }
.peza-checkout-event-placeholder .ui-button-icon { width: 34px; height: 34px; }
.peza-checkout-event-placeholder span { color: #fff; font-size: .75rem; font-weight: 800; letter-spacing: .15em; text-transform: uppercase; }
.peza-checkout-event-caption { padding: 15px 16px 13px; }
.peza-checkout-event-caption > span { color: #a36500; font-size: .65rem; font-weight: 800; letter-spacing: .13em; }
.peza-checkout-event-caption h2 { margin: 7px 0 9px; color: #242a25; font-size: 1.15rem; line-height: 1.25; }
.peza-checkout-event-caption p { margin: 4px 0 0; color: #68746d; font-size: .8rem; line-height: 1.4; }
.peza-checkout-summary-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-top: 17px; }
.peza-checkout-summary-head .eyebrow { margin: 0; color: #a36500; font-size: .68rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.peza-checkout-summary-head > strong { color: #68746d; font-size: .8rem; }
.peza-checkout-order-summary > .peza-checkout-price-row,.peza-checkout-order-summary > .peza-checkout-total-row { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin: 0; padding: 11px 0; border-top: 1px solid #e9edea; color: #69756e; font-size: .8rem; }
.peza-checkout-order-summary > .peza-checkout-total-row { padding: 13px 0; border-top: 1px dashed #d9ded9; }
.peza-checkout-total-row span { color: #303a34; font-weight: 700; }
.peza-checkout-total-row strong { color: #252b26; font-size: 1.18rem; }
.peza-checkout-ticket-preview { position: relative; display: flex; align-items: center; gap: 11px; min-height: 76px; overflow: hidden; margin: 4px 0 12px; padding: 12px; border: 1px solid #ead7b2; border-radius: 12px; background: #fff9ed; }
.peza-checkout-ticket-stamp { display: grid; width: 37px; height: 37px; flex: 0 0 37px; place-items: center; border-radius: 10px; background: #f3a000; color: #22251f; }
.peza-checkout-ticket-stamp .ui-button-icon { width: 19px; height: 19px; }
.peza-checkout-ticket-preview > div { display: grid; gap: 4px; padding-right: 48px; }
.peza-checkout-ticket-preview strong { color: #30291e; font-size: .8rem; }
.peza-checkout-ticket-preview small { color: #746a58; font-size: .7rem; line-height: 1.4; }
.peza-checkout-qr-placeholder { position: absolute; right: 12px; display: grid; width: 38px; height: 38px; grid-template-columns: repeat(3,1fr); gap: 2px; padding: 3px; border: 1px solid #d7c7a8; border-radius: 4px; background: #fff; }
.peza-checkout-qr-placeholder i { background: #493e30; }
.peza-checkout-qr-placeholder i:nth-child(2),.peza-checkout-qr-placeholder i:nth-child(4),.peza-checkout-qr-placeholder i:nth-child(8) { background: transparent; }
.peza-checkout-qr-placeholder i:nth-child(1),.peza-checkout-qr-placeholder i:nth-child(3),.peza-checkout-qr-placeholder i:nth-child(7) { border: 2px solid #493e30; background: transparent; }
.peza-checkout-order-summary > .peza-checkout-summary-foot { color: #7b867f; font-size: .7rem; line-height: 1.5; }
.peza-ticket-brand { display: flex; align-self: flex-start; align-items: center; gap: 8px; min-height: 36px; letter-spacing: .1em; }
.peza-ticket-brand > img { display: block; width: 32px; height: 32px; flex: 0 0 32px; object-fit: contain; }
.peza-ticket-brand > span { display: flex; flex-direction: column; gap: 1px; line-height: 1.1; }
.peza-ticket-pass { border-color: #43383e; border-top: 3px solid #f2a007; background: #242126; color: #fff; box-shadow: 0 14px 34px #1d152022; }
.peza-ticket-qr-panel { background: #17271f; }
.peza-ticket-brand { color: #fff; }
.peza-ticket-qr-panel > small { color: #d8e3dc; }
.peza-ticket-pass::before { border-color: #776b70; }
.peza-ticket-details { background: #242126; }
.peza-ticket-details::before,.peza-ticket-details::after { background: var(--page,#f8f8f5); }
.peza-ticket-topline { color: #f3a000; }
.peza-ticket-status { border-color: #806a32; background: #42351f; color: #ffd36f; }
.peza-ticket-status.status-checked_in { border-color: #2b7761; background: #163d34; color: #8fe1c4; }
.peza-ticket-status.status-cancelled { border-color: #915255; background: #4e292c; color: #ffb4b4; }
.peza-ticket-details h2 { color: #fff; }
.peza-ticket-facts small { color: #c0b4b8; }
.peza-ticket-facts strong { color: #fff; }
.peza-ticket-facts span { color: #d1c8cb; }
.peza-ticket-code-row { border-color: #725d65; }
.peza-ticket-code-row > span { color: #c0b4b8; }
.peza-ticket-code-row code { color: #f3a000; font-weight: 700; }
.peza-ticket-art { background: #191a1e; }
.peza-ticket-art img { min-height: 208px; }
.peza-ticket-actions { border-color: #43383e; background: #1e1b20; }
.peza-ticket-actions button { border-color: #66575e; color: #f7f3f2; }
.peza-ticket-actions button:hover:not(:disabled) { border-color: #f2a007; background: #362a20; color: #ffd271; }
.peza-ticket-action-status { color: #ffc24a; }
.peza-ticket-list { display: grid; justify-items: stretch; gap: 12px; }
.peza-ticket-pass,.peza-ticket-pass.is-no-art { width: 100%; min-height: 0; grid-template-columns: 88px minmax(0,1fr) 132px; grid-template-rows: auto auto auto auto; grid-template-areas: "brand details qr" "art details scan" ". barcode ." "actions actions actions"; gap: 0 18px; padding: 16px 18px 0; border: 1px solid #e2e1dc; border-radius: 14px; background: #fff; color: #242722; box-shadow: 0 10px 28px #17271f18, 0 2px 6px #17271f0a; }
.peza-ticket-pass::before { display: none; }
.peza-ticket-qr-panel { display: contents; }
.peza-ticket-brand { grid-area: brand; align-self: center; min-height: 38px; margin: 0 0 10px; color: #252a26; font-size: .62rem; letter-spacing: .07em; }
.peza-ticket-brand > img { width: 25px; height: 25px; flex-basis: 25px; }
.peza-ticket-brand i { color: #a86400; }
.peza-ticket-art { grid-area: art; align-self: start; width: 88px; height: 74px; min-height: 0; margin: 0 0 15px; padding: 0; overflow: hidden; border-radius: 9px; background: #f2f1ec; }
.peza-ticket-art img { width: 100%; height: 100%; min-height: 0; object-fit: cover; object-position: center; }
.peza-ticket-details { grid-area: details; align-self: center; padding: 10px 0 16px; background: transparent; }
.peza-ticket-details::before,.peza-ticket-details::after { display: none; }
.peza-ticket-topline { color: #8a610e; font-size: .65rem; }
.peza-ticket-status { padding: 3px 8px; font-size: .65rem; }
.peza-ticket-details h2 { margin: 8px 0 13px; color: #232722; font-size: 1.2rem; }
.peza-ticket-facts { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px 18px; }
.peza-ticket-facts small { color: #7b827d; font-size: .57rem; }
.peza-ticket-facts strong { color: #29312b; font-size: .76rem; }
.peza-ticket-facts span { color: #68736c; font-size: .68rem; }
.peza-ticket-code-row { margin-top: 12px; padding-top: 9px; border-color: #e7e5df; }
.peza-ticket-code-row > span { color: #808781; font-size: .56rem; }
.peza-ticket-code-row code { color: #76500a; font-size: .66rem; }
.peza-ticket-barcode { display: flex; grid-area: barcode; width: min(100%, 440px); height: 28px; gap: 1px; margin: -7px 0 12px; padding: 3px 0; overflow: hidden; background: #fff; }
.peza-ticket-barcode i { min-width: 1px; flex: 1 1 0; background: transparent; }
.peza-ticket-barcode i.is-bar { background: #202520; }
.peza-ticket-pass { box-shadow: 0 10px 28px #17271f18, 0 2px 6px #17271f0a, inset 0 0 0 1px #f8f7f3; }
.peza-ticket-pass::after { position: absolute; top: 14px; right: 168px; bottom: 48px; z-index: 0; border-left: 1px dashed #dcdad3; content: ''; pointer-events: none; }
.peza-ticket-valid-check { display: inline-grid; width: 15px; height: 15px; place-items: center; margin-right: 5px; border-radius: 50%; background: #258052; color: #fff; font-size: .65rem; font-style: normal; letter-spacing: 0; vertical-align: -1px; }
.peza-ticket-organizer { display: flex; align-items: flex-start; gap: 9px; margin-top: 12px; padding-top: 10px; border-top: 1px solid #eeece7; }
.peza-ticket-organizer > img { width: 34px; height: 34px; flex: 0 0 34px; border: 1px solid #e8e7e2; border-radius: 8px; object-fit: cover; }
.peza-ticket-organizer > div { display: flex; min-width: 0; flex-wrap: wrap; align-items: baseline; gap: 3px 12px; }
.peza-ticket-organizer small { flex-basis: 100%; color: #818982; font-size: .55rem; font-weight: 800; letter-spacing: .09em; }
.peza-ticket-organizer strong { color: #29312b; font-size: .72rem; }
.peza-ticket-organizer a { overflow: hidden; color: #596b60; font-size: .65rem; text-overflow: ellipsis; white-space: nowrap; }
.peza-ticket-organizer a:hover { color: #8a610e; text-decoration: underline; }
.peza-ticket-pass > * { position: relative; z-index: 1; }
.peza-ticket-pass::after { z-index: 0; }
.peza-ticket-organizer { grid-column: 1 / -1; }
@media (max-width: 760px) { .peza-ticket-pass::after { right: 120px; } }
@media (max-width: 500px) { .peza-ticket-pass::after { right: 94px; } .peza-ticket-organizer a { max-width: 100%; } }
.peza-ticket-qr { grid-area: qr; align-self: center; justify-self: center; width: 112px; height: 112px; padding: 6px; border: 1px solid #e8e7e2; border-radius: 8px; background: #fff; }
.peza-ticket-cancelled { grid-area: qr; align-self: center; justify-self: center; width: 112px; height: 112px; }
.peza-ticket-qr-panel > small { grid-area: scan; align-self: start; justify-self: center; margin: 4px 0 8px; padding: 0; color: #7b827d; font-size: .58rem; transform: none; }
.peza-ticket-actions { grid-area: actions; justify-content: flex-end; margin: 0 -18px; padding: 8px 14px; border-color: #eeece7; border-radius: 0 0 13px 13px; background: #fbfaf7; }
.peza-ticket-actions button { min-height: 32px; padding: 0 10px; border-color: #dedbd2; color: #394139; font-size: .72rem; }
.peza-ticket-actions button:hover:not(:disabled) { border-color: #d99a1b; background: #fff8e9; color: #76500a; }
.peza-ticket-action-status { display: inline; color: #39724f; }
@media (max-width: 760px) { .peza-ticket-pass,.peza-ticket-pass.is-no-art { grid-template-columns: 70px minmax(0,1fr) 96px; gap: 0 12px; padding: 12px 12px 0; } .peza-ticket-art { width: 70px; height: 64px; } .peza-ticket-qr { width: 82px; height: 82px; } .peza-ticket-cancelled { width: 82px; height: 82px; } .peza-ticket-actions { margin: 0 -12px; } }
@media (max-width: 500px) { .peza-ticket-pass,.peza-ticket-pass.is-no-art { grid-template-columns: 60px minmax(0,1fr) 76px; gap: 0 9px; padding: 10px 9px 0; } .peza-ticket-brand { flex-wrap: wrap; gap: 3px; font-size: .54rem; } .peza-ticket-brand > img { width: 21px; height: 21px; flex-basis: 21px; } .peza-ticket-art { width: 60px; height: 56px; } .peza-ticket-details { padding: 8px 0 12px; } .peza-ticket-details h2 { font-size: .98rem; } .peza-ticket-facts { gap: 8px; } .peza-ticket-qr { width: 68px; height: 68px; padding: 4px; } .peza-ticket-qr-panel > small { max-width: 70px; font-size: .5rem; } .peza-ticket-barcode { width: 100%; height: 22px; } .peza-ticket-actions { margin: 0 -9px; gap: 6px; padding: 7px; } .peza-ticket-actions button { min-height: 30px; padding: 0 7px; font-size: .65rem; } .peza-ticket-action-status { flex-basis: 100%; margin: 0; text-align: right; } }
.peza-ticket-list { grid-template-columns: repeat(auto-fill,minmax(min(100%,320px),320px)); justify-content: start; gap: 20px; }
.creators-ticket { position: relative; display: flex; width: 320px; max-width: 100%; min-height: 0; flex-direction: column; gap: 0; padding: 0; overflow: hidden; border: 0; border-radius: 18px; background: #fff; color: #111114; font-family: var(--body); box-shadow: 0 0 0 1px #e4e4e8, 0 12px 28px #11111418; }
.creators-ticket::before { display: none; }
.creators-ticket::after { display: none; }
.creators-ticket-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 8px; padding: 16px 18px 12px; }
.creators-ticket-peza-logo { width: 22px; height: 22px; flex: 0 0 22px; margin-left: auto; object-fit: contain; }
.creators-ticket-heading { min-width: 0; }
.creators-ticket-heading > span { display: block; overflow: hidden; color: #737a80; font-size: .69rem; text-overflow: ellipsis; white-space: nowrap; }
.creators-ticket-heading h2 { display: -webkit-box; overflow: hidden; margin: 2px 0 4px; color: #17181b; font-family: var(--display); font-size: 1.2rem; line-height: 1.2; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.creators-ticket-heading p { margin: 0; color: #8a8a93; font-size: .68rem; }
.creators-ticket-tools { display: flex; flex: 0 0 auto; flex-wrap: wrap; justify-content: flex-end; gap: 5px; }
.creators-ticket-tools button { display: grid; width: 28px; height: 28px; place-items: center; padding: 0; border: 0; border-radius: 7px; background: transparent; color: #363a3c; cursor: pointer; }
.creators-ticket-tools button:hover { background: #f4f3f1; color: #a86400; }
.creators-ticket-tools .ui-button-icon { width: 16px; height: 16px; }
.creators-ticket-valid { display: inline-flex; align-items: center; gap: 4px; padding: 3px 7px; border-radius: 20px; background: #4c3b18; color: #fff; font-size: .61rem; font-weight: 700; }
.creators-ticket-valid i { display: grid; width: 14px; height: 14px; place-items: center; border-radius: 50%; background: #238252; color: #fff; font-size: .62rem; font-style: normal; }
.creators-ticket-valid.is-checked { background: #eeeef0; color: #53565b; }
.creators-ticket-info { display: grid; grid-template-columns: 1fr 1fr; gap: 12px 14px; padding: 4px 18px 15px; }
.creators-ticket-info > div { min-width: 0; }
.creators-ticket-info .full { grid-column: 1 / -1; }
.creators-ticket-info span { display: block; margin-bottom: 2px; color: #8a8a93; font-size: .65rem; }
.creators-ticket-info b { display: block; overflow: hidden; color: #22252a; font-size: .78rem; font-weight: 650; text-overflow: ellipsis; white-space: nowrap; }
.creators-ticket-tear { position: relative; height: 1px; margin: 2px 0 0; border-top: 1px dashed #dedee2; }
.creators-ticket-tear::before,.creators-ticket-tear::after { position: absolute; top: -10px; width: 20px; height: 20px; border-radius: 50%; background: var(--paper,#f8f8f5); content: ''; }
.creators-ticket-tear::before { left: -10px; }
.creators-ticket-tear::after { right: -10px; }
.creators-ticket-code { padding: 14px 18px 15px; }
.creators-ticket-code .peza-ticket-barcode { width: 100%; height: 56px; grid-area: auto; margin: 0; padding: 0; }
.creators-ticket-code .peza-ticket-barcode svg { display: block; width: 100%; height: 100%; }
.creators-ticket-promo { position: relative; display: flex; min-height: 108px; align-items: center; justify-content: space-between; gap: 8px; overflow: hidden; padding: 28px 12px 12px; background: #ff7a00; color: #111114; }
.creators-ticket-promo-art { position: absolute; top: 0; right: 0; width: 56%; height: 100%; object-fit: cover; object-position: center; opacity: .52; }
.creators-ticket-organizer { position: relative; z-index: 1; display: flex; max-width: 62%; align-items: center; gap: 8px; margin: 0; padding: 0; border: 0; }
.creators-ticket-organizer > img { width: 38px; height: 38px; flex: 0 0 38px; border: 1px solid #ffffff70; border-radius: 8px; object-fit: cover; }
.creators-ticket-organizer > div { display: grid; min-width: 0; gap: 2px; }
.creators-ticket-organizer span { color: #62400e; font-size: .5rem; font-weight: 800; letter-spacing: .08em; }
.creators-ticket-organizer strong { display: block; overflow: hidden; color: #111114; font-size: .68rem; font-weight: 800; text-overflow: ellipsis; white-space: nowrap; }
.creators-ticket-organizer small { overflow: hidden; color: #25211a; font-size: .53rem; text-overflow: ellipsis; white-space: nowrap; }
.creators-ticket-contact { display: inline-flex; min-width: 0; align-items: center; gap: 4px; color: #17181b; font-size: .58rem; line-height: 1.2; text-decoration: none; }
.creators-ticket-contact b { overflow: hidden; font-weight: 800; text-overflow: ellipsis; white-space: nowrap; }
.creators-ticket-contact .ui-button-icon { width: 12px; height: 12px; flex: 0 0 12px; }
.creators-ticket-qrbox { position: relative; z-index: 2; width: 84px; height: 84px; flex: 0 0 84px; padding: 6px; border-radius: 10px; background: #fff; }
.creators-ticket-qrbox .peza-ticket-qr { width: 100%; height: 100%; padding: 0; border: 0; border-radius: 0; object-fit: contain; }
.creators-ticket-cancelled { position: relative; z-index: 2; display: grid; width: 84px; height: 84px; place-items: center; border-radius: 10px; background: #fff; color: #a53636; font-size: .7rem; }
.creators-ticket-status { position: absolute; z-index: 3; right: 12px; bottom: 2px; color: #176142; font-size: .62rem; }
@media (max-width: 500px) { .peza-ticket-list { grid-template-columns: minmax(0,1fr); } .creators-ticket { width: 320px; } }
@media (max-width: 760px) { .peza-checkout-order-summary { grid-row: auto; } .peza-checkout-event-preview > img,.peza-checkout-event-placeholder { height: clamp(170px,52vw,260px); } .peza-ticket-actions { flex-wrap: wrap; } .peza-ticket-action-status { flex-basis: 100%; margin-left: 0; } }

/* Marketplace order and delivery protection */
.marketplace-checkout-form { display: grid; gap: 11px; margin-top: 18px; padding-top: 16px; border-top: 1px solid #e8e8e3; }
.marketplace-checkout-form h3 { margin: 0; color: #222a24; font-size: 1rem; }
.marketplace-checkout-form p { display: grid; gap: 5px; margin: 0; color: #445047; font-size: .9rem; }
.marketplace-checkout-form input,.marketplace-checkout-form textarea,.marketplace-order-form input,.marketplace-order-form textarea { width: 100%; min-height: 42px; padding: 10px 12px; border: 1px solid #d9dfd9; border-radius: 9px; background: #fff; color: #202720; font: inherit; }
.marketplace-checkout-form textarea,.marketplace-order-form textarea { min-height: 88px; resize: vertical; }
.marketplace-cart-continue { display: inline-flex; margin-top: 12px; color: #536257; font-size: .88rem; }
.marketplace-cart-seller-group { overflow: hidden; border: 1px solid #e1e6e1; border-radius: 14px; background: #fff; }
.marketplace-cart-seller-group + .marketplace-cart-seller-group { margin-top: 14px; }
.marketplace-cart-seller-group > header { display: grid; grid-template-columns: 1fr auto; gap: 5px 14px; padding: 14px 16px; border-bottom: 1px solid #e8ece8; background: #f8faf7; }
.marketplace-cart-seller-group > header > div { display: grid; gap: 3px; }
.marketplace-cart-seller-group > header span,.marketplace-payment-destination { color: #6d786f; font-size: .8rem; }
.marketplace-cart-seller-group > header strong { color: #263128; }
.marketplace-cart-seller-total { text-align: right; }
.marketplace-payment-destination { grid-column: 1 / -1; }
.marketplace-cart-summary-seller { display: flex; justify-content: space-between; gap: 12px; padding: 8px 0; border-bottom: 1px solid #edf0ec; color: #657168; font-size: .84rem; }
.marketplace-cart-summary-seller strong { color: #263128; white-space: nowrap; }
.marketplace-cart-seller-group .marketplace-cart-item { border-top: 0; }
.marketplace-cart-remove { grid-column: 1 / -1; justify-self: start; padding: 4px 0; border: 0; background: transparent; color: #a33a32; font: 600 .78rem var(--body); cursor: pointer; }
.marketplace-cart-remove:hover { color: #7c211b; text-decoration: underline; }
.marketplace-customer-search { display: grid; gap: 8px; margin: 0 0 16px; padding: 16px; border: 1px solid #e0e6df; border-radius: 13px; background: #fff; }
.marketplace-customer-search label { font-size: .88rem; font-weight: 700; }
.marketplace-customer-search > div { display: flex; gap: 9px; }
.marketplace-customer-search input { width: min(100%,520px); min-height: 42px; padding: 9px 12px; border: 1px solid #d7ded6; border-radius: 9px; font: inherit; }
.marketplace-customer-list { display: grid; gap: 10px; }
.marketplace-customer-card { display: grid; grid-template-columns: 44px minmax(160px,1fr) auto auto auto; align-items: center; gap: 14px; padding: 15px; border: 1px solid #e0e6df; border-radius: 13px; background: #fff; }
.marketplace-customer-avatar { display: grid; width: 42px; height: 42px; place-items: center; border-radius: 50%; background: #fff1d2; color: #97600b; font-weight: 800; }
.marketplace-customer-main h2 { margin: 0 0 4px; font-size: 1rem; }
.marketplace-customer-main p { margin: 0; color: #69756d; font-size: .86rem; }
.marketplace-customer-stat { display: grid; gap: 3px; text-align: right; }
.marketplace-customer-stat strong { font-size: .9rem; }
.marketplace-customer-stat span { color: #69756d; font-size: .76rem; }
.marketplace-orders-filter-note { margin: -6px 0 14px; color: #68746b; }
.marketplace-orders-filter-note a { color: #a36600; font-weight: 700; }
@media (max-width: 700px) { .marketplace-customer-card { grid-template-columns: 42px minmax(0,1fr) auto; gap: 10px; } .marketplace-customer-main { grid-column: 2 / -1; } .marketplace-customer-stat { text-align: left; } .marketplace-customer-card .button { grid-column: 1 / -1; justify-self: start; } }
.marketplace-add-cart { width: auto !important; gap: 8px; padding: 0 14px; border-radius: 999px; white-space: nowrap; }
.marketplace-add-cart .ui-button-icon { width: 18px; height: 18px; }
.marketplace-add-cart span { font-size: .84rem; font-weight: 700; }
.header-cart-button { text-decoration: none; }
.marketplace-orders-shell,.marketplace-order-detail-shell { width: min(100%, 1060px); margin: 0 auto; }
.marketplace-orders-shell > .dashboard-welcome,.marketplace-order-detail-heading { margin-bottom: 22px; }
.marketplace-order-card,.marketplace-order-panel { padding: 20px; border: 1px solid #e1e5e0; border-radius: 16px; background: #fff; box-shadow: 0 6px 22px #1527190a; }
.marketplace-order-card { margin-bottom: 14px; }
.marketplace-order-card-head,.marketplace-order-card-footer,.marketplace-order-total { display: flex; align-items: center; justify-content: space-between; gap: 14px; }
.marketplace-order-card-head > div > span,.marketplace-order-card-footer > span:last-of-type { color: #718077; font-size: .84rem; }
.marketplace-order-card h2 { margin: 3px 0; color: #222a24; font-size: 1.1rem; }
.marketplace-order-status { display: inline-flex; padding: 6px 10px; border-radius: 999px; background: #fff3d7; color: #704900; font-size: .78rem; font-weight: 700; }
.marketplace-order-status.status-completed { background: #e5f4e9; color: #23613a; }
.marketplace-order-status.status-disputed,.marketplace-order-status.status-cancelled,.marketplace-order-status.status-refunded { background: #fde9e8; color: #8c302d; }
.marketplace-order-card-items { display: grid; gap: 8px; margin: 15px 0; padding: 12px 0; border-top: 1px solid #edf0ec; border-bottom: 1px solid #edf0ec; }
.marketplace-order-card-items > div { display: flex; justify-content: space-between; gap: 14px; font-size: .9rem; }
.marketplace-order-card-items span { color: #637067; }
.marketplace-order-card-footer > span:first-child { display: grid; gap: 2px; color: #6d786f; font-size: .8rem; }
.marketplace-order-card-footer > span:first-child strong { color: #202720; font-size: 1rem; }
.marketplace-order-back { display: inline-flex; margin-bottom: 14px; color: #59685e; }
.marketplace-order-detail-heading { display: flex; align-items: center; justify-content: space-between; gap: 18px; }
.marketplace-order-detail-heading h1 { margin: 4px 0; font-size: clamp(1.5rem,3vw,2.2rem); }
.marketplace-order-detail-heading p { margin: 0; color: #667269; }
.marketplace-order-detail-grid { display: grid; grid-template-columns: minmax(0,1.5fr) minmax(280px,1fr); align-items: start; gap: 18px; }
.marketplace-order-detail-grid main,.marketplace-order-detail-grid aside { display: grid; gap: 16px; }
.marketplace-order-panel h2 { margin: 0 0 14px; font-size: 1.1rem; }
.marketplace-order-panel > p { color: #59665d; line-height: 1.55; }
.marketplace-order-line { display: flex; align-items: center; gap: 12px; padding: 11px 0; border-top: 1px solid #edf0ec; }
.marketplace-order-line img,.marketplace-order-line-placeholder { width: 54px; height: 54px; flex: 0 0 54px; border-radius: 10px; object-fit: cover; }
.marketplace-order-line-placeholder { display: grid; place-items: center; background: #fff3d7; color: #a46700; font-weight: 800; }
.marketplace-order-line > div { display: grid; flex: 1; gap: 4px; }
.marketplace-order-line small,.marketplace-order-line > b { color: #5d6a60; font-size: .83rem; }
.marketplace-order-total { margin-top: 12px; padding-top: 14px; border-top: 1px solid #e5e9e4; }
.marketplace-order-timeline { display: grid; gap: 0; margin: 0; padding: 0; list-style: none; }
.marketplace-order-timeline li { position: relative; display: grid; grid-template-columns: 16px 1fr; gap: 10px; padding-bottom: 17px; }
.marketplace-order-timeline li:not(:last-child)::after { position: absolute; top: 12px; bottom: 0; left: 5px; border-left: 1px solid #dce4dc; content: ''; }
.marketplace-order-timeline li > span { z-index: 1; width: 12px; height: 12px; border: 3px solid #fff; border-radius: 50%; background: #f2a000; box-shadow: 0 0 0 1px #e3a21e; }
.marketplace-order-timeline li > div { display: grid; gap: 3px; }
.marketplace-order-timeline small,.marketplace-order-timeline p { margin: 0; color: #6b776e; font-size: .84rem; }
.marketplace-shipping-summary,.marketplace-handover-code { display: grid; gap: 6px; margin-top: 14px; padding: 14px; border-radius: 12px; background: #f4f7f3; }
.marketplace-handover-code strong { color: #202720; font-size: 1.7rem; letter-spacing: .2em; }
.marketplace-handover-code small,.marketplace-funds-note { color: #657168; line-height: 1.5; }
.marketplace-order-form { display: grid; gap: 9px; margin-top: 12px; }
.marketplace-order-form label { color: #39453c; font-size: .88rem; font-weight: 700; }
.marketplace-order-form button { justify-self: start; }
.marketplace-order-actions { display: flex; flex-wrap: wrap; gap: 9px; }
.marketplace-order-actions .is-secondary { background: #f3f5f2; color: #334138; }
.marketplace-evidence-details { margin-top: 15px; padding-top: 13px; border-top: 1px solid #e8ece7; }
.marketplace-evidence-details summary { color: #435247; cursor: pointer; font-weight: 700; }
.marketplace-dispute-panel { border-color: #efc8c4; background: #fffafa; }
.marketplace-dispute-deadline { padding: 12px; border-radius: 9px; background: #fff5df; color: #76560f !important; font-size: .88rem; }
.marketplace-funds-note { margin: 0; padding: 12px; border-left: 3px solid #f2a000; background: #fffaf0; font-size: .83rem; }
.marketplace-payout-settings { display: grid; grid-template-columns: minmax(220px,.8fr) minmax(300px,1.2fr); gap: 24px; margin: 22px 0; padding: 22px; border: 1px solid #e0e7df; border-radius: 16px; background: #fff; }
.marketplace-payout-settings h2 { margin: 4px 0 8px; }
.marketplace-payout-settings p { color: #667269; line-height: 1.5; }
.marketplace-payout-form { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px 14px; align-content: start; }
.marketplace-payout-form label { align-self: end; color: #39453c; font-size: .88rem; font-weight: 700; }
.marketplace-payout-form > :is(select,input),.marketplace-payout-mobile,.marketplace-payout-bank { grid-column: 1 / -1; }
.marketplace-payout-mobile,.marketplace-payout-bank { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px 14px; }
.marketplace-payout-mobile[hidden],.marketplace-payout-bank[hidden] { display: none; }
.marketplace-payout-form .button { justify-self: start; margin-top: 5px; }
.marketplace-payout-settings { grid-template-columns: minmax(0,1fr) auto; align-items: center; }
.marketplace-payout-settings > .button { min-height: 38px; padding: 0 15px; border-radius: 8px; white-space: nowrap; }
.marketplace-payout-dialog { width: min(560px,calc(100vw - 28px)); max-width: none; max-height: min(88vh,820px); overflow: auto; padding: 0; border: 1px solid #dfe5e0; border-radius: 16px; background: #fff; color: #28332c; box-shadow: 0 24px 80px #15251e3b; }
.marketplace-payout-dialog::backdrop { background: #18231fa6; backdrop-filter: blur(3px); }
.marketplace-payout-dialog-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 15px; padding: 20px 22px 15px; border-bottom: 1px solid #e9ece9; }
.marketplace-payout-dialog-header .eyebrow { margin: 0 0 5px; color: #b77700; font-size: .6875rem; font-weight: 750; letter-spacing: .1em; text-transform: uppercase; }
.marketplace-payout-dialog-header h2 { margin: 0; font-size: 1.25rem; }
.marketplace-payout-dialog-close { display: grid; width: 34px; height: 34px; flex: 0 0 34px; place-items: center; border: 1px solid #e2e6e3; border-radius: 8px; background: #fff; color: #515b55; font-size: 1.35rem; line-height: 1; cursor: pointer; }
.marketplace-payout-dialog-intro { margin: 0; padding: 14px 22px 0; color: #69756d; font-size: .8125rem; line-height: 1.5; }
.marketplace-payout-dialog .marketplace-payout-form { padding: 16px 22px 20px; }
.marketplace-payout-dialog-actions { display: flex; grid-column: 1 / -1; justify-content: flex-end; gap: 9px; margin-top: 8px; padding-top: 14px; border-top: 1px solid #e9ece9; }
.marketplace-payout-dialog-actions .button { min-height: 38px; padding: 0 14px; border-radius: 8px; font-size: .8125rem; }
.marketplace-order-form select,.marketplace-payout-form select,.marketplace-payout-form input,.marketplace-order-form input,.marketplace-order-form textarea { width: 100%; min-height: 42px; padding: 10px 12px; border: 1px solid #d7ded6; border-radius: 9px; background: #fff; color: #273229; font: inherit; }
.marketplace-order-form textarea { min-height: 96px; resize: vertical; }
@media (max-width: 700px) { .marketplace-payout-settings { grid-template-columns: 1fr; gap: 10px; padding: 17px; } .marketplace-payout-settings > .button { justify-self: start; } .marketplace-payout-dialog-header,.marketplace-payout-dialog-intro { padding-right: 16px; padding-left: 16px; } .marketplace-payout-dialog .marketplace-payout-form { grid-template-columns: 1fr; padding: 14px 16px 17px; } .marketplace-payout-dialog .marketplace-payout-form > :is(select,input),.marketplace-payout-dialog .marketplace-payout-mobile,.marketplace-payout-dialog .marketplace-payout-bank { grid-column: 1; } .marketplace-payout-dialog .marketplace-payout-mobile,.marketplace-payout-dialog .marketplace-payout-bank { grid-template-columns: 1fr; } }
@media (max-width: 760px) { .marketplace-order-detail-grid { grid-template-columns: minmax(0,1fr); } .marketplace-order-card-footer { flex-wrap: wrap; } }
@media (max-width: 500px) { .marketplace-order-card,.marketplace-order-panel { padding: 15px; } .marketplace-order-card-head,.marketplace-order-detail-heading { align-items: flex-start; } .marketplace-order-detail-heading { flex-direction: column; } .marketplace-order-card-items > div { flex-direction: column; gap: 3px; } }
.integrations-dashboard-page .peza-payment-policy-note { margin-top: 14px; padding: 16px 18px; border: 1px solid #f0d69e; border-left: 4px solid #ed9b00; border-radius: 12px; background: #fffaf0; color: #47534b; }
.integrations-dashboard-page .peza-payment-policy-note[hidden] { display: none; }
.integrations-dashboard-page .peza-payment-policy-note strong { display: block; margin-bottom: 5px; color: #29352d; font-size: .9375rem; }
.integrations-dashboard-page .peza-payment-policy-note p { margin: 0 0 8px; font-size: .8125rem; line-height: 1.55; }
.integrations-dashboard-page .peza-payment-policy-note a { color: #925d00; font-size: .8125rem; font-weight: 700; }
.event-ticket-toggle-field > div p a { color: #8b5d08; font-weight: 700; }
.ticket-credit-panel { display: grid; grid-template-columns: minmax(0,1.1fr) minmax(260px,.9fr); gap: 24px; margin: 24px 0; padding: 24px; border: 1px solid #e1e7e2; border-radius: 18px; background: #fff; box-shadow: 0 8px 24px #2433280a; }
.ticket-credit-summary h2 { margin: 0 0 8px; font-size: 1.35rem; }
.ticket-credit-summary > p:not(.eyebrow) { max-width: 620px; color: #68736d; line-height: 1.55; }
.ticket-credit-summary > strong,.ticket-credit-summary > small { display: block; margin-top: 9px; }
.ticket-credit-summary > strong { color: #24352b; font-size: 1.2rem; }
.ticket-credit-summary > small { color: #68736d; }
.ticket-credit-purchase-form { display: grid; gap: 9px; align-content: start; padding: 18px; border-radius: 14px; background: #f6f8f6; }
.ticket-credit-purchase-form label,.ticket-order-confirm-form label { font-weight: 700; }
.ticket-credit-purchase-form input,.ticket-order-confirm-form input { width: 100%; min-height: 42px; padding: 9px 12px; border: 1px solid #d6ded8; border-radius: 9px; background: #fff; font: inherit; }
.ticket-credit-purchase-form > p { display: flex; justify-content: space-between; margin: 2px 0; color: #59645e; }
.ticket-credit-purchase-form > p strong { color: #1f2c24; }
.ticket-credit-purchase-form > small,.ticket-credit-disabled { color: #68736d; font-size: .875rem; line-height: 1.5; }
.ticket-credit-purchase-form > button,.ticket-order-confirm-form > button,.ticket-send-whatsapp { display: inline-flex; min-height: 42px; align-items: center; justify-content: center; padding: 9px 15px; border: 0; border-radius: 10px; background: #f4a000; color: #211a0c; font: inherit; font-weight: 800; text-decoration: none; cursor: pointer; }
.ticket-credit-history { margin: 18px 0 28px; padding: 18px 22px; border: 1px solid #e1e7e2; border-radius: 15px; background: #fff; }
.ticket-credit-history h2 { margin: 0 0 8px; font-size: 1.1rem; }
.ticket-credit-history p { display: flex; justify-content: space-between; gap: 12px; margin: 0; padding: 10px 0; border-top: 1px solid #edf0ed; }
.sales-dashboard-page .ticket-credit-panel,.sales-dashboard-page .ticket-credit-history { display: none !important; }
.organizer-ticket-issue-panel { display: grid; grid-template-columns: minmax(0,1fr) minmax(280px,.8fr); gap: 22px; margin: 22px 0; padding: 20px; border: 1px solid #dfe5e0; border-radius: 12px; background: #fff; }
.organizer-ticket-issue-panel h2 { margin: 0 0 8px; font-size: 1.2rem; }
.organizer-ticket-issue-panel > div > p:last-child { max-width: 560px; margin: 0; color: #647067; line-height: 1.55; }
.organizer-ticket-issue-panel form { display: grid; gap: 8px; }
.organizer-ticket-issue-panel form label { margin-top: 4px; font-weight: 650; }
.organizer-ticket-issue-panel form input { width: 100%; min-height: 40px; padding: 8px 10px; border: 1px solid #d5ddd7; border-radius: 7px; background: #fff; font: inherit; }
.organizer-ticket-issue-panel form button { min-height: 40px; margin-top: 8px; }
.ticket-order-confirm-form { display: grid; gap: 8px; max-width: 460px; margin: 14px 0 8px; }
.ticket-order-cancel { padding: 6px 0; border: 0; background: transparent; color: #a73831; font: inherit; font-weight: 700; cursor: pointer; }
.ticket-send-whatsapp { min-height: 36px; margin-top: 10px; padding: 7px 12px; background: #16a765; color: #fff; }
.event-whatsapp-order { margin-top: 20px; padding-top: 18px; border-top: 1px solid #e7e9e5; }
.event-whatsapp-order h3 { margin: 0 0 5px; font-size: 1rem; }
.event-whatsapp-order p { color: #68736d; font-size: .875rem; line-height: 1.5; }
.event-whatsapp-order form { display: grid; gap: 8px; }
.event-whatsapp-order label { margin-top: 4px; color: #465149; font-size: .8125rem; font-weight: 700; }
.event-whatsapp-order input { width: 100%; min-height: 40px; padding: 9px 11px; border: 1px solid #dce2dd; border-radius: 9px; background: #fff; font: inherit; }
.event-whatsapp-order button { min-height: 42px; margin-top: 7px; border: 0; border-radius: 10px; background: #16a765; color: #fff; font: inherit; font-weight: 800; cursor: pointer; }
.ticket-request-confirmation,.public-ticket-page { width: min(100% - 36px, 720px); margin: 50px auto; }
.ticket-request-confirmation { padding: 30px; border: 1px solid #e1e7e2; border-radius: 18px; background: #fff; }
.ticket-request-confirmation h1 { margin: 0 0 10px; }
.ticket-request-confirmation dl,.public-ticket-card dl { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
.ticket-request-confirmation dl div,.public-ticket-card dl div { padding: 12px; border-radius: 10px; background: #f6f8f6; }
.ticket-request-confirmation dt,.public-ticket-card dt { color: #707b74; font-size: .8rem; }
.ticket-request-confirmation dd,.public-ticket-card dd { margin: 5px 0 0; overflow-wrap: anywhere; font-weight: 700; }
.ticket-request-confirmation > p:not(.eyebrow) { line-height: 1.6; }
.public-ticket-card { padding: 25px; border: 1px solid #e1e5e2; border-radius: 20px; background: #fff; box-shadow: 0 14px 40px #13221814; }
.public-ticket-card > header { display: flex; align-items: center; justify-content: space-between; gap: 12px; color: #67736b; }
.public-ticket-card > header strong { padding: 7px 12px; border-radius: 20px; background: #e8f6ed; color: #187a42; }
.public-ticket-card > header strong.is-used { background: #fff0e8; color: #ae4e1e; }
.public-ticket-card h1 { margin: 22px 0 5px; font-size: clamp(1.5rem,4vw,2.2rem); }
.public-ticket-instruction,.public-ticket-foot { color: #69746d; line-height: 1.5; }
.public-ticket-qr { display: block; width: min(100%,260px); margin: 22px auto; padding: 12px; border: 1px solid #e2e7e3; border-radius: 14px; }
@media (max-width: 760px) { .ticket-credit-panel { grid-template-columns: minmax(0,1fr); padding: 18px; } .ticket-credit-history p { flex-direction: column; gap: 4px; } }

/* Dashboard data tables use the simple, compact customer-list style. */
.dashboard-customer-total { display: grid; width: min(100%, 228px); gap: 5px; margin: 0 0 18px; padding: 14px 20px; border-radius: 10px; background: #eaf0ef; color: #151a18; }
.dashboard-customer-total strong { font-size: 1.375rem; line-height: 1.15; }
.dashboard-customer-total span { color: #5c625f; font-size: 0.9375rem; }
.marketplace-customer-search { display: flex; align-items: center; gap: 10px; margin: 0 0 24px; padding: 0 12px; border: 0; border-radius: 9px; background: #f3f3f4; }
.marketplace-customer-search input { width: 100%; min-height: 42px; padding: 9px 0; border: 0; outline: 0; background: transparent; color: #292d33; font: 400 0.875rem/1.4 var(--body); }
.marketplace-customer-search input:focus-visible { outline: 2px solid #aeb6c1; outline-offset: 2px; }
.marketplace-customer-search button { display: grid; width: 34px; height: 38px; flex: 0 0 34px; place-items: center; border: 0; background: transparent; color: #6e7480; cursor: pointer; }
.marketplace-customer-search button .ui-button-icon { width: 18px; height: 18px; }
.dashboard-table-wrap { width: 100%; overflow-x: auto; }
.dashboard-data-table { width: 100%; border-collapse: collapse; color: #272a2e; font-size: 0.875rem; text-align: left; }
.dashboard-data-table th,
.dashboard-data-table td { min-width: 112px; padding: 12px 14px; border-bottom: 1px solid #e3e5e7; vertical-align: middle; }
.dashboard-data-table th { color: #26292d; font-weight: 500; white-space: nowrap; }
.dashboard-data-table td { color: #737680; }
.dashboard-data-table th:first-child,
.dashboard-data-table td:first-child { min-width: 250px; padding-left: 0; }
.dashboard-data-table th:last-child,
.dashboard-data-table td:last-child { width: 44px; min-width: 44px; padding-right: 0; text-align: right; }
.dashboard-table-customer { display: flex; min-width: 0; align-items: center; gap: 12px; }
.dashboard-table-customer > span:first-child { display: grid; width: 24px; height: 24px; flex: 0 0 24px; place-items: center; border: 1px solid #d1d3d7; border-radius: 4px; background: #e6e7e9; color: #25282c; font-size: 0.6875rem; }
.dashboard-table-customer > span:last-child { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.dashboard-data-table .dashboard-table-number { color: #292d31; font-weight: 500; }
.dashboard-table-action { display: inline-flex; width: 30px; height: 30px; align-items: center; justify-content: center; border-radius: 6px; color: #363a3e; font-size: 1.15rem; font-weight: 700; letter-spacing: 1px; text-decoration: none; }
.dashboard-table-action:hover { background: #f0f1f2; }
.dashboard-data-table .dashboard-table-empty { padding: 28px 8px; color: #727780; text-align: center; }
.dashboard-table-primary { display: block; max-width: 320px; overflow: hidden; color: #33373c; font-weight: 600; text-overflow: ellipsis; white-space: nowrap; }
.dashboard-table-secondary { display: block; margin-top: 3px; color: #797d86; font-size: 0.75rem; }
.dashboard-table-actions { display: flex; align-items: center; justify-content: flex-end; gap: 12px; white-space: nowrap; }
.dashboard-table-actions a,
.dashboard-table-actions button,
.dashboard-data-table td > a { border: 0; background: transparent; color: #4c596f; font: inherit; font-size: 0.8125rem; text-decoration: none; cursor: pointer; }
.dashboard-table-actions a:hover,
.dashboard-table-actions button:hover,
.dashboard-data-table td > a:hover { color: #a56900; text-decoration: underline; }
.dashboard-table-actions .dashboard-table-danger { color: #9b3b36; }
.dashboard-delete-dialog { width: min(460px,calc(100vw - 28px)); max-width: none; padding: 0; border: 1px solid #dfe5e0; border-radius: 12px; background: #fff; color: #28332c; box-shadow: 0 24px 80px #15251e3b; }
.dashboard-delete-dialog::backdrop { background: #18231fa6; backdrop-filter: blur(3px); }
.dashboard-delete-dialog-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 15px; padding: 18px 20px 14px; border-bottom: 1px solid #e9ece9; }
.dashboard-delete-dialog-heading .eyebrow { margin: 0 0 5px; color: #9b3b36; font-size: .6875rem; font-weight: 750; text-transform: uppercase; }
.dashboard-delete-dialog-heading h2 { margin: 0; font-size: 1.2rem; }
.dashboard-delete-dialog-close { width: 34px; height: 34px; border: 1px solid #e2e6e3; border-radius: 8px; background: #fff; color: #515b55; font-size: 1.35rem; line-height: 1; cursor: pointer; }
.dashboard-delete-dialog form { padding: 15px 20px 18px; }
.dashboard-delete-dialog form > p { margin: 0 0 20px; color: #59645d; line-height: 1.5; }
.dashboard-delete-dialog-actions { display: flex; justify-content: flex-end; gap: 9px; }
.dashboard-delete-dialog-actions .button { min-height: 38px; padding: 0 14px; border-radius: 7px; font-size: .8125rem; }
.dashboard-delete-dialog-actions .button-danger { border: 1px solid #a34740; background: #a34740; color: #fff; }
.dashboard-table-item { display: block; max-width: 210px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.dashboard-table-item small { color: #737680; }
.marketplace-orders-table { min-width: 930px; }
.ticket-orders-table { min-width: 1110px; }
.ticket-order-actions-cell { min-width: 210px !important; }
.ticket-order-actions > summary { color: #526177; cursor: pointer; font-weight: 600; }
.ticket-order-actions form { min-width: 190px; margin: 8px 0; }
.ticket-order-actions form input { width: 100%; min-height: 38px; padding: 8px 10px; border: 1px solid #d7ded6; border-radius: 8px; }
.ticket-order-actions form button { border: 0; background: transparent; color: #9b6500; font: inherit; font-weight: 650; cursor: pointer; }
@media (max-width: 700px) {
  .dashboard-data-table { min-width: 760px; }
  .dashboard-customer-total { padding: 12px 16px; }
}

/* Resource management pages follow the dashboard catalog layout. */
.businesses-dashboard-page .peza-dashboard-page-content,
.events-dashboard-page .peza-dashboard-page-content,
.posts-dashboard-page .peza-dashboard-page-content,
.marketplace-customers-page .peza-dashboard-page-content,
.marketplace-orders-page .peza-dashboard-page-content { max-width: 1160px; padding: 28px 24px 48px; }
.dashboard-resource-stats { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 0; margin: 0 0 16px; padding: 16px 0; border: 1px solid #dfe2e1; border-radius: 12px; background: #fff; }
.dashboard-resource-stats > div { display: grid; align-content: start; gap: 7px; min-height: 74px; padding: 0 20px; border-right: 1px solid #e5e7e7; }
.dashboard-resource-stats > div:last-child { border-right: 0; }
.dashboard-resource-stats span { color: #606463; font-size: 0.75rem; font-weight: 550; }
.dashboard-resource-stats strong { color: #303432; font-size: 1.375rem; line-height: 1.1; }
.dashboard-resource-stats small { color: #8a8f8d; font-size: 0.6875rem; }
.dashboard-resource-panel { overflow: hidden; border: 1px solid #dfe2e1; border-radius: 12px; background: #fff; }
.dashboard-resource-tabs { display: flex; min-height: 48px; align-items: stretch; gap: 25px; padding: 0 20px; border-bottom: 1px solid #e6e7e7; }
.dashboard-resource-tabs a { position: relative; display: inline-flex; align-items: center; color: #656967; font-size: 0.8125rem; text-decoration: none; }
.dashboard-resource-tabs a.is-active { color: #303331; font-weight: 700; }
.dashboard-resource-tabs a.is-active::after { position: absolute; right: 0; bottom: 0; left: 0; height: 2px; background: #363a38; content: ''; }
.dashboard-resource-search { display: flex; min-height: 52px; align-items: center; gap: 8px; padding: 9px 12px; border-bottom: 1px solid #e6e7e7; }
.dashboard-resource-search > input[type=search] { min-width: 0; min-height: 34px; flex: 1; padding: 7px 11px; border: 1px solid #d0d2d2; border-radius: 8px; color: #363a38; font: 400 0.8125rem/1.4 var(--body); }
.dashboard-resource-search > input[type=search]::placeholder { color: #8a8d90; }
.dashboard-resource-search > button { display: grid; width: 35px; height: 35px; flex: 0 0 35px; place-items: center; border: 0; background: transparent; color: #73777a; cursor: pointer; }
.dashboard-resource-search > button .ui-button-icon { width: 17px; height: 17px; }
.dashboard-resource-search > select { min-height: 35px; padding: 6px 24px 6px 10px; border: 1px solid #d0d2d2; border-radius: 8px; background: #fff; color: #454947; font: 400 0.75rem var(--body); }
.dashboard-resource-panel > .dashboard-table-wrap { padding: 0 12px; }
.dashboard-resource-panel .dashboard-data-table { font-size: 0.8125rem; }
.dashboard-resource-panel .dashboard-data-table th { padding-top: 15px; padding-bottom: 13px; }
.dashboard-resource-panel .dashboard-data-table td { padding-top: 11px; padding-bottom: 11px; }
.dashboard-resource-panel .dashboard-data-table:has(.dashboard-table-empty) thead { display: none; }
.dashboard-resource-panel .dashboard-data-table .dashboard-table-empty { height: 310px; padding: 0; vertical-align: middle; text-align: center; }
.dashboard-resource-panel .dashboard-data-table .dashboard-resource-empty { min-height: 310px; }
.dashboard-resource-panel .dashboard-section-heading { display: flex; align-items: center; justify-content: space-between; margin: 0; padding: 16px 20px; border-bottom: 1px solid #e6e7e7; }
.dashboard-resource-panel .dashboard-section-heading h2 { margin: 0; color: #303432; font-size: 0.9375rem; }
.dashboard-resource-panel .dashboard-section-heading p:last-child { margin: 4px 0 0; color: #737775; font-size: 0.75rem; }
.dashboard-resource-footer { display: flex; min-height: 48px; align-items: center; justify-content: space-between; gap: 15px; padding: 7px 12px; border-top: 1px solid #e6e7e7; color: #737775; font-size: 0.6875rem; }
.dashboard-resource-footer .dashboard-pagination { display: flex; align-items: center; gap: 8px; margin: 0; }
.dashboard-resource-footer .dashboard-pagination a { display: inline-grid; min-width: 30px; min-height: 30px; place-items: center; padding: 0; border: 1px solid #e2e4e4; border-radius: 7px; color: #646a67; }
.dashboard-resource-footer .dashboard-pagination span { color: #515653; }
.marketplace-customers-shell .dashboard-resource-panel,
.marketplace-orders-shell .dashboard-resource-panel,
.posts-workspace { margin-top: 12px; }
.posts-workspace { padding: 0; border: 0; background: transparent; box-shadow: none; }
.posts-workspace > .posts-workspace-heading { margin: 0 0 15px; }
.dashboard-resource-empty { display: grid; min-height: 310px; align-content: center; justify-items: center; padding: 28px; text-align: center; }
.dashboard-resource-empty > span { display: grid; width: 58px; height: 58px; place-items: center; margin-bottom: 14px; color: #00aee3; }
.dashboard-resource-empty > span .ui-button-icon { width: 42px; height: 42px; }
.dashboard-resource-empty strong { color: #343836; font-size: 0.9375rem; }
.dashboard-resource-empty p { max-width: 390px; margin: 8px 0 16px; color: #737876; font-size: 0.8125rem; line-height: 1.5; }
.dashboard-resource-empty .button { display: inline-flex; min-height: 34px; align-items: center; gap: 6px; padding: 0 13px; border-radius: 8px; }
.businesses-dashboard-page .peza-dashboard-page-content,
.events-dashboard-page .peza-dashboard-page-content,
.posts-dashboard-page .peza-dashboard-page-content,
.marketplace-customers-page .peza-dashboard-page-content,
.marketplace-orders-page .peza-dashboard-page-content { width: 100%; max-width: none; }
.dashboard-resource-panel,.dashboard-table-wrap,.dashboard-data-table { width: 100%; }
.dashboard-data-table th:last-child,.dashboard-data-table td:last-child { width: 112px; min-width: 112px; padding-right: 8px; text-align: right; }
.dashboard-table-actions { gap: 5px; }
.dashboard-icon-action { display: inline-grid !important; width: 32px; height: 32px; flex: 0 0 32px; place-items: center; padding: 0; border: 1px solid #e0e3e1 !important; border-radius: 7px; background: #fff !important; color: #454b47 !important; text-decoration: none !important; cursor: pointer; }
.dashboard-icon-action:hover { border-color: #d2d7d4 !important; background: #f5f7f5 !important; color: #202723 !important; }
.dashboard-icon-action .ui-button-icon { width: 15px; height: 15px; }
.dashboard-icon-action.dashboard-table-danger { color: #a34740 !important; }
.dashboard-resource-footer .dashboard-pagination { gap: 5px; }
.dashboard-resource-footer .dashboard-pagination a,
.dashboard-resource-footer .dashboard-pagination .dashboard-page-current { min-width: 30px; height: 30px; }
.dashboard-resource-footer .dashboard-pagination .dashboard-page-current { display: inline-grid; place-items: center; border: 1px solid #343a36; border-radius: 7px; background: #343a36; color: #fff; font-weight: 700; }
.marketplace-customers-shell { width: 100%; max-width: none; margin: 0; }
.marketplace-orders-page .marketplace-orders-shell { width: 100%; max-width: none; margin: 0; }
.marketplace-orders-shell .dashboard-resource-search { display: grid; width: 100%; grid-template-columns: minmax(0,1fr) 40px auto; align-items: center; gap: 9px; padding: 11px 14px; }
.marketplace-orders-shell .dashboard-resource-search > input[type="search"] { display: block; width: 100%; min-width: 0; min-height: 40px; flex: initial; padding: 8px 12px; border: 1px solid #d8ddda; border-radius: 8px; background: #fff; color: #303734; font: 400 .8125rem/1.4 var(--body); box-sizing: border-box; }
.marketplace-orders-shell .dashboard-resource-search > input[type="search"]:focus { border-color: #789889; outline: 3px solid #3c8c641c; }
.marketplace-orders-shell .dashboard-resource-search > input[type="search"]::placeholder { color: #858d89; }
.marketplace-orders-shell .dashboard-resource-search > button { display: grid; width: 38px; height: 38px; flex: initial; place-items: center; border: 1px solid #e0e4e1; border-radius: 8px; background: #f8faf8; color: #56645c; }
.marketplace-orders-shell .dashboard-resource-search > button:hover { border-color: #cbd5cf; background: #f0f4f1; }
.marketplace-orders-shell .dashboard-resource-search > input[type="hidden"] { display: none; }
.marketplace-orders-page .dashboard-welcome > .dashboard-actions .button { min-height: 38px; }
.marketplace-customers-shell .dashboard-resource-search { display: grid; width: 100%; grid-template-columns: minmax(0,1fr) 40px auto; align-items: center; gap: 9px; padding: 11px 14px; }
.marketplace-customers-shell .dashboard-resource-search > input[type="search"] { display: block; width: 100%; min-width: 0; min-height: 40px; flex: initial; padding: 8px 12px; border: 1px solid #d8ddda; border-radius: 8px; background: #fff; color: #303734; font: 400 .8125rem/1.4 var(--body); box-sizing: border-box; }
.marketplace-customers-shell .dashboard-resource-search > input[type="search"]:focus { border-color: #789889; outline: 3px solid #3c8c641c; }
.marketplace-customers-shell .dashboard-resource-search > input[type="search"]::placeholder { color: #858d89; }
.marketplace-customers-shell .dashboard-resource-search > button { display: grid; width: 38px; height: 38px; flex: initial; place-items: center; border: 1px solid #e0e4e1; border-radius: 8px; background: #f8faf8; color: #56645c; }
.marketplace-customers-shell .dashboard-resource-search > button:hover { border-color: #cbd5cf; background: #f0f4f1; }
.marketplace-customers-shell .dashboard-resource-search > input[type="hidden"] { display: none; }
.local-presence-columns .dashboard-data-table td:first-child .dashboard-table-primary { font-weight: 750; }
.peza-seller-dashboard-page .peza-dashboard-page-content .dashboard-welcome .dashboard-actions { display: grid; width: auto; max-width: 100%; grid-template-columns: repeat(auto-fit,minmax(130px,130px)); justify-content: start; gap: 7px; }
.peza-seller-dashboard-home .peza-dashboard-primary > .dashboard-welcome .dashboard-actions { display: none; }
.peza-seller-dashboard-page .peza-dashboard-page-content .dashboard-welcome .dashboard-actions .button { display: inline-flex; min-width: 0; min-height: 38px; align-items: center; justify-content: flex-start; gap: 7px; padding: 0 9px 0 7px; border: 1px solid #e5e7e8; border-radius: 999px; background: #fff; color: #222b35; box-shadow: 0 2px 7px #18231f0b; font-size: .625rem; font-weight: 650; text-decoration: none; white-space: normal; line-height: 1.15; text-align: left; transition: box-shadow .16s, transform .16s, border-color .16s; }
.peza-seller-dashboard-page .peza-dashboard-page-content .dashboard-welcome .dashboard-actions .button:hover { transform: translateY(-1px); border-color: #d2d6d8; background: #fff; box-shadow: 0 4px 12px #18231f17; }
.peza-seller-dashboard-page .peza-dashboard-page-content .dashboard-welcome .dashboard-actions .button .ui-button-icon { display: block; width: 22px; height: 22px; flex: 0 0 22px; padding: 5px; border-radius: 50%; background: #fff2d7; }
.peza-seller-dashboard-page .peza-dashboard-page-content .dashboard-welcome .dashboard-actions .button:nth-child(1) .ui-button-icon { background: #fff2d7; }
.peza-seller-dashboard-page .peza-dashboard-page-content .dashboard-welcome .dashboard-actions .button:nth-child(2) .ui-button-icon { background: #eaf3ff; }
.peza-seller-dashboard-page .peza-dashboard-page-content .dashboard-welcome .dashboard-actions .button:nth-child(3) .ui-button-icon { background: #f1edff; }
.peza-seller-dashboard-page .peza-dashboard-page-content .dashboard-welcome .dashboard-actions .button:nth-child(4) .ui-button-icon { background: #e9f7ef; }
.peza-seller-dashboard-page .peza-dashboard-page-content .dashboard-welcome .dashboard-actions .button:nth-child(5) .ui-button-icon { background: #e9f4f5; }
.peza-seller-dashboard-page .peza-dashboard-page-content .dashboard-welcome .dashboard-actions .button:nth-child(1) .ui-button-icon { color: #ad7100; }
.peza-seller-dashboard-page .peza-dashboard-page-content .dashboard-welcome .dashboard-actions .button:nth-child(2) .ui-button-icon { color: #346dba; }
.peza-seller-dashboard-page .peza-dashboard-page-content .dashboard-welcome .dashboard-actions .button:nth-child(3) .ui-button-icon { color: #7154b5; }
.peza-seller-dashboard-page .peza-dashboard-page-content .dashboard-welcome .dashboard-actions .button:nth-child(4) .ui-button-icon { color: #328350; }
.peza-seller-dashboard-page .peza-dashboard-page-content .dashboard-welcome .dashboard-actions .button:nth-child(5) .ui-button-icon { color: #277b84; }
@media (max-width: 1000px) { .peza-seller-dashboard-page .peza-dashboard-page-content .dashboard-welcome .dashboard-actions { grid-template-columns: repeat(auto-fit,minmax(130px,130px)); } }
@media (max-width: 620px) { .peza-seller-dashboard-page .peza-dashboard-page-content .dashboard-welcome .dashboard-actions { grid-template-columns: repeat(auto-fit,minmax(130px,130px)); } }

/* Use a consistent, softly rounded rectangle for action buttons across Peza. */
.button,
.button-small,
.button-sun,
.button-ghost,
.button-secondary,
.search-box button,
.nearby-drawer .nearby-locate-button,
.account-security-toggle,
.event-detail-back,
.event-detail-share summary,
.event-detail-buy-link,
.event-detail-whatsapp,
.featured-business-link,
.about-team-cta,
.marketplace-add-cart { border-radius: 8px; }
.dashboard-pagination a,
.events-page .pagination a,
.catalog-pagination a,
.dashboard-resource-footer .dashboard-pagination a { border-radius: 7px; }
@media (max-width: 720px) {
  .businesses-dashboard-page .peza-dashboard-page-content,
  .events-dashboard-page .peza-dashboard-page-content,
  .posts-dashboard-page .peza-dashboard-page-content,
  .marketplace-customers-page .peza-dashboard-page-content,
  .marketplace-orders-page .peza-dashboard-page-content { padding: 20px 14px 34px; }
  .dashboard-resource-stats { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .dashboard-resource-stats > div { padding: 10px 14px; border-bottom: 1px solid #e5e7e7; }
  .dashboard-resource-stats > div:nth-child(2) { border-right: 0; }
  .dashboard-resource-stats > div:nth-child(n+3) { border-bottom: 0; }
  .dashboard-resource-tabs { gap: 18px; overflow-x: auto; }
  .dashboard-resource-search { flex-wrap: wrap; }
  .dashboard-resource-search > input[type=search] { flex-basis: calc(100% - 50px); }
  .dashboard-resource-search > select { margin-left: auto; }
}

/* Integrations dashboard page and its section tabs */
.integrations-dashboard-page .peza-dashboard-page-content { width: 100%; max-width: none; padding: 28px clamp(18px,3vw,42px) 48px; }
.integrations-dashboard-page .peza-integration-dialog { width: 100%; max-width: none; margin: 0; overflow: hidden; border: 1px solid #e1e6e3; border-radius: 16px; background: #fff; box-shadow: 0 3px 12px #18231f08; }
.integrations-dashboard-page .peza-integration-dialog > .dashboard-welcome { padding: 23px 25px; border-bottom: 1px solid #edf0ee; }
.integrations-dashboard-page .peza-integration-dialog > .dashboard-welcome h1 { margin: 0 0 4px; color: #29352e; font-size: clamp(1.5rem,2.2vw,1.9rem); }
.integrations-dashboard-page .peza-integration-dialog > .dashboard-welcome > div > p:last-child { margin: 0; color: #718078; font-size: 0.875rem; }
.integrations-dashboard-page .peza-integration-dialog-body { display: block; }
.integrations-dashboard-page .peza-integration-main { padding: 0 25px 25px; }
.integrations-dashboard-page .peza-integration-tabs { display: flex; gap: 24px; min-height: 53px; align-items: stretch; margin: 0 -25px 22px; padding: 0 25px; overflow-x: auto; border-bottom: 1px solid #e5e9e6; }
.integrations-dashboard-page .peza-integration-tab { position: relative; flex: 0 0 auto; padding: 0 3px; border: 0; background: transparent; color: #68736d; font: 600 0.875rem/1.2 var(--body); cursor: pointer; }
.integrations-dashboard-page .peza-integration-tab::after { position: absolute; right: 0; bottom: -1px; left: 0; height: 3px; border-radius: 3px 3px 0 0; background: transparent; content: ""; }
.integrations-dashboard-page .peza-integration-tab:hover { color: #26322b; }
.integrations-dashboard-page .peza-integration-tab.is-active { color: #26322b; }
.integrations-dashboard-page .peza-integration-tab.is-active::after { background: #f3a000; }
.integrations-dashboard-page .peza-integration-tab:focus-visible { outline: 3px solid #f3a00040; outline-offset: -3px; }
.integrations-dashboard-page [data-integration-panel][hidden] { display: none !important; }
.integrations-dashboard-page .peza-integration-payment-block { padding: 0 0 5px; border: 0; }
.integrations-dashboard-page .peza-integration-form-heading { margin-bottom: 18px; }
.integrations-dashboard-page .peza-integration-form-heading label { margin-bottom: 5px; font-size: 0.6875rem; }
.integrations-dashboard-page .peza-integration-form-heading h2 { font-size: 1.125rem; }
.integrations-dashboard-page .peza-integration-form-heading p { font-size: 0.8125rem; }
.integrations-dashboard-page .peza-integration-payment-block .peza-integration-form-footer > span { font-size: 0.75rem; }
.integrations-dashboard-page .peza-integration-request-form { padding-top: 0; }
.integrations-dashboard-page .peza-integration-choice-grid { gap: 12px; }
.integrations-dashboard-page .peza-integration-choice { min-height: 72px; gap: 12px; padding: 12px 14px; border-radius: 10px; }
.integrations-dashboard-page .peza-integration-choice-check { width: 18px; height: 18px; flex-basis: 18px; }
.integrations-dashboard-page .peza-integration-choice-icon { width: 38px; height: 38px; flex-basis: 38px; }
.integrations-dashboard-page .peza-integration-choice-icon svg { width: 20px; height: 20px; }
.integrations-dashboard-page .peza-integration-choice-copy strong { font-size: 0.875rem; }
.integrations-dashboard-page .peza-integration-choice-copy small { font-size: 0.75rem; }
.integrations-dashboard-page .peza-integration-details-label { margin: 18px 0 7px; font-size: 0.8125rem; }
.integrations-dashboard-page .peza-integration-details-label small { font-size: 0.75rem; }
.integrations-dashboard-page .peza-integration-request-form > textarea { min-height: 90px; padding: 11px 12px; font-size: 0.875rem; }
.integrations-dashboard-page .peza-integration-form-footer { min-height: 60px; margin: 17px 0 0; padding: 12px 0 0; border-top: 1px solid #e7ebe8; background: transparent; }
.integrations-dashboard-page .peza-integration-form-footer > span { font-size: 0.75rem; }
.integrations-dashboard-page .peza-integration-form-footer .button { min-height: 40px; padding: 0 16px; font-size: 0.8125rem; }
.integrations-dashboard-page .peza-integration-action { display: inline-flex; min-height: 40px; align-items: center; justify-content: center; gap: 8px; padding: 0 14px; border: 1px solid #e5e7e8; border-radius: 9px; background: #fff; color: #28332d; box-shadow: 0 2px 7px #18231f0b; font: 650 0.8125rem/1.2 var(--body); text-decoration: none; white-space: nowrap; cursor: pointer; transition: transform .16s, box-shadow .16s, border-color .16s, background .16s; }
.integrations-dashboard-page .peza-integration-action:hover { transform: translateY(-1px); border-color: #d2d6d8; background: #fff; color: #202723; box-shadow: 0 4px 12px #18231f17; }
.integrations-dashboard-page .peza-integration-action .ui-button-icon { display: block; width: 22px; height: 22px; flex: 0 0 22px; padding: 5px; border-radius: 50%; background: #fff2d7; color: #ad7100; }
.integrations-dashboard-page .peza-integration-form-footer .peza-integration-action { min-height: 42px; padding: 0 15px 0 9px; }
.integrations-dashboard-page .peza-integration-form-footer .peza-integration-action.button-sun { border-color: #e4a000; background: #f3a000; color: #202723; }
.integrations-dashboard-page .peza-integration-form-footer .peza-integration-action.button-sun:hover { border-color: #d99000; background: #e99a00; }
.integrations-dashboard-page .peza-integration-form-footer .peza-integration-action.button-sun .ui-button-icon { background: #fff8e7; color: #8f5c00; }
@media (max-width: 720px) {
  .integrations-dashboard-page .peza-dashboard-page-content { padding: 18px 14px 32px; }
  .integrations-dashboard-page .peza-integration-dialog > .dashboard-welcome { padding: 18px; }
  .integrations-dashboard-page .peza-integration-main { padding: 0 16px 18px; }
  .integrations-dashboard-page .peza-integration-tabs { margin-right: -16px; margin-left: -16px; padding: 0 16px; }
  .integrations-dashboard-page .peza-integration-choice-grid { grid-template-columns: minmax(0,1fr); }
  .integrations-dashboard-page .peza-integration-form-footer { align-items: flex-start; flex-direction: column; }
}

/* My tickets page: roomy responsive ticket collection */
.tickets-dashboard-page .peza-dashboard-page-content { width: 100%; max-width: none; padding: 28px clamp(18px,3vw,42px) 48px; }
.tickets-dashboard-page .dashboard-welcome { align-items: center; gap: 20px; margin-bottom: 22px; }
.tickets-dashboard-page .dashboard-welcome h1 { font-size: clamp(1.5rem,2.3vw,2rem); }
.tickets-dashboard-page .dashboard-welcome > div:first-child > p:last-child { max-width: 68ch; font-size: 0.875rem; line-height: 1.55; }
.tickets-dashboard-page .dashboard-welcome .dashboard-actions { display: flex; flex-wrap: wrap; gap: 9px; }
.tickets-dashboard-page .tickets-page-action { display: inline-flex; min-height: 40px; align-items: center; justify-content: flex-start; gap: 8px; padding: 0 13px 0 8px; border: 1px solid #e5e7e8; border-radius: 9px; background: #fff; color: #28332d; box-shadow: 0 2px 7px #18231f0b; font-size: 0.8125rem; font-weight: 650; text-decoration: none; white-space: nowrap; transition: transform .16s,box-shadow .16s,border-color .16s; }
.tickets-dashboard-page .tickets-page-action:hover { transform: translateY(-1px); border-color: #d2d6d8; background: #fff; color: #202723; box-shadow: 0 4px 12px #18231f17; }
.tickets-dashboard-page .tickets-page-action .ui-button-icon { width: 22px; height: 22px; flex: 0 0 22px; padding: 5px; border-radius: 50%; background: #fff2d7; color: #ad7100; }
.tickets-dashboard-page .peza-ticket-list { grid-template-columns: repeat(auto-fill,minmax(min(100%,360px),1fr)); align-items: start; justify-items: center; gap: 22px; }
.tickets-dashboard-page .creators-ticket { width: min(100%,420px); }
.tickets-dashboard-page .tickets-page-empty { width: 100%; min-height: 200px; justify-content: center; padding: 34px; }
.tickets-dashboard-page .tickets-page-empty > span { background: #fff2d7; color: #ad7100; }
.tickets-dashboard-page .tickets-page-empty > span .ui-button-icon { width: 20px; height: 20px; }
.tickets-dashboard-page .tickets-page-empty strong { font-size: 0.9375rem; }
.tickets-dashboard-page .tickets-page-empty p { font-size: 0.8125rem; line-height: 1.5; }
@media (max-width: 720px) {
  .tickets-dashboard-page .peza-dashboard-page-content { padding: 20px 14px 34px; }
  .tickets-dashboard-page .dashboard-welcome { align-items: flex-start; flex-direction: column; gap: 14px; }
  .tickets-dashboard-page .dashboard-welcome .dashboard-actions { width: 100%; }
  .tickets-dashboard-page .peza-ticket-list { grid-template-columns: minmax(0,1fr); gap: 16px; }
  .tickets-dashboard-page .creators-ticket { width: min(100%,420px); }
  .tickets-dashboard-page .tickets-page-empty { align-items: center; }
}

/* Profile settings sections presented as dashboard tabs */
.settings-dashboard-page .peza-dashboard-page-content { width: 100%; max-width: 1500px; padding: 28px clamp(18px,3vw,42px) 48px; }
.settings-dashboard-page .peza-settings-dialog { grid-template-columns: minmax(220px,.24fr) minmax(0,1fr); gap: 0; overflow: hidden; }
.settings-dashboard-page .account-settings-panel { min-width: 0; padding: 0; }
.settings-dashboard-page .account-settings-tabs { display: flex; min-height: 56px; gap: 24px; align-items: stretch; padding: 0 26px; overflow-x: auto; border-bottom: 1px solid #e7ebe8; }
.settings-dashboard-page .account-settings-tab { position: relative; flex: 0 0 auto; padding: 0 3px; border: 0; background: transparent; color: #68736d; font: 600 0.875rem/1.2 var(--body); cursor: pointer; }
.settings-dashboard-page .account-settings-tab::after { position: absolute; right: 0; bottom: -1px; left: 0; height: 3px; border-radius: 3px 3px 0 0; background: transparent; content: ""; }
.settings-dashboard-page .account-settings-tab:hover,.settings-dashboard-page .account-settings-tab.is-active { color: #26322b; }
.settings-dashboard-page .account-settings-tab.is-active::after { background: #f3a000; }
.settings-dashboard-page .account-settings-tab:focus-visible { outline: 3px solid #f3a00040; outline-offset: -3px; }
.settings-dashboard-page .account-settings-form { display: block; max-width: none; padding: 24px 26px; }
.settings-dashboard-page .account-settings-tab-panel { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0 20px; }
.settings-dashboard-page .account-settings-tab-panel[hidden] { display: none !important; }
.settings-dashboard-page .account-settings-tab-panel .seller-module-settings-note,
.settings-dashboard-page .account-settings-tab-panel .account-photo-setting,
.settings-dashboard-page .account-settings-tab-panel .seller-setting-module,
.settings-dashboard-page .account-settings-tab-panel > .account-settings-errors { grid-column: 1 / -1; }
.settings-dashboard-page .account-settings-tab-panel .seller-module-settings-note { margin: 0 0 17px; padding: 13px 15px; font-size: 0.8125rem; }
.settings-dashboard-page .account-settings-form .account-settings-save { display: inline-flex; min-height: 42px; align-items: center; gap: 8px; margin-top: 4px; padding: 0 15px 0 9px; border: 1px solid #e5e7e8; border-radius: 9px; background: #fff; color: #28332d; box-shadow: 0 2px 7px #18231f0b; font-size: 0.8125rem; font-weight: 650; }
.settings-dashboard-page .account-settings-form .account-settings-save:hover { border-color: #d2d6d8; background: #fff; box-shadow: 0 4px 12px #18231f17; }
.settings-dashboard-page .account-settings-save .ui-button-icon { width: 22px; height: 22px; padding: 5px; border-radius: 50%; background: #fff2d7; color: #ad7100; }
.settings-dashboard-page .account-settings-security-panel { display: block; padding: 26px; }
.settings-dashboard-page .account-settings-security-panel .account-security-card { margin: 0; }
.settings-dashboard-page .account-settings-security-panel .account-password-link { margin-top: 20px; padding-top: 17px; font-size: 0.8125rem; }
body.peza-seller-dashboard-home .peza-dashboard-primary > .dashboard-welcome > .dashboard-actions { display: none !important; }
body.peza-seller-dashboard-home .peza-dashboard-primary > .dashboard-welcome { display: block; }
body.peza-seller-dashboard-home .peza-dashboard-primary > .dashboard-welcome > div:first-child { width: 100%; max-width: 700px; }
body.peza-seller-dashboard-home .peza-dashboard-primary > .dashboard-welcome h1 { max-width: 18ch; }
@media (max-width: 760px) {
  .settings-dashboard-page .peza-dashboard-page-content { padding: 20px 14px 34px; }
  .settings-dashboard-page .peza-settings-dialog { grid-template-columns: minmax(0,1fr); }
  .settings-dashboard-page .peza-settings-guide { padding: 18px; }
  .settings-dashboard-page .peza-settings-guide ul { display: none; }
  .settings-dashboard-page .account-settings-tabs { min-height: 50px; gap: 20px; padding: 0 16px; }
  .settings-dashboard-page .account-settings-form { padding: 18px 16px; }
  .settings-dashboard-page .account-settings-tab-panel { grid-template-columns: minmax(0,1fr); }
  .settings-dashboard-page .account-settings-tab-panel .seller-module-settings-note,
  .settings-dashboard-page .account-settings-tab-panel .account-photo-setting,
  .settings-dashboard-page .account-settings-tab-panel .seller-setting-module { grid-column: 1; }
  .settings-dashboard-page .account-settings-security-panel { padding: 18px 16px; }
}

/* Keep the reference header overrides last so later page styles cannot recolor it. */
/* Homepage hero refresh */
.hero {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0,1.12fr) minmax(280px,.68fr);
  align-items: center;
  gap: clamp(38px,7vw,110px);
  width: 100vw;
  min-height: clamp(520px,68svh,740px);
  margin-left: calc(50% - 50vw);
  padding: clamp(56px,8vw,112px) clamp(24px,7vw,110px);
  overflow: hidden;
  border-radius: 0;
  isolation: isolate;
  color: #fff;
  background-color: #111;
  background-image: linear-gradient(90deg,rgba(0,0,0,.82) 0%,rgba(0,0,0,.68) 48%,rgba(0,0,0,.38) 100%),url('https://i.guim.co.uk/img/media/61b2d8b4943961e73e652d457d44981a404d46d7/0_0_1685_1121/master/1685.jpg?width=1020&dpr=1&s=none&crop=none');
  background-position: center,center;
  background-size: cover,cover;
  background-blend-mode: normal;
}
.hero::before {
  position: absolute;
  z-index: 0;
  inset: 0;
  content: '';
  pointer-events: none;
  background-image: linear-gradient(90deg,rgba(0,0,0,.82) 0%,rgba(0,0,0,.68) 48%,rgba(0,0,0,.38) 100%),url('https://blog.userank.com/wp-content/uploads/2025/01/Detty-December-in-Nigeria-1024x576.jpg');
  background-position: center,center;
  background-size: cover,cover;
  opacity: 0;
  animation: peza-hero-slide-two 18s ease-in-out infinite;
}
.hero::after {
  position: absolute;
  z-index: 0;
  inset: 0;
  content: '';
  pointer-events: none;
  background-image: linear-gradient(90deg,rgba(0,0,0,.82) 0%,rgba(0,0,0,.68) 48%,rgba(0,0,0,.38) 100%),url('https://i.ytimg.com/vi/VMFL20-g7M0/maxresdefault.jpg');
  background-position: center,center;
  background-size: cover,cover;
  opacity: 0;
  animation: peza-hero-slide-three 18s ease-in-out infinite;
}
@keyframes peza-hero-slide-two {
  0%, 27%, 61%, 100% { opacity: 0; }
  34%, 54% { opacity: 1; }
}
@keyframes peza-hero-slide-three {
  0%, 60%, 96%, 100% { opacity: 0; }
  67%, 89% { opacity: 1; }
}
@media (prefers-reduced-motion: reduce) {
  .hero::before, .hero::after { animation: none; opacity: 0; }
}
.hero-backdrop { position: absolute; z-index: -1; inset: 0; overflow: hidden; pointer-events: none; }
.hero-backdrop::before { position: absolute; top: -35vw; right: -11vw; width: min(78vw,1050px); aspect-ratio: 1; border: 1px solid rgba(255,255,255,.08); border-radius: 50%; box-shadow: 0 0 0 42px rgba(255,255,255,.025),0 0 0 105px rgba(255,255,255,.02); content: ''; }
.hero-backdrop span { position: absolute; display: block; border-radius: 50%; }
.hero-backdrop span:first-child { top: 11%; right: 15%; width: 12px; height: 12px; background: #f2a007; box-shadow: 0 0 30px 10px rgba(242,160,7,.18); }
.hero-backdrop span:nth-child(2) { right: 45%; bottom: -170px; width: 340px; height: 340px; background: rgba(8,34,29,.12); }
.hero-backdrop span:nth-child(3) { top: 18%; right: 42%; width: 4px; height: 4px; background: #fff; box-shadow: 0 0 0 8px rgba(255,255,255,.06); }
.hero-content { max-width: 690px; }
.hero-kicker { margin-bottom: 26px; padding: 8px 14px; border: 1px solid rgba(255,255,255,.15); background: rgba(255,255,255,.07); color: #f8deaf; font-size: .75rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.hero-kicker::before { background: #f2a007; box-shadow: 0 0 0 4px rgba(242,160,7,.16); }
.hero h1 { max-width: 12ch; font-size: clamp(3rem,6.3vw,5.7rem); line-height: .99; letter-spacing: -.055em; }
.hero h1 span { color: #ffc46b; }
.hero-copy { max-width: 47ch; margin-top: 22px; color: #c8dbd4; font-size: clamp(1.05rem,1.6vw,1.25rem); line-height: 1.65; }
.hero .detail-actions { gap: 12px; margin-top: 30px; }
.hero .detail-actions .button { min-height: 50px; padding: 0 21px; border-radius: 10px; background: #f2a007; color: #172a22; font-size: .9rem; font-weight: 700; }
.hero .detail-actions .button:hover { background: #ffc04b; }
.hero .detail-actions .button-secondary { border: 1px solid rgba(255,255,255,.44); background: rgba(255,255,255,.035); color: #fff; box-shadow: none; }
.hero .detail-actions .button-secondary:hover { border-color: #fff; background: rgba(255,255,255,.12); color: #fff; }
.hero .detail-actions .ui-button-icon { width: 18px; height: 18px; }
.hero-highlights { display: flex; flex-wrap: wrap; gap: 11px 24px; margin-top: 30px; color: #c0d4cc; font-size: .8rem; }
.hero-highlights span { display: inline-flex; align-items: center; gap: 7px; }
.hero-highlights .ui-button-icon { width: 16px; height: 16px; color: #ffc46b; stroke: currentColor; fill: none; stroke-width: 1.8; }
.hero-event-rail { position: relative; z-index: 1; display: flex; align-items: stretch; gap: 12px; justify-self: stretch; min-width: 0; height: clamp(380px,42vw,530px); overflow-x: auto; padding: 6px 6px 14px; scrollbar-width: none; scroll-snap-type: x mandatory; }
.hero-event-rail::-webkit-scrollbar { display: none; }
.hero-event-tile { position: relative; display: block; flex: 0 0 13%; min-width: 88px; overflow: hidden; border: 1px solid rgba(255,255,255,.34); border-radius: 18px; color: #fff; background: #254b3f; box-shadow: 0 20px 48px rgba(4,23,19,.28); scroll-snap-align: start; transition: flex-basis .35s ease,transform .25s ease,border-color .25s ease; }
.hero-event-tile.is-active { flex-basis: 62%; }
.hero-event-tile:not(.is-active):hover,.hero-event-tile:not(.is-active):focus-visible { flex-basis: 52%; border-color: rgba(255,255,255,.8); transform: translateY(-3px); }
.hero-event-photo,.hero-event-photo > img { position: absolute; inset: 0; display: block; width: 100%; height: 100%; }
.hero-event-photo > img { object-fit: cover; transition: transform .5s ease; }
.hero-event-tile:hover .hero-event-photo > img { transform: scale(1.035); }
.hero-event-shade { position: absolute; inset: 0; background: linear-gradient(180deg,rgba(0,0,0,.06) 25%,rgba(0,0,0,.08) 42%,rgba(0,0,0,.82) 100%); }
.hero-event-date { position: absolute; top: 13px; left: 13px; display: grid; width: 47px; height: 54px; place-content: center; border-radius: 9px; background: rgba(255,255,255,.95); color: #58635d; font-size: .62rem; text-align: center; text-transform: uppercase; box-shadow: 0 5px 15px #0002; }
.hero-event-date b { color: #18251f; font: 800 1.28rem/1 var(--display); }
.hero-event-info { position: absolute; right: 0; bottom: 0; left: 0; display: grid; gap: 8px; padding: clamp(13px,2vw,24px); }
.hero-event-eyebrow { overflow: hidden; color: rgba(255,255,255,.78); font-size: .63rem; font-weight: 750; letter-spacing: .08em; text-overflow: ellipsis; text-transform: uppercase; white-space: nowrap; }
.hero-event-title { display: -webkit-box; overflow: hidden; color: #fff; font: 750 clamp(.78rem,1.55vw,1.6rem)/1.13 var(--display); -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
.hero-event-link { display: inline-flex; align-items: center; gap: 10px; color: #fff; font-size: .77rem; font-weight: 700; }
.hero-event-link b { display: grid; width: 26px; height: 26px; place-items: center; border-radius: 50%; background: #f2a007; color: #172a22; font-size: 1rem; }
.hero-event-art { position: absolute; inset: 0; display: block; overflow: hidden; background: linear-gradient(160deg,#f9d58e 0%,#f0a33b 55%,#e78136 100%); }
.hero-event-art i { position: absolute; display: block; border-radius: 50%; }
.hero-event-art i:first-child { top: 15%; right: 17%; width: 64px; height: 64px; background: #fff3d7; box-shadow: 0 0 0 12px rgba(255,243,215,.16); }
.hero-event-art i:nth-child(2) { right: -15%; bottom: -44%; width: 120%; height: 105%; background: #1d6755; transform: rotate(-8deg) translateY(-22px); }
.hero-event-art i:nth-child(3) { right: 30%; bottom: -58%; width: 120%; height: 105%; background: #104a40; transform: rotate(8deg); }
.hero-event-art b { position: absolute; z-index: 1; top: 48%; left: 45%; display: grid; width: 42px; height: 42px; place-items: center; border: 3px solid white; border-radius: 50% 50% 50% 8px; background: #c8372d; color: #fff; font: 800 1rem var(--display); transform: rotate(-45deg); box-shadow: 0 6px 16px #0003; }
.hero-event-art-2 { background: linear-gradient(150deg,#7dc3c0,#317f78 55%,#164b4b); }
.hero-event-art-3 { background: linear-gradient(145deg,#f09c74,#c94e47 56%,#612d44); }
.hero-event-art-4 { background: linear-gradient(150deg,#a6ce8c,#4e8954 56%,#214943); }
.hero-event-art-5 { background: linear-gradient(150deg,#8ab4de,#5274b4 56%,#39365f); }
.hero-event-art-6 { background: linear-gradient(150deg,#deb575,#a66c36 56%,#4a3532); }
.hero-event-art-7 { background: linear-gradient(145deg,#d585ac,#924c86 55%,#3e3a72); }
.hero-event-art-8 { background: linear-gradient(150deg,#85c0b4,#337f79 56%,#174449); }
.hero-event-art-9 { background: linear-gradient(150deg,#d9bd70,#ad7435 56%,#5d4430); }
.hero-event-art-10 { background: linear-gradient(150deg,#99a6db,#5966a5 56%,#333857); }
.hero { grid-template-columns: minmax(0,.82fr) minmax(0,1.18fr); min-height: clamp(500px,63svh,690px); gap: clamp(26px,4vw,64px); padding: clamp(48px,6vw,84px) clamp(22px,5vw,78px); }
.hero-content { max-width: 570px; }
.hero h1 { max-width: 11ch; font-size: clamp(2.65rem,5vw,4.55rem); line-height: 1.02; }
.hero-copy { max-width: 42ch; font-size: clamp(.98rem,1.35vw,1.1rem); }
.hero .detail-actions { margin-top: 24px; }
.hero-highlights { display: none; }
.hero-event-rail { height: clamp(360px,39vw,485px); gap: 10px; }
.hero-event-tile { flex-basis: 14%; border-radius: 15px; }
.hero-event-tile.is-active { flex-basis: 58%; }
.hero-event-tile:not(.is-active):hover,.hero-event-tile:not(.is-active):focus-visible { flex-basis: 14%; transform: translateY(-3px); }
.hero-event-art b { display: none; }
@media (max-width: 860px) {
  .hero { grid-template-columns: minmax(0,1fr); gap: 38px; min-height: 0; padding: 68px var(--gutter) 58px; }
  .hero-content { max-width: 700px; }
  .hero-event-rail { width: 100%; height: 420px; }
  .hero-event-tile.is-active { flex-basis: 64%; }
}
@media (max-width: 520px) {
  .hero { gap: 30px; padding: 48px 20px 42px; }
  .hero-kicker { margin-bottom: 19px; font-size: .66rem; }
  .hero h1 { max-width: 10ch; font-size: clamp(2.8rem,13vw,4rem); }
  .hero-copy { margin-top: 17px; font-size: .98rem; }
  .hero .detail-actions { display: grid; grid-template-columns: minmax(0,1fr); margin-top: 24px; }
  .hero .detail-actions .button { width: 100%; }
  .hero-highlights { gap: 10px 16px; margin-top: 23px; font-size: .73rem; }
  .hero-event-rail { height: 370px; gap: 9px; margin-right: -20px; padding-right: 20px; }
  .hero-event-tile { flex-basis: 18%; min-width: 72px; border-radius: 14px; }
  .hero-event-tile.is-active { flex-basis: 72%; }
  .hero-event-info { gap: 6px; padding: 14px; }
  .hero-event-title { font-size: 1.15rem; }
}
@media (prefers-reduced-motion: reduce) { .hero::before { animation: none; } }
/* Dark editorial homepage hero with an event image collage */
.hero {
  grid-template-columns: minmax(360px,.9fr) minmax(0,1.1fr);
  min-height: 610px;
  gap: clamp(32px,5vw,84px);
  padding: 56px clamp(24px,4.5vw,68px);
  background-color: #191919;
  background-image: linear-gradient(90deg,rgba(16,16,16,.97),rgba(16,16,16,.94)),url('https://i.guim.co.uk/img/media/61b2d8b4943961e73e652d457d44981a404d46d7/0_0_1685_1121/master/1685.jpg?width=1020&dpr=1&s=none&crop=none');
  background-position: center,center;
  background-size: cover,cover;
  background-blend-mode: normal;
}
.hero::before { background-image: linear-gradient(90deg,rgba(16,16,16,.97),rgba(16,16,16,.94)),url('https://blog.userank.com/wp-content/uploads/2025/01/Detty-December-in-Nigeria-1024x576.jpg'); background-size: cover,cover; background-position: center,center; }
.hero-content { z-index: 1; max-width: 660px; }
.hero-tabs { display: inline-flex; flex-wrap: wrap; gap: 3px; max-width: 100%; margin-bottom: 36px; padding: 5px; border-radius: 8px; background: rgba(255,255,255,.1); }
.hero-tabs a { display: inline-flex; align-items: center; min-height: 36px; padding: 0 13px; border-radius: 6px; color: #c5c5c5; font-size: .72rem; font-weight: 500; white-space: nowrap; transition: background .15s,color .15s; }
.hero-tabs a:hover { color: #fff; }
.hero-tabs a.is-active { background: #f6f6f6; color: #181818; }
.hero h1 { max-width: 10ch; color: #f7f7f7; font-size: clamp(3.15rem,6vw,5.7rem); font-weight: 700; line-height: .99; letter-spacing: -.065em; }
.hero-copy { max-width: 44ch; margin-top: 23px; color: #b9b9b9; font-size: clamp(.98rem,1.3vw,1.1rem); line-height: 1.65; }
.hero .detail-actions { align-items: center; gap: 22px; margin-top: 28px; }
.hero .detail-actions .button { min-height: 42px; padding: 0 17px; border-radius: 7px; background: #a5e900; color: #151515; font-size: .78rem; font-weight: 700; }
.hero .detail-actions .button:hover { background: #b8ff18; color: #111; }
.hero .detail-actions .button-secondary { min-height: auto; padding: 8px 0; border: 0; background: transparent; color: #f3f3f3; box-shadow: none; }
.hero .detail-actions .button-secondary:hover { background: transparent; color: #b2f22e; }
.hero-gallery { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0,1.22fr) minmax(145px,.7fr); gap: 18px; width: 100%; height: clamp(380px,38vw,475px); min-width: 0; }
.hero-gallery-feature,.hero-gallery-small { position: relative; display: block; min-width: 0; overflow: hidden; border-radius: 8px; background: #373737; color: #fff; }
.hero-gallery-feature { min-height: 0; }
.hero-gallery-image,.hero-gallery-image > img,.hero-gallery-small > img { position: absolute; inset: 0; display: block; width: 100%; height: 100%; }
.hero-gallery-image > img,.hero-gallery-small > img { object-fit: cover; transition: transform .45s ease; }
.hero-gallery-feature:hover img,.hero-gallery-small:hover img { transform: scale(1.035); }
.hero-gallery-feature::after,.hero-gallery-small::after { position: absolute; inset: 0; background: linear-gradient(180deg,rgba(0,0,0,.02) 25%,rgba(0,0,0,.08) 48%,rgba(0,0,0,.76) 100%); content: ''; }
.hero-gallery-date { position: absolute; z-index: 1; top: 14px; left: 14px; display: grid; width: 48px; height: 52px; place-content: center; border-radius: 6px; background: #fff; color: #555; font-size: .61rem; text-align: center; text-transform: uppercase; }
.hero-gallery-date b { color: #111; font: 750 1.25rem/1 var(--display); }
.hero-gallery-caption,.hero-gallery-small-caption { position: absolute; z-index: 1; right: 17px; bottom: 18px; left: 17px; display: grid; gap: 7px; }
.hero-gallery-caption > span { overflow: hidden; color: #ddd; font-size: .67rem; font-weight: 650; letter-spacing: .03em; text-overflow: ellipsis; text-transform: uppercase; white-space: nowrap; }
.hero-gallery-caption strong { max-width: 16ch; font: 750 clamp(1.3rem,2.3vw,2rem)/1.08 var(--display); letter-spacing: -.035em; }
.hero-gallery-caption em { display: inline-flex; align-items: center; gap: 10px; margin-top: 5px; color: #fff; font-size: .74rem; font-style: normal; font-weight: 650; }
.hero-gallery-caption em b { display: grid; width: 26px; height: 26px; place-items: center; border-radius: 50%; background: #a5e900; color: #111; font-size: .95rem; }
.hero-gallery-side { display: grid; grid-template-rows: repeat(3,minmax(0,1fr)); gap: 14px; min-width: 0; }
.hero-gallery-small { min-height: 0; }
.hero-gallery-small-caption { right: 11px; bottom: 12px; left: 11px; gap: 4px; }
.hero-gallery-small-caption strong { display: -webkit-box; overflow: hidden; color: #fff; font-size: .7rem; line-height: 1.25; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.hero-gallery-small-caption span { overflow: hidden; color: #d0d0d0; font-size: .62rem; text-overflow: ellipsis; white-space: nowrap; }
.hero-gallery-art { position: absolute; inset: 0; display: block; overflow: hidden; background: linear-gradient(145deg,#b38750,#405f47 50%,#183c32); }
.hero-gallery-art i { position: absolute; display: block; border-radius: 50%; }
.hero-gallery-art i:first-child { top: 15%; right: 18%; width: 60px; height: 60px; background: rgba(255,222,165,.85); box-shadow: 0 0 0 15px rgba(255,222,165,.12); }
.hero-gallery-art i:nth-child(2) { right: -30%; bottom: -45%; width: 140%; height: 100%; background: rgba(10,48,40,.82); transform: rotate(-13deg); }
.hero-gallery-art i:nth-child(3) { right: 25%; bottom: -60%; width: 120%; height: 105%; background: rgba(8,31,31,.6); transform: rotate(12deg); }
.hero-gallery-art-2 { background: linear-gradient(145deg,#63879d,#344e68 52%,#242a3b); }
.hero-gallery-art-3 { background: linear-gradient(145deg,#d08b54,#863d36 55%,#34252d); }
.hero-gallery-art-4 { background: linear-gradient(145deg,#8c9b5e,#466a4d 55%,#193d34); }
.hero-gallery-jobs { min-height: 100px; }
.home-discover { width: 100%; max-width: 1480px; margin: 0 auto; padding: 34px clamp(18px,4vw,56px) 22px; }
.home-discover h2 { margin-bottom: 23px; color: #171717; font-size: clamp(1.45rem,2.4vw,2rem); letter-spacing: -.04em; }
.home-discover-grid { display: grid; grid-template-columns: repeat(6,minmax(0,1fr)); gap: 12px; }
.home-discover-grid a { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: 13px 8px; min-height: 111px; padding: 13px 12px; border-radius: 9px; color: #161616; transition: background .16s,transform .16s; }
.home-discover-grid a:hover { transform: translateY(-2px); background: #f5f5f2; }
.home-discover-grid a > .home-discover-icon { grid-column: 1/-1; }
.home-discover-grid a > strong { font-size: .78rem; font-weight: 650; }
.home-discover-grid a > span:last-child { color: #555; font-size: .82rem; }
.home-discover-icon { display: grid; width: 42px; height: 42px; place-items: center; color: #163b6a; font: 700 1.75rem/1 var(--display); }
@media (max-width: 980px) {
  .hero { grid-template-columns: minmax(0,1fr); gap: 36px; padding-top: 52px; padding-bottom: 48px; }
  .hero-content { max-width: 720px; }
  .hero-gallery { width: min(100%,780px); height: clamp(360px,52vw,460px); }
  .home-discover-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
}
@media (max-width: 560px) {
  .hero { gap: 28px; padding: 35px 18px 36px; }
  .hero-tabs { flex-wrap: nowrap; gap: 2px; max-width: 100%; margin-bottom: 27px; padding: 4px; overflow-x: auto; scrollbar-width: none; }
  .hero-tabs a { min-height: 32px; padding: 0 8px; font-size: .6rem; }
  .hero h1 { font-size: clamp(2.8rem,12vw,4rem); }
  .hero .detail-actions { gap: 14px; }
  .hero-gallery { grid-template-columns: minmax(0,1.15fr) minmax(104px,.7fr); gap: 9px; height: 350px; }
  .hero-gallery-side { gap: 9px; }
  .hero-gallery-caption { right: 11px; bottom: 12px; left: 11px; }
  .hero-gallery-caption strong { font-size: 1.15rem; }
  .hero-gallery-small-caption { right: 7px; bottom: 8px; left: 7px; }
  .hero-gallery-small-caption strong { font-size: .61rem; }
  .hero-gallery-small-caption span { font-size: .55rem; }
  .home-discover { padding: 26px 16px 12px; }
  .home-discover-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 4px; }
  .home-discover-grid a { min-height: 92px; }
}
.site-header { background: #080708; border: 0; color: #f7f5f5; backdrop-filter: none; }
.header-promo { min-height: 54px; display: flex; align-items: center; justify-content: center; gap: 4px; padding: 10px 20px; background: #10090a; color: #f4eeee; font-size: .875rem; text-align: center; }
.header-promo a { color: #f28a18; font-weight: 700; text-decoration: underline; text-underline-offset: 2px; }
.nav-shell { height: 92px; gap: clamp(14px,2.3vw,34px); padding: 0 clamp(22px,2.2vw,44px); }
.brand { flex: 0 0 auto; gap: 7px; color: #fff; font-size: 1.35rem; }
.brand-mark { width: 36px; height: 36px; border-radius: 0; background: transparent; }
.brand-mark img { width: 100%; height: 100%; object-fit: contain; }
.brand-period { color: #f28a18; }
.header-search { display: flex; flex: 0 1 313px; align-items: center; gap: 10px; height: 48px; min-width: 180px; padding: 0 12px; border-radius: 10px; background: #303034; color: #d2d0d2; }
.header-search .ui-button-icon { width: 17px; height: 17px; flex: 0 0 17px; stroke: currentColor; fill: none; stroke-width: 1.7; }
.header-search input { width: 100%; min-width: 0; border: 0; outline: 0; background: transparent; color: #fff; font: 400 .8125rem var(--body); }
.header-search input::placeholder { color: #d2d0d2; opacity: 1; }
.header-location { display: inline-flex; flex: 0 0 auto; align-items: center; gap: 9px; color: #f4f2f3; font-size: .8125rem; white-space: nowrap; }
.header-location .ui-button-icon { width: 19px; height: 19px; stroke: currentColor; fill: none; stroke-width: 1.8; }
.location-chevron { width: 8px; height: 8px; margin: -4px 0 0 1px; transform: rotate(45deg); border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; }
.main-nav { flex: 1 1 auto; justify-content: flex-end; gap: clamp(14px,2.1vw,36px); margin-left: auto; }
.main-nav a { padding: 8px 0; border-radius: 0; color: #f3f1f2; font-size: .8125rem; white-space: nowrap; }
.main-nav a:hover,.nav-account:hover { background: transparent; color: #f28a18; }
.nav-actions { flex: 0 0 auto; gap: 15px; margin-left: 0; }
.nav-account { display: inline-flex; align-items: center; gap: 9px; padding: 8px 0; color: #f3f1f2; font-size: .8125rem; white-space: nowrap; }
.nav-account .ui-button-icon { width: 20px; height: 20px; stroke: currentColor; fill: none; stroke-width: 1.7; }
.header-discover { display: inline-flex; min-height: 44px; align-items: center; justify-content: center; padding: 0 17px; background: #fff; color: #171416; font-size: .8125rem; white-space: nowrap; }
.header-discover:hover { background: #f28a18; color: #160f09; }
.header-quick-actions { display: none; }
.header-account-menu { flex: 0 0 auto; margin-left: -7px; }
.header-account-menu > summary { width: 31px; height: 31px; border: 0; background: transparent; color: #fff; box-shadow: none; }
.header-account-menu > summary .ui-button-icon { width: 21px; height: 21px; stroke: currentColor; fill: none; stroke-width: 1.7; }
@media (max-width: 1050px) {
  .nav-shell { gap: 15px; }
  .main-nav { gap: 16px; }
  .nav-actions { gap: 11px; }
  .header-search { flex-basis: 245px; }
}
@media (max-width: 860px) {
  .header-promo { min-height: 42px; font-size: .75rem; }
  .nav-shell { height: 72px; gap: 13px; }
  .header-search { flex: 1 1 auto; min-width: 120px; }
  .main-nav,.nav-actions { display: none; }
  .mobile-menu { display: block; order: 4; margin-left: 0; }
  .mobile-menu summary { width: 40px; height: 40px; border-color: #363237; background: #191619; }
  .mobile-menu summary span { background: #fff; }
  .mobile-menu nav { top: 50px; background: #151215; border-color: #39343a; color: #fff; }
  .mobile-menu nav a { color: #fff; }
  .mobile-menu nav a:hover { background: #292329; }
  .mobile-menu nav a:last-child:not(:first-child) { background: #fff; color: #171416; }
  .header-quick-actions { display: flex; order: 2; margin-left: auto; }
  .header-quick-actions .header-currency,.header-utility-menu { display: none; }
  .header-account-menu { order: 3; margin-left: 0; }
}
@media (max-width: 520px) {
  .header-promo { min-height: 38px; padding: 8px 10px; font-size: .6875rem; }
  .nav-shell { height: 66px; padding: 0 14px; gap: 10px; }
  .brand { gap: 4px; font-size: 1.15rem; }
  .brand-mark { width: 30px; height: 30px; }
  .header-search { height: 40px; gap: 6px; min-width: 90px; padding: 0 9px; }
  .header-search input { font-size: .6875rem; }
  .header-account-menu { display: none; }
}

/* Final light header and visible hero backgrounds. */
.site-header { background: rgba(248,248,245,.96); border-bottom: 1px solid #e4e4dc; color: #14201b; }
.header-promo { background: #f0f1ed; color: #37423b; }
.header-promo a { color: #a86400; }
.brand,.main-nav a,.nav-account,.header-location { color: #14201b; }
.brand-period { color: #a86400; }
.header-search { background: #eceeea; color: #59645d; }
.header-search input { color: #14201b; }
.header-search input::placeholder { color: #69736d; }
.main-nav a:hover,.nav-account:hover { color: #a86400; }
.header-discover { background: #14201b; color: #fff; }
.header-discover:hover { background: #26352d; color: #fff; }
.mobile-menu summary { border-color: #d9ded9; background: #fff; }
.mobile-menu summary span { background: #14201b; }
.mobile-menu nav { background: #fff; border-color: #dfe3dd; }
.mobile-menu nav a { color: #14201b; }
.mobile-menu nav a:hover { background: #f1f3ee; }
.mobile-menu nav a:last-child:not(:first-child) { background: #14201b; color: #fff; }
.header-account-menu > summary { color: #14201b; }
.home-page .hero {
  background-color: #171614;
  background-image: linear-gradient(90deg,rgba(12,12,12,.58) 0%,rgba(12,12,12,.34) 48%,rgba(12,12,12,.16) 100%),url('https://i.guim.co.uk/img/media/61b2d8b4943961e73e652d457d44981a404d46d7/0_0_1685_1121/master/1685.jpg?width=1020&dpr=1&s=none&crop=none');
  background-position: center;
  background-size: cover;
  background-blend-mode: normal;
}
.home-page .hero::before {
  background-image: linear-gradient(90deg,rgba(12,12,12,.58) 0%,rgba(12,12,12,.34) 48%,rgba(12,12,12,.16) 100%),url('https://blog.userank.com/wp-content/uploads/2025/01/Detty-December-in-Nigeria-1024x576.jpg');
  background-position: center;
  background-size: cover;
}

/* Homepage discovery filters replacing the category link strip. */
.home-search-section { width: 100vw; margin: 0 0 0 calc(50% - 50vw); background: #f0f2ed; }
.home-search-inner { width: min(100%,1480px); margin: 0 auto; padding: clamp(30px,4.5vw,58px) clamp(20px,4.5vw,68px); }
.home-search-heading { display: flex; align-items: end; justify-content: space-between; gap: 20px; margin-bottom: 22px; }
.home-search-heading .eyebrow { margin: 0 0 7px; color: #a86400; font-size: .7rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.home-search-heading h2 { color: #14201b; font-size: clamp(1.55rem,3.2vw,2.35rem); letter-spacing: -.05em; }
.home-search-heading > p { margin: 0 0 3px; color: #657068; font-size: .84rem; }
.home-search-filters { display: grid; grid-template-columns: minmax(230px,1.45fr) minmax(125px,.7fr) minmax(150px,.9fr) minmax(130px,.7fr) auto; align-items: end; gap: 12px; }
.home-search-filters > label { display: grid; min-width: 0; gap: 7px; color: #37423b; font-size: .7rem; font-weight: 650; }
.home-search-filters input,.home-search-filters select { box-sizing: border-box; width: 100%; height: 47px; min-width: 0; padding: 0 12px; border: 1px solid #d8ded7; border-radius: 7px; outline: 0; background: #fff; color: #14201b; font: 400 .82rem var(--body); }
.home-search-filters input::placeholder { color: #858c87; }
.home-search-filters input:focus,.home-search-filters select:focus { border-color: #82aa00; box-shadow: 0 0 0 3px #a5e90026; }
.home-search-submit { display: inline-flex; height: 47px; align-items: center; justify-content: center; gap: 7px; padding: 0 20px; border: 0; border-radius: 7px; background: #14201b; color: #fff; font: 650 .82rem var(--body); cursor: pointer; transition: background .16s,transform .16s; }
.home-search-submit:hover { transform: translateY(-1px); background: #2c3a31; }
.home-search-submit > span { font-size: 1.1rem; line-height: 1; }
.home-search-filters [hidden] { display: none !important; }
@media (max-width: 980px) {
  .home-search-filters { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .home-search-keywords { grid-column: 1 / -1; }
  .home-search-submit { min-height: 47px; }
}
@media (max-width: 560px) {
  .home-search-inner { padding: 28px 18px 32px; }
  .home-search-heading { display: grid; gap: 8px; margin-bottom: 18px; }
  .home-search-filters { grid-template-columns: minmax(0,1fr); gap: 11px; }
  .home-search-keywords { grid-column: auto; }
  .home-search-submit { width: 100%; }
}

/* Give the Peza symbol a distinct rounded brand bubble in the main header. */
.site-header .brand-mark { display: grid; width: 40px; height: 40px; flex: 0 0 40px; place-items: center; overflow: hidden; padding: 4px; border-radius: 50%; background: #14201b; box-shadow: 0 2px 7px rgba(20,32,27,.16); }
.site-header .brand-mark img { display: block; width: 100%; height: 100%; object-fit: contain; }
@media (max-width: 520px) { .site-header .brand-mark { width: 34px; height: 34px; flex-basis: 34px; padding: 3px; } }
.auth-page .auth-topbar-signup,.auth-page .auth-bottom-actions a:last-child,.auth-signup-page .auth-submit { box-shadow: none; text-shadow: none; }
.site-header .header-discover,.site-header .nav-account,.site-header .main-nav a[href*="signup"],.site-header .mobile-menu nav a[href*="signup"] { box-shadow: none !important; text-shadow: none !important; }

/* Keep the page content aligned with the main navigation's left edge. */
:root { --gutter: clamp(22px,2.2vw,44px); }
.page-shell { padding-inline: var(--gutter); }
.home-page .home-editorial-section { padding-inline: var(--gutter); }
.home-page .home-editorial-section .section-heading,
.home-page .home-editorial-grid { max-width: none; }
.home-search-inner { width: 100%; padding-inline: var(--gutter); }
@media (max-width: 520px) {
  :root { --gutter: 14px; }
  .home-page .home-editorial-section { padding-inline: var(--gutter); }
  .home-search-inner { padding-inline: var(--gutter); }
}

/* Floating QR shortcut for sharing Peza's event listings. */
.floating-qr { position: fixed; z-index: 80; right: clamp(16px,2.2vw,32px); bottom: 28px; }
.floating-qr > summary { display: grid; width: 54px; height: 54px; place-items: center; border: 0; border-radius: 50%; background: #14201b; color: #a5e900; cursor: pointer; list-style: none; box-shadow: 0 5px 18px #14201b30; }
.floating-qr > summary::-webkit-details-marker { display: none; }
.floating-qr > summary span { font: 400 2rem/1 var(--body); }
.floating-qr-card { position: absolute; right: 0; bottom: 68px; display: grid; width: 220px; justify-items: center; padding: 18px; border: 1px solid #e4e4dc; border-radius: 12px; background: #fff; color: #14201b; text-align: center; box-shadow: 0 12px 36px #14201b24; }
.floating-qr-card strong { font: 700 1rem var(--display); }
.floating-qr-card p { margin: 5px 0 12px; color: #68736b; font-size: .77rem; }
.floating-qr-card img { display: block; width: 148px; height: 148px; padding: 7px; border: 1px solid #eceeea; background: #fff; }
.floating-qr-card a { margin-top: 12px; color: #526e00; font-size: .8rem; font-weight: 700; text-decoration: none; }
.floating-qr-card a:hover { color: #14201b; }
@media (max-width: 520px) {
  .floating-qr { right: 14px; bottom: 18px; }
  .floating-qr > summary { width: 48px; height: 48px; }
  .floating-qr-card { bottom: 60px; }
}

/* Trending events panel based on the supplied editorial event listing. */
.home-events-showcase { width: 100vw; margin-left: calc(50% - 50vw); padding: clamp(38px,4.4vw,68px) var(--gutter) 68px; background: #091725; color: #e8f0f7; }
.home-events-heading { display: flex; align-items: end; justify-content: space-between; gap: 28px; margin: 0 0 42px; }
.home-events-heading h2 { margin: 0; color: #e8f0f7; font: 600 clamp(2.1rem,4vw,3.35rem)/.98 Oswald,var(--display); letter-spacing: .005em; text-transform: uppercase; }
.home-events-heading > a { display: inline-flex; flex: 0 0 auto; align-items: center; gap: 16px; min-width: 42%; padding: 0 0 8px; border-bottom: 1px solid #273847; color: #68bfff; font-size: .85rem; text-decoration: none; }
.home-events-heading > a span { display: grid; width: max-content; height: 38px; place-items: center; margin: 0 0 -17px auto; padding: 0 14px; border: 1px solid #57b6f2; border-radius: 999px; background: #091725; }
.home-events-layout { display: grid; grid-template-columns: minmax(0,.98fr) minmax(0,1fr); gap: clamp(28px,3.6vw,56px); align-items: start; }
.home-event-feature { position: relative; display: flex; min-height: 620px; aspect-ratio: .92; overflow: hidden; align-items: end; border-radius: 22px; background: linear-gradient(145deg,#263f57,#090d16 65%); color: #fff; text-decoration: none; isolation: isolate; }
.home-event-feature::after { position: absolute; z-index: -1; inset: 30% 0 0; background: linear-gradient(180deg,transparent 0%,rgba(0,0,0,.68) 42%,rgba(0,0,0,.9) 100%); content: ""; }
.home-event-feature > img { position: absolute; z-index: -2; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; }
.home-event-feature:hover > img { transform: scale(1.025); }
.home-event-feature-art { position: absolute; z-index: -2; inset: 0; display: grid; place-items: center; background: radial-gradient(circle at 50% 27%,#cb7950 0 12%,transparent 12.5%),linear-gradient(160deg,#233c4f,#090d16 65%); color: #d9a35e; font-size: 9rem; }
.home-event-trending { position: absolute; top: 28px; left: 28px; display: flex; align-items: center; gap: 9px; padding: 8px 12px; border-radius: 999px; background: #05090cb8; color: #f3f5f7; font-size: .65rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.home-event-trending i { width: 8px; height: 8px; border-radius: 50%; background: #f3a51b; box-shadow: 0 0 0 4px #f3a51b24; }
.home-event-feature-info { display: grid; width: 100%; gap: 12px; padding: 30px; }
.home-event-place { color: #ffc65a; font-size: .86rem; font-weight: 600; }
.home-event-feature-info > strong { max-width: 700px; color: #fff; font: 600 clamp(2rem,4vw,3.25rem)/1.02 Oswald,var(--display); text-transform: uppercase; }
.home-event-feature-time { display: flex; flex-wrap: wrap; gap: 10px; color: #d1d6da; font-size: .83rem; }
.home-event-feature-time i { margin-left: 8px; font-style: normal; }
.home-event-list { min-width: 0; }
.home-event-row { display: grid; grid-template-columns: 112px minmax(0,1fr); gap: 16px; min-height: 196px; padding: 0 0 20px; border-bottom: 1px solid #283746; }
.home-event-row + .home-event-row { padding-top: 20px; }
.home-event-thumb { position: relative; display: block; width: 112px; height: 176px; overflow: hidden; border-radius: 15px; background: linear-gradient(145deg,#28577c,#17263a); color: #b8dff8; }
.home-event-thumb img { width: 100%; height: 100%; object-fit: cover; }
.home-event-thumb > span { display: grid; width: 100%; height: 100%; place-items: center; font-size: 3rem; }
.home-event-thumb > b { position: absolute; top: 7px; left: 7px; display: grid; width: 27px; height: 27px; place-items: center; border-radius: 8px; background: #091725d9; color: #f2c152; font-size: .72rem; }
.home-event-row-content { min-width: 0; padding-top: 1px; }
.home-event-date { overflow: hidden; margin: 0 0 9px; color: #8291a0; font: 500 .65rem var(--body); letter-spacing: .1em; text-overflow: ellipsis; text-transform: uppercase; white-space: nowrap; }
.home-event-row h3 { overflow: hidden; margin: 0 0 8px; color: #e8f0f7; font-size: clamp(1rem,1.35vw,1.18rem); line-height: 1.3; text-overflow: ellipsis; white-space: nowrap; }
.home-event-row h3 a { color: inherit; text-decoration: none; }
.home-event-row h3 a:hover { color: #70c3ff; }
.home-event-location { margin: 0 0 7px; color: #70c3ff; font-size: .86rem; }
.home-event-description { display: -webkit-box; overflow: hidden; margin: 0 0 12px; color: #9ca9b5; font-size: .82rem; line-height: 1.5; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.home-event-ticket { display: inline-flex; min-height: 36px; align-items: center; gap: 8px; padding: 0 15px; border-radius: 999px; background: #176b9f; color: #fff; font-size: .79rem; font-weight: 600; text-decoration: none; }
.home-event-ticket:hover { background: #2186c1; color: #fff; }
.home-events-empty { padding: 50px 0; color: #9ca9b5; }
.home-events-empty a { color: #70c3ff; }
@media (max-width: 980px) {
  .home-events-layout { grid-template-columns: minmax(0,1fr); }
  .home-event-feature { min-height: 460px; aspect-ratio: 1.4; }
  .home-event-list { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); column-gap: 22px; }
  .home-event-row:nth-child(2) { padding-top: 0; }
}
@media (max-width: 600px) {
  .home-events-showcase { padding-top: 38px; padding-bottom: 44px; }
  .home-events-heading { align-items: start; flex-direction: column; gap: 19px; margin-bottom: 28px; }
  .home-events-heading h2 { font-size: 2.35rem; }
  .home-events-heading > a { width: 100%; min-width: 0; }
  .home-event-feature { min-height: 490px; aspect-ratio: .82; }
  .home-event-feature-info { padding: 22px; }
  .home-event-feature-info > strong { font-size: 2.2rem; }
  .home-event-trending { top: 18px; left: 18px; }
  .home-event-list { grid-template-columns: minmax(0,1fr); }
  .home-event-row:nth-child(2) { padding-top: 20px; }
  .home-event-row { grid-template-columns: 92px minmax(0,1fr); gap: 13px; min-height: 155px; padding-bottom: 16px; }
  .home-event-thumb { width: 92px; height: 140px; border-radius: 12px; }
  .home-event-row + .home-event-row { padding-top: 16px; }
  .home-event-row h3 { white-space: normal; }
}

/* Center the homepage's content column consistently across its sections. */
.home-page .hero { padding-inline: max(var(--gutter),calc((100vw - 1480px)/2)); }
.home-page .home-search-inner { width: min(100%,1480px); margin-inline: auto; }
.home-page .home-events-heading,
.home-page .home-events-layout { width: min(100%,1480px); margin-inline: auto; }
.home-page .home-editorial-section .section-heading,
.home-page .home-editorial-grid { width: min(100%,1480px); margin-inline: auto; }
.home-page .home-editorial-section .section-heading { margin-bottom: 34px; }
@media (max-width: 980px) {
  .home-page .hero { padding-inline: var(--gutter); }
}

/* Cohesive homepage composition: centered hero, floating search, editorial listings. */
.home-page .page-shell { padding: 24px 0 0; overflow: clip; }
.home-page .hero { min-height: 590px; width: min(calc(100vw - 2 * var(--gutter)),1480px); margin: 0 auto; padding: clamp(38px,5vw,72px); border-radius: 24px; grid-template-columns: minmax(0,.88fr) minmax(0,1.12fr); gap: clamp(28px,4vw,64px); background-image: linear-gradient(90deg,rgba(8,12,15,.83) 0%,rgba(8,12,15,.58) 48%,rgba(8,12,15,.18) 100%),url('https://i.guim.co.uk/img/media/61b2d8b4943961e73e652d457d44981a404d46d7/0_0_1685_1121/master/1685.jpg?width=1020&dpr=1&s=none&crop=none'); }
.home-page .hero::before { border-radius: inherit; opacity: .28; animation: none; background-image: linear-gradient(90deg,rgba(8,12,15,.78) 0%,rgba(8,12,15,.45) 52%,rgba(8,12,15,.1) 100%),url('https://blog.userank.com/wp-content/uploads/2025/01/Detty-December-in-Nigeria-1024x576.jpg'); }
.home-hero-kicker { display: flex; align-items: center; gap: 10px; margin: 0 0 25px; color: #dce3e4; font-size: .72rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.home-hero-kicker span { width: 8px; height: 8px; border-radius: 50%; background: #a5e900; box-shadow: 0 0 0 5px #a5e90022; }
.home-page .hero h1 { max-width: 10ch; font-size: clamp(3rem,5.6vw,5.2rem); }
.home-page .hero-copy { max-width: 42ch; color: #d1d5d5; }
.home-host-link { display: inline-flex; flex-wrap: wrap; gap: 6px; margin-top: 28px; color: #c5cece; font-size: .78rem; }
.home-host-link strong { color: #fff; }
.home-host-link:hover,.home-host-link strong:hover { color: #b5ed25; }
.home-page .hero-gallery { height: clamp(360px,37vw,470px); }
.home-page .hero-gallery-feature,.home-page .hero-gallery-small { border-radius: 14px; }
.home-page .home-search-section { position: relative; z-index: 3; width: min(calc(100vw - 2 * var(--gutter)),1480px); margin: -28px auto 0; border: 1px solid #e1e6df; border-radius: 16px; background: #fff; box-shadow: 0 14px 34px #16251b12; }
.home-page .home-search-inner { width: 100%; padding: 26px clamp(20px,3vw,42px) 30px; }
.home-page .home-search-heading { align-items: center; margin-bottom: 18px; }
.home-page .home-search-heading .eyebrow { margin-bottom: 5px; }
.home-page .home-search-heading h2 { font-size: clamp(1.35rem,2.5vw,1.85rem); }
.home-page .home-search-filters { grid-template-columns: minmax(210px,1.5fr) minmax(120px,.72fr) minmax(145px,.9fr) minmax(125px,.72fr) auto; }
.home-page .home-events-showcase { margin-top: 72px; padding-top: clamp(44px,5vw,72px); padding-bottom: clamp(46px,5vw,72px); }
.home-page .home-events-heading { margin-bottom: 34px; }
.home-page .home-editorial-section { margin-top: 0; padding-top: clamp(52px,6vw,82px); padding-bottom: clamp(58px,7vw,96px); background: #f4f6f1; }
.home-page .home-editorial-section .section-heading { align-items: end; margin-bottom: 28px; }
.home-page .home-editorial-section .section-heading h2 { font-size: clamp(2rem,3.7vw,3rem); line-height: 1.05; }
.home-page .home-editorial-grid { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 24px; }
.home-page .home-job-grid .home-editorial-card { overflow: hidden; padding-bottom: 19px; border: 1px solid #e0e5de; border-radius: 15px; background: #fff; transition: transform .2s ease,border-color .2s ease; }
.home-page .home-job-grid .home-editorial-card:hover { transform: translateY(-4px); border-color: #c5d2bc; }
.home-page .home-job-grid .home-editorial-image { aspect-ratio: 1.55; border-radius: 0; }
.home-page .home-job-grid .home-editorial-meta,.home-page .home-job-grid .home-editorial-card h3,.home-page .home-job-grid .home-editorial-card > p,.home-page .home-job-grid .home-editorial-cta { margin-right: 18px; margin-left: 18px; }
.home-page .home-job-grid .home-editorial-meta { margin-top: 17px; }
.home-page .home-job-grid .home-editorial-card h3 { margin-top: 9px; font-size: 1.12rem; }
.home-page .home-job-grid .home-editorial-card > p { margin-top: 9px; }
.home-page .home-job-grid .home-editorial-cta { margin-top: 14px; color: #526e00; }
@media (max-width: 980px) {
  .home-page .hero { min-height: 0; grid-template-columns: minmax(0,1fr); }
  .home-page .hero-content { max-width: 680px; }
  .home-page .hero-gallery { height: clamp(340px,55vw,470px); }
  .home-page .home-search-filters { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .home-page .home-search-keywords { grid-column: 1 / -1; }
  .home-page .home-editorial-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 600px) {
  .home-page .page-shell { padding-top: 12px; }
  .home-page .hero { width: calc(100vw - 24px); padding: 30px 22px 24px; border-radius: 18px; }
  .home-page .hero-tabs { margin-bottom: 25px; }
  .home-page .hero h1 { font-size: clamp(2.7rem,12vw,3.7rem); }
  .home-page .hero .detail-actions { gap: 10px; }
  .home-page .hero .detail-actions .button { flex: 1 1 auto; justify-content: center; }
  .home-page .home-host-link { margin-top: 20px; }
  .home-page .hero-gallery { height: 330px; grid-template-columns: minmax(0,1.3fr) minmax(88px,.7fr); gap: 9px; }
  .home-page .hero-gallery-side { gap: 9px; }
  .home-page .hero-gallery-caption { right: 12px; bottom: 13px; left: 12px; }
  .home-page .hero-gallery-caption strong { font-size: 1.1rem; }
  .home-page .home-search-section { width: calc(100vw - 24px); margin-top: -14px; border-radius: 14px; }
  .home-page .home-search-inner { padding: 22px 16px; }
  .home-page .home-search-heading { display: grid; gap: 8px; }
  .home-page .home-search-heading > p { margin: 0; }
  .home-page .home-search-filters { grid-template-columns: minmax(0,1fr); gap: 10px; }
  .home-page .home-search-keywords { grid-column: auto; }
  .home-page .home-events-showcase { margin-top: 48px; }
  .home-page .home-editorial-section { padding-top: 44px; padding-bottom: 54px; }
  .home-page .home-editorial-section .section-heading { align-items: start; gap: 14px; }
  .home-page .home-editorial-section .section-heading h2 { font-size: 2.15rem; }
  .home-page .home-editorial-grid { grid-template-columns: minmax(0,1fr); gap: 18px; }
}

/* Fresh homepage direction: bright editorial hero paired with the navy event stage. */
.home-page { background: #f3f5f2; }
.home-page .hero { color: #12212b; background-color: #e6ece9; background-image: linear-gradient(90deg,#e8eeeb 0%,rgba(232,238,235,.96) 30%,rgba(232,238,235,.56) 57%,rgba(14,27,35,.05) 100%),url('https://i.guim.co.uk/img/media/61b2d8b4943961e73e652d457d44981a404d46d7/0_0_1685_1121/master/1685.jpg?width=1020&dpr=1&s=none&crop=none'); }
.home-page .hero::before { opacity: .4; background-image: linear-gradient(90deg,rgba(232,238,235,.94) 0%,rgba(232,238,235,.7) 32%,rgba(8,18,24,.06) 78%),url('https://blog.userank.com/wp-content/uploads/2025/01/Detty-December-in-Nigeria-1024x576.jpg'); }
.home-page .hero h1 { color: #10212b; }
.home-page .hero-copy { color: #52616a; }
.home-hero-kicker { color: #334b55; }
.home-hero-kicker span { background: #a5e900; }
.home-page .hero .detail-actions .button { background: #a5e900; color: #10212b; }
.home-page .hero .detail-actions .button:hover { background: #b9f43c; }
.home-page .hero .detail-actions .button-secondary { color: #10212b; }
.home-page .hero .detail-actions .button-secondary:hover { color: #477000; }
.home-host-link { color: #5b686f; }
.home-host-link strong { color: #10212b; }
.home-page .hero-gallery-feature,.home-page .hero-gallery-small { border: 1px solid rgba(255,255,255,.7); box-shadow: 0 14px 34px rgba(14,27,35,.18); }
.home-page .home-search-section { border-color: #e1e7e0; box-shadow: 0 16px 42px rgba(20,39,29,.1); }
.home-page .home-search-heading .eyebrow { color: #568000; }
.home-page .home-search-submit { background: #132630; }
.home-page .home-search-submit:hover { background: #234451; }
.home-page .home-events-showcase { background: #0b1a27; }
.home-page .home-events-heading > a { color: #72c7ff; }
.home-page .home-event-ticket { background: #087db7; }
.home-page .home-event-ticket:hover { background: #1598d7; }
.home-page .home-editorial-section { background: #f3f5f2; }
.home-page .home-editorial-section .eyebrow { color: #587f00; }
.home-page .home-editorial-section .section-heading > .text-link { color: #126c9d; }
.home-page .home-job-grid .home-editorial-card { border-color: #e1e6e1; box-shadow: 0 7px 20px rgba(23,44,32,.035); }
.home-page .home-job-grid .home-editorial-card:hover { border-color: #c7d5c1; box-shadow: 0 15px 30px rgba(23,44,32,.09); }
.home-page .home-job-grid .home-editorial-cta { color: #568000; }
@media (max-width: 600px) {
  .home-page .hero { background-image: linear-gradient(90deg,rgba(232,238,235,.94),rgba(232,238,235,.78)),url('https://i.guim.co.uk/img/media/61b2d8b4943961e73e652d457d44981a404d46d7/0_0_1685_1121/master/1685.jpg?width=1020&dpr=1&s=none&crop=none'); }
  .home-page .hero::before { opacity: .22; }
}

/* More editorial title treatment for the trending events section. */
.home-page .home-events-showcase { background: radial-gradient(ellipse at 82% 0%,#123048 0,transparent 38%),#0b1a27; }
.home-page .home-events-heading { align-items: end; gap: 32px; margin-bottom: 38px; }
.home-events-title-wrap { position: relative; }
.home-events-kicker { display: flex; align-items: center; gap: 10px; margin: 0 0 13px; color: #8abfe0; font-size: .65rem; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; }
.home-events-kicker > span { width: 7px; height: 7px; border-radius: 50%; background: #a5e900; box-shadow: 0 0 0 4px #a5e90024; }
.home-page .home-events-heading h2 { color: #f2f6fa; font-size: clamp(2.25rem,4.25vw,3.65rem); line-height: .98; letter-spacing: -.01em; }
.home-page .home-events-heading h2 span { color: #78caff; }
.home-page .home-events-heading > a { min-width: min(40%,430px); align-items: center; margin-bottom: 7px; padding-bottom: 10px; border-color: #2b4151; color: #d9e6ee; font-size: .82rem; }
.home-page .home-events-heading > a span { width: 38px; min-width: 38px; height: 38px; margin-bottom: -16px; border-color: #5eb6ed; color: #8bd0ff; transition: background .2s,color .2s,transform .2s; }
.home-page .home-events-heading > a:hover span { transform: translateX(3px); background: #5eb6ed; color: #071521; }
@media (max-width: 600px) {
  .home-page .home-events-heading { gap: 20px; margin-bottom: 25px; }
  .home-page .home-events-heading h2 { font-size: clamp(2rem,9.8vw,2.65rem); }
  .home-page .home-events-heading > a { width: 100%; min-width: 0; }
}

/* Restyle the complete events showcase: featured poster plus event list cards. */
.home-page .home-events-showcase { position: relative; isolation: isolate; overflow: hidden; margin-top: 64px; padding: clamp(46px,5.5vw,78px) var(--gutter) clamp(54px,6vw,84px); background: #091725; }
.home-page .home-events-showcase::before { position: absolute; z-index: -1; inset: 0; background: radial-gradient(ellipse at 86% 9%,rgba(37,103,142,.2),transparent 35%),linear-gradient(145deg,transparent 64%,rgba(15,52,73,.25)); content: ""; pointer-events: none; }
.home-page .home-events-heading,.home-page .home-events-layout { width: min(100%,1480px); }
.home-page .home-events-heading { margin-bottom: clamp(26px,3vw,42px); }
.home-page .home-events-layout { grid-template-columns: minmax(0,.9fr) minmax(0,1.1fr); gap: clamp(24px,3vw,44px); }
.home-page .home-event-feature { min-height: 680px; aspect-ratio: .88; border: 1px solid #ffffff24; border-radius: 20px; background: #142839; box-shadow: 0 20px 54px #030b1290; }
.home-page .home-event-feature::after { inset: 18% 0 0; background: linear-gradient(180deg,transparent 0%,rgba(4,10,15,.22) 30%,rgba(4,10,15,.92) 100%); }
.home-page .home-event-feature > img { object-position: center; }
.home-page .home-event-trending { top: 22px; left: 22px; padding: 9px 13px; border: 1px solid #ffffff26; background: #07131ebf; backdrop-filter: blur(8px); }
.home-page .home-event-feature-info { gap: 13px; padding: clamp(22px,3vw,34px); }
.home-page .home-event-place { display: flex; align-items: center; gap: 8px; color: #ffca6a; font-size: .82rem; }
.home-page .home-event-feature-info > strong { max-width: 14ch; font-size: clamp(2.2rem,4vw,3.5rem); line-height: .99; }
.home-page .home-event-feature-time { gap: 8px 14px; color: #d7e0e6; font-size: .78rem; }
.home-page .home-event-list { display: grid; gap: 14px; }
.home-page .home-event-row,.home-page .home-event-row + .home-event-row { grid-template-columns: 108px minmax(0,1fr); gap: 17px; min-height: 0; padding: 14px; border: 1px solid #ffffff12; border-radius: 16px; background: linear-gradient(110deg,#0e2030,#0d1c2a); transition: border-color .2s ease,transform .2s ease,background .2s ease; }
.home-page .home-event-row:hover { transform: translateY(-2px); border-color: #6db9e34d; background: linear-gradient(110deg,#12283a,#102334); }
.home-page .home-event-thumb { width: 108px; height: 158px; border-radius: 11px; background: linear-gradient(145deg,#214967,#172c40); }
.home-page .home-event-thumb > b { top: 8px; left: 8px; width: 26px; height: 26px; border: 1px solid #ffffff2e; background: #071521e8; color: #f6c55e; }
.home-page .home-event-row-content { display: flex; flex-direction: column; align-items: flex-start; justify-content: center; padding: 4px 5px 4px 0; }
.home-page .home-event-date { margin-bottom: 9px; color: #9baab7; font-size: .63rem; letter-spacing: .11em; }
.home-page .home-event-row h3 { max-width: 100%; margin-bottom: 7px; color: #f0f5f8; font-size: clamp(1rem,1.3vw,1.2rem); }
.home-page .home-event-location { margin-bottom: 8px; color: #6ec3fa; font-size: .81rem; }
.home-page .home-event-description { margin-bottom: 13px; color: #a4b0bb; font-size: .77rem; line-height: 1.5; }
.home-page .home-event-ticket { min-height: 34px; padding: 0 14px; background: #126c9e; font-size: .76rem; }
.home-page .home-event-ticket:hover { background: #1989c3; }
@media (max-width: 980px) {
  .home-page .home-events-layout { grid-template-columns: minmax(0,1fr); }
  .home-page .home-event-feature { min-height: 520px; aspect-ratio: 1.35; }
  .home-page .home-event-feature-info > strong { max-width: 18ch; }
  .home-page .home-event-list { grid-template-columns: repeat(2,minmax(0,1fr)); align-items: start; }
}
@media (max-width: 600px) {
  .home-page .home-events-showcase { margin-top: 46px; padding-top: 42px; padding-bottom: 48px; }
  .home-page .home-event-feature { min-height: 440px; aspect-ratio: .88; }
  .home-page .home-event-feature-info > strong { max-width: 12ch; font-size: 2.35rem; }
  .home-page .home-event-list { grid-template-columns: minmax(0,1fr); gap: 11px; }
  .home-page .home-event-row,.home-page .home-event-row + .home-event-row { grid-template-columns: 82px minmax(0,1fr); gap: 12px; padding: 11px; border-radius: 13px; }
  .home-page .home-event-thumb { width: 82px; height: 126px; border-radius: 9px; }
  .home-page .home-event-row-content { padding-right: 0; }
  .home-page .home-event-date { font-size: .58rem; }
  .home-page .home-event-description { -webkit-line-clamp: 2; }
}

/* Homepage redesign system: midnight blue, warm paper, and fresh lime details. */
.home-page { --home-night: #091725; --home-blue: #126c9e; --home-lime: #a5e900; --home-paper: #f4f6f3; background: var(--home-paper); }
.home-page .page-shell { padding: 24px 0 0; background: var(--home-paper); }
.home-page .hero { display: grid; width: min(calc(100vw - 2 * var(--gutter)),1480px); min-height: 570px; grid-template-columns: minmax(0,.86fr) minmax(0,1.14fr); align-items: center; gap: clamp(28px,4vw,60px); margin: 0 auto; padding: clamp(34px,4vw,64px); overflow: hidden; border: 1px solid #183244; border-radius: 26px; background-color: var(--home-night); background-image: linear-gradient(90deg,rgba(7,19,30,.96) 0%,rgba(7,19,30,.88) 34%,rgba(7,19,30,.34) 75%,rgba(7,19,30,.2) 100%),url('https://i.guim.co.uk/img/media/61b2d8b4943961e73e652d457d44981a404d46d7/0_0_1685_1121/master/1685.jpg?width=1020&dpr=1&s=none&crop=none'); box-shadow: 0 24px 60px rgba(9,23,37,.16); }
.home-page .hero::before { inset: 0; border-radius: inherit; opacity: .28; animation: none; background-image: linear-gradient(90deg,rgba(7,19,30,.9) 0%,rgba(7,19,30,.45) 40%,rgba(7,19,30,.08) 100%),url('https://blog.userank.com/wp-content/uploads/2025/01/Detty-December-in-Nigeria-1024x576.jpg'); }
.home-page .hero-content { max-width: 600px; }
.home-hero-kicker { margin-bottom: 24px; color: #b9c6cf; font-size: .68rem; letter-spacing: .15em; }
.home-hero-kicker span { background: var(--home-lime); box-shadow: 0 0 0 5px #a5e90025; }
.home-page .hero h1 { max-width: 10ch; color: #f5f8fa; font-size: clamp(3.2rem,5.5vw,5.5rem); font-weight: 700; line-height: .97; letter-spacing: -.065em; }
.home-page .hero-copy { max-width: 42ch; margin-top: 22px; color: #bcc8d0; font-size: clamp(1rem,1.3vw,1.12rem); line-height: 1.65; }
.home-page .hero .detail-actions { gap: 12px; margin-top: 26px; }
.home-page .hero .detail-actions .button { min-height: 47px; padding-inline: 19px; border-radius: 8px; background: var(--home-lime); color: #15210c; font-size: .82rem; }
.home-page .hero .detail-actions .button-secondary { border: 1px solid #e7eef033; color: #f0f4f7; }
.home-page .hero .detail-actions .button-secondary:hover { border-color: #a5e900; color: var(--home-lime); }
.home-host-link { gap: 7px; margin-top: 22px; color: #9baab5; font-size: .77rem; }
.home-host-link strong { color: #eaf0f4; }
.home-page .hero-gallery { height: clamp(370px,38vw,480px); grid-template-columns: minmax(0,1.18fr) minmax(120px,.72fr); gap: 13px; }
.home-page .hero-gallery-feature,.home-page .hero-gallery-small { border: 1px solid #ffffff25; border-radius: 14px; background: #152b3c; box-shadow: 0 16px 42px #020b12a6; }
.home-page .hero-gallery-side { gap: 13px; }
.home-page .hero-gallery-date { border-radius: 9px; }
.home-page .hero-gallery-caption strong { font-size: clamp(1.35rem,2.2vw,2rem); }
.home-page .home-search-section { width: min(calc(100vw - 2 * var(--gutter)),1360px); margin: -28px auto 0; border: 1px solid #e0e6e0; border-radius: 18px; background: #fff; box-shadow: 0 18px 46px #172b1e14; }
.home-page .home-search-inner { padding: 24px clamp(20px,3vw,38px) 28px; }
.home-page .home-search-heading { align-items: center; margin-bottom: 18px; }
.home-page .home-search-heading .eyebrow { color: #5d8500; }
.home-page .home-search-heading h2 { color: #12212b; font-size: clamp(1.45rem,2.4vw,1.9rem); }
.home-page .home-search-heading > p { color: #687780; }
.home-page .home-search-filters { grid-template-columns: minmax(220px,1.55fr) minmax(130px,.72fr) minmax(155px,.9fr) minmax(135px,.72fr) auto; gap: 10px; }
.home-page .home-search-filters > label { gap: 6px; color: #43535b; }
.home-page .home-search-filters input,.home-page .home-search-filters select { height: 46px; border-color: #dce3df; border-radius: 9px; background: #f9faf8; }
.home-page .home-search-filters input:focus,.home-page .home-search-filters select:focus { border-color: #84b600; box-shadow: 0 0 0 3px #a5e90025; }
.home-page .home-search-submit { min-height: 46px; border-radius: 9px; background: var(--home-night); }
.home-page .home-search-submit:hover { background: #183b52; }
.home-page .home-events-showcase { margin-top: 66px; padding: clamp(48px,5.3vw,76px) var(--gutter) clamp(54px,6vw,84px); background: var(--home-night); color: #f3f6f8; }
.home-page .home-events-showcase::before { background: radial-gradient(ellipse at 86% 4%,#183c54 0,transparent 35%),linear-gradient(145deg,transparent 64%,#0e2b40); }
.home-page .home-events-heading,.home-page .home-events-layout { width: min(100%,1360px); }
.home-page .home-events-heading { margin-bottom: 36px; }
.home-page .home-events-kicker { color: #93afc1; }
.home-page .home-events-heading h2 { color: #f1f5f8; font-size: clamp(2.35rem,4.2vw,3.7rem); }
.home-page .home-events-heading h2 span { color: #69bdec; }
.home-page .home-events-layout { grid-template-columns: minmax(0,.92fr) minmax(0,1.08fr); gap: clamp(24px,3vw,42px); }
.home-page .home-event-feature { min-height: 650px; border-radius: 18px; background: #142c3e; }
.home-page .home-event-feature::after { inset: 20% 0 0; background: linear-gradient(180deg,transparent 0%,#07111b60 34%,#07111bf2 100%); }
.home-page .home-event-trending { background: #071521d9; }
.home-page .home-event-feature-info > strong { max-width: 14ch; }
.home-page .home-event-list { gap: 13px; }
.home-page .home-event-row,.home-page .home-event-row + .home-event-row { border-color: #ffffff15; border-radius: 14px; background: #0d2030; }
.home-page .home-event-row:hover { border-color: #69bdec70; background: #11283a; }
.home-page .home-event-ticket { background: #126c9e; }
.home-page .home-event-ticket:hover { background: #1987bc; }
.home-page .home-editorial-section.home-jobs-section { margin-top: 0; padding: clamp(54px,6vw,84px) var(--gutter) clamp(60px,7vw,96px); background: #f4f6f3; color: #10212b; }
.home-page .home-jobs-section .section-heading,.home-page .home-jobs-section .home-editorial-grid { width: min(100%,1360px); }
.home-page .home-jobs-section .section-heading { margin-bottom: 28px; }
.home-page .home-jobs-section .section-heading .eyebrow { color: #638c00; }
.home-page .home-jobs-section .section-heading h2 { color: #10212b; font-size: clamp(2.2rem,4vw,3.1rem); letter-spacing: -.055em; }
.home-page .home-jobs-section .section-heading p:not(.eyebrow) { color: #68777d; }
.home-page .home-jobs-section .section-heading > .text-link { color: #126c9e; }
.home-page .home-jobs-section .home-editorial-grid { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 20px; }
.home-page .home-job-card { overflow: hidden; border: 1px solid #dfe5df; border-radius: 15px; background: #fff; transition: transform .2s,border-color .2s,box-shadow .2s; }
.home-page .home-job-card:hover { transform: translateY(-4px); border-color: #c9d8b7; box-shadow: 0 16px 32px #14271a13; }
.home-page .home-job-card .home-editorial-image { aspect-ratio: 1.65; border-radius: 0; background: #dfe8e3; }
.home-page .home-job-card .home-editorial-arrow { top: 15px; left: auto; right: 15px; display: grid; width: 36px; height: 36px; place-items: center; border-radius: 50%; background: #ffffffed; color: #152630; font-size: 1.3rem; }
.home-job-body { padding: 16px 18px 19px; }
.home-job-body .home-editorial-meta { display: flex; align-items: center; gap: 9px; margin: 0; color: #77848a; font-size: .68rem; }
.home-job-body .home-editorial-meta span:first-child { display: grid; width: 27px; height: 27px; place-items: center; border-radius: 8px; background: #eff4e8; color: #577d00; font-weight: 700; }
.home-job-body h3 { margin: 13px 0 8px; color: #10212b; font-size: 1.13rem; line-height: 1.3; }
.home-job-body h3 a { color: inherit; text-decoration: none; }
.home-job-body h3 a:hover { color: #126c9e; }
.home-job-body > p { margin: 0; color: #627178; font-size: .8rem; }
.home-job-body .home-editorial-cta { margin-top: 15px; color: #547900; font-size: .78rem; }
@media (max-width: 980px) {
  .home-page .hero { grid-template-columns: minmax(0,1fr); }
  .home-page .hero-content { max-width: 690px; }
  .home-page .hero-gallery { height: clamp(340px,54vw,470px); }
  .home-page .home-search-filters { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .home-page .home-search-keywords { grid-column: 1 / -1; }
  .home-page .home-events-layout { grid-template-columns: minmax(0,1fr); }
  .home-page .home-event-feature { min-height: 510px; aspect-ratio: 1.4; }
  .home-page .home-event-list { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .home-page .home-jobs-section .home-editorial-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 600px) {
  .home-page .page-shell { padding-top: 12px; }
  .home-page .hero { width: calc(100vw - 24px); min-height: 0; padding: 27px 20px 22px; border-radius: 18px; }
  .home-page .hero h1 { font-size: clamp(2.6rem,11vw,3.6rem); }
  .home-page .hero .detail-actions { display: flex; flex-wrap: wrap; }
  .home-page .hero .detail-actions .button { flex: 1 1 130px; justify-content: center; }
  .home-page .hero-gallery { height: 310px; grid-template-columns: minmax(0,1.25fr) minmax(85px,.75fr); gap: 8px; }
  .home-page .hero-gallery-side { gap: 8px; }
  .home-page .home-search-section { width: calc(100vw - 24px); margin-top: -12px; border-radius: 14px; }
  .home-page .home-search-inner { padding: 20px 15px; }
  .home-page .home-search-heading { display: grid; gap: 7px; }
  .home-page .home-search-filters { grid-template-columns: minmax(0,1fr); gap: 9px; }
  .home-page .home-search-keywords { grid-column: auto; }
  .home-page .home-events-showcase { margin-top: 42px; padding: 40px 16px 48px; }
  .home-page .home-events-heading { gap: 18px; margin-bottom: 22px; }
  .home-page .home-events-heading h2 { font-size: clamp(2rem,9vw,2.55rem); }
  .home-page .home-events-heading > a { width: 100%; min-width: 0; }
  .home-page .home-event-feature { min-height: 420px; aspect-ratio: .9; }
  .home-page .home-event-feature-info { padding: 21px; }
  .home-page .home-event-feature-info > strong { max-width: 12ch; font-size: 2.25rem; }
  .home-page .home-event-list { grid-template-columns: minmax(0,1fr); gap: 10px; }
  .home-page .home-event-row,.home-page .home-event-row + .home-event-row { grid-template-columns: 78px minmax(0,1fr); gap: 11px; padding: 10px; }
  .home-page .home-event-thumb { width: 78px; height: 118px; }
  .home-page .home-event-row h3 { white-space: normal; }
  .home-page .home-editorial-section.home-jobs-section { padding: 42px 16px 54px; }
  .home-page .home-jobs-section .section-heading { align-items: start; gap: 12px; }
  .home-page .home-jobs-section .section-heading h2 { font-size: 2.1rem; }
  .home-page .home-jobs-section .home-editorial-grid { grid-template-columns: minmax(0,1fr); gap: 14px; }
}

/* Visual transplant from the winter/peza_project homepage, adapted for events and jobs. */
.home-page .page-shell { padding: 0 var(--gutter) 64px; overflow: clip; background: var(--paper); }
.home-page .hero { display: flex; width: 100vw; min-height: clamp(500px,66svh,690px); align-items: center; justify-content: flex-start; margin: 0 0 0 calc(50% - 50vw); padding: clamp(62px,8vw,106px) max(var(--gutter),calc((100vw - 1320px)/2)); overflow: hidden; border: 0; border-radius: 0; background-color: rgba(4,20,17,.62); background-image: url('https://i.guim.co.uk/img/media/61b2d8b4943961e73e652d457d44981a404d46d7/0_0_1685_1121/master/1685.jpg?width=1020&dpr=1&s=none&crop=none'); background-blend-mode: multiply; background-position: center; background-size: cover; box-shadow: none; }
.home-page .hero::before { z-index: -1; inset: 0; border-radius: 0; background-color: rgba(4,20,17,.62); background-image: url('https://blog.userank.com/wp-content/uploads/2025/01/Detty-December-in-Nigeria-1024x576.jpg'); background-blend-mode: multiply; background-position: center; background-size: cover; opacity: 0; animation: peza-hero-crossfade 12s ease-in-out infinite alternate; }
.home-page .hero-content { max-width: 760px; }
.home-page .hero-kicker { display: inline-flex; margin-bottom: 22px; padding: 8px 14px; border: 1px solid #ffffff26; border-radius: 999px; background: #ffffff14; color: #f8deaf; font-size: .76rem; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; }
.home-page .hero-kicker::before { background: var(--sun); box-shadow: 0 0 0 4px #f2a00728; }
.home-page .hero h1 { max-width: 13ch; color: #fff; font-size: clamp(3.25rem,6.5vw,5.8rem); line-height: .98; letter-spacing: -.06em; }
.home-page .hero h1 span { color: #ffc46b; }
.home-page .hero-copy { max-width: 48ch; margin-top: 20px; color: #e0e6e4; font-size: clamp(1rem,1.5vw,1.16rem); line-height: 1.65; }
.home-page .hero .detail-actions { gap: 11px; margin-top: 27px; }
.home-page .hero .detail-actions .button { min-height: 46px; padding-inline: 19px; border-radius: 9px; background: var(--sun); color: #17251f; font-size: .84rem; }
.home-page .hero .detail-actions .button:hover { background: #ffc24c; }
.home-page .hero .detail-actions .button-secondary { border: 1px solid #ffffff55; background: #ffffff12; color: #fff; }
.home-page .hero .detail-actions .button-secondary:hover { background: #ffffff24; color: #fff; }
.home-page .hero-meta { display: flex; flex-wrap: wrap; gap: 10px 22px; margin-top: 26px; color: #d5dfdc; font-size: .8rem; }
.home-page .hero-meta span { display: inline-flex; align-items: center; gap: 8px; }
.home-page .hero-meta b { color: var(--sun); font-size: 1rem; }
.home-page .hero-sun-art { position: absolute; z-index: 0; right: clamp(24px,8vw,130px); bottom: -180px; width: clamp(260px,35vw,440px); color: var(--sun); opacity: .75; }
.home-page .hero-search-float { display: grid; width: min(100%,1140px); max-width: 1140px; grid-template-columns: minmax(220px,2fr) minmax(130px,.95fr) minmax(145px,1fr) minmax(130px,.9fr) auto; align-items: end; gap: 12px; margin: -36px auto 0; padding: 16px 18px; border: 1px solid #14201b12; border-radius: 17px; background: #fff; box-shadow: 0 20px 50px -22px #14201b50; }
.home-page .float-search-field { min-width: 0; }
.home-page .float-search-field label { display: block; margin: 0 0 5px; color: #56645e; font-size: .68rem; font-weight: 700; }
.home-page .float-search-field input,.home-page .float-search-field select { width: 100%; min-width: 0; height: 41px; padding: 0 10px; border: 1px solid #e1e5df; border-radius: 9px; background: #fff; color: #14201b; font: 500 .8rem var(--body); }
.home-page .float-input-wrap { display: flex; height: 41px; align-items: center; gap: 8px; padding-left: 10px; border: 1px solid #e1e5df; border-radius: 9px; }
.home-page .float-input-wrap > span { display: grid; flex: 0 0 18px; color: #ba7910; }
.home-page .float-input-wrap svg { width: 18px; height: 18px; }
.home-page .float-input-wrap input { height: 39px; padding-left: 0; border: 0; background: transparent; }
.home-page .float-search-submit { display: inline-flex; min-height: 41px; align-items: center; justify-content: center; gap: 7px; padding: 0 16px; border: 0; border-radius: 9px; background: var(--sun); color: #17251f; font: 700 .8rem var(--body); cursor: pointer; }
.home-page .float-search-submit:hover { background: #e19400; }
.home-page .home-category-strip { width: min(100%,1140px); justify-content: flex-start; gap: 10px; margin: 20px auto 0; }
.home-page .home-category-strip .category-chip { padding: 7px 15px 7px 8px; border-color: #e0e5df; background: #fff; color: #253a34; font-size: .8rem; }
.home-page .home-category-strip .category-chip:hover { border-color: #e5a61c; background: #fff8e8; }
.home-page .home-category-strip .chip-icon { width: 29px; height: 29px; background: #fff3d4; color: #ad7000; font-size: 1rem; }
.home-page .trend-section { width: min(100%,1320px); margin: 58px auto 0; }
.home-page .trend-section .section-heading h2 { color: #14201b; }
.home-page .trend-section .section-heading p { color: #657068; }
.home-page .trend-section .eyebrow { color: #a86400; }
.home-page .trend-layout { grid-template-columns: minmax(0,.92fr) minmax(0,1.08fr); gap: clamp(24px,3vw,42px); }
.home-page .trend-featured { border-color: #e1e5de; border-radius: 18px; box-shadow: 0 18px 44px #14201b1a; }
.home-page .trend-featured-image::after { background: linear-gradient(to bottom,rgba(11,24,36,.05),rgba(11,24,36,.18) 35%,rgba(11,24,36,.9) 100%); }
.home-page .trend-badge { background: #14201bc9; }
.home-page .trend-badge > span { background: var(--sun); }
.home-page .trend-featured-body .trend-price { color: #fff; }
.home-page .trend-actions .button:not(.button-wa) { background: var(--sun); color: #17251f; }
.home-page .trend-actions .button:not(.button-wa):hover { background: #ffc24c; }
.home-page .trend-item { border-color: #e1e5df; }
.home-page .trend-item-image { border-radius: 12px; }
.home-page .trend-number { background: #f2a007; }
.home-page .trend-venue { color: #a86400; }
.home-page .trend-price { color: #24342d; }
.home-page .home-jobs-section { width: min(100%,1320px); margin: 68px auto 0; padding: 0; background: transparent; }
.home-page .home-jobs-section .section-heading h2 { color: #14201b; }
.home-page .home-jobs-section .section-heading p:not(.eyebrow) { color: #657068; }
.home-page .home-jobs-section .eyebrow { color: #a86400; }
.home-page .home-jobs-section .section-heading > .text-link { color: #a86400; }
.home-page .home-jobs-section .home-editorial-grid { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 17px; }
.home-page .home-job-card { border-color: #e1e5df; border-radius: 13px; background: #fff; }
.home-page .home-job-card .card-image { height: 178px; background: #e9eee8; }
.home-page .home-job-card .card-tag { bottom: 11px; left: 11px; padding: 5px 10px; background: #fffc; color: #6f4b0b; font-size: .7rem; }
.home-page .home-job-placeholder { display: grid; width: 100%; height: 100%; place-items: center; background: linear-gradient(145deg,#b7d4c5,#5c927c 60%,#245c4b); color: #fff; }
.home-page .home-job-placeholder strong { max-width: 80%; font: 700 clamp(1.1rem,2vw,1.8rem)/1.05 var(--display); text-align: center; }
.home-page .home-job-card .card-body { display: grid; gap: 8px; padding: 16px; }
.home-page .home-job-card .card-category { color: #707c75; font-size: .75rem; }
.home-page .home-job-card h3 { color: #172720; font-size: 1.05rem; line-height: 1.28; }
.home-page .home-job-card .card-meta { color: #68746d; font-size: .72rem; }
.home-page .home-job-card-cta { display: inline-flex; align-items: center; gap: 8px; margin-top: 5px; color: #a86400; font-size: .76rem; font-weight: 700; }
.home-page .home-job-card-cta b { font-size: 1rem; }
@media (max-width: 1000px) {
  .home-page .hero-search-float { grid-template-columns: minmax(160px,1.5fr) 1fr 1fr auto; }
  .home-page #home-search-date-filter { grid-column: 2; }
  .home-page .trend-layout { grid-template-columns: minmax(0,1fr); }
  .home-page .trend-featured { position: relative; top: auto; }
  .home-page .trend-featured-image { aspect-ratio: 1.45; }
  .home-page .trend-list { max-height: none; overflow: visible; }
}
@media (max-width: 860px) {
  .home-page .hero { min-height: 520px; padding: 56px var(--gutter); }
  .home-page .hero-sun-art { right: -30px; bottom: -180px; opacity: .48; }
  .home-page .hero-search-float { grid-template-columns: repeat(2,minmax(0,1fr)); margin-top: -24px; }
  .home-page .float-search-query { grid-column: 1 / -1; }
  .home-page #home-search-date-filter { grid-column: auto; }
}
@media (max-width: 600px) {
  .home-page .hero { min-height: 500px; padding: 42px 20px 76px; }
  .home-page .hero h1 { font-size: clamp(2.8rem,11vw,3.7rem); }
  .home-page .hero-meta { gap: 10px 14px; font-size: .7rem; }
  .home-page .hero-sun-art { right: -105px; bottom: -160px; width: 310px; opacity: .32; }
  .home-page .hero-search-float { grid-template-columns: minmax(0,1fr); gap: 10px; margin-top: -25px; padding: 14px; border-radius: 14px; }
  .home-page .float-search-query { grid-column: auto; }
  .home-page .float-search-submit { width: 100%; }
  .home-page .home-category-strip { margin-top: 16px; }
  .home-page .trend-section { margin-top: 42px; }
  .home-page .trend-heading { align-items: flex-start; gap: 10px; }
  .home-page .trend-featured { height: 410px; }
  .home-page .trend-featured-image { aspect-ratio: .9; }
  .home-page .trend-item { grid-template-columns: 78px minmax(0,1fr); gap: 11px; }
  .home-page .home-jobs-section { margin-top: 48px; }
  .home-page .home-jobs-section .home-editorial-grid { grid-template-columns: minmax(0,1fr); }
}

.home-page .hero-kicker::before {
  background: transparent;
  box-shadow: none;
}

.home-page .trend-badge > .trend-fire {
  display: inline;
  width: auto;
  height: auto;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  font-size: .85rem;
  line-height: 1;
}

/* Site wide light and dark themes. */
.theme-toggle {
  display: grid;
  width: 36px;
  height: 36px;
  flex: 0 0 36px;
  place-items: center;
  padding: 0;
  border: 1px solid #d8dcd7;
  border-radius: 50%;
  background: #fff;
  color: #30352f;
  cursor: pointer;
  box-shadow: none;
}
.theme-toggle:hover { border-color: #f2a007; color: #a86400; }
.theme-icon { width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.theme-icon-sun { display: none; }
html[data-theme="dark"] {
  color-scheme: dark;
  --paper: #101113;
  --surface: #191a1c;
  --ink: #f5f4f1;
  --ink-soft: #b7b9ba;
  --line: #303234;
  --lake: #f2a007;
  --lake-dark: #ffc34c;
  --lake-tint: #29251c;
  --green-tint: #202923;
}
html[data-theme="dark"] body { background: #101113; color: #f2f2ef; }
html[data-theme="dark"] .page-shell { background-color: #101113; color: #f2f2ef; }
html[data-theme="dark"] .site-header {
  background: rgba(16,17,19,.96);
  border-bottom-color: #292b2d;
  color: #f5f4f1;
}
html[data-theme="dark"] .site-header .brand,
html[data-theme="dark"] .site-header .main-nav a,
html[data-theme="dark"] .site-header .nav-account,
html[data-theme="dark"] .site-header .header-location { color: #f5f4f1; }
html[data-theme="dark"] .site-header .header-search,
html[data-theme="dark"] .site-header .mobile-menu summary,
html[data-theme="dark"] .site-header .header-account-menu > summary { background: #191a1c; border-color: #36383a; color: #f5f4f1; }
html[data-theme="dark"] .site-header .header-search input { color: #f5f4f1; }
html[data-theme="dark"] .site-header .header-search input::placeholder { color: #929597; }
html[data-theme="dark"] .site-header .header-discover,
html[data-theme="dark"] .site-header .mobile-menu nav a:last-child:not(:first-child) { background: #f2a007; border-color: #f2a007; color: #111214; }
html[data-theme="dark"] .site-header .mobile-menu nav,
html[data-theme="dark"] .site-header .header-account-menu > nav,
html[data-theme="dark"] .site-header .header-location-popover { background: #171819; border-color: #36383a; color: #f5f4f1; }
html[data-theme="dark"] .site-header .mobile-menu nav a,
html[data-theme="dark"] .site-header .header-account-menu > nav a,
html[data-theme="dark"] .site-header .header-account-menu > nav button { color: #f5f4f1; }
html[data-theme="dark"] .theme-toggle { border-color: #45484a; background: #191a1c; color: #f2a007; }
html[data-theme="dark"] .theme-icon-moon { display: none; }
html[data-theme="dark"] .theme-icon-sun { display: block; }
html[data-theme="dark"] .site-footer { background: #101113; color: #b7b9ba; border-color: #303234; }
html[data-theme="dark"] .auth-page { --auth-bg: #101113; --auth-panel: #17191b; --auth-text: #f2f2ef; --auth-muted: #aeb1b2; --auth-line: #303234; color-scheme: dark; }
html[data-theme="dark"] .card,
html[data-theme="dark"] .event-card,
html[data-theme="dark"] .job-card,
html[data-theme="dark"] .business-card,
html[data-theme="dark"] .place-card { background-color: #17191b; border-color: #303234; color: #f2f2ef; }
html[data-theme="dark"] input,
html[data-theme="dark"] select,
html[data-theme="dark"] textarea { color-scheme: dark; }

html[data-theme="light"] .site-header {
  background: rgba(248,248,245,.97);
  border-bottom-color: #e4e4dc;
  color: #14201b;
}
html[data-theme="light"] .site-header .brand,
html[data-theme="light"] .site-header .main-nav a,
html[data-theme="light"] .site-header .nav-account,
html[data-theme="light"] .site-header .header-location { color: #14201b; }
html[data-theme="light"] .site-header .header-search { background: #eceeea; border-color: #dce1db; color: #14201b; }
html[data-theme="light"] .site-header .header-search input { color: #14201b; }
html[data-theme="light"] .site-header .header-search input::placeholder { color: #69736d; }
html[data-theme="light"] .site-header .header-discover { background: #f2a007; border-color: #f2a007; color: #201b0e; }
html[data-theme="light"] .site-header .mobile-menu summary { background: #fff; border-color: #d9ded9; }
html[data-theme="light"] .site-header .mobile-menu summary span { background: #14201b; }
html[data-theme="light"] .site-header .mobile-menu nav,
html[data-theme="light"] .site-header .header-account-menu > nav,
html[data-theme="light"] .site-header .header-location-popover { background: #fff; border-color: #dfe3dd; color: #14201b; }
html[data-theme="light"] .site-header .mobile-menu nav a,
html[data-theme="light"] .site-header .header-account-menu > nav a,
html[data-theme="light"] .site-header .header-account-menu > nav button { color: #14201b; }
html[data-theme="light"] .site-header .header-account-menu > summary { background: #f2a007; color: #14201b; }
html[data-theme="light"] .theme-toggle { border-color: #d8dcd7; background: #fff; color: #30352f; }

html[data-theme="light"] .home-page,
html[data-theme="light"] .home-page .page-shell { --home-bg: #f8f8f5; --home-panel: #fff; --home-line: #e0e2dc; --home-text: #17201b; --home-muted: #647068; background: #f8f8f5; color: #17201b; }
html[data-theme="light"] .home-page .home-category-strip .category-chip,
html[data-theme="light"] .home-page .home-job-card { background: #fff; color: #17201b; }
html[data-theme="light"] .home-page .trend-section .section-heading h2,
html[data-theme="light"] .home-page .trend-section .section-heading p,
html[data-theme="light"] .home-page .trend-item h3,
html[data-theme="light"] .home-page .trend-item h3 a,
html[data-theme="light"] .home-page .home-jobs-section .section-heading h2,
html[data-theme="light"] .home-page .home-job-card h3 { color: #17201b; }
html[data-theme="light"] .home-page .trend-featured,
html[data-theme="light"] .home-page .home-job-card .card-body { background: #fff; }
html[data-theme="light"] .home-page .trend-item { border-color: #e0e2dc; }
html[data-theme="light"] .home-page .home-editorial-section.home-jobs-section { background: #f0f1ed; color: #17201b; }
html[data-theme="light"] .home-page .home-jobs-section .section-heading p:not(.eyebrow),
html[data-theme="light"] .home-page .home-job-card .card-category,
html[data-theme="light"] .home-page .home-job-card .card-meta { color: #647068; }
@media (max-width: 600px) {
  .theme-toggle { width: 34px; height: 34px; flex-basis: 34px; }
}

/* Shared header theme: match the charcoal and amber About page palette. */
.site-header {
  background: #101113;
  border-bottom: 1px solid #292b2d;
  color: #f5f4f1;
  backdrop-filter: none;
}
.site-header .brand,
.site-header .main-nav a,
.site-header .nav-account,
.site-header .header-location { color: #f5f4f1; }
.site-header .brand-mark {
  background: #282317;
  border: 1px solid #51401d;
  box-shadow: none;
}
.site-header .brand-period { color: #f2a007; }
.site-header .header-search {
  background: #191a1c;
  border: 1px solid #303234;
  color: #f5f4f1;
  box-shadow: none;
}
.site-header .header-search input { color: #f5f4f1; }
.site-header .header-search input::placeholder { color: #929597; }
.site-header .header-search:focus-within { border-color: #a87513; box-shadow: 0 0 0 2px #f2a00726; }
.site-header .main-nav a:hover,
.site-header .nav-account:hover { color: #f2a007; }
.site-header .header-discover {
  background: #f2a007;
  border-color: #f2a007;
  color: #111214;
  box-shadow: none;
}
.site-header .header-discover:hover { background: #d98f00; border-color: #d98f00; }
.site-header .header-location-popover {
  background: #171819;
  border-color: #36383a;
  box-shadow: 0 16px 36px #0009;
}
.site-header .header-location-popover a:hover,
.site-header .header-location-popover a:focus-visible { background: #29251c; color: #f2a007; }
.site-header .mobile-menu summary {
  background: #191a1c;
  border-color: #36383a;
  box-shadow: none;
}
.site-header .mobile-menu summary span { background: #f5f4f1; }
.site-header .mobile-menu nav {
  background: #171819;
  border-color: #36383a;
  color: #f5f4f1;
  box-shadow: 0 16px 36px #0009;
}
.site-header .mobile-menu nav a { color: #f5f4f1; }
.site-header .mobile-menu nav a:hover { background: #29251c; color: #f2a007; }
.site-header .mobile-menu nav a:last-child:not(:first-child) { background: #f2a007; color: #111214; }
.site-header .header-account-menu > summary {
  background: #191a1c;
  color: #f2a007;
  box-shadow: none;
}
.site-header .header-account-menu > nav {
  background: #171819;
  border-color: #36383a;
  box-shadow: 0 16px 36px #0009;
}
.site-header .header-account-menu > nav a,
.site-header .header-account-menu > nav button { color: #d2d3d1; }
.site-header .header-account-menu > nav a:hover,
.site-header .header-account-menu > nav button:hover { background: #29251c; color: #f2a007; }
.site-header .header-account-menu > nav form { border-color: #36383a; }
.site-header .nav-actions-authenticated > a,
.site-header .nav-actions-authenticated > button { box-shadow: none; }

.home-page .hero-kicker::before {
  content: "🔥";
  display: inline-block;
  width: auto;
  height: auto;
  border-radius: 0;
  background: none;
  box-shadow: none;
  font-size: 1rem;
  line-height: 1;
}

/* Keep the job section on the same charcoal canvas as the About page. */
.home-page .home-editorial-section.home-jobs-section { width: 100vw; margin: 64px 0 0 calc(50% - 50vw); padding: 58px var(--home-gutter) 76px; background: #101113; color: #f7f7f5; }
.home-page .home-editorial-section.home-jobs-section .section-heading,
.home-page .home-editorial-section.home-jobs-section .home-editorial-grid { width: 100%; max-width: none; margin-left: 0; }
.home-page .home-editorial-section.home-jobs-section .section-heading h2 { color: #f7f7f5; }
.home-page .home-editorial-section.home-jobs-section .section-heading p:not(.eyebrow) { color: #aeb1b2; }
.home-page .home-editorial-section.home-jobs-section .section-heading .eyebrow,
.home-page .home-editorial-section.home-jobs-section .section-heading > .text-link { color: #f2a007; }
.home-page .home-editorial-section.home-jobs-section .home-job-card { border-color: #303234; background: #17191b; }
@media (max-width: 600px) {
  .home-page .home-editorial-section.home-jobs-section { margin-top: 48px; padding: 42px var(--home-gutter) 54px; }
}

/* Carry the About page charcoal and amber theme across the homepage; left-align content. */
.home-page { --home-gutter: clamp(18px,7vw,105px); --home-bg: #101113; --home-panel: #17191b; --home-line: #303234; --home-text: #f7f7f5; --home-muted: #aeb1b2; --home-accent: #f2a007; background: var(--home-bg); color: var(--home-text); }
.home-page .page-shell { padding: 0; overflow: clip; background: var(--home-bg); }
.home-page .hero { width: 100vw; min-height: clamp(500px,66svh,700px); margin: 0 0 0 calc(50% - 50vw); padding: clamp(65px,8vw,108px) var(--home-gutter); background-color: rgba(0,0,0,.58); background-image: url('https://i.guim.co.uk/img/media/61b2d8b4943961e73e652d457d44981a404d46d7/0_0_1685_1121/master/1685.jpg?width=1020&dpr=1&s=none&crop=none'); background-blend-mode: multiply; background-position: center; background-size: cover; }
.home-page .hero::before { background-color: rgba(0,0,0,.58); background-image: url('https://blog.userank.com/wp-content/uploads/2025/01/Detty-December-in-Nigeria-1024x576.jpg'); background-blend-mode: multiply; background-position: center; background-size: cover; opacity: 0; animation: peza-hero-crossfade 12s ease-in-out infinite alternate; }
.home-page .hero-content { max-width: 760px; }
.home-page .hero-kicker { border-color: #ffffff1a; background: #ffffff0e; color: #d2d3d2; }
.home-page .hero-kicker::before { background: var(--home-accent); box-shadow: 0 0 0 4px #f2a00728; }
.home-page .hero h1 { max-width: 13ch; color: var(--home-text); font-size: clamp(3.15rem,6.2vw,5.6rem); }
.home-page .hero h1 span { color: var(--home-accent); }
.home-page .hero-copy { color: #c1c3c3; }
.home-page .hero .detail-actions .button { background: var(--home-accent); color: #201b0e; }
.home-page .hero .detail-actions .button:hover { background: #d28a00; }
.home-page .hero .detail-actions .button-secondary { border-color: #ffffff33; background: transparent; color: var(--home-text); }
.home-page .hero .detail-actions .button-secondary:hover { border-color: var(--home-accent); color: var(--home-accent); }
.home-page .hero-meta { color: #c1c3c3; }
.home-page .hero-meta b { color: var(--home-accent); }
.home-page .hero-sun-art { right: var(--home-gutter); color: var(--home-accent); opacity: .55; }
.home-page .hero-search-float { width: calc(100% - 2 * var(--home-gutter)); max-width: none; grid-template-columns: minmax(230px,2fr) minmax(140px,.9fr) minmax(160px,1fr) minmax(140px,.9fr) auto; margin: -34px 0 0 var(--home-gutter); border-color: #303234; border-radius: 15px; background: var(--home-panel); box-shadow: 0 20px 50px #0005; }
.home-page .float-search-field label { color: #b7b9ba; }
.home-page .float-search-field input,.home-page .float-search-field select,.home-page .float-input-wrap { border-color: #383b3d; background: #101113; color: var(--home-text); }
.home-page .float-search-field input::placeholder { color: #85898b; }
.home-page .float-search-submit { background: var(--home-accent); color: #201b0e; }
.home-page .float-search-submit:hover { background: #d28a00; }
.home-page .home-category-strip { width: calc(100% - 2 * var(--home-gutter)); justify-content: flex-start; margin: 18px 0 0 var(--home-gutter); }
.home-page .home-category-strip .category-chip { border-color: var(--home-line); background: var(--home-panel); color: var(--home-text); }
.home-page .home-category-strip .category-chip:hover { border-color: var(--home-accent); background: #211c12; }
.home-page .home-category-strip .chip-icon { background: #282317; color: var(--home-accent); }
.home-page .trend-section { width: calc(100% - 2 * var(--home-gutter)); margin: clamp(52px,6vw,82px) 0 0 var(--home-gutter); }
.home-page .trend-section .section-heading { align-items: end; }
.home-page .trend-section .section-heading h2,.home-page .trend-section .section-heading p { color: var(--home-text); }
.home-page .trend-section .section-heading p:not(.eyebrow) { color: var(--home-muted); }
.home-page .trend-section .eyebrow { color: var(--home-accent); }
.home-page .trend-section .section-heading > .text-link { color: var(--home-accent); }
.home-page .trend-layout { grid-template-columns: minmax(0,.95fr) minmax(0,1fr); gap: clamp(22px,3vw,42px); }
.home-page .trend-featured { border-color: var(--home-line); border-radius: 20px; background: var(--home-panel); box-shadow: 0 18px 44px #0004; }
.home-page .trend-badge { background: #101113d9; }
.home-page .trend-badge > span { background: var(--home-accent); box-shadow: 0 0 0 4px #f2a00728; }
.home-page .trend-featured-body .trend-price { color: #fff; }
.home-page .trend-actions .button:not(.button-wa) { background: var(--home-accent); color: #201b0e; }
.home-page .trend-actions .button:not(.button-wa):hover { background: #d28a00; }
.home-page .trend-list { scrollbar-color: #45484a transparent; }
.home-page .trend-item { border-color: #303234; }
.home-page .trend-item h3,.home-page .trend-item h3 a { color: var(--home-text); }
.home-page .trend-item .trend-date { color: #aeb1b2; }
.home-page .trend-venue { color: var(--home-accent); }
.home-page .trend-item .trend-description { color: #b7b9ba; }
.home-page .trend-price { color: #e8e9e7; }
.home-page .trend-number { background: var(--home-accent); color: #201b0e; }
.home-page .trend-list-empty { border-color: #383b3d; color: var(--home-muted); }
.home-page .home-jobs-section { width: calc(100% - 2 * var(--home-gutter)); margin: clamp(58px,7vw,92px) 0 0 var(--home-gutter); padding: 0 0 72px; background: transparent; }
.home-page .home-jobs-section .section-heading,.home-page .home-jobs-section .home-editorial-grid { width: 100%; margin-left: 0; }
.home-page .home-jobs-section .section-heading h2 { color: var(--home-text); }
.home-page .home-jobs-section .section-heading p:not(.eyebrow) { color: var(--home-muted); }
.home-page .home-jobs-section .section-heading .eyebrow { color: var(--home-accent); }
.home-page .home-jobs-section .section-heading > .text-link { color: var(--home-accent); }
.home-page .home-jobs-section .home-editorial-grid { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; }
.home-page .home-job-card { border-color: var(--home-line); border-radius: 14px; background: var(--home-panel); box-shadow: none; }
.home-page .home-job-card:hover { border-color: #70571f; box-shadow: 0 14px 28px #0004; }
.home-page .home-job-card .card-image { background: #282629; }
.home-page .home-job-card .card-tag { background: #090a0bf0; color: #f2a007; }
.home-page .home-job-placeholder { background: linear-gradient(145deg,#39372e,#252621 60%,#1a211d); color: #f2a007; }
.home-page .home-job-card .card-body { background: var(--home-panel); }
.home-page .home-job-card .card-category,.home-page .home-job-card .card-meta { color: #aeb1b2; }
.home-page .home-job-card h3 { color: var(--home-text); }
.home-page .home-job-card h3 a:hover { color: var(--home-accent); }
.home-page .home-job-card-cta { color: var(--home-accent); }
@media (max-width: 1000px) {
  .home-page .hero-search-float { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .home-page .float-search-query { grid-column: 1 / -1; }
  .home-page #home-search-date-filter { grid-column: auto; }
  .home-page .trend-layout { grid-template-columns: minmax(0,1fr); }
  .home-page .trend-featured { position: relative; top: auto; }
  .home-page .trend-featured-image { aspect-ratio: 1.45; }
  .home-page .trend-list { max-height: none; overflow: visible; }
}
@media (max-width: 600px) {
  .home-page { --home-gutter: 16px; }
  .home-page .hero { min-height: 500px; padding: 44px var(--home-gutter) 82px; }
  .home-page .hero h1 { font-size: clamp(2.7rem,11vw,3.65rem); }
  .home-page .hero-meta { gap: 9px 14px; font-size: .68rem; }
  .home-page .hero-sun-art { right: -105px; bottom: -175px; width: 310px; opacity: .3; }
  .home-page .hero-search-float { width: calc(100% - 2 * var(--home-gutter)); grid-template-columns: minmax(0,1fr); margin: -25px 0 0 var(--home-gutter); padding: 14px; }
  .home-page .float-search-query { grid-column: auto; }
  .home-page .float-search-submit { width: 100%; }
  .home-page .home-category-strip { width: calc(100% - 2 * var(--home-gutter)); margin-left: var(--home-gutter); }
  .home-page .trend-section,.home-page .home-jobs-section { width: calc(100% - 2 * var(--home-gutter)); margin-left: var(--home-gutter); }
  .home-page .trend-section { margin-top: 44px; }
  .home-page .trend-heading { align-items: flex-start; }
  .home-page .trend-featured { height: 410px; }
  .home-page .trend-featured-image { aspect-ratio: .9; }
  .home-page .trend-item { grid-template-columns: 78px minmax(0,1fr); gap: 11px; }
  .home-page .home-jobs-section { margin-top: 52px; padding-bottom: 52px; }
  .home-page .home-jobs-section .home-editorial-grid { grid-template-columns: minmax(0,1fr); }
}

html[data-theme="light"] .home-page .float-search-field label { color: #4d5a53 !important; }
html[data-theme="light"] .home-page .float-search-field input,
html[data-theme="light"] .home-page .float-search-field select,
html[data-theme="light"] .home-page .float-input-wrap {
  border-color: #d8ddd7 !important;
  background: #fff !important;
  color: #17201b !important;
}
html[data-theme="light"] .home-page .float-search-field input::placeholder { color: #737d76 !important; }
html[data-theme="light"] .home-page .trend-featured-body,
html[data-theme="light"] .home-page .trend-featured-body h3,
html[data-theme="light"] .home-page .trend-featured-body h3 a,
html[data-theme="light"] .home-page .trend-featured-body .trend-price { color: #17201b !important; }
html[data-theme="light"] .home-page .trend-featured-body .trend-date,
html[data-theme="light"] .home-page .trend-featured-body .trend-description,
html[data-theme="light"] .home-page .trend-item .trend-date,
html[data-theme="light"] .home-page .trend-item .trend-description { color: #59645d !important; }
html[data-theme="light"] .home-page .home-jobs-section,
html[data-theme="light"] .home-page .home-jobs-section .section-heading h2,
html[data-theme="light"] .home-page .home-jobs-section .home-job-card h3,
html[data-theme="light"] .home-page .home-jobs-section .home-job-card h3 a { color: #17201b !important; }
html[data-theme="light"] .home-page .home-jobs-section .section-heading p:not(.eyebrow),
html[data-theme="light"] .home-page .home-jobs-section .home-job-card .card-category,
html[data-theme="light"] .home-page .home-jobs-section .home-job-card .card-meta { color: #59645d !important; }
html[data-theme="light"] .home-page .hero h1,
html[data-theme="light"] .home-page .hero .detail-actions .button-secondary { color: #fff !important; }
html[data-theme="light"] .home-page .hero h1 span { color: #f2a007 !important; }
html[data-theme="light"] .home-page .hero-copy,
html[data-theme="light"] .home-page .hero-meta { color: #f0f0ed !important; }
html[data-theme="light"] .home-page .hero-kicker { color: #f0f0ed !important; }
html[data-theme="light"] .home-page .hero-kicker::before { background: transparent !important; box-shadow: none !important; }

/* Event details use the same split gallery and scrollable details layout as marketplace listings. */
body.event-detail-page {
  height: 100dvh;
  min-height: 0;
  overflow: hidden;
  background: #e9e7e2;
}
body.event-detail-page .site-header,
body.event-detail-page .site-footer { display: none !important; }
body.event-detail-page main.event-detail-page,
body.event-detail-page .page-shell {
  display: grid;
  flex: 1 1 auto;
  width: 100%;
  max-width: none;
  min-width: 0;
  min-height: 0;
  height: 100%;
  grid-template-columns: minmax(0,1.85fr) minmax(380px,1fr);
  grid-template-rows: minmax(0,1fr);
  gap: 0;
  padding: 0;
  overflow: hidden;
  background: #fff;
}
body.event-detail-page .event-detail-hero {
  grid-column: 1;
  grid-row: 1;
  display: flex;
  min-width: 0;
  min-height: 0;
  height: 100%;
  flex-direction: column;
  background: #292a29;
}
body.event-detail-page .event-detail-backdrop { filter: blur(22px) brightness(.32); }
body.event-detail-page .event-detail-hero-shade { background: #10111345; }
body.event-detail-page .event-detail-hero-content {
  display: flex;
  width: 100%;
  min-height: 0;
  flex: 1 1 auto;
  flex-direction: column;
  padding: 10px clamp(14px,1.5vw,24px) 20px;
}
body.event-detail-page .event-detail-topbar { min-height: 45px; flex: 0 0 auto; }
body.event-detail-page .event-detail-hero-grid {
  min-height: 0;
  flex: 1 1 auto;
  grid-template-columns: minmax(0,.9fr) minmax(0,1.1fr);
  gap: clamp(18px,2vw,34px);
  padding: 10px 0;
}
body.event-detail-page .event-detail-poster-wrap { display: grid; min-height: 0; place-items: center; }
body.event-detail-page .event-detail-poster {
  width: 100%;
  max-height: min(72vh,760px);
  aspect-ratio: .74;
  border: 0;
  border-radius: 10px;
  object-fit: contain;
  box-shadow: 0 18px 48px #0008;
}
body.event-detail-page .event-detail-poster-empty { min-height: 300px; border-radius: 10px; background: #202221; }
body.event-detail-page .event-detail-hero-copy { padding: 18px 0; }
body.event-detail-page .event-detail-hero-copy h1 { font-size: clamp(2rem,3.5vw,3.65rem); }
body.event-detail-page .event-detail-content-grid {
  grid-column: 2;
  grid-row: 1;
  display: block;
  width: 100%;
  height: 100%;
  min-width: 0;
  min-height: 0;
  margin: 0;
  padding: 18px 20px 24px;
  overflow-y: auto;
  overscroll-behavior: contain;
  background: #fff;
  scrollbar-color: #c9cbc7 transparent;
  scrollbar-width: thin;
}
body.event-detail-page .event-detail-information { gap: 0; }
body.event-detail-page .event-detail-panel,
body.event-detail-page .event-detail-ticket-card {
  padding: 18px 0;
  border: 0;
  border-bottom: 1px solid #e4e5e1;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
body.event-detail-page .event-detail-panel:first-child { padding-top: 5px; }
body.event-detail-page .event-detail-ticket-column { margin-top: 0; }
body.event-detail-page .event-detail-ticket-card { position: static; padding-bottom: 20px; }
body.event-detail-page .event-detail-ticket-cutout { display: none; }
body.event-detail-page .event-detail-organizer-link,
body.event-detail-page .event-detail-organizer-whatsapp { min-height: 42px; }
body.event-detail-page .event-detail-report-link { margin-bottom: 8px; }
@media (max-width: 820px) {
  body.event-detail-page { height: auto; min-height: 100dvh; overflow: auto; }
  body.event-detail-page main.event-detail-page,
  body.event-detail-page .page-shell {
    display: block;
    height: auto;
    min-height: 100dvh;
    overflow: visible;
  }
  body.event-detail-page .event-detail-hero { height: auto; min-height: 540px; }
  body.event-detail-page .event-detail-hero-content { min-height: 540px; padding: 10px 18px 24px; }
  body.event-detail-page .event-detail-content-grid { height: auto; overflow: visible; padding: 10px 20px 34px; }
  body.event-detail-page .event-detail-ticket-card { position: static; }
}
@media (max-width: 560px) {
  body.event-detail-page .event-detail-hero { min-height: 480px; }
  body.event-detail-page .event-detail-hero-content { min-height: 480px; padding: 8px 13px 18px; }
  body.event-detail-page .event-detail-hero-grid { grid-template-columns: minmax(95px,32vw) minmax(0,1fr); gap: 13px; }
  body.event-detail-page .event-detail-poster { max-height: 260px; }
  body.event-detail-page .event-detail-hero-copy h1 { font-size: clamp(1.1875rem,6vw,1.8125rem); }
  body.event-detail-page .event-detail-content-grid { padding: 5px 15px 26px; }
}

body.event-detail-page .event-detail-hero-grid {
  position: relative;
  display: block;
  flex: 1 1 auto;
  min-height: 0;
  padding: 0;
}
body.event-detail-page .event-detail-topbar { position: relative; z-index: 3; }
body.event-detail-page .event-detail-poster-wrap {
  position: absolute;
  inset: 0;
  display: block;
}
body.event-detail-page .event-detail-poster {
  width: 100%;
  height: 100%;
  max-height: none;
  aspect-ratio: auto;
  border: 0;
  border-radius: 0;
  object-fit: cover;
  box-shadow: none;
}
body.event-detail-page .event-detail-poster-empty { width: 100%; height: 100%; min-height: 0; border-radius: 0; }
body.event-detail-page .event-detail-hero-copy { display: none; }
body.event-detail-page .event-detail-listing-header {
  padding: 5px 0 17px;
  border-bottom: 1px solid #e4e5e1;
}
body.event-detail-page .event-detail-listing-header h1 {
  margin: 0;
  color: #202521;
  font: 750 clamp(1.5rem,2vw,2rem)/1.14 var(--display);
  letter-spacing: -.035em;
  overflow-wrap: anywhere;
}
body.event-detail-page .event-detail-listing-header .event-detail-date {
  margin: 0 0 10px;
  color: #8c6000;
  font-size: .65rem;
  letter-spacing: .07em;
}
body.event-detail-page .event-detail-listing-header .event-detail-venue {
  margin: 9px 0 0;
  color: #59645d;
  font-size: .75rem;
}
body.event-detail-page .event-detail-listing-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 15px; }
body.event-detail-page .event-detail-listing-actions .event-detail-buy-link,
body.event-detail-page .event-detail-listing-actions .event-detail-whatsapp { min-height: 40px; }
body.event-detail-page .event-detail-listing-header .event-detail-price-hint { margin-top: 9px; color: #59645d; }
body.event-detail-page .event-detail-listing-header .event-detail-price-hint strong { color: #202521; }
body.event-detail-page .event-detail-information { padding-top: 0; }
@media (max-width: 820px) {
  body.event-detail-page .event-detail-hero { height: min(70svh,620px); min-height: 360px; }
  body.event-detail-page .event-detail-hero-content { min-height: 0; height: 100%; padding: 8px 12px 12px; }
  body.event-detail-page .event-detail-hero-grid { min-height: 0; }
}
@media (max-width: 560px) {
  body.event-detail-page .event-detail-hero { height: min(62svh,520px); min-height: 300px; }
  body.event-detail-page .event-detail-listing-actions { display: grid; grid-template-columns: 1fr; }
}

/* Additional homepage discovery paths and practical next steps. */
.home-page .home-discovery,
.home-page .home-ticket-guide,
.home-page .home-bottom-actions {
  width: calc(100% - 2 * var(--home-gutter));
  margin-left: var(--home-gutter);
}
.home-page .home-discovery { margin-top: clamp(36px,4.5vw,62px); }
.home-page .home-section-heading { display: flex; align-items: end; justify-content: space-between; gap: 20px; margin-bottom: 17px; }
.home-page .home-section-heading .eyebrow,
.home-page .home-ticket-guide .eyebrow,
.home-page .home-bottom-actions .eyebrow { margin: 0 0 7px; color: var(--home-accent); font-size: .66rem; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.home-page .home-section-heading h2,
.home-page .home-ticket-guide h2,
.home-page .home-bottom-actions h2 { color: var(--home-text); font: 750 clamp(1.35rem,2.4vw,2rem)/1.15 var(--display); letter-spacing: -.035em; }
.home-page .home-section-heading p:not(.eyebrow),
.home-page .home-ticket-guide > div > p:not(.eyebrow),
.home-page .home-bottom-actions article > div > p:not(.eyebrow) { margin: 7px 0 0; color: var(--home-muted); font-size: .8rem; }
.home-page .home-section-heading > a,
.home-page .home-ticket-guide > div > a,
.home-page .home-bottom-actions article > div > a { flex: 0 0 auto; color: var(--home-accent); font-size: .75rem; font-weight: 700; }
.home-page .home-section-heading > a:hover,
.home-page .home-ticket-guide > div > a:hover,
.home-page .home-bottom-actions article > div > a:hover { color: #ffc34c; }
.home-page .home-district-chips { display: flex; gap: 8px; overflow-x: auto; padding: 3px 1px 10px; scrollbar-color: #4a4d4d transparent; scrollbar-width: thin; }
.home-page .home-district-chips a { flex: 0 0 auto; padding: 8px 13px; border: 1px solid var(--home-line); border-radius: 999px; background: var(--home-panel); color: var(--home-text); font-size: .72rem; transition: border-color .15s,background .15s,color .15s; }
.home-page .home-district-chips a:hover { border-color: var(--home-accent); background: #282317; color: var(--home-accent); }
.home-page .home-interest-links { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 10px; }
.home-page .home-interest-links a { display: flex; min-height: 74px; align-items: center; justify-content: space-between; gap: 8px; padding: 14px 16px; border: 1px solid var(--home-line); border-radius: 12px; background: var(--home-panel); color: var(--home-text); font-size: .8rem; font-weight: 700; }
.home-page .home-interest-links .home-interest-icon { display: grid; width: 36px; height: 36px; flex: 0 0 36px; place-items: center; border-radius: 10px; background: #282317; color: var(--home-accent); }
.home-page .home-interest-links .home-interest-icon .ui-button-icon { width: 19px; height: 19px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.home-page .home-interest-links > a > span:nth-child(2) { flex: 1; }
.home-page .home-interest-links a b { color: var(--home-accent); font-size: 1rem; }
.home-page .home-interest-links a:hover { border-color: #70571f; transform: translateY(-2px); }
.home-page .home-week-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 13px; }
.home-page .home-week-card { min-width: 0; overflow: hidden; border: 1px solid var(--home-line); border-radius: 13px; background: var(--home-panel); }
.home-page .home-week-image { position: relative; display: grid; aspect-ratio: 1.65; place-items: center; overflow: hidden; background: #292a29; color: var(--home-accent); font-size: 2rem; }
.home-page .home-week-image img { width: 100%; height: 100%; object-fit: cover; transition: transform .25s; }
.home-page .home-week-card:hover .home-week-image img { transform: scale(1.04); }
.home-page .home-week-image time { position: absolute; top: 9px; left: 9px; display: grid; min-width: 42px; min-height: 46px; align-content: center; justify-items: center; padding: 4px; border: 1px solid #ffffff30; border-radius: 8px; background: #101113e8; color: #fff; font-size: .57rem; line-height: 1.1; text-transform: uppercase; }
.home-page .home-week-image time b { font-size: 1rem; }
.home-page .home-week-card-body { display: grid; gap: 5px; padding: 12px; }
.home-page .home-week-card-body > p { margin: 0; color: var(--home-accent); font-size: .61rem; font-weight: 700; text-transform: uppercase; }
.home-page .home-week-card-body h3 { font: 700 .88rem/1.3 var(--display); }
.home-page .home-week-card-body h3 a { color: var(--home-text); }
.home-page .home-week-card-body h3 a:hover { color: var(--home-accent); }
.home-page .home-week-card-body > span { overflow: hidden; color: var(--home-muted); font-size: .68rem; text-overflow: ellipsis; white-space: nowrap; }
.home-page .home-week-card-body > strong { margin-top: 3px; color: var(--home-text); font-size: .7rem; }
.home-page .home-empty-state { display: grid; justify-items: start; gap: 5px; padding: 18px 20px; border: 1px dashed var(--home-line); border-radius: 12px; color: var(--home-muted); }
.home-page .home-empty-state strong { color: var(--home-text); font-size: .83rem; }
.home-page .home-empty-state > span { font-size: .75rem; }
.home-page .home-empty-state a { margin-top: 5px; color: var(--home-accent); font-size: .75rem; font-weight: 700; }
.home-page .home-trusted-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
.home-page .home-trusted-card { position: relative; display: flex; min-width: 0; min-height: 92px; align-items: center; gap: 13px; padding: 10px 40px 10px 10px; border: 1px solid var(--home-line); border-radius: 12px; background: var(--home-panel); }
.home-page .home-trusted-card > img,.home-page .home-trusted-placeholder { display: grid; width: 72px; height: 70px; flex: 0 0 72px; place-items: center; border-radius: 8px; background: #282317; color: var(--home-accent); object-fit: cover; font-size: 1.4rem; font-weight: 800; }
.home-page .home-trusted-copy { display: grid; min-width: 0; gap: 3px; }
.home-page .home-trusted-copy small { overflow: hidden; color: var(--home-muted); font-size: .61rem; text-overflow: ellipsis; white-space: nowrap; }
.home-page .home-trusted-copy strong { overflow: hidden; color: var(--home-text); font-size: .82rem; text-overflow: ellipsis; white-space: nowrap; }
.home-page .home-trusted-copy em { color: var(--home-accent); font-size: .62rem; font-style: normal; font-weight: 700; }
.home-page .home-trusted-arrow { position: absolute; top: 12px; right: 14px; color: var(--home-accent); }
.home-page .home-trusted-card:hover { border-color: #70571f; }
.home-page .home-bottom-actions { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; margin-top: clamp(42px,5vw,68px); }
.home-page .home-bottom-actions article { display: flex; gap: 15px; padding: clamp(17px,2vw,24px); border: 1px solid var(--home-line); border-radius: 14px; background: var(--home-panel); }
.home-page .home-bottom-icon { display: grid; width: 40px; height: 40px; flex: 0 0 40px; place-items: center; border-radius: 11px; background: #282317; color: var(--home-accent); font-size: 1.3rem; }
.home-page .home-bottom-actions article > div > a { display: inline-block; margin-top: 12px; }
.home-page .home-ticket-guide { display: grid; grid-template-columns: minmax(0,1.1fr) minmax(0,.9fr); gap: 24px; margin-top: 18px; margin-bottom: 64px; padding: clamp(20px,3vw,34px); border: 1px solid var(--home-line); border-radius: 15px; background: var(--home-panel); }
.home-page .home-ticket-guide > div > a { display: inline-block; margin-top: 14px; }
.home-page .home-ticket-guide ol { display: grid; align-content: center; gap: 9px; margin: 0; padding: 0; list-style: none; }
.home-page .home-ticket-guide li { display: flex; align-items: center; gap: 12px; padding: 10px 0; border-bottom: 1px solid var(--home-line); color: var(--home-muted); font-size: .74rem; }
.home-page .home-ticket-guide li:last-child { border-bottom: 0; }
.home-page .home-ticket-guide li b { color: var(--home-accent); font-size: .68rem; }
html[data-theme="light"] .home-page .home-district-chips a,
html[data-theme="light"] .home-page .home-interest-links a,
html[data-theme="light"] .home-page .home-week-card,
html[data-theme="light"] .home-page .home-trusted-card,
html[data-theme="light"] .home-page .home-bottom-actions article,
html[data-theme="light"] .home-page .home-ticket-guide { background: #fff; }
html[data-theme="light"] .home-page .home-district-chips a:hover,
html[data-theme="light"] .home-page .home-interest-links a:hover { background: #fff6e4; color: #17201b; }
html[data-theme="light"] .home-page .home-interest-links .home-interest-icon { background: #fff0cd; color: #9c6500; }
html[data-theme="light"] .home-page .home-week-card-body h3 a,
html[data-theme="light"] .home-page .home-week-card-body > strong,
html[data-theme="light"] .home-page .home-trusted-copy strong,
html[data-theme="light"] .home-page .home-section-heading h2,
html[data-theme="light"] .home-page .home-ticket-guide h2,
html[data-theme="light"] .home-page .home-bottom-actions h2 { color: #17201b; }
html[data-theme="light"] .home-page .home-week-card-body > span,
html[data-theme="light"] .home-page .home-trusted-copy small,
html[data-theme="light"] .home-page .home-section-heading p:not(.eyebrow),
html[data-theme="light"] .home-page .home-ticket-guide > div > p:not(.eyebrow),
html[data-theme="light"] .home-page .home-bottom-actions article > div > p:not(.eyebrow),
html[data-theme="light"] .home-page .home-ticket-guide li { color: #59645d; }
@media (max-width: 900px) {
  .home-page .home-week-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .home-page .home-interest-links { grid-template-columns: repeat(3,minmax(0,1fr)); }
}
@media (max-width: 600px) {
  .home-page .home-section-heading { align-items: flex-start; }
  .home-page .home-section-heading > a { align-self: flex-end; white-space: nowrap; }
  .home-page .home-interest-links { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .home-page .home-week-grid { gap: 9px; }
  .home-page .home-week-card-body { padding: 10px; }
  .home-page .home-week-card-body h3 { font-size: .78rem; }
  .home-page .home-trusted-grid,.home-page .home-bottom-actions,.home-page .home-ticket-guide { grid-template-columns: minmax(0,1fr); }
  .home-page .home-ticket-guide { gap: 10px; }
}

/* Apply Peza's amber and charcoal identity across shared surfaces. */
.auth-page .auth-eyebrow,
.auth-page .auth-label-row a,
.auth-page .auth-signup a { color: #9c6500; }
.auth-page .auth-submit { border-color: #f2a007; background: #f2a007; color: #171915; }
.auth-page .auth-submit:hover { border-color: #d98f00; background: #d98f00; }
.business-profile-actions-heading .business-detail-eyebrow,
.business-profile-summary > .business-detail-eyebrow,
.business-profile-rating-line > a,
.business-action-icon,
.business-suggestion-icon { color: var(--lake-dark); }
.business-profile-mark,
.business-suggestion-icon { background-color: var(--lake-tint); }
.business-profile-action-grid a:hover,
.business-profile-primary-actions a:hover { border-color: #e9c777; background: var(--lake-tint); color: var(--lake-dark); }
.business-profile-primary-actions > a:first-child { border-color: var(--lake); background: var(--lake); color: #171915; }
.business-profile-primary-actions > a:first-child:hover { border-color: #d98f00; background: #d98f00; color: #171915; }
.business-profile-primary-actions .business-profile-share-button { border-color: #e9c777; color: var(--lake-dark); }
.business-profile-primary-actions .business-profile-share-button:hover { border-color: var(--lake); background: var(--lake-tint); color: var(--lake-dark); }
.business-suggestion-card:hover { border-color: #e9c777; }
.marketplace-map-placeholder > span svg { stroke: var(--lake-dark); }
.peza-dashboard-nav a.is-active .peza-nav-icon,
.peza-dashboard-primary .dashboard-welcome .eyebrow,
.peza-rail-heading .eyebrow,
.peza-rail-heading-icon,
.peza-quick-actions a > span,
.peza-rail-card > a,
.peza-create-dialog-header .eyebrow,
.peza-dialog-guide li span { color: var(--lake-dark); }
.peza-quick-actions a:hover { background: var(--lake-tint); }
.home-team-avatar-green { border-color: #e9c777; background: var(--lake-tint); color: var(--lake-dark); }
.floating-qr > summary { background: #171915; color: #f2a007; box-shadow: 0 5px 18px #17191530; }
html[data-theme="dark"] .auth-page { --auth-bg: #101113; --auth-panel: #191a1c; --auth-text: #f5f4f1; --auth-muted: #b7b9ba; --auth-line: #303234; --auth-accent: #f2a007; color-scheme: dark; }

/* Minimal monochrome palette from the partnership page reference. */
html[data-theme="light"] {
  color-scheme: light;
  --paper: #f5f5f5;
  --surface: #fff;
  --ink: #111;
  --ink-soft: #707070;
  --line: #e4e4e4;
  --lake: #111;
  --lake-dark: #111;
  --lake-tint: #ededed;
  --sun: #111;
  --on-accent: #fff;
}
html[data-theme="dark"] {
  color-scheme: dark;
  --paper: #111;
  --surface: #1b1b1b;
  --ink: #f5f5f5;
  --ink-soft: #b8b8b8;
  --line: #343434;
  --lake: #f5f5f5;
  --lake-dark: #f5f5f5;
  --lake-tint: #292929;
  --sun: #f5f5f5;
  --on-accent: #111;
}
html[data-theme="light"] body { background: #f5f5f5; color: #111; }
html[data-theme="dark"] body { background: #111; color: #f5f5f5; }
html[data-theme="light"] .page-shell { background-color: #f5f5f5; color: #111; }
html[data-theme="dark"] .page-shell { background-color: #111; color: #f5f5f5; }
html[data-theme="light"] .site-header { color: #111; background: #f5f5f5; border-color: #e4e4e4; box-shadow: none; }
html[data-theme="dark"] .site-header { color: #f5f5f5; background: #111; border-color: #343434; box-shadow: none; }
html[data-theme="light"] .site-header .brand,
html[data-theme="light"] .site-header .main-nav a,
html[data-theme="light"] .site-header .nav-account,
html[data-theme="light"] .site-header .header-location { color: #111; }
html[data-theme="dark"] .site-header .brand,
html[data-theme="dark"] .site-header .main-nav a,
html[data-theme="dark"] .site-header .nav-account,
html[data-theme="dark"] .site-header .header-location { color: #f5f5f5; }
html[data-theme="light"] .site-header .header-search,
html[data-theme="light"] .site-header .mobile-menu summary,
html[data-theme="light"] .site-header .header-account-menu > summary { background: #ededed; border-color: #e4e4e4; color: #111; }
html[data-theme="dark"] .site-header .header-search,
html[data-theme="dark"] .site-header .mobile-menu summary,
html[data-theme="dark"] .site-header .header-account-menu > summary { background: #1b1b1b; border-color: #343434; color: #f5f5f5; }
html[data-theme="light"] .site-header .header-search input { color: #111; }
html[data-theme="dark"] .site-header .header-search input { color: #f5f5f5; }
html[data-theme="light"] .site-header .header-search input::placeholder { color: #707070; }
html[data-theme="dark"] .site-header .header-search input::placeholder { color: #aaa; }
html[data-theme="light"] .site-header .header-discover,
html[data-theme="light"] .site-header .mobile-menu nav a:last-child:not(:first-child) { border-color: #111; background: #111; color: #fff; box-shadow: none; }
html[data-theme="dark"] .site-header .header-discover,
html[data-theme="dark"] .site-header .mobile-menu nav a:last-child:not(:first-child) { border-color: #f5f5f5; background: #f5f5f5; color: #111; box-shadow: none; }
html[data-theme="light"] .theme-toggle { border-color: #d8d8d8; background: #fff; color: #111; }
html[data-theme="dark"] .theme-toggle { border-color: #444; background: #1b1b1b; color: #f5f5f5; }
html[data-theme="light"] .theme-toggle:hover,
html[data-theme="dark"] .theme-toggle:hover { border-color: #777; color: inherit; }
html[data-theme="light"] .site-header .brand-mark { background: #111; color: #fff; }
html[data-theme="dark"] .site-header .brand-mark { background: #f5f5f5; color: #111; }
html[data-theme="light"] .site-header .brand-period { color: #111; }
html[data-theme="dark"] .site-header .brand-period { color: #f5f5f5; }
html[data-theme="light"] .auth-page { --auth-bg: #f5f5f5; --auth-panel: #fff; --auth-text: #111; --auth-muted: #707070; --auth-line: #e4e4e4; --auth-accent: #111; color-scheme: light; }
html[data-theme="dark"] .auth-page { --auth-bg: #111; --auth-panel: #1b1b1b; --auth-text: #f5f5f5; --auth-muted: #b8b8b8; --auth-line: #343434; --auth-accent: #f5f5f5; color-scheme: dark; }
.auth-page .auth-submit { border-color: var(--auth-accent); background: var(--auth-accent); color: var(--auth-bg); }
.auth-page .auth-submit:hover { border-color: var(--auth-text); background: var(--auth-text); color: var(--auth-bg); }
.auth-page .auth-eyebrow,
.auth-page .auth-label-row a,
.auth-page .auth-signup a { color: var(--auth-accent); }
html[data-theme="light"] .home-page {
  --home-bg: #f5f5f5;
  --home-panel: #fff;
  --home-text: #111;
  --home-muted: #707070;
  --home-line: #e4e4e4;
  --home-accent: #111;
  background: #f5f5f5;
  color: #111;
}
html[data-theme="dark"] .home-page {
  --home-bg: #111;
  --home-panel: #1b1b1b;
  --home-text: #f5f5f5;
  --home-muted: #b8b8b8;
  --home-line: #343434;
  --home-accent: #f5f5f5;
  background: #111;
  color: #f5f5f5;
}
html[data-theme="light"] .home-page .home-district-chips a:hover,
html[data-theme="light"] .home-page .home-interest-links a:hover,
html[data-theme="light"] .home-page .home-interest-links .home-interest-icon { background: #ededed; color: #111; }
html[data-theme="dark"] .home-page .home-district-chips a:hover,
html[data-theme="dark"] .home-page .home-interest-links a:hover,
html[data-theme="dark"] .home-page .home-interest-links .home-interest-icon { background: #292929; color: #f5f5f5; }
html[data-theme="light"] .home-page .home-week-image { background: #e8e8e8; }
html[data-theme="dark"] .home-page .home-week-image { background: #292929; }
html[data-theme="light"] .home-page .home-editorial-section.home-jobs-section,
html[data-theme="light"] .home-page .home-jobs-section { background: #ededed; color: #111; }
html[data-theme="light"] .home-page .home-jobs-section .section-heading h2,
html[data-theme="light"] .home-page .home-jobs-section .home-job-card h3,
html[data-theme="light"] .home-page .home-jobs-section .home-job-card h3 a { color: #111; }
html[data-theme="light"] .home-page .home-jobs-section .section-heading p:not(.eyebrow),
html[data-theme="light"] .home-page .home-jobs-section .home-job-card .card-category,
html[data-theme="light"] .home-page .home-jobs-section .home-job-card .card-meta { color: #707070; }
html[data-theme="light"] .home-page .home-jobs-section .home-job-card,
html[data-theme="light"] .home-page .home-jobs-section .home-job-card .card-body { border-color: #e4e4e4; background: #fff; color: #111; }
html[data-theme="light"] .home-page .hero-search-float { border-color: #e4e4e4; background: #fff; box-shadow: 0 12px 28px #1111110d; }
html[data-theme="light"] .home-page .float-search-field input,
html[data-theme="light"] .home-page .float-search-field select,
html[data-theme="light"] .home-page .float-input-wrap { border-color: #e4e4e4; background: #f5f5f5; color: #111; }
html[data-theme="light"] .home-page .trend-featured,
html[data-theme="light"] .home-page .trend-item { border-color: #e4e4e4; background-color: #fff; color: #111; }
html[data-theme="light"] .home-page .trend-badge { background: #f5f5f5e8; color: #111; }
html[data-theme="light"] .home-page .trend-number { background: #111; color: #fff; }
html[data-theme="dark"] .home-page .trend-number { background: #f5f5f5; color: #111; }
html[data-theme="light"] .home-page .home-category-strip .chip-icon,
html[data-theme="light"] .home-page .home-interest-links .home-interest-icon,
html[data-theme="light"] .home-page .home-bottom-icon,
html[data-theme="light"] .home-page .home-trusted-placeholder { background: #ededed; color: #111; }
html[data-theme="dark"] .home-page .home-category-strip .chip-icon,
html[data-theme="dark"] .home-page .home-interest-links .home-interest-icon,
html[data-theme="dark"] .home-page .home-bottom-icon,
html[data-theme="dark"] .home-page .home-trusted-placeholder { background: #292929; color: #f5f5f5; }
html[data-theme="light"] .home-page .trend-badge > span { background: #111; box-shadow: 0 0 0 4px #1112; }
html[data-theme="dark"] .home-page .trend-badge > span { background: #f5f5f5; box-shadow: 0 0 0 4px #f5f5f522; }
html[data-theme="light"] .home-page .home-editorial-card,
html[data-theme="light"] .home-page .home-feature-card { border-color: #e4e4e4; background-color: #fff; color: #111; }
html[data-theme="light"] .home-page .home-editorial-card h3,
html[data-theme="light"] .home-page .home-feature-card h3 { color: #111; }
html[data-theme="dark"] .home-page .home-editorial-section.home-jobs-section,
html[data-theme="dark"] .home-page .home-jobs-section { background: #191919; color: #f5f5f5; }
html[data-theme="dark"] .home-page .home-jobs-section .home-job-card,
html[data-theme="dark"] .home-page .home-jobs-section .home-job-card .card-body,
html[data-theme="dark"] .home-page .trend-featured,
html[data-theme="dark"] .home-page .trend-item { border-color: #343434; background-color: #1b1b1b; color: #f5f5f5; }
html[data-theme="dark"] .home-page .home-jobs-section .home-job-card h3,
html[data-theme="dark"] .home-page .home-jobs-section .home-job-card h3 a { color: #f5f5f5; }
html[data-theme="light"] .floating-qr > summary { background: #111; color: #fff; box-shadow: none; }
html[data-theme="dark"] .floating-qr > summary { background: #f5f5f5; color: #111; box-shadow: none; }
html[data-theme="light"] .site-footer { background: #f5f5f5; color: #707070; border-color: #e4e4e4; }
html[data-theme="dark"] .site-footer { background: #111; color: #b8b8b8; border-color: #343434; }

/* Keep labels legible when primary button fills invert with the theme. */
.button:not(.button-ghost):not(.button-secondary):not(.button-wa),
.button-sun,
.auth-page .auth-submit,
.peza-checkout-submit,
.business-directory-page .filter-panel > button,
.events-page .search-box button,
.events-page .event-filter.active,
.job-detail-search button,
.job-detail-apply,
.jobs-search-submit,
.rentals-filter-submit,
.event-detail-buy-link,
.event-detail-ticket-form button,
.about-team-cta,
.marketplace-chat-dock button,
.marketplace-chat-login,
.peza-message-confirm,
.business-profile-primary-actions > a:first-child,
.home-page .hero .detail-actions .button,
.home-page .float-search-submit,
.home-page .trend-actions .button:not(.button-wa) {
  border-color: var(--lake);
  background: var(--lake);
  color: var(--on-accent);
}
.button:not(.button-ghost):not(.button-secondary):not(.button-wa):hover,
.button-sun:hover,
.auth-page .auth-submit:hover,
.peza-checkout-submit:hover,
.business-directory-page .filter-panel > button:hover,
.events-page .search-box button:hover,
.jobs-search-submit:hover,
.rentals-filter-submit:hover,
.event-detail-buy-link:hover,
.event-detail-ticket-form button:hover,
.about-team-cta:hover,
.marketplace-chat-dock button:hover,
.marketplace-chat-login:hover,
.peza-message-confirm:hover,
.business-profile-primary-actions > a:first-child:hover,
.home-page .hero .detail-actions .button:hover,
.home-page .float-search-submit:hover,
.home-page .trend-actions .button:not(.button-wa):hover {
  border-color: var(--lake-dark);
  background: var(--lake-dark);
  color: var(--on-accent);
}
.button-ghost:hover { background: var(--ink); color: var(--paper); }

/* Persistent support and page navigation actions. */
.floating-support,
.back-to-top {
  position: fixed;
  z-index: 80;
  right: clamp(16px,2.2vw,32px);
  display: grid;
  width: 50px;
  height: 50px;
  place-items: center;
  border: 1px solid var(--line);
  border-radius: 50%;
  background: var(--ink);
  color: var(--paper);
  text-decoration: none;
  cursor: pointer;
}
.floating-support { bottom: 91px; }
.back-to-top { bottom: 151px; }
.back-to-top[hidden] { display: none; }
.floating-support .ui-button-icon,
.back-to-top svg { width: 21px; height: 21px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.floating-support:hover,
.back-to-top:hover { border-color: var(--ink-soft); }
html[data-theme="dark"] .floating-support,
html[data-theme="dark"] .back-to-top { background: #f5f5f5; color: #111; }
@media (max-width: 600px) {
  .floating-support,.back-to-top { right: 14px; width: 44px; height: 44px; }
  .floating-support { bottom: 76px; }
  .back-to-top { bottom: 130px; }
}

/* Event category, calendar, alert, and organizer discovery tools. */
.event-discovery-controls { display: flex; flex-wrap: wrap; align-items: end; gap: 10px; margin: 0 0 22px; padding: 13px; border: 1px solid var(--line); border-radius: 12px; background: var(--surface); }
.event-discovery-controls > label,.event-alert-signup form > label:not(.event-alert-consent),.event-alert-selects label { display: grid; gap: 5px; color: var(--ink-soft); font-size: .7rem; font-weight: 650; }
.event-discovery-controls select,.event-alert-signup input[type="email"],.event-alert-signup select { min-width: 145px; min-height: 39px; padding: 0 11px; border: 1px solid var(--line); border-radius: 8px; background: var(--paper); color: var(--ink); font: 500 .78rem var(--body); }
.event-view-switch { display: flex; gap: 4px; margin-left: auto; padding: 3px; border: 1px solid var(--line); border-radius: 9px; background: var(--paper); }
.event-view-switch a { display: inline-flex; min-height: 32px; align-items: center; gap: 6px; padding: 0 10px; border-radius: 6px; color: var(--ink-soft); font-size: .7rem; font-weight: 650; text-decoration: none; }
.event-view-switch a[aria-current="page"] { background: var(--ink); color: var(--paper); }
.event-view-switch .ui-button-icon { width: 14px; height: 14px; }
.event-category-label { display: inline-block; margin-left: 4px; padding: 3px 7px; border: 1px solid var(--line); border-radius: 999px; color: var(--ink-soft); font-size: .57rem; line-height: 1.2; vertical-align: middle; }
.event-calendar { overflow: hidden; margin: 0 0 30px; border: 1px solid var(--line); border-radius: 13px; background: var(--surface); }
.event-calendar > header { display: flex; min-height: 58px; align-items: center; justify-content: space-between; padding: 0 15px; border-bottom: 1px solid var(--line); }
.event-calendar > header h2 { margin: 0; color: var(--ink); font: 700 1rem var(--display); }
.event-calendar > header a { display: grid; width: 34px; height: 34px; place-items: center; border: 1px solid var(--line); border-radius: 50%; color: var(--ink); text-decoration: none; }
.event-calendar-grid { display: grid; grid-template-columns: repeat(7,minmax(0,1fr)); }
.event-calendar-weekdays { background: var(--paper); }
.event-calendar-weekdays span { padding: 9px 7px; color: var(--ink-soft); font-size: .65rem; font-weight: 700; text-align: center; }
.event-calendar-day { display: flex; min-width: 0; min-height: 115px; flex-direction: column; gap: 5px; padding: 7px; border-top: 1px solid var(--line); border-right: 1px solid var(--line); }
.event-calendar-day:nth-child(7n) { border-right: 0; }
.event-calendar-day > time { color: var(--ink); font-size: .68rem; font-weight: 700; }
.event-calendar-day.is-outside-month { background: color-mix(in srgb,var(--paper) 70%,var(--surface)); }
.event-calendar-day.is-outside-month > time { color: var(--ink-soft); opacity: .55; }
.event-calendar-day > a { display: grid; gap: 2px; overflow: hidden; padding: 5px 6px; border-left: 2px solid var(--ink); border-radius: 4px; background: var(--paper); color: var(--ink); font-size: .62rem; font-weight: 650; line-height: 1.25; text-decoration: none; text-overflow: ellipsis; }
.event-calendar-day > a span { color: var(--ink-soft); font-size: .55rem; font-weight: 500; }
.event-calendar-day > a:hover { background: var(--lake-tint); }
.event-calendar-empty { margin: 0; padding: 12px 15px; border-top: 1px solid var(--line); color: var(--ink-soft); font-size: .78rem; }
.event-alert-signup { display: grid; grid-template-columns: minmax(0,.9fr) minmax(0,1.1fr); gap: 30px; margin: 42px 0; padding: clamp(20px,3vw,32px); border: 1px solid var(--line); border-radius: 14px; background: var(--surface); }
.event-alert-signup .eyebrow { margin: 0 0 8px; color: var(--ink-soft); font-size: .65rem; font-weight: 750; letter-spacing: .11em; text-transform: uppercase; }
.event-alert-signup h2 { margin: 0; color: var(--ink); font: 750 clamp(1.3rem,2vw,1.8rem)/1.15 var(--display); letter-spacing: -.035em; }
.event-alert-signup p:not(.eyebrow) { margin: 9px 0 0; color: var(--ink-soft); font-size: .78rem; line-height: 1.55; }
.event-alert-signup form { display: grid; align-content: center; gap: 10px; }
.event-alert-signup input[type="email"],.event-alert-signup select { width: 100%; min-width: 0; }
.event-alert-selects { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
.event-alert-signup .event-alert-consent { display: flex; align-items: flex-start; gap: 8px; color: var(--ink-soft); font-size: .66rem; line-height: 1.4; }
.event-alert-signup .event-alert-consent input { margin: 2px 0 0; accent-color: var(--ink); }
.event-alert-signup .button { justify-self: start; min-height: 39px; }
.event-alert-unsubscribed { width: min(100% - 36px,620px); margin: clamp(55px,9vw,120px) auto; padding: clamp(24px,5vw,50px); border: 1px solid var(--line); border-radius: 15px; background: var(--surface); }
.event-alert-unsubscribed .eyebrow { color: var(--ink-soft); font-size: .68rem; font-weight: 750; letter-spacing: .1em; text-transform: uppercase; }
.event-alert-unsubscribed h1 { color: var(--ink); font: 750 clamp(2rem,5vw,3.5rem)/1.05 var(--display); letter-spacing: -.045em; }
.event-alert-unsubscribed p:not(.eyebrow) { color: var(--ink-soft); line-height: 1.6; }
.event-organizer-hero { display: flex; align-items: center; gap: 20px; margin: 30px 0; padding: clamp(20px,4vw,36px); border: 1px solid var(--line); border-radius: 15px; background: var(--surface); }
.event-organizer-avatar { display: grid; width: 64px; height: 64px; flex: 0 0 64px; place-items: center; border-radius: 50%; background: var(--ink); color: var(--paper); font: 750 1.5rem var(--display); }
.event-organizer-hero .eyebrow { margin: 0 0 5px; color: var(--ink-soft); font-size: .65rem; font-weight: 750; letter-spacing: .1em; text-transform: uppercase; }
.event-organizer-hero h1 { margin: 0; color: var(--ink); font: 750 clamp(1.7rem,3vw,2.5rem)/1.1 var(--display); }
.event-organizer-hero p:not(.eyebrow) { margin: 6px 0; color: var(--ink-soft); font-size: .8rem; }
.event-organizer-back { align-self: flex-start; margin-right: auto; color: var(--ink-soft); font-size: .75rem; text-decoration: none; }
.event-organizer-verified,.event-organizer-linked-place { display: inline-flex; align-items: center; gap: 5px; color: var(--ink-soft); font-size: .68rem; font-weight: 700; }
.event-organizer-mini { display: flex; align-items: center; gap: 12px; }
.event-organizer-mini .event-organizer-avatar { width: 42px; height: 42px; flex-basis: 42px; font-size: 1rem; }
.event-organizer-mini h2 { margin: 0; color: var(--ink); font: 700 .95rem var(--display); }
.event-organizer-mini a,.event-organizer-linked-place a { color: var(--ink); font-size: .7rem; font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }
.event-organizer-linked-place { margin: 12px 0 0; }
.event-cross-sell { margin-top: 38px; }

/* Keep the event overview split, then give recommendations their own full-width rows. */
body.event-detail-page {
  height: auto;
  min-height: 100dvh;
  overflow-x: hidden;
  overflow-y: auto;
}
body.event-detail-page main.event-detail-page,
body.event-detail-page .page-shell {
  height: auto;
  min-height: 100dvh;
  grid-template-rows: minmax(620px, 100dvh) auto auto;
  overflow: visible;
}
body.event-detail-page .event-detail-hero,
body.event-detail-page .event-detail-content-grid {
  grid-row: 1;
  min-height: 620px;
  height: 100%;
}
body.event-detail-page .event-detail-content-grid { overflow-y: auto; }
body.event-detail-page .page-shell > .event-cross-sell {
  grid-column: 1 / -1;
  width: min(calc(100% - 48px), 1440px);
  margin: 38px auto 0;
}
body.event-detail-page .page-shell > .event-cross-sell:nth-of-type(2) { grid-row: 2; }
body.event-detail-page .page-shell > .event-cross-sell:nth-of-type(3) { grid-row: 3; margin-bottom: 56px; }
body.event-detail-page .event-cross-sell .card-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
}
body.event-detail-page .event-cross-sell .section-heading { margin-bottom: 18px; }
@media (max-width: 1000px) {
  body.event-detail-page .event-cross-sell .card-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 820px) {
  body.event-detail-page main.event-detail-page,
  body.event-detail-page .page-shell {
    display: block;
    min-height: 0;
    height: auto;
    overflow: visible;
  }
  body.event-detail-page .event-detail-hero,
  body.event-detail-page .event-detail-content-grid { height: auto; min-height: 0; }
  body.event-detail-page .event-detail-content-grid { overflow: visible; }
  body.event-detail-page .page-shell > .event-cross-sell {
    width: calc(100% - 36px);
    margin: 34px auto 0;
  }
  body.event-detail-page .page-shell > .event-cross-sell:nth-of-type(3) { margin-bottom: 36px; }
}
@media (max-width: 560px) {
  body.event-detail-page .event-cross-sell .card-grid { grid-template-columns: minmax(0, 1fr); }
  body.event-detail-page .event-cross-sell .section-heading { align-items: flex-start; }
}
.home-page .hero-search-float { grid-template-columns: minmax(205px,2fr) repeat(4,minmax(112px,.9fr)) auto; }
@media (max-width: 1000px) {
  .home-page .hero-search-float { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .home-page .float-search-query { grid-column: 1 / -1; }
}
@media (max-width: 760px) {
  .event-alert-signup { grid-template-columns: minmax(0,1fr); gap: 18px; }
  .event-organizer-hero { align-items: flex-start; flex-wrap: wrap; }
  .event-organizer-back { flex-basis: 100%; }
  .event-calendar-day { min-height: 90px; padding: 5px; }
  .event-calendar-day > a { font-size: .56rem; }
}
@media (max-width: 560px) {
  .event-discovery-controls { align-items: stretch; }
  .event-discovery-controls > label { flex: 1 1 calc(50% - 8px); }
  .event-discovery-controls select { width: 100%; min-width: 0; }
  .event-discovery-controls > .button { flex: 1 1 100%; }
  .event-view-switch { flex: 1 1 100%; margin: 0; }
  .event-view-switch a { flex: 1; justify-content: center; }
  .event-calendar-day { min-height: 67px; gap: 3px; padding: 3px; }
  .event-calendar-weekdays span { padding: 7px 2px; font-size: .58rem; }
  .event-calendar-day > time { font-size: .58rem; }
  .event-calendar-day > a { display: block; max-height: 35px; padding: 3px; overflow: hidden; font-size: .5rem; }
  .event-calendar-day > a span { display: none; }
}

.home-organizer-benefits {
  display: grid;
  width: calc(100% - 2 * var(--home-gutter));
  grid-template-columns: minmax(220px,.92fr) repeat(3,minmax(0,1fr));
  align-items: stretch;
  gap: 16px;
  margin: clamp(58px,7vw,96px) 0 72px var(--home-gutter);
}
.home-organizer-benefits-heading { display: flex; flex-direction: column; align-items: flex-start; justify-content: center; padding: 18px 14px 18px 0; }
.home-organizer-benefits-heading .eyebrow { margin: 0 0 14px; color: var(--home-accent); font-size: .68rem; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.home-organizer-benefits-heading h2 { margin: 0; color: var(--home-text); font: 750 clamp(1.8rem,3.4vw,3.4rem)/1.04 var(--display); letter-spacing: -.055em; }
.home-organizer-benefits-heading > p:not(.eyebrow) { max-width: 34ch; margin: 16px 0 24px; color: var(--home-muted); font-size: .88rem; line-height: 1.65; }
.home-organizer-benefits-heading .button { min-height: 43px; padding: 0 17px; border-radius: 8px; background: var(--home-accent); color: #201b0e; box-shadow: none; }
.home-benefit-card { position: relative; display: flex; min-height: 370px; flex-direction: column; padding: 22px; overflow: hidden; border-radius: 18px; }
.home-benefit-scanner { background: #14b7d9; color: #082431; }
.home-benefit-digital { background: #3b3c3e; color: #f8f8f5; }
.home-benefit-finances { background: #87919f; color: #fff; }
.home-benefit-label { display: flex; min-height: 42px; align-items: center; gap: 11px; padding: 0 13px; border-radius: 99px; background: #ffee; color: #172027; font-size: .88rem; font-weight: 650; }
.home-benefit-label b { display: grid; width: 27px; height: 27px; flex: 0 0 27px; place-items: center; border-radius: 50%; background: #111b20; color: #fff; font-size: 1rem; }
.home-benefit-card p { position: relative; z-index: 1; max-width: 31ch; margin: 15px 0 0; font-size: .84rem; line-height: 1.55; }
.home-scanner-art { position: relative; display: grid; flex: 1; min-height: 185px; place-items: center; margin: 12px -3px -20px; }
.scanner-frame { position: absolute; display: block; width: 118px; height: 118px; border: 2px solid #07394a88; border-radius: 18px; transform: rotate(-9deg); }
.scanner-frame i { position: absolute; width: 23px; height: 23px; border-color: #07394a; border-style: solid; }
.scanner-frame i:nth-child(1) { inset: 8px auto auto 8px; border-width: 3px 0 0 3px; }
.scanner-frame i:nth-child(2) { inset: 8px 8px auto auto; border-width: 3px 3px 0 0; }
.scanner-frame i:nth-child(3) { inset: auto auto 8px 8px; border-width: 0 0 3px 3px; }
.scanner-frame i:nth-child(4) { inset: auto 8px 8px auto; border-width: 0 3px 3px 0; }
.scanner-frame b { position: absolute; inset: 50% 8px auto; height: 2px; background: #07394a; box-shadow: 0 0 12px #fff; }
.scanner-phone { position: relative; display: flex; width: 126px; height: 192px; flex-direction: column; align-items: center; padding: 18px 10px 12px; border: 5px solid #172f3a; border-radius: 22px; background: #f5f7f3; color: #15231e; box-shadow: 0 18px 28px #07536a4d; transform: rotate(6deg); }
.scanner-phone i { position: absolute; top: 5px; width: 32px; height: 5px; border-radius: 5px; background: #172f3a; }
.scanner-phone b { margin-top: 7px; font-size: .72rem; }
.scanner-phone span { margin-top: 13px; color: #66736d; font-size: .55rem; }
.scanner-phone strong { display: grid; width: 54px; height: 54px; margin-top: 9px; place-items: center; border-radius: 50%; background: #c5f200; color: #162000; font-size: 1.8rem; }
.home-ticket-art { position: relative; display: flex; flex: 1; min-height: 185px; flex-direction: column; justify-content: center; gap: 13px; margin: 16px 0 -4px; padding: 18px; overflow: hidden; border: 1px solid #ffffff2c; border-radius: 13px; background: linear-gradient(140deg,#212a2c,#121719); box-shadow: 0 15px 35px #0003; }
.home-ticket-art::before,.home-ticket-art::after { position: absolute; top: 50%; width: 21px; height: 21px; border-radius: 50%; background: #3b3c3e; content: ''; transform: translateY(-50%); }
.home-ticket-art::before { left: -11px; }.home-ticket-art::after { right: -11px; }
.home-ticket-art > span { color: #b5c1c1; font-size: .54rem; letter-spacing: .13em; }
.home-ticket-art strong { color: #fff; font: 750 1.1rem/1.06 var(--display); }
.home-ticket-art i { position: absolute; top: 27px; right: 22px; width: 54px; height: 54px; border: 7px dotted #b5eb15; border-radius: 4px; }
.home-ticket-art small { color: #b5c1c1; font-size: .58rem; }
.home-finance-art { position: relative; display: flex; min-height: 185px; flex: 1; flex-direction: column; justify-content: flex-end; gap: 7px; margin: 16px 0 -4px; padding: 17px; overflow: hidden; border-radius: 13px; background: #f3f4f4; color: #18221d; }
.home-finance-art > span { position: absolute; top: 16px; left: 17px; display: flex; flex-direction: column; gap: 5px; }
.home-finance-art small { color: #737e79; font-size: .58rem; }
.home-finance-art span b { font-size: 1.1rem; }
.home-finance-art > i { display: block; width: 100%; height: 8px; border-radius: 9px; background: linear-gradient(90deg,#15b9dc 0 68%,#dfe4e2 68%); }
.home-finance-art > i:nth-of-type(2) { background: linear-gradient(90deg,#b4df00 0 47%,#dfe4e2 47%); }
.home-finance-art > i:nth-of-type(3) { background: linear-gradient(90deg,#151819 0 79%,#dfe4e2 79%); }
.home-finance-art > i:nth-of-type(4) { background: linear-gradient(90deg,#f3a006 0 35%,#dfe4e2 35%); }
.home-finance-art > i:nth-of-type(5) { background: linear-gradient(90deg,#15b9dc 0 59%,#dfe4e2 59%); }
.home-finance-art > strong { position: absolute; top: 20px; right: 17px; color: #708078; font-size: .52rem; }
@media (max-width: 1050px) {
  .home-organizer-benefits { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .home-organizer-benefits-heading { grid-column: 1 / -1; max-width: 600px; }
}
@media (max-width: 700px) {
  .home-organizer-benefits { grid-template-columns: minmax(0,1fr); margin-top: 48px; }
  .home-organizer-benefits-heading { grid-column: auto; padding: 0 0 8px; }
  .home-benefit-card { min-height: 330px; }
}

.home-event-faq {
  display: grid;
  width: 100%;
  grid-template-columns: minmax(0,.9fr) minmax(0,1.1fr);
  gap: clamp(36px,8vw,130px);
  padding: clamp(56px,7vw,104px) max(var(--home-gutter),calc((100vw - 1400px)/2));
  background: radial-gradient(ellipse at 94% 8%,#0a607055,transparent 30%),#202122;
  color: #f7f7f5;
}
.home-event-faq-intro { display: flex; flex-direction: column; align-items: flex-start; }
.home-event-faq-intro .eyebrow { margin: 0 0 13px; color: #13b9e7; font-size: .67rem; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.home-event-faq-intro h2 { margin: 0; color: #f7f7f5; font: 650 clamp(2.5rem,4.4vw,4.35rem)/1.03 var(--display); letter-spacing: -.05em; }
.home-event-faq-intro h2 span { color: #13b9e7; }
.home-event-faq-intro > p:not(.eyebrow) { max-width: 54ch; margin: 20px 0 0; color: #d0d1d1; font-size: .9rem; line-height: 1.7; }
.home-faq-contact-note { display: flex; min-height: 118px; flex-direction: column; justify-content: flex-end; gap: 2px; margin-top: 20px; padding-left: 26px; color: #c2c4c4; }
.home-faq-contact-note span { font-size: .92rem; }
.home-faq-contact-note b { color: #13b9e7; font-size: 2.3rem; font-weight: 400; line-height: 1; }
.home-faq-contact { display: inline-flex; min-height: 46px; align-items: center; gap: 12px; margin-top: 8px; padding: 0 22px; border: 1px solid #13b9e7; border-radius: 99px; color: #fff; font-size: .8rem; font-weight: 700; text-decoration: none; transition: background .2s ease,color .2s ease; }
.home-faq-contact:hover { background: #13b9e7; color: #101719; }
.home-event-faq-list { display: flex; flex-direction: column; gap: 12px; }
.home-event-faq-list details { padding: 17px 17px 16px; border-radius: 15px; background: #fff; color: #141718; }
.home-event-faq-list summary { display: grid; grid-template-columns: 26px minmax(0,1fr) 34px; align-items: center; gap: 9px; cursor: pointer; list-style: none; font-size: .83rem; font-weight: 720; }
.home-event-faq-list summary::-webkit-details-marker { display: none; }
.home-faq-number { align-self: start; color: #111; font-weight: 760; }
.home-faq-toggle { display: grid; width: 32px; height: 32px; place-items: center; border: 1.5px solid #c9d0d8; border-radius: 9px; color: #7a8792; font-size: 1rem; font-weight: 500; transition: transform .2s ease,border-color .2s ease,color .2s ease; }
.home-event-faq-list details[open] .home-faq-toggle { border-color: #12b8e7; color: #08a9dc; transform: rotate(180deg); }
.home-event-faq-list details > p { max-width: 58ch; margin: 7px 42px 2px 35px; color: #777d80; font-size: .75rem; line-height: 1.6; }
@media (max-width: 800px) {
  .home-event-faq { grid-template-columns: minmax(0,1fr); gap: 34px; }
  .home-faq-contact-note { min-height: 75px; }
}
@media (max-width: 480px) {
  .home-event-faq { padding-inline: 18px; }
  .home-event-faq-list details { padding: 14px 12px; }
  .home-event-faq-list summary { grid-template-columns: 27px minmax(0,1fr) 31px; gap: 6px; font-size: .76rem; }
  .home-event-faq-list details > p { margin-right: 30px; margin-left: 33px; }
}

.home-page .hero { position: relative; isolation: isolate; }
.home-page .hero-content { position: relative; z-index: 2; max-width: 650px; }
.hero-malawi-map { position: absolute; z-index: 1; top: 4%; right: var(--home-gutter); bottom: 4%; width: min(49%,700px); pointer-events: none; }
.hero-malawi-map::before { position: absolute; inset: 9%; border-radius: 50%; background: radial-gradient(circle,#f2a00720,transparent 68%); content: ''; }
.hero-malawi-map > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; filter: drop-shadow(0 20px 42px #0006); opacity: .82; }
.hero-map-note { position: absolute; top: 8%; right: 0; display: flex; align-items: center; gap: 10px; padding: 10px 15px; border: 1px solid #ffffff2b; border-radius: 99px; background: #111719d9; color: #f7f7f5; font-size: .69rem; box-shadow: 0 10px 28px #0003; }
.hero-map-note b { color: #f2a007; font-size: .63rem; }
.hero-map-location { position: absolute; display: inline-flex; min-height: 36px; align-items: center; gap: 8px; padding: 0 13px; border: 1px solid #ffffff55; border-radius: 99px; background: #111719e8; color: #fff; font-size: .7rem; font-weight: 700; text-decoration: none; box-shadow: 0 9px 24px #0004; pointer-events: auto; transition: transform .18s ease,border-color .18s ease; }
.hero-map-location:hover { transform: translateY(-3px); border-color: #f2a007; }
.hero-map-location i { position: relative; width: 9px; height: 9px; border-radius: 50%; background: #f2a007; box-shadow: 0 0 0 4px #f2a00732; }
.hero-map-mzuzu { top: 31%; left: 58%; }
.hero-map-lilongwe { top: 47%; left: 25%; }
.hero-map-zomba { top: 63%; left: 59%; }
.hero-map-blantyre { top: 76%; left: 29%; }
.hero-map-message { position: absolute; z-index: 2; top: 20%; left: 0; display: flex; max-width: min(330px,74%); align-items: center; gap: 11px; padding: 12px 14px; border: 1px solid #ffffff35; border-radius: 16px 16px 16px 5px; background: #fff; color: #171b1c; box-shadow: 0 16px 38px #0005; transform: rotate(-2deg); }
.hero-map-message-avatar { display: grid; width: 34px; height: 34px; flex: 0 0 34px; place-items: center; border-radius: 50%; background: #f2a007; color: #171b1c; font-size: .78rem; font-weight: 850; }
.hero-map-message > span:nth-child(2) { display: flex; min-width: 0; flex-direction: column; gap: 4px; }
.hero-map-message small { color: #808588; font-size: .56rem; }
.hero-map-message strong { font-size: .68rem; line-height: 1.4; }
.hero-map-message-like { font-size: 1.05rem; }
.hero-transaction-card { position: absolute; z-index: 2; right: 0; bottom: 4%; display: flex; width: min(300px,75%); align-items: center; gap: 10px; padding: 13px 14px; border: 1px solid #ffffff30; border-radius: 13px; background: #171b1bec; color: #f8f9f6; box-shadow: 0 16px 38px #0006; }
.hero-transaction-check { display: grid; width: 34px; height: 34px; flex: 0 0 34px; place-items: center; border-radius: 50%; background: #c5f200; color: #192000; font-size: 1.1rem; font-weight: 800; }
.hero-transaction-card > span:nth-child(2) { display: flex; min-width: 0; flex-direction: column; gap: 3px; }
.hero-transaction-card small { color: #b9df18; font-size: .5rem; font-weight: 800; letter-spacing: .08em; }
.hero-transaction-card strong { font-size: .68rem; }
.hero-transaction-card em { color: #b4b9b8; font-size: .57rem; font-style: normal; }
.hero-transaction-card > b { display: grid; width: 20px; height: 20px; flex: 0 0 20px; place-items: center; margin-left: auto; border-radius: 50%; background: #ffffff16; color: #c5f200; font-size: .65rem; }
@media (max-width: 900px) {
  .hero-malawi-map { right: 2%; width: 48%; opacity: .88; }
  .hero-map-location { min-height: 32px; padding-inline: 10px; font-size: .62rem; }
  .hero-map-note { top: 5%; font-size: .6rem; }
  .hero-map-message { top: 16%; max-width: 78%; padding: 9px 10px; }
  .hero-map-message strong { font-size: .58rem; }
  .hero-transaction-card { bottom: 1%; width: min(270px,78%); padding: 10px; }
}
@media (max-width: 640px) {
  .hero-malawi-map { top: auto; right: 0; bottom: 8%; width: 78%; height: 55%; opacity: .43; }
  .hero-map-note { display: none; }
  .hero-map-message { top: 0; left: 0; max-width: 82%; }
  .hero-transaction-card { right: 0; bottom: -2%; width: min(270px,84%); }
  .hero-map-location { min-height: 30px; font-size: .58rem; }
  .hero-map-mzuzu { top: 24%; left: 60%; }
  .hero-map-lilongwe { top: 44%; left: 17%; }
  .hero-map-zomba { top: 61%; left: 59%; }
  .hero-map-blantyre { top: 76%; left: 28%; }
}

/* Shared split-photo layout for login, signup, and account recovery screens. */
.auth-page { min-height: 100dvh; overflow-x: hidden; background: #090a0a; }
.auth-page .auth-shell { display: grid; min-height: 100dvh; grid-template-columns: minmax(0,1.08fr) minmax(430px,.92fr); background: #090a0a; }
.auth-visual-side { position: sticky; top: 0; display: flex; min-height: 100dvh; flex-direction: column; justify-content: space-between; padding: clamp(28px,4vw,58px); overflow: hidden; background-color: #1b1b18; background-image: linear-gradient(180deg,#080a0ad9 0%,#080a0a20 42%,#080a0a99 100%),url('/media/events/images_3.jpeg'); background-position: center 34%; background-size: cover; color: #fff; }
.auth-visual-side::after { position: absolute; inset: 0; border: 1px solid #ffffff12; content: ''; pointer-events: none; }
.auth-visual-brand { position: relative; z-index: 1; display: inline-flex; width: max-content; align-items: center; gap: 8px; color: #fff; font: 800 1.18rem var(--display); letter-spacing: -.06em; text-decoration: none; }
.auth-visual-brand > span:first-child { display: grid; width: 38px; height: 38px; place-items: center; overflow: hidden; border-radius: 50%; background: #fff; }
.auth-visual-brand img { width: 27px; height: 27px; object-fit: contain; }
.auth-visual-period { margin-left: -8px; color: #f2a007; }
.auth-visual-copy { position: relative; z-index: 1; max-width: 640px; margin: auto 0; padding: 60px 0; text-shadow: 0 2px 18px #0008; }
.auth-visual-copy > p { margin: 0 0 17px; color: #ffc04b; font-size: .65rem; font-weight: 800; letter-spacing: .16em; }
.auth-visual-copy h1 { margin: 0; color: #fff; font: 750 clamp(3.2rem,6vw,6.4rem)/.97 var(--display); letter-spacing: -.065em; }
.auth-visual-copy h1 span { color: #ffc04b; }
.auth-visual-copy > span { display: block; max-width: 40ch; margin-top: 22px; color: #f3f2ee; font-size: .92rem; line-height: 1.65; }
.auth-visual-foot { position: relative; z-index: 1; display: flex; align-items: center; gap: 10px; color: #f0eeea; font-size: .72rem; }
.auth-visual-pulse { width: 8px; height: 8px; border-radius: 50%; background: #ffc04b; box-shadow: 0 0 0 5px #ffc04b35; }
.auth-page .auth-form-side { min-width: 0; min-height: 100dvh; align-items: center; justify-content: center; padding: 52px clamp(30px,5vw,78px); background: #090a0a; }
.auth-page .auth-card { width: min(100%,390px); max-width: 100%; margin: auto; }
.auth-page .auth-title { font-size: clamp(1.85rem,3vw,2.2rem); }
.auth-page .auth-topbar,.auth-page .auth-bottom-bar { display: none !important; }
.auth-page .auth-lower-footer { position: fixed; z-index: 4; right: 3%; bottom: 14px; left: auto; display: flex; width: 42%; justify-content: flex-end; }
.auth-page .auth-lower-footer .peza-legal-links { gap: 8px 16px; }
.auth-page .auth-lower-footer .peza-legal-links a { font-size: .64rem; }
.auth-signup-page .auth-form-side { align-items: center; justify-content: flex-start; padding-top: 42px; padding-bottom: 52px; }
.auth-signup-page .auth-card { width: min(100%,470px); }
@media (max-width: 820px) {
  .auth-page .auth-shell { grid-template-columns: minmax(0,1fr); }
  .auth-visual-side { position: relative; min-height: 280px; padding: 22px 25px; background-position: center 28%; }
  .auth-visual-copy { max-width: 540px; padding: 26px 0 18px; }
  .auth-visual-copy h1 { font-size: clamp(2.6rem,8vw,4.2rem); }
  .auth-visual-copy > p { margin-bottom: 10px; }
  .auth-visual-copy > span { margin-top: 12px; font-size: .8rem; }
  .auth-visual-foot { display: none; }
  .auth-page .auth-form-side { min-height: 0; padding: 42px 24px 56px; }
  .auth-signup-page .auth-form-side { padding-top: 34px; }
  .auth-page .auth-lower-footer { position: static; width: auto; justify-content: center; padding: 0 15px 16px; }
  .auth-page .auth-lower-footer .peza-legal-links { justify-content: center; }
}
@media (max-width: 480px) {
  .auth-visual-side { min-height: 235px; padding: 18px; }
  .auth-visual-copy { padding: 23px 0 8px; }
  .auth-visual-copy h1 { font-size: clamp(2.35rem,12vw,3.4rem); }
  .auth-page .auth-form-side { padding: 32px 19px 44px; }
}

/* Match account screens to the selected site theme and keep every form label readable. */
.auth-page { --auth-bg: #f7f7f4; --auth-panel: #fff; --auth-text: #171a18; --auth-muted: #68716c; --auth-line: #dfe2dd; --auth-accent: #f2a007; --auth-field: #fff; color: var(--auth-text); background: var(--auth-bg); color-scheme: light; }
.auth-page .auth-shell,.auth-page .auth-form-side { background: var(--auth-bg); }
.auth-page .auth-form-side { color: var(--auth-text); }
.auth-page .auth-eyebrow { color: #996000; }
.auth-page .auth-title,.auth-page .signup-step-title { color: var(--auth-text); }
.auth-page .auth-intro,.auth-page .signup-step-copy,.auth-page .account-type-choice > p,.auth-page .seller-module-choice > p { color: var(--auth-muted); }
.auth-page .auth-field label,.auth-page .auth-label-row,.auth-page .account-type-choice legend,.auth-page .seller-module-choice legend { color: var(--auth-text); }
.auth-page .auth-label-row a,.auth-page .auth-signup a { color: #9b6500; }
.auth-page .auth-field input,.auth-page .auth-field select,.auth-page .auth-field textarea { border-color: var(--auth-line); background: var(--auth-field); color: var(--auth-text); }
.auth-page .auth-field input::placeholder,.auth-page .auth-field textarea::placeholder { color: #747d77; }
.auth-page .auth-input-icon-mark,.auth-page .auth-password-toggle { color: #68716c; stroke: #68716c; }
.auth-page .auth-password-toggle:hover { color: var(--auth-text); background: #0000000a; }
.auth-page .auth-submit { background: var(--auth-accent); color: #211802; }
.auth-page .auth-submit:hover { background: #d98e00; }
.auth-page .auth-signup { color: var(--auth-muted); }
.auth-page .auth-help { color: var(--auth-muted); }
.auth-page .auth-help ul { border-color: var(--auth-line); background: var(--auth-panel); color: var(--auth-muted); }
.auth-page .google-auth-divider { color: var(--auth-muted); }
.auth-page .google-auth-divider::before,.auth-page .google-auth-divider::after { background: var(--auth-line); }
.auth-page .auth-lower-footer .peza-legal-links a { color: var(--auth-muted); }
.auth-page .auth-form-errors { border-color: #e3b6b6; background: #fff1f0; color: #8d2626; }
.auth-page .auth-field-error,.auth-page .auth-field .errorlist { color: #a52e2e; }
.auth-signup-page .signup-progress { color: var(--auth-muted); }
.auth-signup-page .signup-progress-step,.auth-signup-page .signup-step-copy { color: var(--auth-muted); }
.auth-signup-page .signup-progress-step > span { border-color: var(--auth-line); background: var(--auth-panel); color: var(--auth-muted); }
.auth-signup-page .signup-progress-step.is-active { color: #986000; }
.auth-signup-page .signup-progress-step.is-active > span,.auth-signup-page .signup-progress-step.is-complete > span { border-color: var(--auth-accent); background: var(--auth-accent); color: #211802; }
.auth-signup-page .signup-progress > i { background: var(--auth-line); }
.auth-signup-page .account-type-choice,.auth-signup-page .seller-module-choice { border-color: var(--auth-line); }
.auth-signup-page .account-type-option,.auth-signup-page .seller-module-option { border-color: var(--auth-line); background: var(--auth-panel); color: var(--auth-text); }
.auth-signup-page .account-type-option:hover,.auth-signup-page .seller-module-option:hover { border-color: var(--auth-accent); background: #fff9eb; }
.auth-signup-page .account-type-option:has(input:checked),.auth-signup-page .seller-module-option:has(input:checked) { border-color: var(--auth-accent); background: #fff5d9; box-shadow: 0 0 0 2px #f2a00720; }
.auth-signup-page .account-type-option-icon,.auth-signup-page .seller-module-icon { background: #fff2d3; color: #805400; }
.auth-signup-page .account-type-option-copy strong,.auth-signup-page .seller-module-label { color: var(--auth-text); }
.auth-signup-page .account-type-option-copy small { color: var(--auth-muted); }
.auth-signup-page .signup-back { color: var(--auth-muted); }
html[data-theme="dark"] .auth-page { --auth-bg: #111315; --auth-panel: #191c1d; --auth-text: #f4f5f2; --auth-muted: #b0b6b2; --auth-line: #363b3a; --auth-accent: #b8e900; --auth-field: #151819; color-scheme: dark; }
html[data-theme="dark"] .auth-page .auth-eyebrow { color: #c4eb38; }
html[data-theme="dark"] .auth-page .auth-label-row a,html[data-theme="dark"] .auth-page .auth-signup a { color: #c4eb38; }
html[data-theme="dark"] .auth-page .auth-submit { background: var(--auth-accent); color: #172000; }
html[data-theme="dark"] .auth-page .auth-field-error,html[data-theme="dark"] .auth-page .auth-field .errorlist { color: #ff9b9b; }
html[data-theme="dark"] .auth-page .auth-form-errors { border-color: #6a3535; background: #291818; color: #ffb3b3; }
html[data-theme="dark"] .auth-signup-page .signup-progress-step.is-active { color: var(--auth-accent); }
html[data-theme="dark"] .auth-signup-page .account-type-option:hover,html[data-theme="dark"] .auth-signup-page .seller-module-option:hover { border-color: #829b34; background: #1a2010; }
html[data-theme="dark"] .auth-signup-page .account-type-option:has(input:checked),html[data-theme="dark"] .auth-signup-page .seller-module-option:has(input:checked) { border-color: var(--auth-accent); background: #1d260b; box-shadow: 0 0 0 2px #b8e90020; }
html[data-theme="dark"] .auth-signup-page .account-type-option-icon,html[data-theme="dark"] .auth-signup-page .seller-module-icon { background: #222a10; color: var(--auth-accent); }
html[data-theme="light"] .auth-page button:not(.auth-password-toggle),
html[data-theme="light"] .auth-page input[type="submit"],
html[data-theme="light"] .auth-page .signup-back,
html[data-theme="light"] .auth-page .google-signin-button { color: #171915 !important; text-shadow: none !important; }
html[data-theme="light"] .auth-page .auth-submit { background: #f2a007 !important; border-color: #f2a007 !important; color: #171915 !important; }
html[data-theme="light"] .auth-page .auth-submit:hover { background: #d98f00 !important; border-color: #d98f00 !important; color: #171915 !important; }
.auth-page .auth-visual-foot { display: flex; flex-wrap: wrap; }
.auth-social-links { display: flex; align-items: center; gap: 8px; margin-left: auto; }
.auth-social-links a { display: grid; width: 34px; height: 34px; place-items: center; border: 1px solid #ffffff55; border-radius: 50%; color: #fff; transition: background .18s ease,border-color .18s ease,transform .18s ease; }
.auth-social-links a:hover { transform: translateY(-2px); border-color: #f2a007; background: #f2a007; color: #171915; }
.auth-social-links svg { width: 16px; height: 16px; }
@media (max-width: 820px) {
  .auth-page .auth-visual-foot { display: flex; }
  .auth-social-links { margin-left: auto; }
}
@media (max-width: 480px) {
  .auth-social-links { gap: 6px; }
  .auth-social-links a { width: 31px; height: 31px; }
}

/* Events listing: carry the homepage’s Malawi map and dark-and-gold event styling through discovery. */
.events-page { --events-bg: #f5f5f5; --events-surface: #fff; --events-text: #171915; --events-muted: #707772; --events-line: #e2e4df; --events-accent: #f2a007; background: var(--events-bg); color: var(--events-text); }
html[data-theme="dark"] .events-page { --events-bg: #111315; --events-surface: #1b1e1f; --events-text: #f5f5f2; --events-muted: #afb4b2; --events-line: #353a39; --events-accent: #f2a007; }
.events-page .page-shell { width: min(100%,1500px); max-width: none; margin: 0 auto; padding: clamp(20px,3vw,42px) clamp(16px,4vw,58px) 76px; background: var(--events-bg); color: var(--events-text); }
.events-page .events-list-hero { display: grid; min-height: clamp(340px,37vw,475px); grid-template-columns: minmax(0,1fr) minmax(280px,.9fr); align-items: center; gap: 24px; margin: 0 0 26px; padding: clamp(28px,5vw,64px); border: 0; border-radius: 22px; background: #101113; color: #f7f7f5; }
.events-page .events-list-hero::after { display: none; }
.events-list-hero-copy { position: relative; z-index: 2; }
.events-list-hero-copy .eyebrow { margin: 0 0 15px; color: #f2a007; font-size: .68rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.events-list-hero-copy h1 { margin: 0; color: #f8f8f5; font: 750 clamp(2.65rem,5.6vw,5.2rem)/.98 var(--display); letter-spacing: -.065em; }
.events-list-hero-copy h1 span { color: #f2a007; }
.events-list-hero-copy > p:not(.eyebrow) { max-width: 47ch; margin: 18px 0 23px; color: #c3c6c4; font-size: clamp(.86rem,1.2vw,1rem); line-height: 1.65; }
.events-list-hero-link { display: inline-flex; min-height: 42px; align-items: center; gap: 14px; padding: 0 17px; border-radius: 8px; background: #f2a007; color: #1a160c; font-size: .78rem; font-weight: 750; text-decoration: none; }
.events-list-hero-link:hover { background: #ffc04b; }
.events-list-map { position: relative; display: grid; min-height: 270px; place-items: center; }
.events-list-map::before { position: absolute; inset: 7%; border-radius: 50%; background: radial-gradient(circle,#f2a00720,transparent 68%); content: ''; }
.events-list-map > img { width: min(100%,390px); height: clamp(250px,28vw,365px); object-fit: contain; filter: drop-shadow(0 15px 32px #0008); opacity: .85; }
.events-map-count,.events-map-tag { position: absolute; z-index: 1; padding: 9px 13px; border: 1px solid #ffffff35; border-radius: 99px; background: #171a1be8; color: #f7f7f5; font-size: .65rem; box-shadow: 0 9px 26px #0004; }
.events-map-count { top: 4%; right: 0; color: #f2a007; }
.events-map-tag { font-weight: 700; }
.events-map-tag:first-letter { color: #f2a007; }
.events-map-lilongwe { top: 43%; left: 3%; }
.events-map-blantyre { right: 2%; bottom: 15%; }
.events-page .event-filters { gap: 9px; margin: 0 0 14px; }
.events-page .event-filter { min-height: 38px; padding: 0 16px; border-color: var(--events-line); background: var(--events-surface); color: var(--events-muted); font-size: .74rem; }
.events-page .event-filter:hover { border-color: var(--events-accent); background: color-mix(in srgb,var(--events-accent) 10%,var(--events-surface)); color: var(--events-text); }
.events-page .event-filter.active { border-color: var(--events-accent); background: var(--events-accent); color: #211802; }
.events-page .search-box { display: flex; width: 100%; max-width: none !important; min-height: 56px; align-items: center; gap: 12px; margin: 0 0 14px !important; padding: 7px 8px 7px 16px; border: 1px solid var(--events-line); border-radius: 12px; background: var(--events-surface); box-shadow: none; }
.events-page .search-box input { min-height: 42px; background: transparent; color: var(--events-text); }
.events-page .search-box input::placeholder { color: var(--events-muted); }
.events-page .search-box button { min-height: 42px; padding: 0 19px; border: 0; border-radius: 8px; background: var(--events-accent); color: #211802; font-size: .76rem; font-weight: 750; }
.events-page .search-box button:hover { background: #d98f00; color: #211802; }
.events-page .event-discovery-controls { gap: 12px; margin: 0 0 24px; padding: 14px; border-color: var(--events-line); border-radius: 12px; background: var(--events-surface); }
.events-page .event-discovery-controls > label { color: var(--events-muted); }
.events-page .event-discovery-controls select { border-color: var(--events-line); background: var(--events-bg); color: var(--events-text); }
.events-page .event-discovery-controls > .button { min-height: 39px; border: 0; border-radius: 8px; background: var(--events-accent); color: #211802; box-shadow: none; }
.events-page .event-view-switch { border-color: var(--events-line); background: var(--events-bg); }
.events-page .event-view-switch a { color: var(--events-muted); }
.events-page .event-view-switch a[aria-current="page"] { background: var(--events-text); color: var(--events-bg); }
.events-page .events-results-grid { gap: 17px; }
.events-page .events-results-grid .discovery-card { overflow: hidden; border: 1px solid var(--events-line); border-radius: 15px; background: var(--events-surface); box-shadow: 0 8px 25px #1111110a; transition: transform .2s ease,border-color .2s ease,box-shadow .2s ease; }
.events-page .events-results-grid .discovery-card:hover { transform: translateY(-4px); border-color: color-mix(in srgb,var(--events-accent) 54%,var(--events-line)); box-shadow: 0 18px 34px #1112; }
.events-page .events-results-grid .card-image { height: clamp(185px,19vw,250px); background: #242729; }
.events-page .events-results-grid .card-image img { transition: transform .35s ease; }
.events-page .events-results-grid .discovery-card:hover .card-image img { transform: scale(1.035); }
.events-page .events-results-grid .card-body { background: var(--events-surface); color: var(--events-text); }
.events-page .events-results-grid .card-body h3 a { color: var(--events-text); }
.events-page .events-results-grid .card-category,.events-page .events-results-grid .card-meta { color: var(--events-muted); }
.events-page .events-results-grid .event-category-label { border-color: var(--events-line); color: var(--events-muted); }
.events-page .events-results-grid .card-bottom .status-label { color: var(--events-text); }
.events-page .pagination { color: var(--events-muted); }
.events-page .pagination a { border-color: var(--events-line); background: var(--events-surface); color: var(--events-text); }
.events-page .event-alert-signup { border-color: var(--events-line); border-radius: 16px; background: var(--events-surface); }
.events-page .event-alert-signup h2 { color: var(--events-text); }
.events-page .event-alert-signup p:not(.eyebrow),.events-page .event-alert-signup .eyebrow { color: var(--events-muted); }
.events-page .event-alert-signup input[type="email"],.events-page .event-alert-signup select { border-color: var(--events-line); background: var(--events-bg); color: var(--events-text); }
.events-page .split-banner { overflow: hidden; border-radius: 18px; background: #101113; color: #f7f7f5; }
.events-page .split-banner h2 { color: #f7f7f5; }
.events-page .split-banner .eyebrow { color: #f2a007; }
.events-page .split-banner p:not(.eyebrow) { color: #c3c6c4; }
@media (max-width: 760px) {
  .events-page .page-shell { padding: 16px 15px 55px; }
  .events-page .events-list-hero { min-height: 0; grid-template-columns: minmax(0,1fr); gap: 0; padding: 28px 22px 18px; }
  .events-page .events-list-hero-copy h1 { font-size: clamp(2.7rem,12vw,4.2rem); }
  .events-page .events-list-map { min-height: 215px; margin-top: 4px; }
  .events-page .events-list-map > img { height: 240px; }
  .events-page .event-discovery-controls { align-items: stretch; }
  .events-page .events-results-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 500px) {
  .events-page .events-list-hero { border-radius: 15px; }
  .events-page .events-list-map { min-height: 180px; }
  .events-page .events-list-map > img { height: 205px; }
  .events-page .events-results-grid { grid-template-columns: minmax(0,1fr); }
  .events-page .search-box { gap: 7px; padding-left: 10px; }
  .events-page .search-box button { padding: 0 12px; }
}

/* Jobs discovery shares the homepage/events visual system while keeping its job-specific search. */
.jobs-page { --jobs-bg: #f5f5f5; --jobs-surface: #fff; --jobs-text: #171915; --jobs-muted: #707772; --jobs-line: #e2e4df; --jobs-accent: #f2a007; background: var(--jobs-bg); color: var(--jobs-text); }
html[data-theme="dark"] .jobs-page { --jobs-bg: #111315; --jobs-surface: #1b1e1f; --jobs-text: #f5f5f2; --jobs-muted: #afb4b2; --jobs-line: #353a39; --jobs-accent: #f2a007; }
.jobs-page .page-shell { width: min(100%,1500px); max-width: none; margin: 0 auto; padding: clamp(20px,3vw,42px) clamp(16px,4vw,58px) 76px; background: var(--jobs-bg); color: var(--jobs-text); }
.jobs-hero { display: grid; grid-template-columns: minmax(0,1fr) minmax(280px,.9fr); align-items: center; gap: 8px 24px; margin: 0 0 34px; padding: clamp(28px,5vw,64px); border: 0; border-radius: 22px; background: #101113; color: #f7f7f5; box-shadow: none; }
.jobs-hero-copy { position: relative; z-index: 2; text-align: left; }
.jobs-hero-copy .eyebrow { margin: 0 0 15px; color: #f2a007; font-size: .68rem; font-weight: 800; letter-spacing: .14em; }
.jobs-hero-copy h1 { margin: 0; color: #f8f8f5; font: 750 clamp(2.65rem,5.6vw,5.2rem)/.98 var(--display); letter-spacing: -.065em; }
.jobs-hero-copy h1 span { color: #f2a007; }
.jobs-hero-copy > p:not(.eyebrow) { max-width: 47ch; margin: 18px 0 10px; color: #c3c6c4; font-size: clamp(.86rem,1.2vw,1rem); line-height: 1.65; }
.jobs-browse-link { min-height: 39px; margin-top: 8px; padding-inline: 14px; border-color: #ffffff45; background: #ffffff0d; color: #f7f7f5; }
.jobs-browse-link:hover { border-color: #f2a007; background: #f2a00720; }
.jobs-browse-link svg { color: #f2a007; }
.jobs-hero-map { position: relative; display: grid; min-height: 270px; grid-column: 2; grid-row: 1; place-items: center; }
.jobs-hero-map::before { position: absolute; inset: 7%; border-radius: 50%; background: radial-gradient(circle,#f2a00720,transparent 68%); content: ''; }
.jobs-hero-map > img { width: min(100%,390px); height: clamp(250px,28vw,365px); object-fit: contain; filter: drop-shadow(0 15px 32px #0008); opacity: .85; }
.jobs-map-count,.jobs-map-tag { position: absolute; z-index: 1; padding: 9px 13px; border: 1px solid #ffffff35; border-radius: 99px; background: #171a1be8; color: #f7f7f5; font-size: .63rem; box-shadow: 0 9px 26px #0004; }
.jobs-map-count { top: 4%; right: 0; color: #f2a007; }
.jobs-map-tag { font-weight: 700; }
.jobs-map-tag:first-letter { color: #f2a007; }
.jobs-map-lilongwe { top: 44%; left: 3%; }
.jobs-map-blantyre { right: 2%; bottom: 14%; }
.jobs-map-mzuzu { top: 22%; left: 58%; }
.jobs-search-panel { grid-column: 1 / -1; display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr) auto; align-items: end; gap: 12px; max-width: none; margin: 14px 0 0; padding: clamp(15px,2vw,21px); border: 1px solid var(--jobs-line); border-radius: 13px; background: var(--jobs-surface); color: var(--jobs-text); box-shadow: none; }
.jobs-search-field label { color: var(--jobs-muted); }
.jobs-search-field input { border-color: var(--jobs-line); background: var(--jobs-bg); color: var(--jobs-text); }
.jobs-search-field input::placeholder { color: var(--jobs-muted); }
.jobs-search-submit { background: var(--jobs-accent); color: #211802; }
.jobs-search-submit:hover { background: #d98f00; }
.jobs-search-clear { color: var(--jobs-muted); }
.jobs-search-note { color: var(--jobs-muted); }
.jobs-results-heading .eyebrow { color: #a56a00; }
.jobs-results-heading h2 { color: var(--jobs-text); font: 750 clamp(1.5rem,2.7vw,2.1rem)/1.1 var(--display); letter-spacing: -.04em; }
.jobs-results-heading > span { color: var(--jobs-muted); }
.jobs-list { gap: 11px; }
.job-result-row { border-color: var(--jobs-line); border-radius: 13px; background: var(--jobs-surface); box-shadow: none; }
.job-result-row:hover { border-color: color-mix(in srgb,var(--jobs-accent) 58%,var(--jobs-line)); box-shadow: 0 12px 28px #0002; }
.job-result-link { color: var(--jobs-text); }
.job-result-logo { border-color: var(--jobs-line); background: var(--jobs-bg); color: #a56a00; }
.job-result-title { color: var(--jobs-text); }
.job-result-company,.job-result-location,.job-result-date { color: var(--jobs-muted); }
.job-result-location .ui-button-icon,.job-result-arrow { color: #ad7200; }
.jobs-page .catalog-empty { border: 1px solid var(--jobs-line); border-radius: 14px; background: var(--jobs-surface); color: var(--jobs-text); }
.jobs-page .catalog-empty p { color: var(--jobs-muted); }
.jobs-page .catalog-pagination { color: var(--jobs-muted); }
.jobs-page .catalog-pagination a { border-color: var(--jobs-line); background: var(--jobs-surface); color: var(--jobs-text); }
@media (max-width: 760px) {
  .jobs-page .page-shell { padding: 16px 15px 55px; }
  .jobs-hero { grid-template-columns: minmax(0,1fr); gap: 0; margin-bottom: 27px; padding: 28px 22px 18px; }
  .jobs-hero-copy h1 { font-size: clamp(2.7rem,12vw,4.2rem); }
  .jobs-hero-map { min-height: 215px; grid-column: 1; grid-row: 2; margin-top: 4px; }
  .jobs-hero-map > img { height: 240px; }
}
@media (max-width: 560px) {
  .jobs-page .page-shell { padding: 16px 13px 48px; }
  .jobs-hero { border-radius: 15px; padding: 25px 16px 15px; }
  .jobs-hero-copy h1 { font-size: clamp(2.45rem,11vw,3.4rem); }
  .jobs-hero-map { min-height: 180px; }
  .jobs-hero-map > img { height: 205px; }
  .jobs-search-panel { grid-template-columns: minmax(0,1fr); gap: 10px; margin-top: 10px; padding: 13px; }
  .jobs-search-submit,.jobs-search-clear { grid-column: 1; }
  .jobs-search-submit { width: 100%; }
  .jobs-search-note { font-size: .58rem; }
}

/* Job detail page: a readable opportunity layout that matches the jobs catalogue. */
.job-detail-page { --jd-bg:#f5f5f5; --jd-surface:#fff; --jd-text:#171915; --jd-muted:#707772; --jd-line:#e2e4df; --jd-accent:#f2a007; background:var(--jd-bg); color:var(--jd-text); }
html[data-theme="dark"] .job-detail-page { --jd-bg:#111315; --jd-surface:#1b1e1f; --jd-text:#f5f5f2; --jd-muted:#afb4b2; --jd-line:#353a39; }
.job-detail-page .page-shell { width:min(100%,1500px); max-width:none; margin:0 auto; padding:clamp(18px,3vw,40px) clamp(15px,4vw,58px) 72px; background:var(--jd-bg); color:var(--jd-text); }
.job-detail-shell { min-height:0; grid-template-columns:minmax(0,1.6fr) minmax(275px,.72fr); align-items:start; gap:20px; }
.job-detail-main { grid-column:1; grid-row:1; max-height:none; overflow:visible; border:0; border-radius:0; background:transparent; }
.job-detail-sidebar { grid-column:2; grid-row:1; top:96px; max-height:calc(100vh - 116px); min-height:0; padding:18px; border-color:var(--jd-line); border-radius:16px; background:var(--jd-surface); color:var(--jd-text); }
.job-detail-back,.job-detail-all-jobs { color:#a56a00; }
html[data-theme="dark"] .job-detail-back,html[data-theme="dark"] .job-detail-all-jobs { color:#ffc35c; }
.job-detail-search label,.job-detail-listing-copy small,.job-detail-no-more { color:var(--jd-muted); }
.job-detail-search > div { border-color:var(--jd-line); background:var(--jd-bg); }
.job-detail-search input { color:var(--jd-text); }
.job-detail-sidebar > h2 { color:var(--jd-text); }
.job-detail-listing { border-color:var(--jd-line); background:var(--jd-bg); color:var(--jd-text); }
.job-detail-listing:hover,.job-detail-listing.is-selected { border-color:#d39400; background:color-mix(in srgb,var(--jd-accent) 9%,var(--jd-surface)); }
.job-detail-company-mark { border-color:var(--jd-line); background:var(--jd-bg); color:#a56a00; }
.job-detail-listing-copy strong { color:var(--jd-text); }
.job-detail-list { scrollbar-color:var(--jd-line) transparent; }
.job-detail-all-jobs { border-color:var(--jd-line); }
.job-detail-header { position:relative; overflow:hidden; padding:clamp(26px,4vw,48px); border:0; border-radius:19px; background:radial-gradient(ellipse at 88% 12%,#f2a00723,transparent 35%),#101113; color:#f7f7f5; }
.job-detail-header::after { position:absolute; right:-54px; bottom:-105px; width:260px; height:260px; border:1px solid #f2a00735; border-radius:50%; box-shadow:0 0 0 28px #f2a0070b,0 0 0 58px #f2a00708; content:""; pointer-events:none; }
.job-detail-header > * { position:relative; z-index:1; }
.job-detail-eyebrow { color:#f2a007; }
.job-detail-header h1 { margin:0; color:#f8f8f5; font:750 clamp(1.8rem,3.5vw,3rem)/1.04 var(--display); letter-spacing:-.055em; }
.job-detail-employer { color:#ffc35c; }
.job-detail-location { color:#d1d3d0; }
.job-detail-location .ui-button-icon { color:#f2a007; }
.job-detail-actions { margin-top:22px; }
.job-detail-apply { border-color:#f2a007; background:#f2a007; color:#171915; }
.job-detail-apply:hover { border-color:#ffc044; background:#ffc044; color:#171915; }
.job-detail-action-icon,.job-detail-share summary { border-color:#ffffff35; background:#ffffff12; color:#fff; }
.job-detail-action-icon:hover,.job-detail-share summary:hover { border-color:#f2a007; background:#f2a00720; color:#fff; }
.job-detail-share-options { border-color:var(--jd-line); background:var(--jd-surface); box-shadow:0 12px 28px #0003; }
.job-detail-share-options a { color:var(--jd-text); }
.job-detail-share-options a:hover { background:color-mix(in srgb,var(--jd-accent) 12%,var(--jd-surface)); }
.job-detail-facts,.job-detail-description { margin-top:14px; padding:clamp(20px,2.7vw,30px); border:1px solid var(--jd-line); border-radius:15px; background:var(--jd-surface); color:var(--jd-muted); }
.job-detail-facts h2,.job-detail-description h2 { color:var(--jd-text); }
.job-detail-facts > p { color:var(--jd-muted); }
.job-detail-fact-icon { color:#ad7200; }
html[data-theme="dark"] .job-detail-fact-icon { color:#ffc35c; }
.job-detail-facts > p a,.job-detail-employer-footer > a { color:#a56a00; }
html[data-theme="dark"] .job-detail-facts > p a,html[data-theme="dark"] .job-detail-employer-footer > a { color:#ffc35c; }
.job-detail-description { border-bottom:1px solid var(--jd-line); font-size:.875rem; line-height:1.75; }
.job-detail-description > div { color:var(--jd-muted); }
.job-detail-description > div strong,.job-detail-description > div b { color:var(--jd-text); }
.job-detail-gallery figure { border-color:var(--jd-line); background:var(--jd-bg); }
.job-detail-employer-footer { margin-top:14px; padding:16px 20px; border:1px solid var(--jd-line); border-radius:14px; background:var(--jd-surface); }
.job-detail-employer-footer strong { color:var(--jd-text); }
.job-detail-employer-footer small { color:var(--jd-muted); }
html[data-theme="dark"] .job-detail-page .job-detail-sidebar,
html[data-theme="dark"] .job-detail-page .job-detail-facts,
html[data-theme="dark"] .job-detail-page .job-detail-description,
html[data-theme="dark"] .job-detail-page .job-detail-employer-footer { color:#d7dad7; }
html[data-theme="dark"] .job-detail-page .job-detail-facts h2,
html[data-theme="dark"] .job-detail-page .job-detail-description h2,
html[data-theme="dark"] .job-detail-page .job-detail-facts > p strong,
html[data-theme="dark"] .job-detail-page .job-detail-sidebar > h2,
html[data-theme="dark"] .job-detail-page .job-detail-employer-footer strong { color:#f5f5f2; }
html[data-theme="dark"] .job-detail-page .job-detail-search label,
html[data-theme="dark"] .job-detail-page .job-detail-listing-copy small,
html[data-theme="dark"] .job-detail-page .job-detail-no-more,
html[data-theme="dark"] .job-detail-page .job-detail-employer-footer small,
html[data-theme="dark"] .job-detail-page .job-detail-description > div { color:#bfc4c1; }
html[data-theme="dark"] .job-detail-page .job-detail-description a,
html[data-theme="dark"] .job-detail-page .job-application-links a { color:#ffc35c; }
html[data-theme="dark"] .job-detail-page .job-detail-search input::placeholder { color:#aeb4b1; opacity:1; }
@media (max-width:850px) {
  .job-detail-shell { grid-template-columns:minmax(0,1.35fr) minmax(240px,.8fr); gap:13px; }
  .job-detail-sidebar { padding:13px; }
}
@media (max-width:680px) {
  .job-detail-shell { display:flex; flex-direction:column; gap:15px; }
  .job-detail-main { order:0; width:100%; }
  .job-detail-sidebar { position:static; order:1; width:100%; max-height:none; }
  .job-detail-list { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .job-detail-header { padding:25px 21px; border-radius:15px; }
  .job-detail-header h1 { font-size:clamp(1.8rem,8vw,2.5rem); }
  .job-detail-facts,.job-detail-description { padding:20px 17px; }
}
@media (max-width:430px) {
  .job-detail-page .page-shell { padding-inline:12px; }
  .job-detail-list { grid-template-columns:minmax(0,1fr); }
  .job-detail-employer-footer { padding:13px; }
}
@media (max-width: 520px) {
  .dashboard-welcome { gap: 16px; }
  .dashboard-actions { width: 100%; }
  .dashboard-nav-open { width: 40px; min-height: 120px; padding: 12px 7px; font-size: 0.6875rem; }
  .dashboard-nav-open:hover { width: 44px; }
}
@media (prefers-reduced-motion: reduce) {
  .dashboard-drawer,.dashboard-drawer-backdrop,.dashboard-drawer-panel { transition: none; }
}

/* Seller dashboard content tabs. */
.peza-seller-dashboard-home .peza-dashboard-home-tabs { display:flex; width:min(calc(100% - 2 * clamp(18px,2.8vw,40px)),1520px); gap:6px; margin:24px auto 0; padding:5px; overflow-x:auto; border:1px solid var(--line); border-radius:12px; background:var(--surface); scrollbar-width:thin; }
.peza-dashboard-home-tabs [role="tab"] { display:inline-flex; min-height:42px; flex:0 0 auto; align-items:center; justify-content:center; gap:8px; padding:0 15px; border:1px solid transparent; border-radius:8px; background:transparent; color:var(--ink-soft); font:700 .75rem var(--body); cursor:pointer; }
.peza-dashboard-home-tabs [role="tab"]:hover { background:color-mix(in srgb,var(--lake) 7%,var(--surface)); color:var(--ink); }
.peza-dashboard-home-tabs [role="tab"][aria-selected="true"] { border-color:var(--line); background:var(--paper); color:var(--ink); box-shadow:0 1px 3px #0000000b; }
.peza-dashboard-home-tabs [role="tab"] .ui-button-icon { width:16px; height:16px; color:#b87500; }
.peza-dashboard-home-tabs [role="tab"] > span:not(.ui-button-icon) { display:grid; min-width:20px; height:20px; place-items:center; padding:0 5px; border-radius:99px; background:color-mix(in srgb,var(--lake) 9%,var(--surface)); color:var(--ink-soft); font-size:.625rem; }
.peza-dashboard-tab-panel[hidden] { display:none !important; }
.peza-dashboard-tab-panel > .peza-dashboard-columns { width:min(100%,1600px); }
.peza-dashboard-tab-panel .peza-dashboard-columns { padding-top:22px; }
.peza-dashboard-tab-panel .dashboard-welcome h1 { color:var(--ink); }
.peza-dashboard-tab-panel .dashboard-welcome > div:first-child > p:last-child { color:var(--ink-soft); }
.peza-dashboard-tab-panel .dashboard-section-heading h2 { color:var(--ink); }
.peza-dashboard-tab-panel .dashboard-section-heading p:last-child { color:var(--ink-soft); }
.peza-dashboard-tab-panel .dashboard-resource-panel { background:var(--surface); border-color:var(--line); }
.peza-dashboard-tab-panel .dashboard-data-table th { color:var(--ink-soft); }
.peza-dashboard-tab-panel .dashboard-data-table td { color:var(--ink); border-color:var(--line); }
.peza-dashboard-resource-tab { width:min(100%,1520px); margin:24px auto 55px; padding:0 clamp(18px,2.8vw,40px); }
.peza-dashboard-resource-tab .dashboard-section-heading { align-items:end; margin-bottom:15px; }
.peza-dashboard-resource-tab .dashboard-section-heading .eyebrow { color:#b87500; }
.peza-dashboard-resource-tab .dashboard-resource-panel { overflow:hidden; border:1px solid var(--line); border-radius:14px; background:var(--surface); }
.peza-dashboard-finance-panel { width:min(100%,1520px); margin:24px auto 55px; padding:clamp(17px,2.8vw,36px); border:1px solid var(--line); border-radius:15px; background:var(--surface); color:var(--ink); }
.peza-dashboard-finance-panel > .dashboard-panel-heading { display:flex; align-items:end; justify-content:space-between; gap:16px; margin-bottom:20px; }
.peza-dashboard-finance-panel .dashboard-panel-heading .eyebrow { color:#b87500; }
.peza-dashboard-finance-panel .dashboard-panel-heading h2 { margin:0; color:var(--ink); font:700 clamp(1.35rem,2.6vw,1.9rem)/1.15 var(--display); }
.peza-dashboard-finance-panel .dashboard-panel-heading p:last-child { margin:7px 0 0; color:var(--ink-soft); font-size:.8rem; }
.peza-dashboard-finance-panel .dashboard-panel-heading > a { color:#a56a00; font-size:.75rem; font-weight:700; white-space:nowrap; }
.peza-dashboard-finance-panel .dashboard-chart-grid { margin-top:0; }
.peza-dashboard-primary > .peza-dashboard-finance-panel { width:100%; margin:20px 0 0; }
html[data-theme="dark"] .peza-dashboard-tab-panel .dashboard-data-table th { color:#bfc4c1; }
html[data-theme="dark"] .peza-dashboard-tab-panel .dashboard-resource-panel,
html[data-theme="dark"] .peza-dashboard-tab-panel .dashboard-resource-panel .dashboard-table-wrap,
html[data-theme="dark"] .peza-dashboard-tab-panel .dashboard-resource-panel .dashboard-data-table { background:#1b1e1f; color:#f5f5f2; }
html[data-theme="dark"] .peza-dashboard-tab-panel .dashboard-data-table td { color:#e2e5e2; }
html[data-theme="dark"] .peza-dashboard-tab-panel .dashboard-table-primary { color:#ffc35c; }
html[data-theme="dark"] .peza-dashboard-finance-panel .dashboard-panel-heading > a { color:#ffc35c; }
@media (max-width:640px) {
  .peza-seller-dashboard-home .peza-dashboard-home-tabs { width:calc(100% - 26px); margin-top:15px; }
  .peza-dashboard-home-tabs [role="tab"] { min-height:39px; padding:0 11px; font-size:.6875rem; }
  .peza-dashboard-resource-tab { margin-top:17px; padding:0 13px; }
  .peza-dashboard-resource-tab .dashboard-section-heading { align-items:flex-start; }
  .peza-dashboard-resource-tab .dashboard-section-heading > a { font-size:.625rem; white-space:nowrap; }
  .peza-dashboard-primary > .peza-dashboard-finance-panel { width:100%; margin:17px 0 0; padding:15px; }
  .peza-dashboard-finance-panel > .dashboard-panel-heading { align-items:flex-start; flex-direction:column; }
}

/* Event payments settings: clear hierarchy and consistent dashboard theming. */
.integrations-dashboard-page { --int-bg:#f5f5f5; --int-surface:#fff; --int-text:#171915; --int-muted:#707772; --int-line:#e2e4df; --int-accent:#f2a007; background:var(--int-bg); color:var(--int-text); }
html[data-theme="dark"] .integrations-dashboard-page { --int-bg:#111315; --int-surface:#1b1e1f; --int-text:#f5f5f2; --int-muted:#bfc4c1; --int-line:#353a39; }
.integrations-dashboard-page .peza-dashboard-page-content { padding:clamp(18px,3vw,38px) clamp(15px,3vw,42px) 60px; background:var(--int-bg); color:var(--int-text); }
.integrations-dashboard-page .peza-integration-dialog { max-width:1180px; margin:0 auto; border-color:var(--int-line); border-radius:18px; background:var(--int-surface); box-shadow:0 8px 25px #0000000a; color:var(--int-text); }
.integrations-dashboard-page .peza-integration-dialog > .dashboard-welcome { position:relative; overflow:hidden; padding:clamp(25px,4vw,42px); border:0; background:radial-gradient(ellipse at 90% 0%,#f2a00722,transparent 36%),#101113; }
.integrations-dashboard-page .peza-integration-dialog > .dashboard-welcome::after { position:absolute; right:-60px; bottom:-125px; width:250px; height:250px; border:1px solid #f2a00730; border-radius:50%; box-shadow:0 0 0 27px #f2a0070b,0 0 0 56px #f2a00707; content:""; pointer-events:none; }
.integrations-dashboard-page .peza-integration-dialog > .dashboard-welcome > div { position:relative; z-index:1; }
.integrations-dashboard-page .peza-integration-dialog > .dashboard-welcome .eyebrow { margin:0 0 9px; color:#f2a007; font-size:.6875rem; font-weight:800; letter-spacing:.13em; text-transform:uppercase; }
.integrations-dashboard-page .peza-integration-dialog > .dashboard-welcome h1 { margin:0 0 6px; color:#f8f8f5; font:750 clamp(1.8rem,3vw,2.6rem)/1.05 var(--display); letter-spacing:-.045em; }
.integrations-dashboard-page .peza-integration-dialog > .dashboard-welcome > div > p:last-child { color:#c3c6c4; }
.integrations-dashboard-page .peza-integration-main { padding:clamp(20px,3vw,32px); }
.integrations-dashboard-page .peza-integration-form-heading { align-items:flex-start; padding-bottom:17px; border-bottom:1px solid var(--int-line); }
.integrations-dashboard-page .peza-integration-form-heading label { color:#a56a00; }
html[data-theme="dark"] .integrations-dashboard-page .peza-integration-form-heading label { color:#ffc35c; }
.integrations-dashboard-page .peza-integration-form-heading h2 { color:var(--int-text); font-size:1.375rem; }
.integrations-dashboard-page .peza-integration-form-heading p { max-width:70ch; color:var(--int-muted); }
.integrations-dashboard-page .peza-payment-provider-logo { background:#fff; }
.integrations-dashboard-page .peza-payment-connection-card { min-height:76px; border-color:var(--int-line); border-radius:12px; background:color-mix(in srgb,var(--int-bg) 65%,var(--int-surface)); }
.integrations-dashboard-page .peza-payment-provider-copy strong { color:var(--int-text); }
.integrations-dashboard-page .peza-payment-provider-copy span { color:var(--int-muted); }
.integrations-dashboard-page .peza-integration-status { padding:7px 10px; border:1px solid #e8d8aa; background:#fff7e4; color:#805900; font-size:.6875rem; }
.integrations-dashboard-page .peza-paychangu-key-form { grid-template-columns:minmax(0,1fr) minmax(190px,.8fr) minmax(190px,.8fr) auto; gap:14px; margin:15px 0 20px; padding:18px; border-color:var(--int-line); border-radius:13px; background:var(--int-bg); }
.integrations-dashboard-page .peza-paychangu-key-intro strong { color:var(--int-text); }
.integrations-dashboard-page .peza-paychangu-key-intro small,.integrations-dashboard-page .peza-paychangu-key-field > small { color:var(--int-muted); }
.integrations-dashboard-page .peza-paychangu-key-field label { color:var(--int-text); }
.integrations-dashboard-page .peza-paychangu-key-field input[type="password"],.integrations-dashboard-page .peza-paychangu-key-field input[type="text"] { border-color:var(--int-line); background:var(--int-surface); color:var(--int-text); }
.integrations-dashboard-page .peza-paychangu-key-field input::placeholder { color:var(--int-muted); opacity:1; }
.integrations-dashboard-page .peza-secret-toggle { color:var(--int-muted); }
.integrations-dashboard-page .peza-paychangu-key-form .peza-button-outline { border-color:#e8bc5b; background:#fff8e8; color:#704900; }
.integrations-dashboard-page .peza-payment-preference { border-color:var(--int-line); border-radius:13px; background:var(--int-surface); }
.integrations-dashboard-page .peza-payment-preference h3 { color:var(--int-text); }
.integrations-dashboard-page .peza-payment-option { border-color:var(--int-line); background:var(--int-bg); }
.integrations-dashboard-page .peza-payment-option:has(input:checked) { border-color:#d39400; background:color-mix(in srgb,var(--int-accent) 10%,var(--int-surface)); }
.integrations-dashboard-page .peza-payment-option strong { color:var(--int-text); }
.integrations-dashboard-page .peza-payment-option small { color:var(--int-muted); }
.integrations-dashboard-page .peza-payment-radio i { border-color:var(--int-muted); background:var(--int-surface); }
.integrations-dashboard-page .peza-payment-policy-note { border-color:#e8c66c; background:#fff8e7; color:#514629; }
.integrations-dashboard-page .peza-payment-policy-note strong { color:#29251b; }
.integrations-dashboard-page .peza-payment-policy-note a { color:#845700; }
.integrations-dashboard-page .peza-integration-form-footer { border-color:var(--int-line); }
.integrations-dashboard-page .peza-integration-form-footer > span { color:var(--int-muted); }
.integrations-dashboard-page .peza-integration-action { box-shadow:none; }
html[data-theme="dark"] .integrations-dashboard-page .peza-payment-connection-card { background:#202324; }
html[data-theme="dark"] .integrations-dashboard-page .peza-payment-policy-note { border-color:#755b25; background:#282419; color:#ded5bf; }
html[data-theme="dark"] .integrations-dashboard-page .peza-payment-policy-note strong { color:#f4ead2; }
html[data-theme="dark"] .integrations-dashboard-page .peza-payment-policy-note a { color:#ffc35c; }
html[data-theme="dark"] .integrations-dashboard-page .peza-paychangu-key-form .peza-button-outline { border-color:#785a19; background:#302714; color:#ffd16a; }
html[data-theme="dark"] .integrations-dashboard-page .peza-payment-option:has(input:checked) { background:#302a1c; }
@media (max-width:760px) {
  .integrations-dashboard-page .peza-paychangu-key-form { grid-template-columns:minmax(0,1fr); }
  .integrations-dashboard-page .peza-paychangu-key-intro { grid-column:auto; }
}

/* Organizer profile and their published events. */
.event-organizer-page { --organizer-bg:#f5f5f5; --organizer-surface:#fff; --organizer-text:#171915; --organizer-muted:#707772; --organizer-line:#e2e4df; background:var(--organizer-bg); color:var(--organizer-text); }
html[data-theme="dark"] .event-organizer-page { --organizer-bg:#111315; --organizer-surface:#1b1e1f; --organizer-text:#f5f5f2; --organizer-muted:#afb4b2; --organizer-line:#353a39; }
.event-organizer-page .page-shell { width:min(100%,1500px); max-width:none; margin:0 auto; padding:clamp(18px,3vw,42px) clamp(16px,4vw,58px) 72px; background:var(--organizer-bg); color:var(--organizer-text); }
.event-organizer-hero { position:relative; overflow:hidden; min-height:230px; display:grid; grid-template-columns:auto 76px minmax(0,1fr); align-items:center; gap:18px; margin:0 0 38px; padding:clamp(25px,4vw,46px); border:0; border-radius:20px; background:radial-gradient(ellipse at 90% 4%,#f2a00725,transparent 35%),#101113; color:#f7f7f5; }
.event-organizer-hero::after { position:absolute; right:-80px; bottom:-165px; width:320px; height:320px; border:1px solid #f2a00730; border-radius:50%; box-shadow:0 0 0 30px #f2a0070a,0 0 0 62px #f2a00706; content:""; pointer-events:none; }
.event-organizer-back { position:relative; z-index:1; align-self:start; width:max-content; margin:0; padding:9px 12px; border:1px solid #ffffff35; border-radius:999px; color:#f1f2ef; font-size:.72rem; font-weight:700; transition:border-color .16s,background .16s; }
.event-organizer-back:hover { border-color:#f2a007; background:#f2a00719; color:#fff; }
.event-organizer-avatar { position:relative; z-index:1; width:76px; height:76px; flex-basis:76px; border:1px solid #f2a00799; background:#f2a007; color:#171915; font-size:1.7rem; box-shadow:0 0 0 7px #f2a0071c; }
.event-organizer-hero > div:last-child { position:relative; z-index:1; }
.event-organizer-hero .eyebrow { color:#f2a007; font-size:.68rem; letter-spacing:.14em; }
.event-organizer-hero h1 { color:#f8f8f5; font:750 clamp(2rem,4.5vw,3.6rem)/1.02 var(--display); letter-spacing:-.06em; }
.event-organizer-hero p:not(.eyebrow) { margin:10px 0 12px; color:#c3c6c4; font-size:.875rem; }
.event-organizer-verified { padding:6px 10px; border:1px solid #f2a00755; border-radius:999px; background:#f2a00716; color:#ffd06b; font-size:.68rem; }
.event-organizer-list { margin:0; padding:0; }
.event-organizer-list .section-heading { align-items:end; margin-bottom:17px; }
.event-organizer-list .section-heading .eyebrow { margin:0 0 6px; color:#a56a00; font-size:.66rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.event-organizer-list .section-heading h2 { margin:0; color:var(--organizer-text); font:750 clamp(1.55rem,3vw,2.2rem)/1.1 var(--display); letter-spacing:-.04em; }
.event-organizer-list .card-grid { grid-template-columns:repeat(auto-fill,minmax(min(100%,250px),1fr)); gap:16px; }
.event-organizer-list .discovery-card { overflow:hidden; border:1px solid var(--organizer-line); border-radius:15px; background:var(--organizer-surface); box-shadow:none; transition:transform .18s,border-color .18s,box-shadow .18s; }
.event-organizer-list .discovery-card:hover { transform:translateY(-3px); border-color:#dca52c; box-shadow:0 12px 26px #00000012; }
.event-organizer-list .card-image { height:auto; aspect-ratio:1.45; background:#202426; }
.event-organizer-list .card-image img { transition:transform .28s; }
.event-organizer-list .discovery-card:hover .card-image img { transform:scale(1.035); }
.event-organizer-list .card-body { background:var(--organizer-surface); color:var(--organizer-text); }
.event-organizer-list .card-category,.event-organizer-list .card-meta { color:var(--organizer-muted); }
.event-organizer-list .card-body h3 a { color:var(--organizer-text); }
.event-organizer-list .card-bottom .status-label { color:var(--organizer-text); }
.event-organizer-list .text-link { color:#a56a00; }
.event-organizer-page .empty-state { border:1px solid var(--organizer-line); border-radius:14px; background:var(--organizer-surface); color:var(--organizer-text); }
html[data-theme="dark"] .event-organizer-list .section-heading .eyebrow,html[data-theme="dark"] .event-organizer-list .text-link { color:#ffc35c; }
@media (max-width:760px) {
  .event-organizer-page .page-shell { padding:16px 15px 52px; }
  .event-organizer-hero { min-height:0; grid-template-columns:minmax(0,1fr); justify-items:start; gap:14px; margin-bottom:28px; padding:24px 21px; border-radius:16px; }
  .event-organizer-back { grid-row:1; }
  .event-organizer-avatar { width:62px; height:62px; }
  .event-organizer-hero h1 { font-size:clamp(2rem,9vw,3rem); }
  .event-organizer-list .card-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
}
@media (max-width:500px) {
  .event-organizer-page .page-shell { padding:14px 12px 42px; }
  .event-organizer-hero { padding:21px 17px; }
  .event-organizer-list .card-grid { grid-template-columns:minmax(0,1fr); }
  .event-organizer-list .card-image { aspect-ratio:1.55; }
}

/* Employer and event forms share a readable, theme-aware field system. */
.employer-profile-page { --setup-bg:#f5f5f5; --setup-surface:#fff; --setup-text:#171915; --setup-muted:#707772; --setup-line:#e2e4df; background:var(--setup-bg); color:var(--setup-text); }
html[data-theme="dark"] .employer-profile-page { --setup-bg:#111315; --setup-surface:#1b1e1f; --setup-text:#f5f5f2; --setup-muted:#bfc4c1; --setup-line:#353a39; }
.employer-profile-page .peza-dashboard-page-content { width:100%; max-width:none; padding:clamp(18px,3vw,38px) clamp(15px,3vw,42px) 60px; background:var(--setup-bg); color:var(--setup-text); }
.employer-profile-page .peza-setup-dialog { width:min(100%,1160px); margin:0 auto; overflow:hidden; border:1px solid var(--setup-line); border-radius:18px; background:var(--setup-surface); box-shadow:0 8px 25px #0000000a; }
.employer-profile-page .peza-create-dialog-header { position:relative; overflow:hidden; padding:clamp(25px,4vw,42px); border:0; background:radial-gradient(ellipse at 90% 0%,#f2a00722,transparent 36%),#101113; }
.employer-profile-page .peza-create-dialog-header::after,.event-form-page .peza-create-dialog-header::after { position:absolute; right:-60px; bottom:-125px; width:250px; height:250px; border:1px solid #f2a00730; border-radius:50%; box-shadow:0 0 0 27px #f2a0070b,0 0 0 56px #f2a00707; content:""; pointer-events:none; }
.employer-profile-page .peza-create-dialog-header > div,.event-form-page .peza-create-dialog-header > div { position:relative; z-index:1; }
.employer-profile-page .peza-create-dialog-header .eyebrow,.event-form-page .peza-create-dialog-header .eyebrow { margin:0 0 9px; color:#f2a007; font-size:.6875rem; font-weight:800; letter-spacing:.13em; text-transform:uppercase; }
.employer-profile-page .peza-create-dialog-header h1,.event-form-page .peza-create-dialog-header h1 { margin:0 0 7px; color:#f8f8f5; font:750 clamp(1.8rem,3vw,2.6rem)/1.05 var(--display); letter-spacing:-.045em; }
.employer-profile-page .peza-create-dialog-header p:last-child,.event-form-page .peza-create-dialog-header p:last-child { margin:0; color:#c3c6c4; font-size:.875rem; line-height:1.55; }
.employer-profile-page .peza-dialog-close { position:relative; z-index:1; border:1px solid #ffffff35; color:#f5f5f2; }
.employer-profile-page .peza-dialog-close:hover { background:#ffffff15; color:#fff; }
.employer-profile-page .seller-setup-layout { grid-template-columns:265px minmax(0,1fr); align-items:stretch; border:0; background:var(--setup-surface); }
.employer-profile-page .seller-setup-layout > .peza-dialog-guide { grid-column:1; grid-row:1; margin:0; border:0; border-radius:0; background:#f3f2ed; color:#252722; }
.employer-profile-page .seller-setup-layout > .peza-dialog-guide h2 { color:#171915; font-size:1.2rem; }
.employer-profile-page .seller-setup-layout > .peza-dialog-guide > p,.employer-profile-page .seller-setup-layout > .peza-dialog-guide li { color:#636962; font-size:.78rem; line-height:1.6; }
.employer-profile-page .seller-setup-layout > .peza-dialog-guide li span { color:#a56a00; }
.employer-profile-page .seller-setup-panel { grid-column:2; grid-row:1; grid-template-columns:repeat(2,minmax(0,1fr)); gap:17px 15px; max-width:none; margin:0; padding:clamp(22px,3vw,35px); background:var(--setup-surface); color:var(--setup-text); color-scheme:light; }
.employer-profile-page .seller-setup-panel .auth-field { min-width:0; gap:7px; }
.employer-profile-page .seller-setup-panel .auth-field:has(textarea) { grid-column:1/-1; }
.employer-profile-page .seller-setup-panel .auth-field label { color:var(--setup-text); font-size:.8rem; font-weight:700; }
.employer-profile-page .seller-setup-panel .auth-field input,.employer-profile-page .seller-setup-panel .auth-field select,.employer-profile-page .seller-setup-panel .auth-field textarea { box-sizing:border-box; width:100%; min-height:46px; padding:10px 12px; border:1px solid var(--setup-line); border-radius:9px; outline:0; background:var(--setup-bg); color:var(--setup-text); font:400 .875rem/1.5 var(--body); transition:border-color .15s,box-shadow .15s; }
.employer-profile-page .seller-setup-panel .auth-field textarea { min-height:125px; resize:vertical; }
.employer-profile-page .seller-setup-panel .auth-field input::placeholder,.employer-profile-page .seller-setup-panel .auth-field textarea::placeholder { color:var(--setup-muted); opacity:1; }
.employer-profile-page .seller-setup-panel .auth-field :is(input,select,textarea):focus { border-color:#d39400; box-shadow:0 0 0 3px #f2a00724; }
.employer-profile-page .seller-setup-panel .auth-help { color:var(--setup-muted); font-size:.72rem; line-height:1.5; }
.employer-profile-page .seller-setup-panel .auth-field-error,.employer-profile-page .seller-setup-panel .errorlist { color:#b3312c; font-size:.75rem; }
.employer-profile-page .seller-setup-panel .auth-form-errors { grid-column:1/-1; padding:12px 14px; border:1px solid #efc3bd; border-radius:9px; background:#fff1ef; color:#a52e2e; }
.employer-profile-page .seller-setup-actions { display:flex; grid-column:1/-1; justify-content:flex-end; gap:10px; margin-top:4px; padding-top:17px; border-color:var(--setup-line); }
.employer-profile-page .seller-setup-actions .button { min-height:43px; padding:0 16px; border-radius:9px; font-size:.8rem; }
html[data-theme="dark"] .employer-profile-page .seller-setup-layout > .peza-dialog-guide { background:#202324; }
html[data-theme="dark"] .employer-profile-page .seller-setup-panel,html[data-theme="dark"] .event-form-page .event-submit-form { color-scheme:dark; }
html[data-theme="dark"] .employer-profile-page .seller-setup-layout > .peza-dialog-guide h2 { color:#f5f5f2; }
html[data-theme="dark"] .employer-profile-page .seller-setup-layout > .peza-dialog-guide > p,html[data-theme="dark"] .employer-profile-page .seller-setup-layout > .peza-dialog-guide li { color:#bfc4c1; }
html[data-theme="dark"] .employer-profile-page .seller-setup-panel .auth-field-error,html[data-theme="dark"] .employer-profile-page .seller-setup-panel .errorlist { color:#ffaaa3; }

.event-form-page { --event-form-bg:#f5f5f5; --event-form-surface:#fff; --event-form-text:#171915; --event-form-muted:#707772; --event-form-line:#e2e4df; background:var(--event-form-bg); color:var(--event-form-text); }
html[data-theme="dark"] .event-form-page { --event-form-bg:#111315; --event-form-surface:#1b1e1f; --event-form-text:#f5f5f2; --event-form-muted:#bfc4c1; --event-form-line:#353a39; }
.event-form-page .peza-dashboard-page-content { width:100%; max-width:none; padding:clamp(18px,3vw,38px) clamp(15px,3vw,42px) 60px; background:var(--event-form-bg); color:var(--event-form-text); }
.event-form-page .peza-event-dialog { width:min(100%,1320px); margin:0 auto; overflow:hidden; border:1px solid var(--event-form-line); border-radius:18px; background:var(--event-form-surface); box-shadow:0 8px 25px #0000000a; color:var(--event-form-text); }
.event-form-page .peza-create-dialog-header { position:relative; overflow:hidden; padding:clamp(25px,4vw,42px); border:0; background:radial-gradient(ellipse at 90% 0%,#f2a00722,transparent 36%),#101113; }
.event-form-page .peza-dialog-close { position:relative; z-index:1; border:1px solid #ffffff35; color:#f5f5f2; }
.event-form-page .peza-dialog-close:hover { background:#ffffff15; color:#fff; }
.event-form-page .event-form-layout { grid-template-columns:255px minmax(0,1fr); align-items:stretch; gap:0; border:0; border-top:1px solid var(--event-form-line); border-radius:0; background:var(--event-form-surface); }
.event-form-page .event-form-layout > aside { grid-column:1; grid-row:1; position:static; margin:0; border:0; border-right:1px solid var(--event-form-line); border-radius:0; background:#f3f2ed; }
.event-form-page .event-form-aside h2 { color:#171915; }
.event-form-page .event-form-aside > p,.event-form-page .event-form-aside li { color:#636962; font-size:.75rem; line-height:1.6; }
.event-form-page .event-form-aside-icon { background:#fff; color:#a56a00; }
.event-form-page .event-review-note { background:#fff0cb; }
.event-form-page .event-review-note strong { color:#6c4d08; }
.event-form-page .event-review-note p { color:#655934; }
.event-form-page .event-submit-form { grid-column:2; grid-row:1; border:0; border-radius:0; background:var(--event-form-surface); box-shadow:none; color:var(--event-form-text); color-scheme:light; }
.event-form-page .event-stepper,.event-form-page .event-step-controls { border-color:var(--event-form-line); background:var(--event-form-bg); color:var(--event-form-muted); }
.event-form-page .event-stepper strong,.event-form-page .event-form-label,.event-form-page .event-form-section-heading h2,.event-form-page .event-ticket-toggle-field > div strong { color:var(--event-form-text); }
.event-form-page .event-form-section { border-color:var(--event-form-line); }
.event-form-page .event-form-section-heading > span { background:#fff1d0; color:#8d5c00; }
.event-form-page .event-form-section-heading p,.event-form-page .event-form-field > small,.event-form-page .event-ticket-toggle-field > div p { color:var(--event-form-muted); font-size:.75rem; line-height:1.55; }
.event-form-page .event-form-label { font-size:.8rem; font-weight:700; }
.event-form-page .event-form-icon { background:#fff3d7; color:#946308; }
.event-form-page .event-form-field input:not([type="checkbox"]):not([type="file"]),.event-form-page .event-form-field select,.event-form-page .event-form-field textarea { min-height:46px; padding:10px 12px; border-color:var(--event-form-line); border-radius:9px; background:var(--event-form-bg); color:var(--event-form-text); font:400 .875rem/1.5 var(--body); }
.event-form-page .event-form-field textarea { min-height:130px; }
.event-form-page .event-form-field input::placeholder,.event-form-page .event-form-field textarea::placeholder { color:var(--event-form-muted); opacity:1; }
.event-form-page .event-form-field :is(input,select,textarea):focus { border-color:#d39400; outline:0; box-shadow:0 0 0 3px #f2a00724; }
.event-form-page .event-form-field input[type="file"] { min-height:46px; border-color:var(--event-form-line); background:var(--event-form-bg); color:var(--event-form-muted); font-size:.8rem; }
.event-form-page .event-form-field-errors { color:#b3312c; font-size:.75rem; }
.event-form-page .event-form-errors { margin:16px 22px 0; border-color:#efc3bd; background:#fff1ef; color:#a52e2e; font-size:.8rem; }
.event-form-page .event-ticket-toggle-field { border-color:#e5cf8d; background:#fff9e9; }
.event-form-page .event-form-footer { border-top:1px solid var(--event-form-line); background:var(--event-form-bg); }
.event-form-page .event-form-footer p { color:var(--event-form-muted); font-size:.75rem; }
.event-form-page .peza-dialog-cancel { color:var(--event-form-muted); }
.event-form-page .event-form-footer .button,.event-form-page .event-step-controls .button { min-height:43px; padding:0 17px; border-radius:9px; font-size:.8rem; }
html[data-theme="dark"] .event-form-page .event-form-layout > aside { border-color:var(--event-form-line); background:#202324; }
html[data-theme="dark"] .event-form-page .event-form-aside h2 { color:#f5f5f2; }
html[data-theme="dark"] .event-form-page .event-form-aside > p,html[data-theme="dark"] .event-form-page .event-form-aside li { color:#bfc4c1; }
html[data-theme="dark"] .event-form-page .event-review-note { background:#302a1c; }
html[data-theme="dark"] .event-form-page .event-review-note strong { color:#ffdb85; }
html[data-theme="dark"] .event-form-page .event-review-note p { color:#d7cba9; }
html[data-theme="dark"] .event-form-page .event-form-field-errors { color:#ffaaa3; }
html[data-theme="dark"] .event-form-page .event-form-errors { border-color:#713c39; background:#301d1c; color:#ffaaa3; }
html[data-theme="dark"] .event-form-page .event-ticket-toggle-field { border-color:#665321; background:#282419; }
html[data-theme="dark"] .event-form-page .event-ticket-toggle-field > div p a { color:#ffc35c; }
html[data-theme="dark"] .event-form-page .peza-dialog-cancel { color:#c5cac7; }
html[data-theme="dark"] .event-form-page .event-stepper-track { background:#353a39; }
@media (max-width:760px) {
  .employer-profile-page .seller-setup-layout,.event-form-page .event-form-layout { grid-template-columns:minmax(0,1fr); }
  .employer-profile-page .seller-setup-layout > .peza-dialog-guide,.event-form-page .event-form-layout > aside { grid-column:1; grid-row:1; border-right:0; border-bottom:1px solid var(--setup-line,var(--event-form-line)); }
  .employer-profile-page .seller-setup-panel,.event-form-page .event-submit-form { grid-column:1; grid-row:2; }
}
@media (max-width:560px) {
  .employer-profile-page .seller-setup-panel { grid-template-columns:minmax(0,1fr); padding:19px 16px; }
  .employer-profile-page .seller-setup-panel .auth-field:has(textarea) { grid-column:1; }
  .employer-profile-page .seller-setup-actions { align-items:stretch; flex-direction:column-reverse; }
  .employer-profile-page .seller-setup-actions .button { width:100%; }
  .event-form-page .event-form-fields,.event-form-page .event-ticket-options { grid-template-columns:minmax(0,1fr); }
  .event-form-page .event-form-field-wide { grid-column:1; }
  .event-form-page .event-form-section { padding:20px 16px; }
}

/* Shared table redesign for dashboard, event finance, and marketplace lists. */
.dashboard-table-wrap { overflow:auto; border:1px solid var(--line); border-radius:13px; background:var(--surface); scrollbar-color:var(--line) transparent; scrollbar-width:thin; }
.dashboard-data-table { width:100%; min-width:720px; border-collapse:separate; border-spacing:0; color:var(--ink); font-size:.8125rem; text-align:left; }
.dashboard-data-table thead { position:sticky; z-index:2; top:0; }
.dashboard-data-table th { min-width:105px; padding:14px 15px; border-bottom:1px solid var(--line); background:#f1f2ef; color:#747a74; font-size:.64rem; font-weight:800; letter-spacing:.075em; text-transform:uppercase; white-space:nowrap; }
.dashboard-data-table td { min-width:105px; padding:14px 15px; border-bottom:1px solid var(--line); background:var(--surface); color:var(--ink-soft); font-size:.78rem; line-height:1.45; vertical-align:middle; transition:background-color .14s; }
.dashboard-data-table tbody tr:hover td { background:color-mix(in srgb,var(--lake) 5%,var(--surface)); }
.dashboard-data-table tbody tr:last-child td { border-bottom:0; }
.dashboard-data-table th:first-child,.dashboard-data-table td:first-child { min-width:190px; padding-left:17px; }
.dashboard-data-table th:last-child,.dashboard-data-table td:last-child { width:auto; min-width:100px; padding-right:17px; text-align:left; }
.dashboard-data-table td:has(.dashboard-table-actions),.dashboard-data-table td:has(.dashboard-icon-action),.dashboard-data-table td.ticket-order-actions-cell { white-space:nowrap; }
.dashboard-data-table .dashboard-table-primary { color:var(--ink); font-size:.8rem; font-weight:750; line-height:1.4; }
.dashboard-data-table .dashboard-table-secondary { display:block; margin-top:4px; color:var(--ink-soft); font-size:.68rem; line-height:1.4; }
.dashboard-data-table .dashboard-table-number { color:var(--ink); font-weight:750; font-variant-numeric:tabular-nums; white-space:nowrap; }
.dashboard-data-table .dashboard-table-code { padding:4px 7px; border:1px solid var(--line); border-radius:6px; background:var(--paper); color:var(--ink); font-size:.68rem; font-variant-numeric:tabular-nums; }
.dashboard-data-table .dashboard-table-empty { min-width:0; height:220px; padding:20px; background:var(--surface); color:var(--ink-soft); text-align:center; }
.dashboard-data-table .dashboard-resource-empty { min-height:190px; }
.dashboard-data-table td > a:not(.dashboard-icon-action) { color:#996000; }
.dashboard-data-table td > a:not(.dashboard-icon-action):hover { color:#714700; }
.dashboard-data-table .dashboard-table-item { display:block; max-width:260px; padding:3px 0; color:var(--ink); font-size:.72rem; }
.dashboard-data-table .dashboard-table-item small { color:var(--ink-soft); }
.dashboard-data-table .dashboard-table-actions { display:flex; align-items:center; justify-content:flex-start; gap:6px; }
.dashboard-data-table .dashboard-icon-action { display:inline-grid; width:34px; height:34px; place-items:center; border:1px solid var(--line); border-radius:9px; background:var(--paper); color:var(--ink-soft); transition:border-color .14s,background-color .14s,color .14s; }
.dashboard-data-table .dashboard-icon-action:hover { border-color:#e3b64f; background:#fff8e8; color:#845800; }
.dashboard-data-table .dashboard-icon-action .ui-button-icon { width:15px; height:15px; }
html[data-theme="dark"] .dashboard-data-table th { border-color:var(--line); background:#242829; color:#c1c6c3; }
html[data-theme="dark"] .dashboard-data-table td { border-color:var(--line); background:var(--surface); color:#c5cac7; }
html[data-theme="dark"] .dashboard-data-table tbody tr:hover td { background:#222526; }
html[data-theme="dark"] .dashboard-data-table .dashboard-table-primary,html[data-theme="dark"] .dashboard-data-table .dashboard-table-number { color:#f2f3f0; }
html[data-theme="dark"] .dashboard-data-table .dashboard-table-code { border-color:var(--line); background:#242829; color:#e9ebe8; }
html[data-theme="dark"] .dashboard-data-table td > a:not(.dashboard-icon-action) { color:#ffc35c; }
html[data-theme="dark"] .dashboard-data-table .dashboard-icon-action { border-color:var(--line); background:#242829; color:#d5d9d6; }
html[data-theme="dark"] .dashboard-data-table .dashboard-icon-action:hover { border-color:#8a6824; background:#302a1c; color:#ffd16a; }
@media (max-width:640px) {
  .dashboard-table-wrap { border-radius:10px; }
  .dashboard-data-table { min-width:660px; font-size:.75rem; }
  .dashboard-data-table th { padding:12px 12px; }
  .dashboard-data-table td { padding:12px; }
  .dashboard-data-table th:first-child,.dashboard-data-table td:first-child { min-width:165px; padding-left:13px; }
  .dashboard-data-table th:last-child,.dashboard-data-table td:last-child { padding-right:13px; }
}

/* Keep both dashboard forms and their controls full width. */
.employer-profile-page .seller-setup-panel { width:100%; max-width:none; grid-template-columns:minmax(0,1fr); }
.employer-profile-page .seller-setup-panel .auth-field,.employer-profile-page .seller-setup-panel .auth-field:has(textarea) { width:100%; grid-column:1; }
.employer-profile-page .seller-setup-panel .auth-field :is(input,select,textarea) { box-sizing:border-box; width:100%; max-width:100%; }
.event-form-page .event-submit-form { width:100%; max-width:none; }
.event-form-page .event-form-fields,.event-form-page .event-ticket-options { grid-template-columns:minmax(0,1fr); }
.event-form-page .event-form-field,.event-form-page .event-form-field-wide { width:100%; grid-column:1; }
.event-form-page .event-form-field :is(input,select,textarea) { box-sizing:border-box; width:100%; max-width:100%; }

.dashboard-table-tools { display:flex; align-items:center; flex-wrap:wrap; gap:9px; padding:12px 14px; border:1px solid var(--line); border-bottom:0; border-radius:13px 13px 0 0; background:var(--surface); }
.dashboard-table-filter-search,.dashboard-table-tools select { min-height:39px; padding:8px 11px; border:1px solid var(--line); border-radius:8px; outline:0; background:var(--paper); color:var(--ink); font:400 .75rem/1.4 var(--body); }
.dashboard-table-filter-search { width:min(100%,320px); flex:1 1 220px; }
.dashboard-table-filter-search::placeholder { color:var(--ink-soft); opacity:1; }
.dashboard-table-filter-search:focus,.dashboard-table-tools select:focus { border-color:#d39400; box-shadow:0 0 0 3px #f2a00722; }
.dashboard-table-tools select { min-width:145px; }
.dashboard-table-filter-count { margin-left:auto; color:var(--ink-soft); font-size:.68rem; white-space:nowrap; }
.dashboard-table-wrap:has(.dashboard-table-tools) { border-top-left-radius:0; border-top-right-radius:0; }
.dashboard-data-table .dashboard-table-index-heading,.dashboard-data-table .dashboard-table-index-cell { width:56px; min-width:56px; max-width:56px; padding-right:8px; padding-left:15px; color:var(--ink-soft); font-size:.69rem; font-variant-numeric:tabular-nums; text-align:center; }
.dashboard-data-table .dashboard-table-index-heading { background:#e9ebe7; color:#777e77; }
.dashboard-data-table .dashboard-table-index-cell { background:color-mix(in srgb,var(--paper) 75%,var(--surface)); font-weight:750; }
.dashboard-data-table tr[hidden],.dashboard-table-no-match[hidden] { display:none !important; }
.dashboard-data-table .dashboard-table-no-match td { min-width:0; padding:24px; color:var(--ink-soft); text-align:center; }
html[data-theme="dark"] .dashboard-table-filter-search,html[data-theme="dark"] .dashboard-table-tools select { color-scheme:dark; }
html[data-theme="dark"] .dashboard-data-table .dashboard-table-index-heading { background:#303536; color:#c1c6c3; }
html[data-theme="dark"] .dashboard-data-table .dashboard-table-index-cell { background:#202324; color:#aeb4b1; }
.ticket-tool-panel { padding:20px; }
.ticket-tool-note { display:flex; gap:14px; align-items:flex-start; padding:16px; border:1px solid var(--line); border-radius:12px; background:var(--paper); color:var(--ink); }
.ticket-tool-note > .peza-nav-icon { display:grid; width:40px; height:40px; flex:0 0 40px; place-items:center; border-radius:10px; background:#f2a0071a; color:#bd7900; }
.ticket-tool-note > div { min-width:0; }
.ticket-tool-note strong { color:var(--ink); font-size:.9rem; }
.ticket-tool-note p { margin:5px 0 0; color:var(--ink-soft); font-size:.78rem; line-height:1.6; }
.ticket-tool-panel > h2 { margin:24px 0 10px; color:var(--ink); font-size:1rem; }
.ticket-tool-event-list article { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:14px 2px; border-top:1px solid var(--line); }
.ticket-tool-event-list article > div { display:grid; gap:4px; }
.ticket-tool-event-list article strong { color:var(--ink); font-size:.85rem; }
.ticket-tool-event-list article small { color:var(--ink-soft); font-size:.72rem; }
.ticket-tool-event-list article > a,.dashboard-data-table td > a { color:#a66700; font-size:.75rem; font-weight:700; }
.ticket-list-search > button { width:auto !important; min-width:78px; padding:0 13px; font:650 .76rem var(--body); }
.ticket-list-search > select { flex:0 0 155px; }
.ticket-scanner-panel { width:min(100%,620px); margin:0 auto; padding:24px; }
.ticket-scanner-frame { display:grid; min-height:230px; place-items:center; overflow:hidden; border:1px dashed var(--line); border-radius:14px; background:var(--paper); text-align:center; }
.ticket-scanner-frame video { width:100%; max-height:360px; object-fit:cover; }
.ticket-scanner-frame > div { padding:28px; }
.ticket-scanner-frame .peza-nav-icon { display:grid; width:52px; height:52px; margin:0 auto 12px; place-items:center; border-radius:50%; background:#f2a0071a; color:#bd7900; }
.ticket-scanner-frame strong { color:var(--ink); }
.ticket-scanner-frame p,.ticket-scanner-help { color:var(--ink-soft); font-size:.75rem; line-height:1.6; }
.ticket-scanner-panel > .button { margin-top:14px; }
.ticket-code-form { display:grid; gap:8px; margin-top:24px; }
.ticket-code-form label { color:var(--ink); font-size:.78rem; font-weight:700; }
.ticket-code-form > div { display:flex; gap:8px; }
.ticket-code-form input { min-width:0; min-height:44px; flex:1; padding:0 12px; border:1px solid var(--line); border-radius:9px; background:var(--paper); color:var(--ink); }
.ticket-code-form button { min-height:44px; padding:0 15px; border:0; border-radius:9px; background:#f2a007; color:#201800; font-weight:700; cursor:pointer; }
.ticket-scanner-error { color:#b3261e; font-size:.8rem; }
.ticket-scanner-help { margin:13px 0 0; }
.scanner-app-overview { overflow:hidden; }
.scanner-app-hero { display:flex; align-items:center; gap:20px; padding:clamp(24px,5vw,48px); background:linear-gradient(120deg,#202722,#111714); color:#fff; }
.scanner-app-mark { display:grid; width:74px; height:74px; flex:0 0 74px; place-items:center; border:1px solid #f2a00755; border-radius:20px; background:#f2a0071a; color:#f2a007; }
.scanner-app-mark svg { width:34px; height:34px; }
.scanner-app-status { color:#f2a007; font-size:.65rem; font-weight:800; letter-spacing:.12em; }
.scanner-app-hero h2 { margin:7px 0; color:#fff; font-size:clamp(1.25rem,3vw,1.8rem); }
.scanner-app-hero p { max-width:620px; margin:0; color:#c3cbc5; font-size:.82rem; line-height:1.65; }
.scanner-app-features { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1px; background:var(--line); }
.scanner-app-features article { display:flex; gap:13px; padding:22px; background:var(--surface); }
.scanner-app-features article > span { display:grid; width:38px; height:38px; flex:0 0 38px; place-items:center; border-radius:11px; background:#f2a00718; color:#b87700; }
.scanner-app-features article > span svg { width:19px; height:19px; }
.scanner-app-features h3 { margin:1px 0 5px; color:var(--ink); font-size:.85rem; }
.scanner-app-features p,.scanner-app-next p { margin:0; color:var(--ink-soft); font-size:.75rem; line-height:1.6; }
.scanner-app-next { display:grid; gap:6px; padding:21px 24px; border-top:1px solid var(--line); background:var(--paper); }
.scanner-app-next strong { color:var(--ink); font-size:.84rem; }
.scanner-app-next a { width:max-content; margin-top:5px; color:#a66700; font-size:.76rem; font-weight:750; }
.partnership-shell { width:min(960px,calc(100% - 36px)); margin:0 auto; padding:clamp(36px,7vw,82px) 0 72px; }
.partnership-heading { max-width:720px; padding-bottom:38px; border-bottom:1px solid var(--line); }
.partnership-heading .eyebrow { margin:0 0 12px; color:#a66b00; font-size:.72rem; font-weight:800; text-transform:uppercase; }
.partnership-heading h1 { max-width:700px; margin:0; color:var(--ink); font-size:clamp(2rem,5vw,3.5rem); line-height:1.08; }
.partnership-heading > p:not(.eyebrow) { max-width:590px; margin:17px 0 22px; color:var(--ink-soft); font-size:1rem; line-height:1.7; }
.partnership-types { margin-top:18px; }
.partnership-types article { display:grid; grid-template-columns:54px minmax(0,1fr); gap:14px; padding:21px 0; border-bottom:1px solid var(--line); }
.partnership-types article > span { color:#a66b00; font-size:.75rem; font-weight:800; }
.partnership-types h2 { margin:0 0 5px; color:var(--ink); font-size:1rem; }
.partnership-types p { max-width:650px; margin:0; color:var(--ink-soft); font-size:.86rem; line-height:1.6; }
html[data-theme="light"] .site-header .header-location-popover a { color:#14201b; }
html[data-theme="light"] .site-header .header-location-popover a:hover,html[data-theme="light"] .site-header .header-location-popover a:focus-visible { background:#eceeea; color:#895a00; }
html[data-theme="dark"] .site-header .header-location-popover a { color:#f5f4f1; }
html[data-theme="dark"] .site-header .header-location-popover a:hover,html[data-theme="dark"] .site-header .header-location-popover a:focus-visible { background:#29251c; color:#f2a007; }
.rental-form { padding:clamp(18px,3vw,30px); }
.rental-form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.rental-form-field { display:grid; align-content:start; gap:7px; min-width:0; }
.rental-form-field.is-wide { grid-column:1/-1; }
.rental-form-field > label,.rental-form-field legend { color:var(--ink); font-size:.8rem; font-weight:700; }
.rental-form-field > input,.rental-form-field > select,.rental-form-field > textarea { box-sizing:border-box; width:100%; min-height:42px; padding:10px 12px; border:1px solid var(--line); border-radius:8px; background:var(--paper); color:var(--ink); font:400 .82rem/1.45 var(--body); }
.rental-form-field > textarea { min-height:130px; resize:vertical; }
.rental-form-field > small { color:var(--ink-soft); font-size:.72rem; line-height:1.5; }
.rental-form-field input[type="checkbox"] { width:17px; height:17px; accent-color:#d58b00; }
.rental-form-field fieldset { min-width:0; margin:0; padding:0; border:0; }
.rental-existing-images { display:grid; grid-template-columns:repeat(auto-fill,minmax(120px,1fr)); gap:12px; }
.rental-existing-images label { display:grid; gap:6px; min-width:0; color:var(--ink-soft); font-size:.7rem; }
.rental-existing-images img { width:100%; aspect-ratio:4/3; border-radius:8px; object-fit:cover; }
.rental-existing-images label span { display:flex; align-items:center; gap:5px; }
.rental-form-actions { display:flex; justify-content:flex-end; gap:9px; margin-top:22px; padding-top:16px; border-top:1px solid var(--line); }
.rental-detail-shell { width:min(1160px,calc(100% - 32px)); margin:0 auto 50px; }
.rental-detail-header { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:18px 0; }
.rental-detail-back { color:var(--ink-soft); font-size:.8rem; font-weight:650; text-decoration:none; }
.rental-detail-intro { padding:22px 0 26px; border-bottom:1px solid var(--line); }
.rental-detail-intro .eyebrow { margin:0 0 9px; color:#a66b00; font-size:.68rem; font-weight:800; text-transform:uppercase; }
.rental-detail-intro h1 { margin:0; color:var(--ink); font-size:clamp(1.7rem,3vw,2.5rem); line-height:1.12; }
.rental-detail-location { margin:8px 0 14px; color:var(--ink-soft); }
.rental-detail-price { color:var(--ink); font-size:1.2rem; }
.rental-detail-price small { color:var(--ink-soft); font-size:.76rem; font-weight:500; }
.rental-detail-gallery { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr)); gap:10px; margin:24px 0; }
.rental-detail-gallery img { width:100%; aspect-ratio:4/3; border-radius:9px; background:var(--surface); object-fit:cover; }
.rental-detail-columns { display:grid; grid-template-columns:minmax(0,1fr) minmax(260px,.55fr); gap:36px; }
.rental-detail-description h2,.rental-detail-facts h2 { margin:0 0 12px; color:var(--ink); font-size:1.15rem; }
.rental-detail-description .eyebrow { margin:0 0 7px; color:#a66b00; font-size:.68rem; font-weight:800; text-transform:uppercase; }
.rental-detail-description > div { color:var(--ink-soft); font-size:.9rem; line-height:1.7; }
.rental-detail-facts { align-self:start; padding:18px; border:1px solid var(--line); border-radius:10px; background:var(--surface); }
.rental-detail-facts dl { display:grid; gap:0; margin:0; }
.rental-detail-facts dl > div { display:flex; justify-content:space-between; gap:12px; padding:10px 0; border-top:1px solid var(--line); font-size:.78rem; }
.rental-detail-facts dt { color:var(--ink-soft); }
.rental-detail-facts dd { margin:0; color:var(--ink); font-weight:700; text-align:right; }
.rental-detail-facts .rental-contact,.rental-detail-facts .rental-copy-link { display:flex; width:100%; justify-content:center; margin-top:10px; }
@media(max-width:700px) { .rental-form-grid,.rental-detail-columns { grid-template-columns:1fr; } .rental-form-field.is-wide { grid-column:1; } .rental-detail-columns { gap:22px; } }
@media(max-width:600px) { .ticket-tool-panel,.ticket-scanner-panel { padding:14px; } .ticket-tool-event-list article { align-items:flex-start; flex-direction:column; gap:8px; } .ticket-list-search { flex-wrap:wrap; } .ticket-list-search > select { flex:1 1 140px; } .ticket-code-form > div { flex-direction:column; } }
@media(max-width:600px) { .scanner-app-hero { align-items:flex-start; flex-direction:column; } .scanner-app-features { grid-template-columns:1fr; } .scanner-app-features article { padding:17px; } }
.scanner-showcase { display:grid; grid-template-columns:minmax(260px,1.13fr) minmax(250px,.94fr) minmax(300px,1.03fr); gap:24px; align-items:center; min-height:650px; padding:clamp(24px,4vw,58px); overflow:hidden; background:#f2f3f5; color:#101113; }
.scanner-showcase-intro { align-self:start; padding:10px 0; }
.scanner-showcase-intro .eyebrow { margin:0 0 20px; color:#00afd7; font-size:.68rem; font-weight:800; letter-spacing:.13em; }
.scanner-showcase-intro h1 { margin:0; color:#111214; font-size:clamp(2.25rem,4.2vw,4.35rem); font-weight:650; letter-spacing:-.065em; line-height:.99; }
.scanner-showcase-intro h1 span { color:#9ba3af; }
.scanner-showcase-intro > p:not(.eyebrow) { max-width:390px; margin:23px 0 0; color:#747980; font-size:.9rem; line-height:1.75; }
.scanner-showcase-link { display:inline-flex; align-items:center; gap:18px; margin-top:26px; padding:12px 18px; border-radius:8px; background:#111214; color:#fff; font-size:.76rem; font-weight:700; }
.scanner-showcase-link:hover { background:#25272a; }
.scanner-showcase-middle { display:grid; gap:20px; align-self:stretch; }
.scanner-feature-card { position:relative; min-height:280px; padding:24px; overflow:hidden; border-radius:22px; }
.scanner-feature-cyan { min-height:320px; background:#15b9df; color:#071c23; }
.scanner-feature-slate { min-height:270px; background:#9da5b2; color:#fff; }
.scanner-feature-pill { display:flex; min-height:48px; align-items:center; gap:12px; padding:0 14px; border-radius:30px; background:#fff; color:#18232b; font-size:.92rem; font-weight:550; }
.scanner-feature-pill i { display:grid; width:32px; height:32px; flex:0 0 32px; place-items:center; border-radius:50%; background:#009dbd; color:#fff; font-size:1.1rem; font-style:normal; }
.scanner-feature-slate .scanner-feature-pill { background:#f3f4f6; color:#3b4654; }
.scanner-feature-slate .scanner-feature-pill i { background:#9da5b2; }
.scanner-feature-card > p { position:relative; z-index:1; max-width:270px; margin:17px 0 0; font-size:.84rem; line-height:1.7; }
.scanner-phone { position:absolute; display:grid; place-items:center; border:7px solid #20252b; border-radius:26px; background:#1c2229; box-shadow:0 14px 28px #12202a44; }
.scanner-phone-small { right:21px; bottom:-30px; width:130px; height:210px; transform:rotate(-7deg); }
.scanner-phone-speaker { position:absolute; top:8px; width:30px; height:4px; border-radius:4px; background:#555d62; }
.scanner-phone-screen { display:grid; width:calc(100% - 12px); height:calc(100% - 20px); align-content:center; justify-items:center; gap:9px; border-radius:17px; background:#f8fafb; color:#25303a; }
.scanner-phone-screen > span,.scanner-phone-screen > b { font-size:.48rem; }
.scanner-phone-screen > b { color:#258b54; }
.scanner-qr-art { display:grid; width:80px; height:80px; grid-template-columns:repeat(9,1fr); grid-template-rows:repeat(9,1fr); gap:2px; padding:4px; background:#fff; }
.scanner-qr-art i { background:#20252b; }
.scanner-qr-art i:nth-child(2n),.scanner-qr-art i:nth-child(5n) { background:transparent; }
.scanner-qr-art i:nth-child(1),.scanner-qr-art i:nth-child(3),.scanner-qr-art i:nth-child(7),.scanner-qr-art i:nth-child(9) { background:#20252b; }
.scanner-checkin-row { position:absolute; right:19px; bottom:22px; left:19px; display:flex; align-items:center; gap:10px; padding:12px; border-radius:12px; background:#ffffff23; }
.scanner-checkin-dot { display:grid; width:29px; height:29px; place-items:center; border-radius:50%; background:#fff; color:#238c5d; font-weight:800; }
.scanner-checkin-row > span:nth-child(2) { display:grid; gap:3px; }
.scanner-checkin-row b { color:#fff; font-size:.67rem; }
.scanner-checkin-row small { color:#f7f8fa; font-size:.62rem; }
.scanner-checkin-row > strong { margin-left:auto; color:#fff; font-size:.7rem; }
.scanner-showcase-visual { position:relative; display:flex; min-height:590px; align-self:center; flex-direction:column; justify-content:space-between; padding:22px; overflow:hidden; border-radius:23px; background:radial-gradient(ellipse at 80% 9%,#24bad2 0,transparent 42%),linear-gradient(145deg,#244c55,#15282f 62%,#65787a); color:white; }
.scanner-visual-topline { display:flex; align-items:center; justify-content:space-between; color:#f3f8f8; font-size:.63rem; font-weight:750; letter-spacing:.1em; }
.scanner-live-dot { color:#b8f4d5; letter-spacing:.06em; }
.scanner-app-preview { width:min(100%,310px); margin:auto; padding:15px; border:1px solid #ffffff35; border-radius:23px; background:#10191de8; box-shadow:0 22px 50px #07121566; transform:rotate(-3deg); }
.scanner-preview-head,.scanner-preview-footer { display:flex; align-items:center; justify-content:space-between; color:#dbe6e8; font-size:.56rem; }
.scanner-preview-logo { color:#fff; font-size:1.15rem; font-weight:800; letter-spacing:-.07em; }
.scanner-preview-logo span { color:#17bddb; }
.scanner-preview-window { display:grid; min-height:270px; align-content:center; justify-items:center; gap:14px; margin:12px 0; border-radius:14px; background:linear-gradient(135deg,#21353b,#10191d); }
.scanner-preview-window > span { color:#d6e0e2; font-size:.61rem; }
.scanner-focus-corners { position:relative; display:grid; width:170px; height:170px; place-items:center; }
.scanner-qr-large { width:115px; height:115px; opacity:.86; }
.scanner-focus-corners > i { position:absolute; width:24px; height:24px; border-color:#19c3e2; border-style:solid; }
.scanner-focus-corners > i:nth-child(1) { top:0; left:0; border-width:2px 0 0 2px; }
.scanner-focus-corners > i:nth-child(2) { top:0; right:0; border-width:2px 2px 0 0; }
.scanner-focus-corners > i:nth-child(3) { right:0; bottom:0; border-width:0 2px 2px 0; }
.scanner-focus-corners > i:nth-child(4) { bottom:0; left:0; border-width:0 0 2px 2px; }
.scanner-preview-footer { border-top:1px solid #ffffff20; padding-top:10px; }
.scanner-preview-footer b { color:#5ae29a; }
.scanner-visual-caption { display:grid; gap:7px; max-width:330px; }
.scanner-visual-caption strong { font-size:1.12rem; letter-spacing:-.03em; }
.scanner-visual-caption span { color:#e3eded; font-size:.73rem; line-height:1.55; }
html[data-theme="dark"] .scanner-showcase { background:#202325; }
html[data-theme="dark"] .scanner-showcase-intro h1 { color:#f7f8f9; }
html[data-theme="dark"] .scanner-showcase-intro h1 span { color:#a6aeb8; }
html[data-theme="dark"] .scanner-showcase-intro > p:not(.eyebrow) { color:#b4b9bf; }
html[data-theme="dark"] .scanner-showcase-link { background:#f4f5f6; color:#141619; }
@media(max-width:1120px) { .scanner-showcase { grid-template-columns:minmax(230px,.9fr) minmax(230px,1fr); } .scanner-showcase-visual { min-height:480px; grid-column:1/-1; } .scanner-app-preview { width:min(100%,420px); } }
@media(max-width:680px) { .scanner-showcase { grid-template-columns:1fr; gap:18px; padding:24px 18px; } .scanner-showcase-intro { padding:0; } .scanner-showcase-intro h1 { font-size:3rem; } .scanner-showcase-middle { gap:14px; } .scanner-feature-card,.scanner-feature-cyan,.scanner-feature-slate { min-height:260px; } .scanner-showcase-visual { min-height:470px; grid-column:auto; } }
.scanner-download-panel { display:flex; align-items:center; justify-content:space-between; gap:26px; padding:26px clamp(20px,4vw,54px); background:#fff; }
.scanner-download-panel .eyebrow { margin:0 0 6px; color:#00afd7; font-size:.63rem; font-weight:800; letter-spacing:.12em; }
.scanner-download-panel h2 { margin:0; color:#141618; font-size:1.25rem; letter-spacing:-.04em; }
.scanner-download-panel > div:first-child > p:last-child { margin:6px 0 0; color:#73787d; font-size:.75rem; }
.scanner-download-actions { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:9px; }
.scanner-download-button { display:flex; min-width:155px; min-height:54px; align-items:center; gap:10px; padding:8px 14px; border:1px solid #dfe2e4; border-radius:10px; background:#fff; color:#151719; font-size:1.1rem; }
.scanner-download-button > span { display:grid; gap:3px; }
.scanner-download-button strong { color:inherit; font-size:.72rem; }
.scanner-download-button small { color:#777d82; font-size:.62rem; }
.scanner-download-button:hover { border-color:#00afd7; }
.scanner-download-primary { border-color:#12b9dc; background:#12b9dc; color:#071a20; }
.scanner-download-primary small { color:#16363e; }
.scanner-download-disabled { opacity:.58; cursor:not-allowed; }
html[data-theme="dark"] .scanner-download-panel { background:#202325; }
html[data-theme="dark"] .scanner-download-panel h2 { color:#f5f6f7; }
html[data-theme="dark"] .scanner-download-panel > div:first-child > p:last-child { color:#b4b9bf; }
html[data-theme="dark"] .scanner-download-button:not(.scanner-download-primary) { border-color:#41474b; background:#282c2f; color:#f3f4f4; }
html[data-theme="dark"] .scanner-download-button small { color:#bec3c6; }
@media(max-width:850px) { .scanner-download-panel { align-items:flex-start; flex-direction:column; } .scanner-download-actions { justify-content:flex-start; } }
@media(max-width:520px) { .scanner-download-actions { width:100%; display:grid; grid-template-columns:1fr; } .scanner-download-button { width:auto; } }
.withdrawal-balance-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; margin:18px 0; }
.withdrawal-balance-card { display:grid; gap:8px; padding:22px; border:1px solid var(--line); border-radius:14px; background:var(--surface); }
.withdrawal-balance-card > span { color:var(--ink-soft); font-size:.75rem; font-weight:650; }
.withdrawal-balance-card > strong { color:var(--ink); font-size:clamp(1.35rem,3vw,2rem); letter-spacing:-.05em; }
.withdrawal-balance-card > small { color:var(--ink-soft); font-size:.7rem; }
.withdrawal-main-balance { border-color:#13b8d866; background:linear-gradient(120deg,#e7faff,var(--surface)); }
html[data-theme="dark"] .withdrawal-main-balance { background:linear-gradient(120deg,#18343a,#222729); }
.withdrawal-notice,.withdrawal-alert { display:flex; gap:12px; margin:16px 0; padding:15px 17px; border:1px solid #e7d5aa; border-radius:12px; background:#fff9e9; color:#403315; }
.withdrawal-notice { display:block; }
.withdrawal-notice strong,.withdrawal-alert strong { color:inherit; font-size:.79rem; }
.withdrawal-notice p,.withdrawal-alert p { margin:5px 0 0; color:inherit; font-size:.74rem; line-height:1.6; }
.withdrawal-alert > span { color:#9f7000; }
.withdrawal-alert svg { width:22px; }
.withdrawal-alert a { display:inline-block; margin-top:8px; color:#785300; font-size:.74rem; font-weight:750; }
.withdrawal-form-panel,.withdrawal-history { margin-top:18px; }
.withdrawal-form-panel > header,.withdrawal-history > header { padding:20px 22px 0; }
.withdrawal-form-panel > header h2,.withdrawal-history > header h2 { margin:0; color:var(--ink); font-size:1.15rem; }
.withdrawal-form-panel .eyebrow,.withdrawal-history .eyebrow { margin:0 0 4px; color:#b47700; font-size:.62rem; font-weight:800; letter-spacing:.12em; }
.withdrawal-form { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; padding:20px 22px 22px; }
.withdrawal-form-field { display:grid; align-content:start; gap:7px; }
.withdrawal-form-field label { color:var(--ink); font-size:.76rem; font-weight:700; }
.withdrawal-form-field input,.withdrawal-form-field select { box-sizing:border-box; width:100%; min-height:44px; padding:9px 12px; border:1px solid var(--line); border-radius:9px; background:var(--paper); color:var(--ink); font:400 .8rem/1.4 var(--body); }
.withdrawal-form-field small { color:var(--ink-soft); font-size:.68rem; }
.withdrawal-form-field .errorlist,.withdrawal-form .errorlist { margin:0; padding-left:17px; color:#b3261e; font-size:.7rem; }
.withdrawal-recipient-fields { display:grid; grid-column:1/-1; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.withdrawal-recipient-fields[hidden] { display:none; }
.withdrawal-confirm { display:flex; grid-column:1/-1; align-items:flex-start; gap:9px; color:var(--ink-soft); font-size:.72rem; line-height:1.5; }
.withdrawal-confirm input { margin-top:2px; accent-color:#08aecd; }
.withdrawal-form > button { grid-column:1/-1; justify-self:start; }
.withdrawal-empty { margin-top:18px; padding:22px; border:1px dashed var(--line); border-radius:12px; background:var(--surface); }
.withdrawal-empty strong { color:var(--ink); font-size:.85rem; }
.withdrawal-empty p { margin:6px 0 0; color:var(--ink-soft); font-size:.75rem; }
html[data-theme="dark"] .withdrawal-notice,html[data-theme="dark"] .withdrawal-alert { border-color:#61502a; background:#332d1d; color:#f2e2b3; }
html[data-theme="dark"] .withdrawal-alert a { color:#ffe39a; }
@media(max-width:700px) { .withdrawal-balance-grid { grid-template-columns:1fr; } .withdrawal-form { grid-template-columns:1fr; padding:17px; } .withdrawal-recipient-fields { grid-template-columns:1fr; } .withdrawal-form-panel > header,.withdrawal-history > header { padding:17px 17px 0; } }
.withdrawals-dashboard-page .dashboard-sales-metrics { margin:0; }
.withdrawals-dashboard-page .withdrawal-chart-grid { margin-top:18px; }
.withdrawals-dashboard-page .withdrawal-form-panel,.withdrawals-dashboard-page .withdrawal-history { overflow:hidden; border-color:var(--line); border-radius:14px; background:var(--surface); box-shadow:0 2px 9px #18231f08; }
.withdrawals-dashboard-page .withdrawal-history .dashboard-table-wrap { margin:0; }
.withdrawals-dashboard-page .withdrawal-form > button { min-height:44px; }
.peza-seller-dashboard-home .dashboard-event-metrics { grid-template-columns:repeat(3,minmax(0,1fr)); }
html[data-theme="dark"] .withdrawals-dashboard-page .withdrawal-form-panel,html[data-theme="dark"] .withdrawals-dashboard-page .withdrawal-history { border-color:#343a3b; background:#1b1e1f; }
html[data-theme="dark"] .withdrawals-dashboard-page .withdrawal-chart-grid .dashboard-panel { border-color:#343a3b; background:#1b1e1f; }
.dashboard-resource-panel > .dashboard-resource-search { display:flex; min-height:66px; align-items:center; gap:9px; padding:12px 14px; border-bottom:1px solid var(--line); background:var(--surface); }
.dashboard-resource-panel > .dashboard-resource-search > input[type="search"] { box-sizing:border-box; width:auto; min-width:0; min-height:42px; flex:1 1 240px; padding:9px 12px; border:1px solid var(--line); border-radius:9px; outline:0; background:var(--paper); color:var(--ink); font:400 .8rem/1.4 var(--body); }
.dashboard-resource-panel > .dashboard-resource-search > input[type="search"]::placeholder { color:var(--ink-soft); opacity:1; }
.dashboard-resource-panel > .dashboard-resource-search > input[type="search"]:focus { border-color:#d39400; box-shadow:0 0 0 3px #f2a00722; }
.dashboard-resource-panel > .dashboard-resource-search > button { display:grid; width:42px; height:42px; flex:0 0 42px; place-items:center; border:1px solid #e7bb5d; border-radius:9px; background:#f2a007; color:#211802; cursor:pointer; }
.dashboard-resource-panel > .dashboard-resource-search > button:hover { border-color:#d39400; background:#e49a00; }
.dashboard-resource-panel > .dashboard-resource-search > select { min-width:145px; min-height:42px; padding:8px 29px 8px 11px; border:1px solid var(--line); border-radius:9px; background:var(--paper); color:var(--ink); font:500 .75rem/1.4 var(--body); }
.dashboard-resource-tabs { display:flex; align-items:center; gap:7px; padding:13px 14px 0; overflow-x:auto; border-bottom:1px solid var(--line); background:var(--surface); scrollbar-width:thin; }
.dashboard-resource-tabs a { display:inline-flex; min-height:36px; flex:0 0 auto; align-items:center; padding:0 12px; border:1px solid transparent; border-radius:9px 9px 0 0; color:var(--ink-soft); font-size:.75rem; font-weight:650; white-space:nowrap; }
.dashboard-resource-tabs a:hover { color:var(--ink); background:var(--paper); }
.dashboard-resource-tabs a.is-active { border-color:var(--line); border-bottom-color:var(--surface); background:var(--surface); color:var(--ink); box-shadow:inset 0 2px #f2a007; }
html[data-theme="dark"] .dashboard-resource-panel > .dashboard-resource-search > select,html[data-theme="dark"] .dashboard-resource-panel > .dashboard-resource-search > input[type="search"] { color-scheme:dark; }
@media (max-width:640px) {
  .dashboard-table-tools { padding:10px; border-radius:10px 10px 0 0; }
  .dashboard-table-filter-search { flex-basis:100%; }
  .dashboard-table-tools select { flex:1 1 auto; }
  .dashboard-table-filter-count { margin-left:0; }
  .dashboard-data-table .dashboard-table-index-heading,.dashboard-data-table .dashboard-table-index-cell { width:44px; min-width:44px; max-width:44px; padding-right:6px; padding-left:9px; }
  .dashboard-resource-panel > .dashboard-resource-search { display:grid; grid-template-columns:minmax(0,1fr) 42px; }
  .dashboard-resource-panel > .dashboard-resource-search > input[type="search"] { grid-column:1; width:100%; }
  .dashboard-resource-panel > .dashboard-resource-search > button { grid-column:2; grid-row:1; }
  .dashboard-resource-panel > .dashboard-resource-search > select { grid-column:1/-1; width:100%; }
  .dashboard-resource-tabs { padding:10px 10px 0; }
}

/* Final homepage hero image rotation. */
body.home-page .hero {
  background-color: #111;
  background-image: linear-gradient(90deg,rgba(0,0,0,.82) 0%,rgba(0,0,0,.68) 48%,rgba(0,0,0,.38) 100%),url('https://i.guim.co.uk/img/media/61b2d8b4943961e73e652d457d44981a404d46d7/0_0_1685_1121/master/1685.jpg?width=1020&dpr=1&s=none&crop=none');
  background-position: center,center;
  background-size: cover,cover;
}
body.home-page .hero::before,
body.home-page .hero::after {
  position: absolute;
  z-index: 0;
  inset: 0;
  content: '';
  pointer-events: none;
  background-position: center,center;
  background-size: cover,cover;
}
body.home-page .hero::before {
  background-image: linear-gradient(90deg,rgba(0,0,0,.82) 0%,rgba(0,0,0,.68) 48%,rgba(0,0,0,.38) 100%),url('https://blog.userank.com/wp-content/uploads/2025/01/Detty-December-in-Nigeria-1024x576.jpg');
  opacity: 0;
  animation: peza-hero-slide-two 18s ease-in-out infinite;
}
body.home-page .hero::after {
  background-image: linear-gradient(90deg,rgba(0,0,0,.82) 0%,rgba(0,0,0,.68) 48%,rgba(0,0,0,.38) 100%),url('https://i.ytimg.com/vi/VMFL20-g7M0/maxresdefault.jpg');
  opacity: 0;
  animation: peza-hero-slide-three 18s ease-in-out infinite;
}
@media (prefers-reduced-motion: reduce) {
  body.home-page .hero::before,
  body.home-page .hero::after { animation: none; opacity: 0; }
}
