/* Shared public explorer: prototype-led presentation, isolated from theme cards. */
.kuku-discovery {
	--discovery-ink: #10104f;
	--discovery-muted: #555c99;
	--discovery-surface: #fff;
	--discovery-border: #dddbea;
	--discovery-soft: #f2edff;
	--discovery-accent: #7140df;
	color: var(--discovery-ink);
	font-family: system-ui, sans-serif;
	padding: clamp(2.5rem, 5vw, 5rem) 1.25rem;
	background: linear-gradient(155deg, #fffafa, #fcfaff 70%, #fff);
}
.kuku-discovery *, .kuku-discovery *::before, .kuku-discovery *::after { box-sizing: border-box; }
.kuku-discovery [hidden] { display: none !important; }
.kuku-discovery__inner { max-width: 1160px; margin-inline: auto; }
.kuku-discovery .kuku-discovery__title { color: var(--discovery-ink); font: 800 clamp(1.75rem, 3.3vw, 2.65rem)/1.12 system-ui, sans-serif; letter-spacing: -.04em; margin: 0 0 .65rem; }
.kuku-discovery__description { color: var(--discovery-muted); font-size: clamp(1rem, 1.7vw, 1.25rem); line-height: 1.5; margin: 0 0 1.5rem; }
.kuku-discovery__form { margin-block-end: 1.5rem; }
.kuku-discovery__search { display: flex; align-items: center; gap: .75rem; border: 1px solid var(--discovery-border); background: var(--discovery-surface); border-radius: 1.15rem; padding: .35rem .5rem .35rem 1rem; }
.kuku-discovery__search input { width: 100%; min-width: 0; border: 0; background: transparent; color: inherit; min-height: 48px; font: inherit; font-size: 1rem; box-shadow: none; }
.kuku-discovery__search input::placeholder { color: var(--discovery-muted); opacity: 1; }
.kuku-discovery__search input:focus { outline: 0; }
.kuku-discovery__search:focus-within { outline: 3px solid var(--discovery-accent); outline-offset: 3px; }
.kuku-discovery__toolbar { display: flex; flex-wrap: wrap; align-items: end; gap: .75rem; margin-block-start: 1rem; }
.kuku-discovery__field { display: grid; grid-template-columns: minmax(0, 1fr); min-width: 0; gap: .3rem; }
.kuku-discovery__field label { font-size: .8rem; font-weight: 650; }
.kuku-discovery__field--sort { margin-inline-start: auto; }
.kuku-discovery__field:has([name="category"]) { order: 0; max-width: 15rem; }
.kuku-discovery__chips { order: 1; }
.kuku-discovery__field:has([name="country"]) { order: 2; max-width: 16rem; }
.kuku-discovery__field--sort { order: 3; max-width: 15rem; }
.kuku-discovery__field:has([name="state"]) { order: 4; }
.kuku-discovery select { width: 100%; min-width: 0; max-width: 100%; border: 1px solid var(--discovery-border); color: var(--discovery-ink); background-color: var(--discovery-surface); border-radius: .9rem; min-height: 48px; padding: .5rem 2rem .5rem .9rem; font: inherit; font-size: 1rem; }
.kuku-discovery select[name="category"] { color: #fff; background-color: #75407c; border-color: #75407c; }
.kuku-discovery select option { color: var(--discovery-ink); background: var(--discovery-surface); }
.kuku-discovery__chips { display: flex; flex-wrap: wrap; gap: .5rem; align-items: center; }
.kuku-discovery__chip { display: inline-flex; align-items: center; justify-content: center; gap: .4rem; min-height: 48px; padding: .6rem .9rem; border: 1px solid var(--discovery-border); border-radius: 999px; color: var(--discovery-ink); background: var(--discovery-surface); cursor: pointer; font: inherit; font-size: .9rem; font-weight: 650; text-decoration: none; }
.kuku-discovery__chip[aria-pressed="true"] { background: var(--discovery-soft); border-color: var(--discovery-accent); }
.kuku-discovery__status { min-height: 1.5rem; color: var(--discovery-muted); font-size: .9rem; margin: .75rem 0; }
.kuku-discovery__results { transition: opacity 150ms ease; }
.kuku-discovery[aria-busy="true"] .kuku-discovery__results { opacity: .55; }
.kuku-discovery__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); grid-auto-rows: auto; gap: 1rem; align-items: stretch; }
.kuku-discovery .kuku-discovery__card { position: relative; display: flex; flex-direction: column; align-self: stretch; height: auto; min-width: 0; overflow: hidden; border-radius: 1.1rem; border: 1px solid var(--discovery-border); background: var(--discovery-surface); box-shadow: 0 8px 22px rgb(35 21 75 / 5%); }
.kuku-discovery__card--featured { grid-row: span 2; }
.kuku-discovery__media { position: relative; display: block; flex-shrink: 0; aspect-ratio: 16 / 9; overflow: hidden; background: var(--discovery-soft); color: var(--discovery-muted); }
.kuku-discovery__media img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform 250ms ease; }
.kuku-discovery__card--featured .kuku-discovery__media { aspect-ratio: 1 / 1; }
.kuku-discovery__card:hover .kuku-discovery__media img { transform: scale(1.025); }
.kuku-discovery__category, .kuku-discovery__featured, .kuku-discovery__state { display: inline-flex; align-items: center; border-radius: 999px; padding: .35rem .65rem; font-size: .75rem; font-weight: 700; line-height: 1.3; }
.kuku-discovery__category { position: absolute; inset-block-start: .75rem; inset-inline-start: .75rem; max-width: calc(100% - 4.25rem); background: var(--discovery-surface); color: var(--discovery-ink); }
.kuku-discovery__featured { position: absolute; inset-block-start: .75rem; inset-inline-end: 4rem; background: #ffe1ea; color: #a31448; max-width: calc(100% - 5rem); }
.kuku-discovery__state { background: var(--discovery-soft); color: var(--discovery-muted); margin-block-end: .65rem; }
.kuku-discovery__urgency { position: absolute; inset-block-end: .65rem; inset-inline: .65rem; display: flex; align-items: center; justify-content: center; gap: .35rem; padding: .45rem .55rem; border-radius: .6rem; background: #fff0c2; color: #753300; box-shadow: 0 2px 8px rgb(0 0 0 / 18%); font-size: .8rem; font-weight: 800; line-height: 1.3; overflow-wrap: anywhere; }
.kuku-discovery__urgency svg { flex-shrink: 0; width: 16px; height: 16px; }
.kuku-discovery__favorite { position: absolute; inset-block-start: .65rem; inset-inline-end: .65rem; z-index: 1; width: 48px; height: 48px; display: grid; place-items: center; background: var(--discovery-surface); color: var(--discovery-accent); border: 1px solid var(--discovery-border); border-radius: 50%; cursor: pointer; }
.kuku-discovery__favorite svg { width: 22px; height: 22px; }
.kuku-discovery__favorite[aria-pressed="true"] svg { fill: currentColor; }
.kuku-discovery .kuku-discovery__body { display: flex; flex-direction: column; flex: 1 1 auto; min-width: 0; padding: .8rem; color: var(--discovery-ink); background: var(--discovery-surface); }
.kuku-discovery .kuku-discovery__card-title { margin: 0 0 .45rem; font: 750 1.1rem/1.25 system-ui, sans-serif; letter-spacing: -.025em; color: var(--discovery-ink); overflow-wrap: anywhere; }
.kuku-discovery__card-title a { color: inherit; text-decoration: none; }
.kuku-discovery__card-title a:hover { text-decoration: underline; }
.kuku-discovery__excerpt { color: var(--discovery-muted); font-size: .9rem; line-height: 1.45; margin: 0 0 .8rem; overflow-wrap: anywhere; }
.kuku-discovery__progress-meta { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: baseline; gap: .35rem; margin-block: .4rem; color: var(--discovery-muted); font-size: .8rem; }
.kuku-discovery__progress-meta strong { color: var(--discovery-accent); font-size: 1rem; }
.kuku-discovery progress { display: block; width: 100%; height: .45rem; border: 0; border-radius: 999px; overflow: hidden; background: var(--discovery-soft); accent-color: var(--discovery-accent); }
.kuku-discovery progress::-webkit-progress-bar { background: var(--discovery-soft); border-radius: 999px; }
.kuku-discovery progress::-webkit-progress-value { background: var(--discovery-accent); border-radius: 999px; }
.kuku-discovery progress::-moz-progress-bar { background: var(--discovery-accent); border-radius: 999px; }
.kuku-discovery__money { color: var(--discovery-muted); font-size: .85rem; margin-block: .6rem; }
.kuku-discovery__metrics { margin-block-start: auto; padding-block-start: .25rem; }
.kuku-discovery__contributions { display: flex; align-items: center; gap: .35rem; font-size: .85rem; line-height: 1.3; color: var(--discovery-accent); }
.kuku-discovery__contributions svg { flex-shrink: 0; width: 16px; height: 16px; }
.kuku-discovery__card[data-has-goal="false"] .kuku-discovery__money { color: var(--discovery-ink); font-weight: 700; }
.kuku-discovery__card--compact .kuku-discovery__card-title { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; margin-block-end: .25rem; }
.kuku-discovery__card--compact .kuku-discovery__summary { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; margin-block-end: .35rem; }
.kuku-discovery__card--compact .kuku-discovery__money { margin-block: .4rem 0; }
.kuku-discovery__card--compact .kuku-discovery__featured { inset-block-start: 3.6rem; inset-inline-end: .65rem; }
.kuku-discovery__chip[data-value="trending"] svg, .kuku-discovery__chip[data-value="local"] svg { color: #ef326e; }
.kuku-discovery__chip[data-filter="featured"] svg { color: #f29600; }
.kuku-discovery__chip[data-value="international"] svg { color: #2644ce; }
.kuku-discovery__picker { position: relative; min-width: 0; }
.kuku-discovery__picker-button { width: 100%; min-height: 48px; display: flex; align-items: center; justify-content: space-between; gap: .7rem; padding: .6rem .9rem; border: 1px solid var(--discovery-border); border-radius: .9rem; background: var(--discovery-surface); color: var(--discovery-ink); font: 650 .9rem/1.3 system-ui, sans-serif; text-align: start; cursor: pointer; }
.kuku-discovery__picker-button::after { content: ''; width: .45rem; height: .45rem; border-inline-end: 2px solid currentColor; border-block-end: 2px solid currentColor; transform: rotate(45deg); flex-shrink: 0; margin-block-start: -.2rem; }
.kuku-discovery__picker:has([name="category"]) .kuku-discovery__picker-button { background: #75407c; color: #fff; border-color: #75407c; }
.kuku-discovery__picker-list { position: absolute; inset-block-start: calc(100% + .4rem); inset-inline-start: 0; z-index: 5; width: max-content; min-width: 100%; max-width: min(22rem, calc(100vw - 2rem)); max-height: min(26rem, 60vh); overflow-y: auto; padding: .45rem; border: 1px solid var(--discovery-border); border-radius: 1rem; background: var(--discovery-surface); color: var(--discovery-ink); box-shadow: 0 8px 25px rgb(35 21 75 / 12%); }
.kuku-discovery__field--sort .kuku-discovery__picker-list { inset-inline-start: auto; inset-inline-end: 0; }
.kuku-discovery__picker-option { display: flex; align-items: center; gap: .65rem; min-height: 44px; padding: .55rem .65rem; border-radius: .6rem; font-size: .85rem; cursor: pointer; }
.kuku-discovery__picker-option[aria-selected="true"] { background: var(--discovery-soft); color: var(--discovery-accent); font-weight: 700; }
.kuku-discovery__picker-option:is(:hover, .is-active) { outline: 2px solid var(--discovery-accent); outline-offset: -2px; background: var(--discovery-soft); }
.kuku-discovery__option-icon { display: inline-flex; flex-shrink: 0; color: var(--discovery-accent); }
.kuku-discovery__picker:has([name="category"]) .kuku-discovery__option-icon--user { color: #ef326e; }
.kuku-discovery__picker:has([name="category"]) .kuku-discovery__option-icon--heart { color: #3764ef; }
.kuku-discovery__picker:has([name="category"]) .kuku-discovery__option-icon--leaf { color: #13897a; }
.kuku-discovery__picker:has([name="category"]) :is(.kuku-discovery__option-icon--users, .kuku-discovery__option-icon--paw) { color: #db7800; }
.kuku-discovery__picker:has([name="category"]) .kuku-discovery__option-icon--cross { color: #e60039; }
.kuku-discovery__actions { display: flex; flex-wrap: wrap; gap: .55rem; margin-block-start: 1rem; }
.kuku-discovery__button { min-height: 48px; display: inline-flex; align-items: center; justify-content: center; gap: .4rem; border: 1px solid transparent; border-radius: .85rem; padding: .65rem .9rem; background: var(--discovery-soft); color: var(--discovery-ink); font: 650 .85rem/1.2 system-ui, sans-serif; text-decoration: none; cursor: pointer; }
.kuku-discovery__button--primary { background: linear-gradient(110deg, #d52a59, #a823b3); color: #fff; }
.kuku-discovery__button:hover, .kuku-discovery__chip:hover { filter: brightness(.96); }
.kuku-discovery__button:active, .kuku-discovery__favorite:active { transform: translateY(1px); }
.kuku-discovery button:disabled { opacity: .6; cursor: wait; }
.kuku-discovery :is(a, button, select, input):focus-visible { outline: 3px solid var(--discovery-accent); outline-offset: 3px; }
.kuku-discovery__pagination { display: flex; flex-wrap: wrap; gap: .5rem; justify-content: center; margin-block-start: 1.5rem; }
.kuku-discovery__pagination [aria-current="page"] { background: var(--discovery-accent); color: #fff; }
.kuku-discovery__more { display: flex; justify-content: center; margin-block-start: 1.75rem; }
.kuku-discovery__empty { padding: 3rem 1.5rem; text-align: center; border: 1px dashed var(--discovery-border); border-radius: 1rem; }
.kuku-discovery__error { color: #a31448; }
.kuku-discovery__sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
@media (min-width: 1000px) {
	.kuku-discovery__grid:has(.kuku-discovery__card--featured) { grid-template-columns: 1.25fr 1fr 1fr; }
	.kuku-discovery__card--featured .kuku-discovery__media { flex: 1; aspect-ratio: auto; min-height: 250px; }
	.kuku-discovery__card--featured .kuku-discovery__media img { position: absolute; inset: 0; }
	.kuku-discovery .kuku-discovery__card--featured .kuku-discovery__body { flex: 0; padding: 1.25rem; }
	.kuku-discovery .kuku-discovery__card--featured .kuku-discovery__card-title { font-size: 1.4rem; }
}
@media (max-width: 999px) {
	.kuku-discovery__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.kuku-discovery__grid:has(.kuku-discovery__card--featured) { grid-template-rows: auto; grid-auto-rows: auto; }
	.kuku-discovery__card--featured { grid-column: 1 / -1; grid-row: auto; }
	.kuku-discovery__card--featured .kuku-discovery__media { aspect-ratio: 16 / 9; }
}
@media (max-width: 540px) {
	.kuku-discovery { padding-inline: 1rem; }
	.kuku-discovery__toolbar { align-items: stretch; }
	.kuku-discovery__field { flex: 1 1 42%; min-width: 0; }
	.kuku-discovery__field:has(select) { max-width: none; }
	.kuku-discovery__field--sort { margin-inline-start: 0; }
	.kuku-discovery__field--sort { order: 1; }
	.kuku-discovery__field:has([name="state"]) { order: 3; }
	.kuku-discovery__chips { flex-basis: 100%; order: 4; }
	.kuku-discovery__grid { gap: .75rem; }
	.kuku-discovery__body { padding: .75rem; }
	.kuku-discovery .kuku-discovery__card-title { font-size: 1rem; }
	.kuku-discovery .kuku-discovery__card--compact .kuku-discovery__card-title { font-size: .9rem; }
	.kuku-discovery__card--compact .kuku-discovery__body { padding: .6rem; }
	.kuku-discovery__card--compact .kuku-discovery__summary { font-size: .78rem; }
	.kuku-discovery__card--compact .kuku-discovery__money { font-size: .75rem; }
	.kuku-discovery__card--compact .kuku-discovery__category { inset-block-start: .5rem; inset-inline-start: .4rem; max-width: calc(100% - 3.25rem); }
	.kuku-discovery__actions { flex-direction: column; }
	.kuku-discovery__card--featured .kuku-discovery__actions { flex-direction: row; }
	.kuku-discovery__card--featured .kuku-discovery__actions > * { flex: 1; }
	.kuku-discovery__favorite { width: 44px; height: 44px; }
	.kuku-discovery__category { font-size: .65rem; padding: .3rem .45rem; }
	.kuku-discovery__urgency { inset-inline: .4rem; inset-block-end: .4rem; font-size: .7rem; padding: .35rem; }
}
@media (max-width: 350px) { .kuku-discovery__grid { grid-template-columns: minmax(0, 1fr); } }
@media (prefers-reduced-motion: reduce) { .kuku-discovery *, .kuku-discovery *::before, .kuku-discovery *::after { transition: none !important; } }
[data-theme="kukudark"] .kuku-discovery {
	--discovery-ink: #f4f2ff; --discovery-muted: #c0bdd6; --discovery-surface: #232039;
	--discovery-border: #55506b; --discovery-soft: #38304f; --discovery-accent: #c6a3ff;
	background: #181524;
}
