/* Public destination pages — a light visual continuation of WKND's warm
   field-guide identity. Loaded explicitly on public directories and account
   support screens; discovery markup, copy, and controls remain authoritative. */

/* Account dialog uses the same controller as the public landing. Scope its
   presentation to discovery so the existing landing styles stay unchanged. */
/* Verified account access is a utility, not a competing acquisition CTA.
   Override legacy header button themes only after server-confirmed identity. */
body.wknd-brand .account-actions details > summary[data-account-entry-authenticated="true"],
body.wknd-brand .wknd-nav-login > summary[data-account-entry-authenticated="true"],
body .account-actions details > summary[data-account-entry-authenticated="true"],
body .wknd-nav-login > summary[data-account-entry-authenticated="true"] {
  display: flex;
  align-items: center;
  min-height: 44px;
  padding: 8px 10px;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: #21383c !important;
  font-size: 14px !important;
  font-weight: 700;
  line-height: 1.35;
  white-space: nowrap;
  cursor: pointer;
}
body [data-account-entry-authenticated="true"]::after {
  content: "⌄";
  margin-left: 7px;
}
body [data-account-entry-authenticated="true"]:hover {
  text-decoration: underline;
  text-underline-offset: 4px;
}
body [data-account-entry-authenticated="true"]:focus-visible {
  outline: 3px solid #7047eb;
  outline-offset: 3px;
}
@media (max-width: 380px) {
  body.wknd-brand .account-actions details > summary[data-account-entry-authenticated="true"],
  body.wknd-brand .wknd-nav-login > summary[data-account-entry-authenticated="true"],
  body .account-actions details > summary[data-account-entry-authenticated="true"],
  body .wknd-nav-login > summary[data-account-entry-authenticated="true"] {
    padding-inline: 6px;
    font-size: 13px !important;
  }
}
.wknd-public-entry #home-login-chooser {
  box-sizing: border-box;
  width: min(510px, calc(100vw - 24px));
  max-height: calc(100dvh - 32px);
  padding: 0;
  border: 2px solid var(--public-ink);
  border-radius: 12px;
  background: var(--public-paper);
  color: var(--public-ink);
  font: 15px/1.5 var(--wknd-public-sans, system-ui, sans-serif);
  box-shadow: 6px 6px 0 var(--public-coral);
}
.wknd-public-entry #home-login-chooser::backdrop { background: rgba(23,35,53,.48); }
.wknd-public-entry #home-login-chooser .join-chooser-inner { padding: clamp(16px,4vw,27px); }
.wknd-public-entry #home-login-chooser .join-chooser-header { display:flex; justify-content:space-between; align-items:flex-start; gap:16px; }
.wknd-public-entry #home-login-chooser h2 { margin:0; font-size:28px; line-height:1.2; }
.wknd-public-entry #home-login-chooser p { color:var(--public-muted); overflow-wrap:anywhere; }
.wknd-public-entry #home-login-chooser .eyebrow { margin:0 0 8px; font-size:12px; font-weight:800; text-transform:uppercase; letter-spacing:.08em; }
.wknd-public-entry #home-login-chooser .login-chooser-close { flex:0 0 48px; width:48px; height:48px; border:1px solid var(--public-ink); border-radius:50%; background:transparent; color:inherit; font:24px/1 system-ui; cursor:pointer; }
.wknd-public-entry #home-login-chooser .join-choices,
.wknd-public-entry #home-login-chooser .account-menu-actions { display:grid; gap:10px; }
.wknd-public-entry #home-login-chooser .account-menu-actions { margin-top:18px; padding-top:18px; border-top:1px solid var(--public-line); }
.wknd-public-entry #home-login-chooser .join-choice { box-sizing:border-box; display:flex; align-items:center; justify-content:space-between; gap:10px; min-width:0; width:100%; min-height:48px; padding:12px 14px; border:1px solid var(--public-ink); border-radius:7px; background:#fffaf1; color:inherit; font:700 16px/1.4 system-ui,sans-serif; text-decoration:none; text-align:left; cursor:pointer; }
.wknd-public-entry #home-login-chooser .join-choice:hover,
.wknd-public-entry #home-login-chooser .join-choice:focus-visible { background:var(--public-sun); }
.wknd-public-entry #home-login-chooser button:disabled { opacity:.65; cursor:wait; }
.wknd-public-entry #home-login-chooser [hidden],
.wknd-public-entry .wknd-nav-join[hidden] { display:none!important; }

