/* AIRDROP public-page system layer.
   Loaded after legacy public.css so every public route shares the Discover app's
   Google Sans typography, Spotify-inspired surfaces and compact interaction rules. */

body.sp {
  font-family: var(--sp-font);
  background: var(--sp-black);
  color: var(--sp-text);
}

/* Legacy templates carried explicit Birzia declarations. The public app shell
   intentionally owns typography now, including nested cards, forms and dialogs. */
body.sp :where(h1,h2,h3,h4,h5,h6,p,a,button,input,select,textarea,label,small,strong,span,li,summary,figcaption) {
  font-family: var(--sp-font) !important;
}

body.sp .sp-content {
  min-height: 100%;
  background: var(--sp-bg);
}

body.sp .container { width: min(100% - 48px, 1440px); }
body.sp :where(.listing-page,.holiday-page,.mag-main,.mag-article-main,.search-results-main,.profile-page,.login-page,.producer-page,.artist-main,.wk-shell,.ev-main,.amn) {
  background: var(--sp-bg);
  color: var(--sp-text);
}

/* Shared application surfaces — compact, dark and without raw decorative borders. */
body.sp :where(.glass,.listing-hero,.hol-events,.mag-card,.mag-hero,.sres-card,.profile-hero__card,.login-card,.producer-card,.wk-link,.ev-section,.club-card,.wcard,.hol-card) {
  background-color: var(--sp-elev-1);
  border-color: transparent;
  box-shadow: none;
}
body.sp :where(.mag-card,.sres-card,.producer-card,.wk-link,.club-card,.wcard,.hol-card) {
  border-radius: var(--sp-r-card);
  overflow: hidden;
  transition: background-color .18s ease, transform .18s ease;
}
body.sp :where(.mag-card,.sres-card,.producer-card,.wk-link,.club-card,.wcard,.hol-card):hover {
  background-color: var(--sp-card-2);
  transform: translateY(-2px);
}

body.sp :where(.listing-hero,.mag-mast,.sres-hero,.profile-hero,.producer-page__head,.wk-hero) {
  background-color: var(--sp-bg);
  border: 0;
}
body.sp :where(.listing-hero__title,.hol-hero__title,.mag-mast__title,.mag-article__title,.sres-hero__title,.profile-hero__name,.producer-page__title,.artist-hero__name,.ev-hero__title,.club-hero__title) {
  letter-spacing: -.035em;
  line-height: 1.04;
}
body.sp :where(.listing-hero__sub,.hol-hero__desc,.mag-mast__lede,.mag-article__excerpt,.sres-hero__sub,.profile-hero__bio,.producer-page__sub,.artist-hero__desc,.ev-hero__desc,.club-hero__tagline) {
  color: var(--sp-text-2);
}

/* Pills and controls follow the same geometry as the main Discover page. */
body.sp :where(.btn,.evfilter,.hol-filter__chip,.mag-chip,.profile-chip,.wk-tab,.pagination__link,.sres-filter,.genre-hero-wa,.club-hero__chip,.ev-badge,.hol-hero__chip) {
  border-radius: var(--sp-pill);
  font-weight: 700;
}
body.sp :where(.btn--primary,.login-submit,.producer-card__cta,.hol-empty__cta,.sres-empty__cta) {
  background: var(--sp-grad);
  color: #fff;
  border: 0;
  box-shadow: none;
}
body.sp :where(.btn--ghost,.btn--glass,.evfilter,.hol-filter__chip,.mag-chip,.profile-chip,.wk-tab,.pagination__link,.sres-filter) {
  background: var(--sp-elev-2);
  color: var(--sp-text);
  border-color: transparent;
}
body.sp :where(.btn--ghost,.btn--glass,.evfilter,.hol-filter__chip,.mag-chip,.profile-chip,.wk-tab,.pagination__link,.sres-filter):hover,
body.sp :where(.evfilter.is-active,.hol-filter__chip.is-active,.wk-tab.is-active,.pagination__link--current,.sres-filter.is-active) {
  background: var(--sp-card-2);
  color: var(--sp-text);
}

