/* National discovery preview. Preserve the approved brand, real photos and full calendars. */
:root { --kc-rd-followbar-height: 24px; }
body .kc-rd-followbar { min-height: 24px; padding-block: 0; line-height: 24px; }
body .kc-rd-follow-link { min-height: 24px; padding-block: 0; line-height: 24px; font-size: 11px; gap: 5px; }
body .kc-rd-followbar .kc-rd-instagram-icon { width: 14px; height: 14px; min-width: 14px; }
body .kc-rd-follow-tagline { font-size: 11px; line-height: 24px; }
body .kc-rd-followbar:focus-within { min-height: 24px; }
body .kc-rd-follow-link:focus-visible { font-size: 12px; line-height: 24px; outline: 2px solid #fff; outline-offset: -2px; }
body .kc-rd-header:not(.kc-rd-header--profile) .kc-rd-primary { min-height: 56px; padding-block: 6px; }
body .kc-facebook-button { display: grid; place-items: center; width: 44px; height: 44px; min-width: 44px; flex-shrink: 0; border-radius: 12px; text-decoration: none; }
body .kc-facebook-icon { display: block; width: 38px; height: 38px; filter: drop-shadow(0 4px 8px rgb(8 102 255 / .22)); }
body .kc-facebook-button:hover { background: rgb(8 102 255 / .12); }
body .kc-facebook-button:focus-visible { outline: 2px solid #ffc999; outline-offset: 2px; }
@media (max-width: 600px) {
  body .kc-rd-primary:has(.kc-facebook-button) { gap: 8px; }
  body .kc-rd-actions:has(.kc-facebook-button) { flex-shrink: 0; gap: 4px; }
  body .kc-rd-actions:has(.kc-facebook-button) .kc-rd-submit { padding-inline: 8px; font-size: .67rem; }
}
@media (max-width: 374px) {
  body:not(.kc-rd-profile-body) .kc-rd-primary:has(.kc-facebook-button) { display: grid; grid-template-columns: minmax(0, 1fr) 44px 44px; grid-template-rows: 24px 32px; gap: 4px 8px; padding-block: 4px; }
  body:not(.kc-rd-profile-body) .kc-rd-primary:has(.kc-facebook-button) .kc-rd-brand { grid-area: 1 / 1; min-height: 24px; }
  body:not(.kc-rd-profile-body) .kc-rd-primary:has(.kc-facebook-button) .kc-rd-brand img { width: 132px; height: 24px; }
  body:not(.kc-rd-profile-body) .kc-rd-actions:has(.kc-facebook-button) { display: contents; }
  body:not(.kc-rd-profile-body) .kc-rd-actions:has(.kc-facebook-button) .kc-rd-submit { grid-area: 2 / 1; justify-self: start; min-height: 32px; }
  body:not(.kc-rd-profile-body) .kc-rd-actions:has(.kc-facebook-button) .kc-rd-instagram-button { grid-area: 1 / 2 / 3 / 3; align-self: center; }
  body:not(.kc-rd-profile-body) .kc-facebook-button { grid-area: 1 / 3 / 3 / 4; align-self: center; }
}
body .kc-rd-nav[data-compact-navigation] { grid-template-columns: repeat(4, minmax(0, 1fr)); }
body .kc-rd-nav[data-compact-navigation] a,
body .kc-rd-nav[data-compact-navigation] a:nth-child(even) { min-height: 32px; padding: 4px; border-right: 1px solid #302c2a; font-size: clamp(.65rem, 2.8vw, .78rem); white-space: nowrap; }
body .kc-rd-nav[data-compact-navigation] a:nth-child(4n) { border-right: 0; }
body .kc-rd-nav[data-compact-navigation] a:focus-visible { outline: 2px solid #ffc999; outline-offset: -3px; }
.kc-discovery-home { --discovery-accent: #f19c80; --discovery-muted: #c5bcb6; --discovery-line: #423129; }
.kc-discovery-home *, .kc-discovery-home *::before, .kc-discovery-home *::after { box-sizing: border-box; }
.kc-discovery-hero, .kc-discovery-section, .kc-discovery-submit { max-width: 1180px; margin-inline: auto; }
.kc-discovery-hero { display: grid; gap: 12px; padding: 18px 20px 20px; }
.kc-discovery-intro, .kc-discovery-counts, .kc-discovery-finder { min-width: 0; }
.kc-discovery-intro { container-type: inline-size; }
body .kc-discovery-home .kc-rd-home-title { margin: 0 0 7px; font-size: clamp(1.125rem, 7.2cqi, 2.4rem); line-height: 1.15; letter-spacing: -.035em; text-transform: none; white-space: nowrap; text-wrap: nowrap; }
.kc-discovery-deck { color: var(--discovery-muted); font-size: clamp(.6875rem, 3.7cqi, .9rem); line-height: 1.5; margin: 0 0 12px; max-width: 38em; }
.kc-discovery-primary, .kc-discovery-submit > a { display: inline-flex; justify-content: space-between; align-items: center; gap: 22px; padding: 15px 20px; min-height: 50px; background: #ed8869; border: 1px solid #f7b49b; border-radius: 8px; font-size: 1rem; font-weight: 800; color: #170c08; text-decoration: none; }
.kc-discovery-primary:hover, .kc-discovery-submit > a:hover { background: #ffb59b; }
.kc-discovery-search { margin-top: 12px; }
.kc-discovery-sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
.kc-discovery-search > div { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 7px; }
.kc-discovery-search input { min-width: 0; width: 100%; min-height: 44px; border: 1px solid #61463a; border-radius: 7px; background: #100e0c; color: #faf6ef; font: inherit; font-size: 16px; padding: 9px 12px; }
.kc-discovery-search input::placeholder { color: #b8aaa2; }
.kc-discovery-search button { min-height: 44px; border: 1px solid #816053; border-radius: 7px; color: #f7eade; background: #2d201b; padding: 9px 14px; font: inherit; font-size: .85rem; font-weight: 750; cursor: pointer; }
.kc-discovery-finder { padding: 12px 14px 4px; background: linear-gradient(145deg, #22150f, #110e0c); border: 1px solid #634132; border-radius: 10px; }
.kc-discovery-finder .kc-state-picker > div { grid-template-columns: minmax(0, 1fr) auto; }
.kc-discovery-finder .kc-state-picker select { height: 44px; padding-block: 8px; }
.kc-discovery-finder .kc-state-picker button { min-height: 44px; padding: 8px 10px; font-size: .8rem; }
.kc-discovery-finder .kc-all-states { margin-top: 4px; }
.kc-discovery-finder .kc-all-states summary { font-size: .8rem; }
.kc-discovery-counts { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 16px; }
.kc-discovery-counts .kc-discovery-primary { min-height: 44px; padding: 10px 12px; font-size: .85rem; gap: 12px; }
.kc-discovery-artist-count { display: inline-flex; align-items: center; gap: 5px; min-height: 44px; font-size: .8rem; text-decoration: none; color: #d8bdaa; }
.kc-discovery-artist-count strong { color: #f5e5ce; font-size: 1rem; }
.kc-about-page { max-width: 820px; margin: auto; padding: 36px 20px 56px; }
.kc-about-page .eyebrow { font-size: .75rem; letter-spacing: .1em; color: #d5b786; }
.kc-about-page h1 { font-size: clamp(2.4rem, 8vw, 4rem); margin: 12px 0 18px; line-height: 1.1; text-transform: none; }
.kc-about-page p { font-size: 1rem; line-height: 1.7; color: #ded2c8; margin: 0 0 14px; overflow-wrap: anywhere; }
.kc-about-page .kc-about-lead { font-size: clamp(1.1rem, 3.6vw, 1.3rem); line-height: 1.55; color: #faf6ef; margin-bottom: 26px; }
.kc-about-section { padding-block: 24px; border-top: 1px solid #513a2d; }
.kc-about-section h2 { font-size: 1.2rem; margin: 0 0 14px; text-transform: none; color: #f3ba9b; line-height: 1.3; }
.kc-about-section > p:last-child { margin-bottom: 0; }
.kc-about-page .kc-about-totals { margin-bottom: 4px; }
.kc-about-page .kc-about-count-date { font-size: .78rem; color: #b5a79e; margin-bottom: 18px; }
.kc-about-page blockquote { margin: 18px 0; padding: 16px 18px; border-left: 3px solid #ed8869; background: #18110d; }
.kc-about-page blockquote p { margin: 0; color: #f4e7d7; }
body .kc-about-page .mission-statement { margin: 0; font-size: 1.05rem; font-weight: 400; line-height: 1.75; color: #ded2c8; }
body .kc-about-page .mission-statement + p { margin-top: 14px; }
.kc-about-links { display: flex; align-items: center; flex-wrap: wrap; gap: 8px 24px; margin-top: 10px; }
.kc-about-links > a:not(.kc-discovery-primary) { display: inline-flex; align-items: center; min-height: 44px; color: #eeb89a; font-size: .9rem; }
.kc-about-links a:focus-visible { outline: 3px solid #ffc999; outline-offset: 4px; }
.kc-about-contact { margin-top: 22px; }
.kc-about-contact p { margin: 0; }
.kc-about-contact a { display: inline-flex; align-items: center; min-height: 44px; color: #eeb89a; }
.kc-about-contact a:focus-visible { outline: 3px solid #ffc999; outline-offset: 3px; }
.kc-discovery-section { padding: 30px 20px; border-top: 1px solid var(--discovery-line); }
.kc-discovery-heading { display: flex; align-items: end; justify-content: space-between; flex-wrap: wrap; gap: 10px 20px; margin-bottom: 20px; }
.kc-discovery-heading .eyebrow { font-size: .68rem; line-height: 1.5; margin: 0 0 8px; letter-spacing: .08em; }
.kc-discovery-heading h2 { font-size: clamp(1.55rem, 5.4vw, 2.35rem); letter-spacing: -.035em; line-height: 1.12; margin: 0; text-transform: none; }
.kc-discovery-heading > a { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; color: #f1ac8a; font-size: .88rem; text-decoration: underline; text-underline-offset: 5px; font-weight: 700; }
.kc-discovery-home #calendar { padding-top: 18px; }
.kc-discovery-home #calendar .kc-discovery-heading { margin-bottom: 12px; gap: 2px 16px; }
.kc-teaser-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 12px; }
.kc-discovery-show { display: grid; grid-template-columns: 88px minmax(0, 1fr); align-items: start; gap: 14px; background: #100e0c; border: 1px solid #3b2d25; border-radius: 10px; padding: 13px; min-width: 0; }
.kc-teaser-image { width: 100%; height: 118px; background: #060606; border-radius: 5px; overflow: hidden; }
.kc-teaser-image img { display: block; width: 100%; height: 100%; object-fit: contain; }
.kc-teaser-image img.artist-photo { object-fit: cover; }
.kc-teaser-copy { min-width: 0; }
.kc-teaser-copy .event-badges { margin: 0 0 7px; gap: 5px; }
.kc-teaser-copy .badge { padding: 3px 6px; font-size: .56rem; line-height: 1.2; }
.kc-teaser-date { font-size: .74rem; font-weight: 700; line-height: 1.45; color: #eabd9a; margin: 0 0 6px; }
.kc-teaser-copy h3 { margin: 0 0 7px; line-height: 1.3; font-size: 1rem; letter-spacing: -.01em; overflow-wrap: anywhere; }
.kc-teaser-copy h3 a { display: inline-block; color: #f4efe8; text-decoration: none; padding-block: 3px; }
.kc-teaser-copy h3 a:hover { color: #f6ac8d; text-decoration: underline; }
.kc-teaser-copy .artist-line { font-size: .76rem; margin: 0 0 10px; line-height: 1.5; color: #c4b6aa; overflow-wrap: anywhere; }
.kc-teaser-copy .artist-line a { color: #e1c5a7; text-underline-offset: 3px; }
.kc-teaser-location { color: #e4d9cd; margin: 0 0 3px; font-size: .84rem; font-weight: 750; }
.kc-teaser-venue { color: #b8aaa0; font-size: .75rem; line-height: 1.45; margin: 0; }
.kc-recent-teasers .kc-discovery-show { grid-template-columns: minmax(0, 1fr); padding: 18px; }
.kc-discovery-artists { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px 14px; }
.kc-discovery-artist { display: block; min-width: 0; text-decoration: none; }
.kc-discovery-artist > div { aspect-ratio: 1; background: #181512; overflow: hidden; border-radius: 9px; border: 1px solid #513c2d; margin-bottom: 10px; }
.kc-discovery-artist img { width: 100%; height: 100%; object-fit: cover; display: block; }
.kc-discovery-artist strong { display: block; font-size: 1rem; line-height: 1.25; overflow-wrap: anywhere; color: #f4e7d7; }
.kc-discovery-artist > span { display: block; font-size: .76rem; line-height: 1.4; color: #c2ad9a; margin-top: 5px; }
.kc-discovery-submit { margin-top: 10px; margin-bottom: 36px; padding: 25px 20px; background: #20150f; border-block: 1px solid #69472e; display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 20px; }
.kc-discovery-submit h2 { font-size: 1.35rem; margin: 0 0 8px; text-transform: none; }
.kc-discovery-submit p { margin: 0; font-size: .9rem; color: #d4beab; }
.kc-discovery-breadcrumb { max-width: 1180px; padding: 16px 20px; margin: auto; display: flex; gap: 9px; flex-wrap: wrap; font-size: .8rem; color: #bdb1a4; }
.kc-discovery-breadcrumb a { display: inline-flex; align-items: center; min-height: 44px; color: #ebba9a; }
.kc-discovery-breadcrumb > span { display: inline-flex; align-items: center; }
.kc-directory-guide { max-width: 42em; margin: 12px 0 20px; color: #c6b8aa; font-size: .95rem; line-height: 1.6; }
.kc-weekend-route { margin: 0 0 16px; font-size: .88rem; }
.kc-weekend-route a { display: inline-flex; align-items: center; min-height: 44px; color: #eab697; text-underline-offset: 4px; }
body .kc-weekend-hero { padding-block: 30px; }
.kc-weekend-hero h1 { font-size: clamp(2rem, 8vw, 4rem); line-height: 1.08; letter-spacing: -.025em; text-wrap: balance; }
.kc-weekend-expired, .kc-discovery-empty { line-height: 1.6; color: #dfc0a6; padding: 16px 0; }
.kc-discovery-home :focus-visible, .kc-discovery-breadcrumb a:focus-visible, .kc-weekend-route a:focus-visible { outline: 3px solid #ffc999; outline-offset: 4px; }
[data-discovery-show][hidden], .kc-weekend-expired[hidden], .kc-discovery-empty[hidden] { display: none !important; }
@media (min-width: 700px) {
  .kc-discovery-hero, .kc-discovery-section { padding-inline: 28px; }
  .kc-teaser-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
  .kc-discovery-artists { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (min-width: 760px) {
  body .kc-rd-header:not(.kc-rd-header--profile) { display: block; }
  body .kc-rd-header:not(.kc-rd-header--profile) .kc-rd-primary { min-height: 56px; max-width: 1180px; margin-inline: auto; padding-block: 6px; }
  body .kc-rd-header:not(.kc-rd-header--profile) .kc-rd-nav[data-compact-navigation] { display: grid; grid-template-columns: repeat(8, minmax(0, 1fr)); width: 100%; max-width: 1180px; margin-inline: auto; border-top: 1px solid #302c2a; }
  body .kc-rd-header:not(.kc-rd-header--profile) .kc-rd-nav[data-compact-navigation] a { min-height: 32px; padding: 4px; border-right: 1px solid #302c2a; border-bottom: 1px solid #302c2a; font-size: .75rem; }
  body .kc-rd-header:not(.kc-rd-header--profile) .kc-rd-nav[data-compact-navigation] a:last-child { border-right: 0; }
}
@media (min-width: 1200px) {
  body .kc-rd-header:not(.kc-rd-header--profile) { display: grid; grid-template-rows: 56px; }
  body .kc-rd-header:not(.kc-rd-header--profile) .kc-rd-primary { min-height: 56px; }
  body .kc-rd-header:not(.kc-rd-header--profile) .kc-rd-nav[data-compact-navigation] { display: flex; width: auto; gap: 3px; align-self: center; border: 0; }
  body .kc-rd-header:not(.kc-rd-header--profile) .kc-rd-nav[data-compact-navigation] a,
  body .kc-rd-header:not(.kc-rd-header--profile) .kc-rd-nav[data-compact-navigation] a:last-child { padding-inline: 7px; border: 1px solid #302c2a; border-radius: 4px; }
}
@media (min-width: 1000px) {
  .kc-discovery-hero { grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); grid-template-areas: 'intro finder'; gap: 24px 48px; padding-block: 28px; align-items: center; }
  .kc-discovery-intro { grid-area: intro; }
  .kc-discovery-finder { grid-area: finder; padding: 16px 20px 8px; }
  .kc-discovery-section { padding-block: 38px; }
  .kc-discovery-show { grid-template-columns: 115px minmax(0, 1fr); gap: 18px; padding: 17px; }
  .kc-teaser-image { height: 145px; }
  .kc-teaser-copy h3 { font-size: 1.15rem; }
  .kc-discovery-artists { grid-template-columns: repeat(6, minmax(0, 1fr)); }
  .kc-discovery-submit { border: 1px solid #69472e; border-radius: 10px; }
}
@media (max-width: 360px) {
  .kc-discovery-hero, .kc-discovery-section { padding-inline: 16px; }
  .kc-discovery-counts { gap: 4px 8px; }
  .kc-discovery-counts .kc-discovery-primary { padding-inline: 9px; font-size: .75rem; gap: 6px; }
  .kc-discovery-artist-count { font-size: .75rem; }
  .kc-discovery-finder .kc-state-picker button { padding-inline: 6px; font-size: .72rem; }
  .kc-discovery-show { grid-template-columns: 66px minmax(0, 1fr); gap: 10px; padding: 10px; }
  .kc-teaser-image { height: 96px; }
  .kc-teaser-copy h3 { font-size: .94rem; }
  .kc-discovery-finder { padding-inline: 14px; }
}
@media (max-width: 600px) {
  /* Keep every existing control, but avoid a screen-long single-column filter stack. */
  body .calendar .filters { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; align-items: end; padding: 16px; }
  body .calendar .filters > label { min-width: 0; }
  body .calendar .filters > label:first-child { grid-column: 1 / -1; }
  body .calendar .filters input, body .calendar .filters select { min-width: 0; width: 100%; font-size: 16px; min-height: 48px; }
  body .calendar .filters > button { grid-column: auto; min-width: 0; min-height: 48px; margin: 0; padding: 10px; }
}