.wknd-public-entry,
.wknd-goer-flow,
.pricing-page,
.about-page {
  --home-ink: #1c3446;
  --public-ink: var(--home-ink);
  --public-muted: #5d6b71;
  --public-paper: #fbf6eb;
  --public-line: #d9ded2;
  --public-coral: #c76b58;
  --public-sun: #e7b94f;
  --public-lavender: #eee8f3;
  --public-aqua: #e1eeee;
}

.about-page,
.pricing-page {
  --ink: var(--public-ink);
  --muted: var(--public-muted);
  --coral: var(--public-coral);
  --line: var(--public-line);
}

.pricing-page .pricing-page-heading::before {
  background: var(--public-coral);
}

/* Event discovery: replace the old electric-purple masthead with soft color
   fields and confident ink while keeping the live search and card hierarchy. */
.wknd-events-flow {
  background: var(--public-paper) !important;
  color: var(--public-ink) !important;
}
.wknd-events-flow .ev-nav {
  background: var(--public-ink) !important;
}
.wknd-events-flow .ev-nav-brand span { color: #e8b9a9 !important; }
.wknd-events-flow .ev-nav-link.primary {
  border-color: #f5e3c4 !important;
  background: #f5e3c4 !important;
  color: var(--public-ink) !important;
}
.wknd-events-flow .ev-hero {
  background: #f2e3d1 !important;
  color: var(--public-ink) !important;
}
.wknd-events-flow :where(.ev-hero-title, .ev-hero-sub) { color: var(--public-ink) !important; }
.wknd-events-flow .ev-hero-eyebrow {
  background: #e6d6e8 !important;
  color: #51465f !important;
}
.wknd-events-flow .ev-published-highlight {
  border-color: #d7c4d9 !important;
  background: #f6eff4 !important;
  box-shadow: 0 5px 14px rgba(28, 52, 70, .06) !important;
}
.wknd-events-flow .ev-published-highlight-kicker { color: #665572 !important; }
.wknd-events-flow .ev-loc-field {
  border-color: #d9ded2 !important;
  background: #fffaf1 !important;
}
.wknd-events-flow .ev-loc-field:focus-within {
  border-color: var(--public-coral) !important;
  box-shadow: 0 0 0 3px rgba(189, 91, 69, .13) !important;
}
.wknd-events-flow :where(.ev-filter, .ev-toolbar, .ev-results, .ev-empty, .ev-card) {
  --ev-accent: var(--public-coral);
}
.wknd-events-flow :where(
  .ev-type-pill.active, .ev-date-btn.active, .ev-vibe-btn.active,
  .ev-view-btn.active, .ev-filter-control.is-active, .ev-filter-open.has-filter
) {
  border-color: var(--public-ink) !important;
  background: var(--public-ink) !important;
  color: var(--public-paper) !important;
}
.wknd-events-flow :where(.ev-type-pill, .ev-date-btn, .ev-vibe-btn, .ev-view-btn, .ev-near-me-btn) {
  border-radius: 6px;
}
.wknd-events-flow :where(.ev-card, .ev-vendor-card, .ev-rsvp-sheet, .ev-loc-dropdown, .ev-published-highlight) {
  border-radius: 10px !important;
}
.wknd-events-flow :where(
  .ev-near-me-btn, .ev-card-cta, .ev-card-apply, .ev-card-follow,
  .ev-card-going, .ev-rsvp-primary-btn, .ev-notify-btn, .ev-empty-cta
) {
  border-radius: 6px !important;
}
.wknd-events-flow .ev-near-me-btn,
.wknd-events-flow :where(.ev-rsvp-primary-btn, .ev-notify-btn) {
  background: var(--public-ink) !important;
  color: var(--public-paper) !important;
}
.wknd-events-flow a:focus-visible,
.wknd-events-flow button:focus-visible,
.wknd-events-flow input:focus-visible,
.wknd-events-flow select:focus-visible {
  outline-color: var(--public-coral) !important;
}

/* Vendor directory: keep the useful catalog-first layout but give its
   category and profile surfaces the same soft, tactile treatment. */
.wknd-vendors-directory {
  background: var(--public-paper) !important;
  color: var(--public-ink) !important;
}
.wknd-vendors-directory .vd-nav { background: var(--public-ink) !important; }
.wknd-vendors-directory .vd-nav-brand span { color: #e8b9a9 !important; }
.wknd-vendors-directory .vd-nav-link.primary,
.wknd-vendors-directory .wknd-nav-join summary {
  border-color: var(--public-coral) !important;
  background: var(--public-coral) !important;
}
.wknd-vendors-directory .wknd-nav-join summary {
  border: 1px solid var(--public-line) !important;
  background: transparent !important;
  color: var(--public-ink) !important;
}
.wknd-vendors-directory .vd-hero {
  background: #e9e1ee !important;
  color: var(--public-ink) !important;
}
.wknd-vendors-directory :where(.vd-hero-title, .vd-hero-sub, .vd-search-label) {
  color: var(--public-ink) !important;
}
.wknd-vendors-directory .vd-hero-eyebrow {
  background: rgba(255, 250, 241, .74) !important;
  color: #51465f !important;
}
.wknd-vendors-directory .vd-search-input {
  border-color: #cfc4d4 !important;
  background: #fffaf1 !important;
  color: var(--public-ink) !important;
}
.wknd-vendors-directory .vd-search-input::placeholder { color: #7d8581 !important; }
.wknd-vendors-directory .vd-search-icon { color: var(--public-coral) !important; }
.wknd-vendors-directory .vd-cats-wrap { background: #fffaf1 !important; border-color: var(--public-line) !important; }
.wknd-vendors-directory .vd-category-label {
  width: min(960px, 100%); margin: 0 auto; padding: 10px 16px 0;
  color: var(--public-ink); font-size: 12px; font-weight: 750;
}
.wknd-vendors-directory .vd-cats { padding-top: 7px; }
.wknd-vendors-directory .vd-cat-pill.active {
  border-color: var(--public-ink) !important;
  background: var(--public-ink) !important;
  color: var(--public-paper) !important;
}
.wknd-vendors-directory :where(.vd-cat-pill, .vd-card) { border-radius: 9px !important; }
.wknd-vendors-directory .vd-card {
  border-color: var(--public-line) !important;
  background-color: #fffaf1 !important;
  box-shadow: 0 3px 0 rgba(28, 52, 70, .06) !important;
}
.wknd-vendors-directory :where(a, button, input):focus-visible { outline-color: var(--public-coral) !important; }

/* Saved events is a real account tool. These restrained overrides bring its
   lookup and event cards into the same system without changing any state UI. */
.wknd-goer-flow {
  background: var(--public-paper) !important;
  color: var(--public-ink) !important;
}
.wknd-goer-flow .gn {
  background: rgba(251, 246, 235, .96) !important;
  border-color: var(--public-line) !important;
}
.wknd-goer-flow .gn-brand { color: var(--public-ink) !important; }
.wknd-goer-flow .gn-back {
  border-color: #d8c9b7 !important;
  color: var(--public-ink) !important;
}
.wknd-goer-flow .gh {
  background: #e1eeee !important;
}
.wknd-goer-flow :where(.gh-title, .gh-sub) { color: var(--public-ink) !important; }
.wknd-goer-flow :where(.gl-task-link, .gl-card, .ge) {
  border-color: var(--public-line) !important;
  border-radius: 10px !important;
  background: #fffaf1 !important;
  box-shadow: 0 3px 0 rgba(28, 52, 70, .055) !important;
}
.wknd-goer-flow :where(.gl-title, .ge-name) { color: var(--public-ink) !important; }
.wknd-goer-flow :where(.gl-hint, .gl-task-link span, .ge-meta-row) { color: var(--public-muted) !important; }
.wknd-goer-flow :where(.gl-btn, .ge-cta.pri, .ge-verify-btn) {
  border-radius: 6px !important;
  background: var(--public-ink) !important;
  color: var(--public-paper) !important;
}
.wknd-goer-flow :where(.gl-account-benefit, .ge-verify) {
  border-color: #d8c9df !important;
  background: var(--public-lavender) !important;
  color: #4f4657 !important;
}
.wknd-goer-flow :where(.gl-input, .ge-verify-input):focus {
  border-color: var(--public-coral) !important;
  box-shadow: 0 0 0 3px rgba(189, 91, 69, .12) !important;
}
.wknd-goer-flow :where(a, button, input):focus-visible { outline-color: var(--public-coral) !important; }
.wknd-goer-flow .gl-help-details { margin: -4px 0 16px; }
.wknd-goer-flow .gl-help-details > summary {
  display: flex; align-items: center; min-height: 44px; color: #675477;
  font-size: 13px; font-weight: 750; cursor: pointer; text-decoration: underline;
  text-decoration-color: var(--public-coral); text-underline-offset: 3px;
}
.wknd-goer-flow .gl-help-details .gl-account-benefit {
  margin: 0; padding: 11px 12px; border-radius: 8px; line-height: 1.55;
}

/* Vendor profile setup and vendor account entry share the same sequence and
   scripts; only their color, tactile surfaces, and control finish are tuned. */
body.wknd-entry-vendor.wknd-entry-auth .vw-outer {
  background: transparent;
}
body.wknd-entry-vendor.wknd-entry-auth .vw-w0-logo {
  background: none;
  color: var(--public-ink);
  -webkit-text-fill-color: var(--public-ink);
}
body.wknd-entry-vendor.wknd-entry-auth :where(.vw-w0-h, .vw-h1) {
  color: var(--public-ink);
}
body.wknd-entry-vendor.wknd-entry-auth .vw-w0-sub {
  color: var(--public-muted);
}
body.wknd-entry-vendor.wknd-entry-auth .vw-logo,
body.wknd-entry-vendor.wknd-entry-auth :where(.vw-header-link, .vw-auth-mode-toggle) {
  color: #675477 !important;
}
body.wknd-entry-vendor.wknd-entry-auth .vw-prog .vw-seg.on { background: var(--public-coral) !important; }
body.wknd-entry-vendor.wknd-entry-auth :where(.vw-h1 em, .vw-lbl) { color: #675477 !important; }
body.wknd-entry-vendor.wknd-entry-auth .vw-btn-pri {
  border-radius: 6px !important;
  background: var(--public-ink) !important;
}
body.wknd-entry-vendor.wknd-entry-auth .vw-btn-sec {
  border-color: #bdaac5 !important;
  border-radius: 6px !important;
  color: #675477 !important;
}
body.wknd-entry-vendor.wknd-entry-auth :where(.vw-inp, .vw-phone-inp, .vw-otp-inp) {
  border-color: #d9cfdc !important;
  border-radius: 6px !important;
  background-color: #fffaf1 !important;
}
body.wknd-entry-vendor.wknd-entry-auth .vw-inp:focus {
  border-color: var(--public-coral) !important;
  box-shadow: 0 0 0 3px rgba(189, 91, 69, .12) !important;
}

body.wknd-vendor-setup {
  --home-ink: #1c3446;
  --public-ink: var(--home-ink);
  --public-muted: #5d6b71;
  --public-paper: #fbf6eb;
  --public-line: #d9ded2;
  --public-coral: #bd5b45;
  min-height: 100dvh;
  background: var(--public-paper) !important;
  color: var(--public-ink) !important;
  font-family: var(--wknd-public-sans, Manrope, ui-sans-serif, system-ui, sans-serif);
}
body.wknd-vendor-setup .vs-outer { color: var(--public-ink); }
body.wknd-vendor-setup :where(.vs-logo, .vs-step-lbl, .vs-lbl) { color: #675477 !important; }
body.wknd-vendor-setup .vs-seg.on { background: var(--public-coral) !important; }
body.wknd-vendor-setup :where(.vs-cat-tile, .vs-mini-card, .vs-offering-card, .vs-ig-match, .vs-ig-review) {
  border-color: var(--public-line) !important;
  border-radius: 10px !important;
  background: #fffaf1 !important;
  box-shadow: 0 4px 0 rgba(28, 52, 70, .055) !important;
}
body.wknd-vendor-setup :where(.vs-inp, .vs-textarea, .vs-ig-inp, .vs-cal-url-inp) {
  border-color: #d9cfdc;
  border-radius: 6px;
  background-color: #fffaf1;
}
body.wknd-vendor-setup :where(.vs-inp, .vs-textarea, .vs-ig-inp, .vs-cal-url-inp):focus {
  border-color: var(--public-coral);
  box-shadow: 0 0 0 3px rgba(189, 91, 69, .12);
}
body.wknd-vendor-setup :where(.vs-btn-pri, .vs-private-choice, .vs-ig-scan-btn) {
  border-radius: 6px !important;
  background: var(--public-ink) !important;
  color: var(--public-paper) !important;
}
body.wknd-vendor-setup .vs-cat-tile.selected {
  border-color: var(--public-coral) !important;
  background: #f7e7df !important;
}
body.wknd-vendor-setup .vs-body { color: var(--public-ink); }

/* About and pricing remain editorial/reference pages; share only the
   navigation, focus, and action language rather than imposing a new layout. */
.about-page .home-nav,
.pricing-page .pricing-nav { color: var(--public-ink); }
.about-page .role-nav a[aria-current="page"],
.pricing-page .pricing-nav-links a[aria-current="page"] {
  text-decoration-color: var(--public-coral) !important;
}
.about-page .account-signup,
.pricing-page .account-signup,
.pricing-page .ink-button {
  border-radius: 6px;
  box-shadow: 3px 3px 0 #e4b9a5;
}
.about-page :where(a, button, summary):focus-visible,
.pricing-page :where(a, button, input, summary):focus-visible {
  outline-color: var(--public-coral) !important;
}
.pricing-page :where(.pricing-disclosure, .organizer-plans) > summary {
  border-radius: 5px;
}

/* The role pages use the vendor-detail pattern: a practical benefit is visible
   in the summary, while the native disclosure offers a few useful next facts. */
.wknd-home.organizer-home,
.wknd-home.eventgoer-home {
  --public-role-ink: #21383c;
  --public-role-muted: #52676a;
  --public-role-paper: #fbf6eb;
  --public-role-lilac: #f7f3f8;
  --public-role-line: #d5cbd8;
  --public-role-accent: #945540;
}
.wknd-home :where(.public-role-benefits, .public-role-benefits *) { box-sizing: border-box; }
.wknd-home .public-role-benefits {
  padding: clamp(42px, 6vw, 68px) 0;
  border-bottom: 1px solid #e4d9c9;
  background: var(--public-role-paper);
}
.wknd-home .public-role-heading {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(260px, .8fr);
  column-gap: clamp(22px, 5vw, 68px);
  align-items: end;
}
.wknd-home .public-role-heading .eyebrow { grid-column: 1 / -1; }
.wknd-home .public-role-heading h2 {
  margin: 10px 0 0;
  color: var(--public-role-ink);
  font-size: clamp(30px, 4vw, 45px);
  letter-spacing: -.06em;
}
.wknd-home .public-role-heading > p:last-child {
  max-width: 400px;
  margin: 0 0 3px;
  color: var(--public-role-muted);
  font-size: 15px;
  line-height: 1.55;
}
.wknd-home .public-benefit-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px 12px;
  margin-top: 25px;
}
.wknd-home .public-benefit {
  align-self: start;
  min-width: 0;
  border: 1px solid var(--public-role-line);
  border-radius: 7px;
  background: var(--public-role-lilac);
  transition: background-color .18s ease, border-color .18s ease;
}
.wknd-home .public-benefit:hover { border-color: #bba9c3; background: #fbf8fb; }
.wknd-home .public-benefit > summary {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr) 18px;
  gap: 12px;
  min-height: 94px;
  align-items: center;
  padding: 14px 16px;
  cursor: pointer;
  list-style: none;
}
.wknd-home .public-benefit > summary::-webkit-details-marker { display: none; }
.wknd-home .public-icon {
  display: block;
  width: 40px;
  height: 40px;
  padding: 9px;
  border: 1px solid #d5c2b5;
  border-radius: 11px;
  color: var(--public-role-accent);
  background: #f5e8df;
  flex: none;
}
.wknd-home .public-benefit > summary > span { min-width: 0; }
.wknd-home .public-benefit strong {
  display: block;
  color: var(--public-role-ink);
  font-size: 16px;
  line-height: 1.3;
  letter-spacing: -.025em;
}
.wknd-home .public-benefit small {
  display: block;
  margin-top: 5px;
  color: var(--public-role-muted);
  font-size: 15px;
  line-height: 1.45;
}
.wknd-home .public-benefit > summary > i {
  position: relative;
  width: 18px;
  height: 18px;
  border: 1px solid #84928c;
  border-radius: 50%;
}
.wknd-home .public-benefit > summary > i::before,
.wknd-home .public-benefit > summary > i::after {
  position: absolute;
  top: 8px;
  left: 5px;
  width: 6px;
  height: 1.5px;
  border-radius: 2px;
  background: var(--public-role-ink);
  content: "";
}
.wknd-home .public-benefit > summary > i::after {
  transform: rotate(90deg);
  transition: transform .18s ease;
}
.wknd-home .public-benefit[open] > summary > i::after { transform: rotate(0); }
.wknd-home .public-benefit > summary:focus-visible {
  position: relative;
  z-index: 1;
  outline: 3px solid #bd5b45;
  outline-offset: 2px;
  border-radius: 6px;
}
.wknd-home .public-benefit-body {
  padding: 0 17px 17px 70px;
  color: #43585a;
  font-size: 16px;
  line-height: 1.5;
}
.wknd-home .public-benefit-body ul {
  margin: 0;
  padding-left: 19px;
}
.wknd-home .public-benefit-body li + li { margin-top: 4px; }
.wknd-home .public-benefit-body a {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  margin-top: 8px;
  color: var(--public-role-ink);
  font-weight: 800;
  text-decoration-color: #bd5b45;
  text-underline-offset: 4px;
}
.wknd-home .public-benefit-body :where(a, li) { overflow-wrap: anywhere; }

.about-page .about-founder-story {
  margin-top: 21px;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}
.about-page .about-founder-story > summary {
  display: flex;
  min-height: 48px;
  align-items: center;
  color: var(--ink);
  font-size: 15px;
  font-weight: 800;
  cursor: pointer;
  list-style: none;
}
.about-page .about-founder-story > summary::-webkit-details-marker { display: none; }
.about-page .about-founder-story > summary::after {
  margin-left: auto;
  color: var(--coral);
  content: "+";
  font-size: 22px;
}
.about-page .about-founder-story[open] > summary::after { content: "−"; }
.about-page .about-founder-story-body {
  padding: 0 0 15px;
  color: var(--public-muted);
  font-size: 16px;
  line-height: 1.6;
}
.about-page .about-founder-story-body p { margin: 0 0 12px; }
.about-page .about-founder-story-body p:last-child { margin-bottom: 0; }
.about-page .contact-link {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  align-content: center;
  align-items: center;
  min-height: 76px;
  column-gap: 10px;
}
.about-page .contact-link .public-icon {
  grid-column: 1;
  grid-row: 1 / span 3;
  width: 36px;
  height: 36px;
  padding: 8px;
  color: #945540;
  background: #f5e8df;
  border: 1px solid #d5c2b5;
  border-radius: 10px;
}
.about-page .contact-link :where(span, strong, small) { grid-column: 2; }

/* Pricing is a public reference page, but planned terms remain readable at a
   glance and are never presented as a checkout or active subscription. */
.pricing-page .audience-card { border-radius: 0; }
.pricing-page .audience-card :where(.card-lead, li) { font-size: 15px; line-height: 1.5; }
.pricing-page .audience-card .free-price span { font-size: 11px; }
.pricing-page .planned-content :where(p, li),
.pricing-page .organizer-plans > div p,
.pricing-page .faq-list p {
  font-size: 16px;
  line-height: 1.55;
}
.pricing-page .plan-benefits li { font-size: 16px; line-height: 1.55; }
.pricing-page .planned-content .card-note { margin-top: 12px; }
.pricing-page .planned-content .plan-math { font-weight: 800; }
.pricing-page .pricing-disclosure > summary,
.pricing-page .organizer-plans > summary {
  padding-block: 7px;
}
.pricing-page .audience-card {
  border-radius: 7px;
  overflow: visible;
}
.pricing-page .card-number {
  display: flex;
  align-items: center;
  gap: 11px;
  min-height: 42px;
}
.pricing-page .pricing-audience-icon,
.pricing-page .planned-icon,
.about-page .about-story-icon {
  display: block;
  flex: none;
  width: 40px;
  height: 40px;
  padding: 9px;
  border: 1px solid #d5c2b5;
  border-radius: 11px;
  color: #945540;
  background: #f5e8df;
}
.pricing-page .card-number span {
  display: flex;
  min-width: 0;
  align-items: baseline;
  gap: 8px;
  margin: 0;
  color: #52676a;
  font: 700 11px/1.4 var(--wknd-public-sans, Manrope, sans-serif);
  letter-spacing: .06em;
  text-transform: uppercase;
}
.pricing-page .card-number span b {
  color: #945540;
  font: 500 10px/1 "DM Mono", monospace;
}
.pricing-page :where(.pricing-disclosure, .organizer-plans) {
  border: 1px solid #d5cbd8;
  border-radius: 7px;
  background: #f7f3f8;
}
.pricing-page .audience-card .planned-block > summary,
.pricing-page .audience-card .organizer-plans > summary {
  position: relative;
  display: grid;
  grid-template-columns: 40px minmax(0, 1fr);
  min-height: 80px;
  align-content: center;
  align-items: center;
  column-gap: 10px;
  padding-right: 35px;
}
.pricing-page .planned-block > summary::before,
.pricing-page .organizer-plans > summary::before {
  content: "+";
  position: absolute;
  right: 10px;
  top: 50%;
  transform: translateY(-50%);
  display: grid;
  place-items: center;
  width: 18px;
  height: 18px;
  border: 1px solid #84928c;
  border-radius: 50%;
  color: #21383c;
  font-size: 13px;
  line-height: 1;
}
.pricing-page .planned-block[open] > summary::before,
.pricing-page .organizer-plans[open] > summary::before { content: "−"; }
.pricing-page .planned-icon {
  grid-column: 1;
  grid-row: 1 / span 4;
  width: 36px;
  height: 36px;
  padding: 8px;
}
.pricing-page .planned-block .planned-label,
.pricing-page .organizer-plans > summary .planned-label {
  grid-column: 2;
  margin: 0;
  color: #675477;
}
.pricing-page .planned-summary,
.pricing-page .organizer-plans > summary > strong {
  grid-column: 2;
}
.pricing-page .planned-summary { flex-wrap: wrap; }
.pricing-page .planned-summary strong {
  color: #21383c;
  font-size: 15px;
}
.pricing-page .planned-block > summary::after,
.pricing-page .organizer-plans > summary::after {
  grid-column: 2;
}
.pricing-page .planned-block[open],
.pricing-page .organizer-plans[open] {
  border-color: #bba9c3;
  background: #fbf8fb;
}
.pricing-page .organizer-plans > div {
  border-color: #d5cbd8;
}
.pricing-page .faq-list details {
  overflow: hidden;
  border: 1px solid #d5cbd8;
  border-radius: 7px;
  background: #f7f3f8;
}
.pricing-page .faq-list details + details { margin-top: 8px; }
.pricing-page .faq-list summary {
  padding: 8px 48px 8px 14px;
}
.pricing-page .faq-list summary::after {
  top: 50%;
  right: 12px;
  display: grid;
  width: 26px;
  height: 26px;
  place-items: center;
  border: 1px solid #d5c2b5;
  border-radius: 9px;
  background: #f5e8df;
  color: #945540;
  font-size: 19px;
  line-height: 1;
  transform: translateY(-50%);
}
.pricing-page .faq-list details[open] summary::after { content: "−"; }
.pricing-page .faq-list details > p { padding-inline: 14px; }
.about-page .about-founder-story > summary {
  display: grid;
  grid-template-columns: 40px minmax(0, 1fr) 22px;
  gap: 11px;
  min-height: 68px;
}
.about-page .about-story-icon {
  width: 38px;
  height: 38px;
  padding: 8px;
}
.about-page .about-story-summary-copy strong {
  display: block;
  color: var(--ink);
  font-size: 15px;
  line-height: 1.3;
}
.about-page .about-story-summary-copy small {
  display: block;
  margin-top: 3px;
  color: var(--public-muted);
  font-size: 14px;
  font-weight: 500;
  line-height: 1.4;
}
.about-page .about-founder-story > summary::after {
  grid-column: 3;
  grid-row: 1;
  justify-self: center;
}
.about-page .about-founder-story > summary:focus-visible {
  position: relative;
  z-index: 1;
  outline: 3px solid var(--coral);
  outline-offset: 3px;
  border-radius: 6px;
}
@media (max-width: 420px) {
  .pricing-page .audience-card .planned-block > summary,
  .pricing-page .audience-card .organizer-plans > summary {
    grid-template-columns: 36px minmax(0, 1fr);
    column-gap: 8px;
  }
  .pricing-page .planned-summary {
    align-items: flex-start;
    flex-direction: column;
    gap: 3px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .pricing-page .faq-list summary::after { transform: translateY(-50%); }
}

@media (max-width: 760px) {
  .wknd-home .public-role-benefits { padding: 43px 0 46px; }
  .wknd-home .public-role-heading { grid-template-columns: 1fr; gap: 8px; }
  .wknd-home .public-role-heading .eyebrow { grid-column: auto; }
  .wknd-home .public-benefit-grid { grid-template-columns: 1fr; gap: 8px; margin-top: 19px; }
  .wknd-home .public-benefit > summary { min-height: 94px; padding: 12px; }
  .wknd-home .public-benefit-body { padding: 0 14px 15px; }
}
@media (max-width: 380px) {
  .wknd-home .public-benefit > summary {
    grid-template-columns: 36px minmax(0, 1fr) 16px;
    gap: 9px;
    padding: 11px;
  }
  .wknd-home .public-icon { width: 36px; height: 36px; padding: 8px; }
  .wknd-home .public-benefit small { font-size: 14px; }
  .wknd-home .public-benefit-body { font-size: 16px; }
}
@media (max-width: 360px) {
  .wknd-home .home-shell { width: min(100% - 28px, 1120px); }
  .about-page .contact-link { grid-template-columns: 36px minmax(0, 1fr); gap: 8px; padding-inline: 11px; }
}
@media (prefers-reduced-motion: reduce) {
  .wknd-home .public-benefit,
  .wknd-home .public-benefit > summary > i::after { transition: none; }
}

/* Recruiting remains available after the vendor catalog, but doesn't compete
   with search, category selection, or profile browsing. */
.wknd-vendors-directory .vd-footer {
  padding-block: 30px;
}
.wknd-vendors-directory .vd-footer-title {
  font-size: 16px;
}
.wknd-vendors-directory .vd-footer-sub {
  max-width: 48ch; margin-inline: auto; line-height: 1.5;
}
.wknd-vendors-directory .vd-footer-link {
  min-height: 44px; display: inline-flex; align-items: center; justify-content: center;
  border: 1px solid rgba(28,52,70,.22); border-radius: 4px;
  background: transparent !important; color: #d7dfeb !important;
}
.wknd-vendors-directory .vd-footer-link:hover {
  background: rgba(255,255,255,.08) !important;
}

@media (max-width: 680px) {
  /* Let a real listing enter the first screen sooner; search stays available
     without making the editorial introduction compete with the results. */
  html body.wknd-brand.wknd-events-flow .ev-hero { padding-block: 24px 20px !important; }
  html body.wknd-brand.wknd-events-flow .ev-hero-title {
    font-size: clamp(25px, 7vw, 34px) !important;
    line-height: 1.04 !important;
  }
  html body.wknd-brand.wknd-events-flow .ev-hero-sub {
    max-width: 42ch;
    margin-top: 8px !important;
    font-size: 13px !important;
    line-height: 1.45 !important;
  }
  /* Keep the account destination and participation explanation available,
     without a full-width primary account button outranking local results.
     Opening the explanation grows its row naturally, including at 320px. */
  html body.wknd-brand.wknd-events-flow .ev-goer-guide {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: start;
    gap: 8px;
    padding: 10px 12px;
    margin-bottom: 14px;
    box-shadow: none;
  }
  html body.wknd-brand.wknd-events-flow .ev-goer-guide h2 {
    font-size: 14px;
    margin-bottom: 0;
    line-height: 1.3;
  }
  html body.wknd-brand.wknd-events-flow .ev-goer-guide summary { min-height: 44px; }
  html body.wknd-brand.wknd-events-flow .ev-goer-guide > a {
    width: auto;
    min-height: 44px;
    padding-inline: 12px;
    background: transparent;
    color: #5140c2;
    border: 1px solid #e6dce8;
  }
  .wknd-events-flow .ev-filter,
  .wknd-events-flow .ev-toolbar { scroll-margin-top: 72px; }
  .wknd-events-flow .ev-card {
    overflow: hidden;
    border-color: #e6dce8 !important;
    background: #fffdfb !important;
    box-shadow: 0 4px 14px rgba(41, 36, 67, .07) !important;
  }
  .wknd-events-flow .ev-card-img {
    min-height: 108px;
    aspect-ratio: 2.45 / 1;
    background: #eee8f3;
  }
  .wknd-events-flow .ev-card-img > img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    background: #eee8f3;
  }
  .wknd-events-flow .ev-card-body { padding: 13px 14px 14px; }
  .wknd-events-flow .ev-card-name {
    color: #252344;
    font-size: 17px;
    line-height: 1.2;
  }
  .wknd-events-flow .ev-card-date,
  .wknd-events-flow .ev-card-loc { color: #625f78; }
  .wknd-events-flow .ev-card-actions { margin-top: 10px; }
  .wknd-vendors-directory .vd-hero { background-image: none !important; }
  .wknd-goer-flow .gh { padding-block: 32px 28px; }
}

@media (prefers-reduced-motion: reduce) {
  .wknd-events-flow .ev-card,
  .wknd-events-flow .ev-card * { scroll-behavior: auto !important; transition-duration: .01ms !important; }
}