body.sp :where(input,select,textarea,.evfilters__bar,.sres-form__bar,.login-input,.amn-input) {
  background-color: var(--sp-elev-2);
  color: var(--sp-text);
  border-color: transparent;
  box-shadow: none;
}
body.sp :where(input,select,textarea):focus-visible {
  outline: 2px solid var(--sp-accent);
  outline-offset: 2px;
}

body.sp :where(.eyebrow,.mag-eyebrow,.hol-hero__eyebrow,.profile-hero__eyebrow,.producer-page__eyebrow,.ev-badge,.wcard__day,.hol-card__when,.sres-card__meta) {
  color: var(--sp-text-2);
  font-size: 13px;
  font-weight: 700;
}
body.sp :where(.section__sub,.listing-count,.mag-meta,.sres-card__sub,.wcard__body span,.hol-card__place) { color: var(--sp-text-2); }

body.sp :where(.events-grid,.clubs-grid,.mag-grid,.sres-grid,.hol-grid) { gap: 16px; }
body.sp :where(.section,.listing-section,.mag-section,.hol-events,.ev-section,.profile-section) { padding-block: 28px 54px; }

/* Search is an app utility: compact neutral surfaces, with the AIRDROP accent
   reserved for the active filter and submit action. */
body.sp .sres-hero::before { display: none; }
body.sp .sres-hero__title {
  background: none;
  -webkit-background-clip: initial;
  background-clip: initial;
  color: var(--sp-text);
}
body.sp .sres-form__bar {
  background: var(--sp-elev-2);
  border: 0;
  box-shadow: none;
  padding: 6px 8px 6px 18px;
}
body.sp .sres-form__bar:focus-within {
  border: 0;
  box-shadow: 0 0 0 2px var(--sp-accent);
}
body.sp .sres-form__bar input,
body.sp .sres-form__bar input:focus,
body.sp .sres-form__bar input:focus-visible {
  background: transparent;
  border: 0;
  outline: 0;
  box-shadow: none;
  font-weight: 400;
}
body.sp .sres-form__bar button {
  border-radius: var(--sp-pill);
  background: var(--sp-grad);
  letter-spacing: .04em;
}
body.sp .sres-filter {
  background: var(--sp-elev-2);
  border: 0;
  color: var(--sp-text-2);
}
body.sp .sres-filter:hover { background: var(--sp-card-2); border: 0; color: var(--sp-text); }
body.sp .sres-filter.is-active { background: var(--sp-grad); border: 0; box-shadow: none; color: #fff; }
body.sp .sres-group__count { background: var(--sp-elev-2); border: 0; color: var(--sp-text-2); }
body.sp .sres-card { background: var(--sp-elev-1); border: 0; border-radius: var(--sp-r-card); }
body.sp .sres-card:hover { background: var(--sp-card-2); border: 0; }
body.sp .sres-card__media { background: #282828; }
body.sp .sres-card__placeholder { background: #282828; }
body.sp .sres-card__meta { color: var(--sp-text-2); }
body.sp .sres-more-btn { background: var(--sp-elev-2); border: 0; color: var(--sp-text); }
body.sp .sres-more-btn:hover { background: var(--sp-card-2); }

@media (max-width: 767px) {
  body.sp .container { width: min(100% - 32px, 1440px); }
  body.sp :where(.section,.listing-section,.mag-section,.hol-events,.ev-section,.profile-section) { padding-block: 22px 38px; }
  body.sp :where(.listing-hero__title,.hol-hero__title,.mag-mast__title,.mag-article__title,.sres-hero__title,.profile-hero__name,.producer-page__title,.artist-hero__name,.ev-hero__title,.club-hero__title) { letter-spacing: -.025em; }
}
