/*
 * Chattanooga Music Scene — 2026 visual refinements.
 * Scoped to inner BuddyX/ReadyLaunch pages. The illustrated landing page
 * and the original child theme remain untouched.
 */
:root {
  --cms-deep-green: #173f37;
  --cms-sunset: #963c29;
  --cms-warm-paper: #fbf6e9;
  --cms-soft-border: rgba(61, 51, 35, .24);
}
body.bb-readylaunch-template:not(.page-id-2819) {
  -webkit-font-smoothing: antialiased;
}
body.bb-readylaunch-template:not(.page-id-2819) .rr-readylaunch-page-content {
  padding-top: clamp(1.1rem, 2.7vw, 2.5rem);
  padding-bottom: clamp(2rem, 4vw, 4rem);
}
body.bb-readylaunch-template:not(.page-id-2819) .rr-readylaunch-page-header {
  margin: 0 0 clamp(1.1rem, 2vw, 1.65rem);
  padding: 0 0 .65rem;
}
body.bb-readylaunch-template:not(.page-id-2819) .rr-readylaunch-page-title {
  max-width: 28ch;
  margin: 0;
  font-size: clamp(2rem, 3.35vw, 3.05rem);
  line-height: 1.13;
  font-weight: 800;
  letter-spacing: -.025em;
  overflow-wrap: break-word;
  text-wrap: balance;
  text-shadow: 0 1px 0 rgba(255, 255, 255, .64);
}
body.bb-readylaunch-template:not(.page-id-2819) .rr-readylaunch-entry-content {
  line-height: 1.65;
}
body.bb-readylaunch-template:not(.page-id-2819) .rr-readylaunch-entry-content p {
  max-width: 84ch;
}
body.bb-readylaunch-template:not(.page-id-2819) .rr-readylaunch-entry-content a:not(.button):not(.btn):focus-visible,
body.bb-readylaunch-template:not(.page-id-2819) .rr-readylaunch-entry-content button:focus-visible,
body.bb-readylaunch-template:not(.page-id-2819) .rr-readylaunch-entry-content input:focus-visible {
  outline: 3px solid var(--cms-sunset);
  outline-offset: 3px;
}
/* Marketplace: long titles and product photos should look composed, not crowded. */
body.woocommerce-shop .rr-readylaunch-page-title,
body.single-product .rr-readylaunch-page-title {
  max-width: 27ch;
  font-size: clamp(1.75rem, 3vw, 2.75rem);
  line-height: 1.17;
}
body.woocommerce-shop .rr-readylaunch-entry-content > p,
body.single-product .rr-readylaunch-entry-content > p {
  margin: 0 0 .45rem;
  line-height: 1.65;
}
body.woocommerce-shop .rr-readylaunch-entry-content img,
body.single-product .rr-readylaunch-entry-content img {
  display: block;
  max-width: min(100%, 760px);
  height: auto;
  margin: 1.25rem auto;
  border: 1px solid rgba(61, 51, 35, .18);
  border-radius: 7px;
  box-shadow: 0 15px 36px rgba(48, 31, 16, .10);
}
/* Events Manager: readable event cards and calm section hierarchy. */
body.page-id-621 #em-wrapper > h6 {
  margin: .25rem 0 .55rem;
  color: var(--cms-deep-green);
  font-size: clamp(1.15rem, 1.8vw, 1.55rem);
  line-height: 1.3;
  font-weight: 750;
}
body.page-id-621 #em-wrapper > p {
  max-width: 78ch;
  margin-bottom: 1.2rem;
  line-height: 1.65;
}
body.page-id-621 .em-calendar {
  border: 1px solid var(--cms-soft-border);
  border-radius: 9px;
  background: var(--cms-warm-paper);
}
body.page-id-621 .em-calendar .em-cal-nav {
  padding: .6rem .9rem;
  background: linear-gradient(120deg, #f9edce, #fdf8ec);
}
body.page-id-621 .em-calendar .em-cal-day-date {
  color: #514634;
}
body.page-id-621 .em-calendar .em-cal-event {
  border-radius: 4px;
  border-left: 3px solid var(--event-background-color, #86a64b) !important;
  background: var(--cms-deep-green) !important;
  color: #fffaf0 !important;
  box-shadow: 0 2px 3px rgba(29, 33, 22, .14);
}
body.page-id-621 .em-calendar .em-cal-event,
body.page-id-621 .em-calendar .em-cal-event a {
  color: #fffaf0 !important;
  font-weight: 650;
  text-decoration: none;
}
body.page-id-621 .em-calendar .em-cal-event a:hover,
body.page-id-621 .em-calendar .em-cal-event a:focus-visible {
  text-decoration: underline;
}
/* Mobile: retain the native calendar and its month navigation, but let a
 * horizontally scrollable seven-day grid show actual event titles. */
@media (max-width: 767px) {
  body.bb-readylaunch-template:not(.page-id-2819) .rr-readylaunch-page-content {
    padding-top: 1.1rem;
    padding-bottom: 5.5rem;
  }
  body.bb-readylaunch-template:not(.page-id-2819) .rr-readylaunch-page-title {
    font-size: clamp(1.85rem, 7.2vw, 2.45rem);
    line-height: 1.15;
  }
  body.page-id-621 .em-calendar {
    max-width: 100%;
    overflow-x: auto;
    overscroll-behavior-x: contain;
    -webkit-overflow-scrolling: touch;
  }
  body.page-id-621 .em-calendar::before {
    content: "Swipe sideways to read all seven days  →";
    position: sticky;
    left: 0;
    display: block;
    width: max-content;
    max-width: calc(100vw - 75px);
    padding: .7rem .9rem .2rem;
    color: var(--cms-deep-green);
    font-size: .78rem;
    font-weight: 750;
    letter-spacing: .025em;
  }
  body.page-id-621 .em-calendar .em-cal-nav {
    position: sticky;
    left: 0;
    width: min(100%, 100vw - 44px);
    min-width: 0;
  }
  body.page-id-621 .em-calendar .em-cal-head,
  body.page-id-621 .em-calendar .em-cal-body {
    min-width: 760px;
  }
  body.page-id-621 .em-calendar .em-cal-week-days.size-small,
  body.page-id-621 .em-calendar .em-cal-week-days.size-medium {
    display: none !important;
  }
  body.page-id-621 .em-calendar .em-cal-week-days.size-large {
    display: grid !important;
  }
  body.page-id-621 .em-calendar .em-cal-event {
    min-height: 1.65rem;
    padding: .15rem .32rem;
  }
  body.page-id-621 .em-calendar .em-cal-event div,
  body.page-id-621 .em-calendar .em-cal-event a {
    display: inline !important;
    font-size: .7rem !important;
    white-space: normal !important;
    overflow-wrap: anywhere;
  }
  body.woocommerce-shop .rr-readylaunch-entry-content img,
  body.single-product .rr-readylaunch-entry-content img {
    margin: .85rem auto 1.2rem;
  }
}
@media (prefers-reduced-motion: reduce) {
  body.page-id-621 .em-calendar { scroll-behavior: auto !important; }
}

/* Mobile event agenda. No external data: rendered from Events Manager DOM. */
.cms-mobile-view-toggle,
.cms-mobile-agenda { display: none; }
@media (max-width: 767px) {
  body.page-id-621 .cms-mobile-view-toggle:not([hidden]) {
    display: inline-flex;
    gap: .25rem;
    padding: .28rem;
    margin: .25rem 0 1.2rem;
    border-radius: 8px;
    border: 1px solid rgba(43, 62, 46, .25);
    background: #e9dfc5;
  }
  body.page-id-621 .cms-mobile-view-toggle .cms-view-button {
    width: auto;
    min-height: 44px;
    padding: .55rem 1.1rem;
    border: 0;
    border-radius: 6px;
    background: transparent;
    box-shadow: none;
    color: #23443a;
    font-size: .87rem;
    text-transform: none;
  }
  body.page-id-621 .cms-mobile-view-toggle .cms-view-button.is-active {
    background: var(--cms-deep-green);
    color: #fffaf0;
    box-shadow: 0 2px 7px rgba(37,49,39,.18);
  }
  body.page-id-621 .cms-mobile-view-toggle .cms-view-button:focus-visible {
    outline: 3px solid var(--cms-sunset);
    outline-offset: 2px;
  }
  body.page-id-621 .cms-mobile-agenda:not([hidden]) {
    display: block;
    padding: 1.05rem .95rem .7rem;
    margin-bottom: 1.5rem;
    border: 1px solid var(--cms-soft-border);
    border-top: 4px solid var(--cms-deep-green);
    border-radius: 9px;
    background: linear-gradient(145deg, #fffaf0 0%, #f9efd9 100%);
    box-shadow: 0 8px 20px rgba(44,33,20,.07);
  }
  body.page-id-621 .cms-mobile-agenda h3 {
    margin: 0 0 .35rem;
    font: 750 1.35rem/1.25 Georgia, serif;
    letter-spacing: -.015em;
    color: var(--cms-deep-green);
    text-transform: none;
  }
  body.page-id-621 .cms-mobile-agenda .cms-agenda-intro {
    margin: 0 0 .8rem;
    font-size: .88rem;
    line-height: 1.55;
    color: #514635;
  }
  body.page-id-621 .cms-mobile-agenda .cms-agenda-list {
    margin: 0;
    padding: 0;
    list-style: none;
  }
  body.page-id-621 .cms-agenda-list li {
    display: grid;
    grid-template-columns: 5.7rem minmax(0,1fr);
    gap: .75rem;
    align-items: start;
    padding: .82rem .15rem;
    border-top: 1px solid rgba(51,65,51,.17);
  }
  body.page-id-621 .cms-agenda-date {
    padding-top: .18rem;
    color: var(--cms-sunset);
    font-size: .78rem;
    font-weight: 800;
  }
  body.page-id-621 .cms-agenda-link {
    display: block;
    color: #163d35;
    font-size: .91rem;
    font-weight: 750;
    line-height: 1.45;
    text-decoration: none;
  }
  body.page-id-621 .cms-agenda-link:hover,
  body.page-id-621 .cms-agenda-link:focus-visible {
    color: #922c22;
    text-decoration: underline;
  }
  body.page-id-621 .cms-agenda-empty {
    display: block;
    color: #514635;
    font-size: .9rem;
  }
  body.page-id-621 .em-view-container[hidden],
  body.page-id-621 .cms-mobile-agenda[hidden],
  body.page-id-621 .cms-mobile-view-toggle[hidden] { display: none !important; }
}

/* Keep sticky desktop navigation from covering the start of article titles. */
@media (min-width: 783px) {
  body.bb-readylaunch-template:not(.page-id-2819) #primary {
    padding-top: clamp(2rem, 3vw, 2.75rem) !important;
  }
}
/* Give product details the same collected, editorial treatment as the Scene. */
body.woocommerce-shop .rr-readylaunch-entry-content,
body.single-product .rr-readylaunch-entry-content {
  max-width: 1040px;
  padding: clamp(1.1rem, 2.6vw, 2.25rem);
  margin: .8rem auto 2rem;
  background: rgba(255, 251, 239, .82);
  border: 1px solid rgba(72, 52, 31, .2);
  border-radius: 10px;
  box-shadow: 0 12px 34px rgba(51, 35, 19, .09);
}
body.woocommerce-shop .rr-readylaunch-entry-content :is(img, picture, figure),
body.single-product .rr-readylaunch-entry-content :is(img, picture, figure) {
  max-width: 100%;
}

/* PASS 2 — Venue directory: collect existing location records into legible cards.
   Only the location ARCHIVE is affected; individual venue pages are unchanged. */
@media (min-width: 850px) {
  body.post-type-archive-location.bb-readylaunch-template #primary > .bb-rl-container {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: start;
    gap: clamp(1rem, 2.2vw, 2rem);
    padding: clamp(1.5rem, 2.8vw, 2.7rem);
  }
}
body.post-type-archive-location.bb-readylaunch-template #primary .rr-readylaunch-page-content.location {
  min-width: 0;
  display: flex;
  flex-direction: column;
  padding: 0;
  margin: 0;
  background: #fdf9ef;
  border: 1px solid rgba(46, 60, 49, .20);
  border-radius: 12px;
  box-shadow: 0 8px 26px rgba(42, 38, 28, .10);
  overflow: hidden;
}
body.post-type-archive-location .cms-venues-enhanced .rr-readylaunch-page-content.location > .rr-readylaunch-page-header {
  /* The same title is repeated immediately as the card's linked H3.
     Keep the linked title and avoid doubled visible headings. */
  display: none;
}
body.post-type-archive-location .rr-readylaunch-page-content.location > .rr-readylaunch-entry-content {
  padding: 0;
  margin: 0;
}
body.post-type-archive-location .rr-readylaunch-page-content.location .em-location.em-item {
  display: flex;
  flex-direction: column;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent;
  box-shadow: none;
}
body.post-type-archive-location .rr-readylaunch-page-content.location .em-item-image {
  position: relative;
  order: 0;
  width: 100%;
  height: clamp(175px, 21vw, 285px);
  overflow: hidden;
  margin: 0;
  background:
     radial-gradient(circle at 80% 20%, rgba(255,255,255,.45), transparent 36%),
     linear-gradient(130deg, #bdb49b 0%, #a7b9a8 52%, #d3bd99 100%);
}
body.post-type-archive-location .rr-readylaunch-page-content.location .em-item-image a {
  display: block;
  width: 100%;
  height: 100%;
}
body.post-type-archive-location .rr-readylaunch-page-content.location .em-item-image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
body.post-type-archive-location .rr-readylaunch-page-content.location .em-item-image.has-placeholder::before {
  content: "♪";
  position: absolute;
  top: 50%;left: 50%;
  transform: translate(-50%, -50%);
  color: rgba(29, 70, 59, .50);
  font: 700 4rem/1 Georgia, serif;
  pointer-events: none;
}
body.post-type-archive-location .rr-readylaunch-page-content.location .em-item-info {
  order: 1;
  display: flex;
  flex-direction: column;
  gap: .6rem;
  min-width: 0;
  padding: clamp(1.1rem, 2.2vw, 1.7rem);
}
body.post-type-archive-location .rr-readylaunch-page-content.location .em-item-title {
  margin: 0 0 .15rem;
  font: 750 clamp(1.4rem, 2vw, 1.95rem)/1.22 Georgia, serif;
  letter-spacing: -.02em;
  text-transform: none;
  text-wrap: balance;
}
body.post-type-archive-location .rr-readylaunch-page-content.location .em-item-title a {
  color: #19443b;
  text-decoration: none;
}
body.post-type-archive-location .rr-readylaunch-page-content.location .em-item-title a:hover,
body.post-type-archive-location .rr-readylaunch-page-content.location .em-item-title a:focus-visible {
  text-decoration: underline;
  text-decoration-color: #a54731;
  text-underline-offset: 4px;
}
body.post-type-archive-location .rr-readylaunch-page-content.location .em-location-address {
  color: #4c493f;
  font-size: .95rem;
  line-height: 1.45;
}
body.post-type-archive-location .rr-readylaunch-page-content.location .em-location-no-events {
  color: #59584f;
  font-size: .85rem;
  font-style: italic;
  background: #f2eee1;
  border-left: 3px solid #d0a65b;
  border-radius: 3px;
  padding: .4rem .7rem;
}
body.post-type-archive-location .rr-readylaunch-page-content.location .em-item-desc {
  margin-top: .2rem;
  color: #45463e;
  font-size: .93rem;
  line-height: 1.65;
}
body.post-type-archive-location .rr-readylaunch-page-content.location .em-item-actions {
  margin-top: .25rem;
}
body.post-type-archive-location .rr-readylaunch-page-content.location a.em-item-read-more {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  min-height: 42px;
  padding: .55rem 1.2rem;
  color: #fffaf0;
  background: #1d594e;
  border: 1px solid #154c43;
  border-radius: 6px;
  font-weight: 750;
  text-decoration: none;
  box-shadow: none;
}
body.post-type-archive-location .rr-readylaunch-page-content.location a.em-item-read-more:hover,
body.post-type-archive-location .rr-readylaunch-page-content.location a.em-item-read-more:focus-visible {
  background: #9b452d;
  border-color: #843323;
}
@media (max-width: 849px) {
  body.post-type-archive-location.bb-readylaunch-template #primary > .bb-rl-container {
    display: grid;
    grid-template-columns: minmax(0,1fr);
    gap: 1.2rem;
    padding: clamp(1rem, 3vw, 2rem);
  }
  body.post-type-archive-location .rr-readylaunch-page-content.location .em-item-image {
    height: clamp(180px, 52vw, 255px);
  }
  body.post-type-archive-location .rr-readylaunch-page-content.location .em-item-info {
    padding: 1.15rem;
  }
}

/* PASS 2 — Bands cards: preserve information while making samples scannable. */
body.groups.directory #groups-list.groups-list {
  gap: clamp(1rem, 2.2vw, 1.75rem);
  align-items: start;
}
body.groups.directory #groups-list > li.item-entry {
  min-width: 0;
  max-width: 480px;
  margin: 0;
  border: 1px solid rgba(46, 60, 49, .22);
  border-radius: 12px;
  background: #fdf9ef;
  box-shadow: 0 8px 25px rgba(36, 31, 20, .10);
  overflow: hidden;
}
body.groups.directory #groups-list > li.item-entry > .list-wrap.bb-rl-group-block {
  min-height: 0;
  padding-bottom: 1.1rem;
  background: transparent;
}
body.groups.directory #groups-list .bs-group-cover {
  width: 100%;
  height: 110px;
  max-height: 110px;
  overflow: hidden;
  border-bottom: 3px solid #297969;
  background: linear-gradient(115deg, #153f38, #37736a 56%, #c49e64);
}
body.groups.directory #groups-list .bs-group-cover img {
  display: block;
  width: 100%;
  height: 110px;
  max-height: 110px;
  object-fit: cover;
  opacity: .20;
}
body.groups.directory #groups-list .item-avatar {
  margin: -36px 1.2rem .45rem;
  position: relative;
  z-index: 1;
}
body.groups.directory #groups-list .item-avatar img.avatar {
  width: 70px;
  height: 70px;
  max-width: 70px;
  max-height: 70px;
  border: 4px solid #fdf9ef;
  border-radius: 16px;
  object-fit: cover;
  box-shadow: 0 3px 12px rgba(19,40,32,.2);
}
body.groups.directory #groups-list .group-item-wrap {
  padding-inline: 1.15rem;
}
body.groups.directory #groups-list .list-title.groups-title {
  margin: .4rem 0 .5rem;
  font: 750 clamp(1.15rem, 1.65vw, 1.4rem)/1.3 Georgia, serif;
  letter-spacing: -.01em;
}
body.groups.directory #groups-list .list-title.groups-title a {
  color: #1d4d41;
  text-decoration: none;
}
body.groups.directory #groups-list .list-title.groups-title a:hover {
  color: #973d2c;
  text-decoration: underline;
}
body.groups.directory #groups-list .item-meta-wrap {
  color: #625b4c;
  font-size: .82rem;
}
body.groups.directory #groups-list .group-footer-wrap {
  padding: 0 1.15rem;
}
@media (max-width: 782px) {
  body.groups.directory #groups-list > li.item-entry {
    width: 100%;
    max-width: none;
  }
  body.groups.directory #groups-list .bs-group-cover { height: 100px; }
}

/* Bands directory: fix BuddyBoss member thumbnails that inherited a
   150px image height inside a 24px-wide footer, making cards 150px too tall. */
body.groups.directory #groups-list .group-footer-wrap .bb-group-members,
body.groups.directory #groups-list .group-footer-wrap .bb-group-member {
  display: inline-flex;
  align-items: center;
  width: auto !important;
  height: 40px !important;
  min-height: 0 !important;
  max-height: 40px !important;
  padding: 0 !important;
  margin: 0 !important;
}
body.groups.directory #groups-list .group-footer-wrap .bb-group-member > a {
  display: inline-flex;
  width: 38px;
  height: 38px;
  align-items: center;
  justify-content: center;
}
body.groups.directory #groups-list .group-footer-wrap .bb-group-member img {
  display: block;
  width: 36px !important;
  height: 36px !important;
  min-width: 36px !important;
  min-height: 36px !important;
  max-width: 36px !important;
  max-height: 36px !important;
  aspect-ratio: 1;
  object-fit: cover;
  border: 2px solid rgba(27, 84, 70, .28);
  border-radius: 50%;
}
body.groups.directory #groups-list .groups-loop-buttons:empty {
  display: none;
}
@media (min-width: 783px) {
  body.groups.directory #groups-list.groups-list.grid {
    grid-template-columns: repeat(2, minmax(0, 360px));
    justify-content: center;
  }
  body.groups.directory #groups-list.groups-list.grid > li.item-entry {
    width: 100%;
    max-width: 360px;
  }
}
@media (max-width: 782px) {
  body.groups.directory #groups-list.groups-list.grid {
    grid-template-columns: minmax(0,1fr);
  }
}

/* Responsive heading spans both columns of the enhanced venue archive. */
body.post-type-archive-location .cms-venue-directory-intro {
  grid-column: 1 / -1;
  margin: 0 0 .4rem;
  padding: clamp(.95rem, 2vw, 1.65rem) clamp(1.1rem, 2.7vw, 2.25rem);
  background:
    radial-gradient(circle at 85% 25%, rgba(255,255,255,.20), transparent 32%),
    linear-gradient(125deg, #133e37 0%, #2c685d 78%, #366f65 100%);
  border-left: 6px solid #c6974c;
  border-radius: 10px;
  box-shadow: 0 7px 25px rgba(22,50,40,.13);
  color: #fff8e9;
}
body.post-type-archive-location .cms-directory-eyebrow {
  display: block;
  margin-bottom: .3rem;
  color: #e9c68e;
  font-size: .75rem;
  font-weight: 750;
  letter-spacing: .14em;
  text-transform: uppercase;
}
body.post-type-archive-location .cms-venue-directory-intro h1 {
  margin: 0 0 .25rem;
  color: #fff8e9;
  font: 700 clamp(2rem, 3.2vw, 3rem)/1.12 Georgia, serif;
  letter-spacing: -.02em;
  text-transform: none;
  text-shadow: none;
}
body.post-type-archive-location .cms-venue-directory-intro p {
  margin: 0;
  max-width: 54ch;
  color: rgba(255,250,234,.91);
  font-size: clamp(.89rem, 1.3vw, 1.04rem);
  line-height: 1.55;
}
@media (max-width: 849px) {
  body.post-type-archive-location .cms-venue-directory-intro {
    padding: 1.15rem 1.25rem;
  }
}

/* Article archive — editorial reading rhythm, without clipping content,
   changing excerpts, or cropping article photographs. */
body.blog.bb-readylaunch-template #primary > .bb-rl-container {
  max-width: 1020px;
  margin-inline: auto;
  padding: clamp(1rem, 2.6vw, 2.4rem);
}
body.blog.bb-readylaunch-template .rr-readylaunch-page-content.post {
  margin: 0 0 clamp(1.5rem, 3vw, 2.5rem);
  padding: clamp(1.1rem, 2.7vw, 2.4rem);
  border: 1px solid rgba(49, 60, 49, .18);
  border-radius: 10px;
  background: rgba(255,251,240,.93);
  box-shadow: 0 13px 38px rgba(47,35,23,.10);
}
body.blog.bb-readylaunch-template .rr-readylaunch-page-content.post .rr-readylaunch-page-header {
  padding-bottom: .8rem;
  margin-bottom: 1rem;
}
body.blog.bb-readylaunch-template .rr-readylaunch-page-content.post .rr-readylaunch-page-title {
  max-width: 28ch;
  font-size: clamp(1.8rem, 3.1vw, 3.05rem);
  font-weight: 760;
  line-height: 1.17;
  letter-spacing: -.025em;
  text-wrap: balance;
}
body.blog.bb-readylaunch-template .rr-readylaunch-page-content.post .rr-readylaunch-entry-content {
  color: #30332b;
  font-size: clamp(.95rem, 1.05vw, 1.04rem);
  line-height: 1.75;
}
body.blog.bb-readylaunch-template .rr-readylaunch-page-content.post .rr-readylaunch-entry-content p {
  max-width: 74ch;
  margin: 0 0 1.1rem;
}
body.blog.bb-readylaunch-template .rr-readylaunch-page-content.post .rr-readylaunch-entry-content img {
  display: block;
  max-width: 100%;
  height: auto;
  margin: 1.4rem auto;
  border-radius: 7px;
  box-shadow: 0 5px 22px rgba(39,32,24,.14);
}
body.blog.bb-readylaunch-template .rr-readylaunch-page-content.post blockquote {
  padding: .95rem 1.3rem;
  border-left: 4px solid #9c4c36;
  background: #f4e9d2;
  color: #313a32;
}
@media (max-width: 782px) {
  body.blog.bb-readylaunch-template #primary > .bb-rl-container {
    padding: .9rem;
  }
  body.blog.bb-readylaunch-template .rr-readylaunch-page-content.post {
    padding: 1.1rem;
    border-radius: 8px;
  }
  body.blog.bb-readylaunch-template .rr-readylaunch-page-content.post .rr-readylaunch-page-title {
    font-size: clamp(1.85rem, 7.2vw, 2.4rem);
    line-height: 1.18;
  }
}

/* Show the existing site wordmark on wider phones. At narrow widths the
   original compact-logo header remains to preserve the account controls. */
@media (min-width: 400px) and (max-width: 680px) {
  body.bb-readylaunch-template:not(.page-id-2819) .rr-readylaunch-wordmark {
    display: flex !important;
    flex-direction: column;
    min-width: 0 !important;
    max-width: 130px;
    line-height: 1.09;
  }
  body.bb-readylaunch-template:not(.page-id-2819) .rr-readylaunch-wordmark__title {
    font-size: .71rem !important;
    font-weight: 800;
    line-height: 1.12;
    letter-spacing: -.025em;
    white-space: normal !important;
    text-transform: none;
  }
  body.bb-readylaunch-template:not(.page-id-2819) .rr-readylaunch-wordmark__tagline {
    display: none !important;
  }
  body.bb-readylaunch-template:not(.page-id-2819) .bb-rl-site-branding .bb-rl-logo-wrap {
    gap: .42rem;
  }
}

/* DESIGN PASS 3 — Marketplace: unify the search panel and listing cards
   without changing AWPCP markup, category selection, or listing content. */
body.page-id-12 #classiwrapper {
  max-width: 1100px;
  margin: 1.25rem auto;
  color: #304138;
}
body.page-id-12 #classiwrapper .awpcp-classifieds-search-bar {
  padding: clamp(.95rem, 2vw, 1.5rem);
  margin-bottom: .8rem;
  border: 1px solid rgba(54, 82, 66, .24);
  border-radius: 11px 11px 0 0;
  background: linear-gradient(115deg,#f8f0da,#f9f7ed);
  box-shadow: 0 8px 22px rgba(51,36,22,.09);
}
body.page-id-12 #classiwrapper .awpcp-classifieds-search-bar form {
  display: flex;
  flex-wrap: wrap;
  gap: .65rem;
  align-items: center;
}
body.page-id-12 #classiwrapper .awpcp-classifieds-search-bar--query-field {
  flex: 1 1 260px;
  min-width: 0;
}
body.page-id-12 #classiwrapper .awpcp-classifieds-search-bar--query-field input {
  box-sizing: border-box;
  width: 100%;
  min-height: 44px;
  border-radius: 6px;
  border: 1px solid #aca992;
  padding: .65rem .85rem;
  font-size: 1rem;
  background: #fffef9;
}
body.page-id-12 #classiwrapper .awpcp-classifieds-search-bar--submit-button input,
body.page-id-12 #classiwrapper .awpcp-classifieds-search-bar--advanced-search-link a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: .55rem .95rem;
  border-radius: 6px;
  text-align: center;
  font-weight: 800;
  letter-spacing: .01em;
  text-decoration: none;
}
body.page-id-12 #classiwrapper .awpcp-classifieds-search-bar--submit-button input {
  color: #fffaf0;
  border: 1px solid #883322;
  background: #9e452f;
}
body.page-id-12 #classiwrapper .awpcp-classifieds-search-bar--advanced-search-link a {
  color: #175246;
  border: 1px solid #34786c;
  background: #fdfcf5;
}
body.page-id-12 #classiwrapper .awpcp-classifieds-menu {
  padding: .45rem .6rem .8rem;
  margin-top: -.65rem;
  border-radius: 0 0 10px 10px;
  border: 1px solid rgba(54,82,66,.22);
  border-top: 0;
  background: #f7f0da;
  box-shadow: 0 9px 22px rgba(51,36,22,.07);
}
body.page-id-12 #classiwrapper .awpcp-classifieds-menu--menu-item-link {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 6px;
  font-weight: 760;
}
body.page-id-12 #classiwrapper .awpcp-category-switcher {
  display: flex;
  align-items: center;
  gap: .75rem;
  margin: 1.4rem 0 1.1rem;
  padding: .75rem 1rem;
  border: 1px solid rgba(66,74,47,.19);
  border-radius: 8px;
  background: #f5ecd5;
}
body.page-id-12 #classiwrapper .awpcp-category-switcher .awpcp-category-dropdown {
  min-height: 42px;
  border-radius: 5px;
  background: #fffef7;
}
body.page-id-12 #classiwrapper .awpcp-listings {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: clamp(.95rem, 2vw, 1.5rem);
  align-items: stretch;
  margin: .6rem 0 1.35rem;
}
body.page-id-12 #classiwrapper .awpcp-listings > .awpcp-listing-excerpt {
  box-sizing: border-box;
  display: grid !important;
  grid-template-columns: clamp(105px, 10vw, 145px) minmax(0,1fr);
  grid-template-rows: 1fr auto;
  min-width: 0;
  width: auto !important;
  height: auto !important;
  min-height: 190px;
  float: none !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden;
  border-radius: 10px;
  border: 1px solid rgba(41,80,64,.24);
  background: #fffbf0;
  box-shadow: 0 9px 24px rgba(40,33,22,.10);
}
body.page-id-12 #classiwrapper .awpcp-listing-excerpt .awpcp-listing-excerpt-thumbnail {
  grid-column: 1;
  grid-row: 1/3;
  width: auto !important;
  min-width: 0;
  height: 100%;
  margin: 0 !important;
  float: none !important;
  background: linear-gradient(145deg,#e5ddc5,#e4ece3);
  border-right: 1px solid rgba(49,69,52,.15);
}
body.page-id-12 #classiwrapper .awpcp-listing-excerpt-thumbnail a {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
}
body.page-id-12 #classiwrapper .awpcp-listing-excerpt-thumbnail img {
  display: block;
  width: 100% !important;
  max-width: 100% !important;
  height: 100% !important;
  max-height: 280px;
  margin: 0 !important;
  padding: .5rem;
  object-fit: contain;
}
body.page-id-12 #classiwrapper .awpcp-listing-excerpt-inner {
  box-sizing: border-box;
  grid-column: 2;
  grid-row: 1;
  min-width: 0;
  width: auto !important;
  margin: 0 !important;
  padding: 1rem 1rem .4rem;
  float: none !important;
}
body.page-id-12 #classiwrapper .awpcp-listing-title {
  margin: 0 0 .6rem;
  color: #164b3e;
  font: 750 clamp(1.07rem, 1.2vw, 1.3rem)/1.32 Georgia, serif;
}
body.page-id-12 #classiwrapper .awpcp-listing-title a {
  color: #164b3e;
  text-decoration: none;
}
body.page-id-12 #classiwrapper .awpcp-listing-title a:hover,
body.page-id-12 #classiwrapper .awpcp-listing-title a:focus-visible {
  color: #8c3c2a;
  text-decoration: underline;
}
body.page-id-12 #classiwrapper .awpcp-listing-excerpt-content {
  color: #46473e;
  font-size: .89rem;
  line-height: 1.55;
}
body.page-id-12 #classiwrapper .awpcp-listing-excerpt-extra {
  box-sizing: border-box;
  grid-column: 2;
  grid-row: 2;
  padding: .7rem 1rem .8rem !important;
  margin: 0 !important;
  border-top: 1px solid rgba(37,71,56,.15);
  background: #f5efdf;
  color: #5a5447;
  font-size: .79rem;
  line-height: 1.55;
  float: none !important;
}
body.page-id-12 #classiwrapper .awpcp-listing-excerpt .fixfloat {
  display: none;
}
body.page-id-12 #classiwrapper :is(input,select,a,button):focus-visible {
  outline: 3px solid #bc6a3c;
  outline-offset: 2px;
}
@media (max-width: 780px) {
  body.page-id-12 #classiwrapper {
    margin: .7rem 0;
  }
  body.page-id-12 #classiwrapper .awpcp-listings {
    grid-template-columns: minmax(0,1fr);
  }
  body.page-id-12 #classiwrapper .awpcp-category-switcher {
    flex-wrap: wrap;
  }
  body.page-id-12 #classiwrapper .awpcp-classifieds-search-bar form {
    align-items: stretch;
  }
  body.page-id-12 #classiwrapper .awpcp-classifieds-search-bar--submit-button,
  body.page-id-12 #classiwrapper .awpcp-classifieds-search-bar--advanced-search-link {
    flex: 1 1 130px;
  }
  body.page-id-12 #classiwrapper .awpcp-listings > .awpcp-listing-excerpt {
    grid-template-columns: minmax(110px, 32%) minmax(0,1fr);
    min-height: 170px;
  }
}
@media (max-width: 380px) {
  body.page-id-12 #classiwrapper .awpcp-listings > .awpcp-listing-excerpt {
    grid-template-columns: minmax(0,1fr);
    grid-template-rows: auto auto auto;
  }
  body.page-id-12 #classiwrapper .awpcp-listing-excerpt .awpcp-listing-excerpt-thumbnail {
    grid-column: 1;
    grid-row: 1;
    height: 170px;
    border-right: 0;
    border-bottom: 1px solid rgba(49,69,52,.15);
  }
  body.page-id-12 #classiwrapper .awpcp-listing-excerpt-inner {grid-column:1;grid-row:2;}
  body.page-id-12 #classiwrapper .awpcp-listing-excerpt-extra {grid-column:1;grid-row:3;}
}

/* Use the form's existing accessible label as visible wayfinding,
   instead of inventing placeholder text or altering its data. */
body.page-id-12 #classiwrapper .awpcp-classifieds-search-bar--query-field > label.screen-reader-text {
  position: static !important;
  display: block !important;
  clip: auto !important;
  clip-path: none !important;
  width: auto !important;
  height: auto !important;
  overflow: visible !important;
  white-space: normal !important;
  margin: 0 0 .3rem !important;
  padding: 0 !important;
  color: #315a4c;
  font-weight: 800;
  font-size: .85rem;
  line-height: 1.3;
}

/* PASS 4 — Photos: a readable gallery, not a large empty white canvas. */
body.directory.media.bb-readylaunch-template #primary {
  padding-top: clamp(1.1rem, 2.5vw, 2rem);
}
body.directory.media .bb-rl-media-directory-wrapper {
  width: min(100%, 1100px);
  margin: 0 auto 3rem;
  border: 1px solid rgba(48, 76, 58, .17);
  border-radius: 13px;
  background: linear-gradient(145deg,#fffaf0,#f3ecd9 72%,#eee5cc);
  box-shadow: 0 12px 30px rgba(41, 35, 22, .08);
  overflow: hidden;
}
body.directory.media .bb-rl-media-directory-wrapper > .bb-rl-secondary-header {
  flex-wrap: wrap;
  gap: .5rem 1rem;
  min-height: 84px;
  padding: 1.1rem clamp(1.15rem,3vw,2rem);
  margin: 0;
  border-bottom: 3px solid #b68a4c;
  background: linear-gradient(115deg,#1b4c40,#35695c);
}
body.directory.media .bb-rl-media-directory-wrapper > .bb-rl-secondary-header h2 {
  margin: 0;
  font: 700 clamp(1.7rem,2.7vw,2.35rem)/1.15 Georgia,serif;
  letter-spacing: -.02em;
  color: #fff8e9;
}
body.directory.media .bb-rl-media-directory-wrapper .bb-rl-heading-count {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  min-width: 1.8rem;
  height: 1.8rem;
  padding: 0 .4rem;
  border-radius: 999px;
  background: #e4c38b;
  color: #164135;
  font: 800 .83rem/1 system-ui,sans-serif;
  vertical-align: middle;
}
body.directory.media .bb-rl-media-directory-wrapper .bb-rl-sub-ctrls label {
  color: #fff8e9;
}
body.directory.media .bb-rl-media-directory-wrapper .bb-rl-sub-ctrls select {
  border-radius: 6px;
  border: 1px solid #b8b89e;
  min-height: 38px;
  background: #fffaf0;
  color: #214d41;
}
body.directory.media .bb-rl-media-directory-content {
  min-height: 0;
  padding: clamp(1rem,2.7vw,2rem);
}
body.directory.media #media-stream,
body.directory.media .bb-rl-media-stream,
body.directory.media .bb-rl-media-directory-content {
  background: transparent;
}
body.directory.media .bb-photo-list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(230px,100%), 280px));
  justify-content: center;
  align-items: start;
  gap: 1.4rem;
  padding: 0 !important;
  margin: 0 auto !important;
}
body.directory.media .bb-photo-list > li.bb-photo-li {
  box-sizing: border-box;
  display: block;
  min-width: 0;
  width: 100% !important;
  margin: 0 !important;
  padding: .8rem;
  border: 1px solid rgba(49,80,64,.22);
  border-radius: 10px;
  background: #fffdf5;
  box-shadow: 0 8px 19px rgba(43,36,21,.11);
}
body.directory.media .bb-photo-list .bb-photo-thumb,
body.directory.media .bb-photo-list .bb-rl-entry-img {
  display: block;
  width: 100%;
  height: auto;
  min-height: 270px;
  background: #eee5ce;
  border-radius: 6px;
  overflow: hidden;
}
body.directory.media .bb-photo-list .bb-photo-thumb img {
  display: block;
  width: 100%;
  height: 290px;
  max-height: 290px;
  object-fit: contain;
  object-position: center;
  border-radius: 5px;
}
body.directory.media .bb-photo-list .bb-rl-entry-img:hover,
body.directory.media .bb-photo-list .bb-rl-entry-img:focus-visible {
  outline: 3px solid #ab6036;
  outline-offset: 3px;
}
body.directory.media .bb-rl-media-directory-wrapper a:focus-visible,
body.directory.media .bb-rl-media-directory-wrapper select:focus-visible {
  outline: 3px solid #e5ac61;
  outline-offset: 2px;
}
@media (max-width: 600px) {
  body.directory.media .bb-rl-media-directory-wrapper {
    border-radius: 0 0 10px 10px;
  }
  body.directory.media .bb-rl-media-directory-wrapper > .bb-rl-secondary-header {
    min-height: 0;
    padding: .9rem 1rem;
  }
  body.directory.media .bb-rl-media-directory-wrapper .bb-rl-sub-ctrls label {
    color: #fff8e9;
  }
  body.directory.media .bb-rl-media-directory-content {
    padding: 1rem;
  }
}

/* PASS 4 — Forum archive: present its existing discussion card prominently. */
body.forum-archive.bb-readylaunch-template #primary {
  padding-top: clamp(1.25rem,2.4vw,2rem);
}
body.forum-archive.bb-readylaunch-template .rr-readylaunch-page-header {
  max-width: 1080px;
  margin: 0 auto 1.2rem;
  padding-bottom: .7rem;
}
body.forum-archive #bbpress-forums {
  max-width: 1080px;
  margin: 0 auto;
  padding: clamp(1.1rem,2.4vw,2rem);
  border: 1px solid rgba(46,70,53,.19);
  border-radius: 12px;
  background: linear-gradient(142deg,#fdf8ea,#f0e7d2);
  box-shadow: 0 11px 31px rgba(52,39,24,.09);
}
body.forum-archive #bbpress-forums .bb-rl-secondary-header {
  padding: 0 0 1rem;
  margin-bottom: clamp(1rem,2vw,1.5rem);
  border-bottom: 1px solid rgba(48,74,56,.22);
  flex-wrap: wrap;
  gap: .65rem;
}
body.forum-archive #bbpress-forums .bb-rl-secondary-header h2 {
  margin: 0;
  color: #1d4e41;
  font: 750 clamp(1.12rem,2vw,1.55rem)/1.23 Georgia,serif;
}
body.forum-archive #bbpress-forums .bb-rl-forums-list {
  display: grid;
  grid-template-columns: repeat(auto-fit,minmax(min(270px,100%),420px));
  justify-content: center;
  gap: clamp(.85rem,2vw,1.5rem);
  padding: 0;
  margin: 0;
}
body.forum-archive #bbpress-forums .bb-rl-forum-list-item {
  min-width: 0;
  border: 1px solid rgba(35,76,59,.22);
  border-radius: 11px;
  background: #fffdf7;
  box-shadow: 0 9px 22px rgba(43,38,26,.10);
  overflow: hidden;
}
body.forum-archive #bbpress-forums .bb-rl-forum-cover {
  display: block;
  height: 105px;
  background:
    radial-gradient(circle at 82% 25%,rgba(241,195,110,.38),transparent 36%),
    linear-gradient(110deg,#173e34,#346a5c);
  border-bottom: 4px solid #b58a4a;
}
body.forum-archive #bbpress-forums .bb-rl-card-forum-details {
  padding: 1.2rem 1.3rem 1.4rem;
}
body.forum-archive #bbpress-forums .bb-rl-sec-header h3 {
  margin: 0 0 .55rem;
  font: 750 clamp(1.25rem,1.8vw,1.55rem)/1.25 Georgia,serif;
  letter-spacing: -.01em;
}
body.forum-archive #bbpress-forums a.bbp-forum-title {
  color: #1c5447;
  text-decoration: none;
}
body.forum-archive #bbpress-forums a.bbp-forum-title:hover,
body.forum-archive #bbpress-forums a.bbp-forum-title:focus-visible {
  color: #9b4830;
  text-decoration: underline;
}
body.forum-archive #bbpress-forums .bb-rl-forum-meta {
  margin: 0 0 .65rem;
  color: #6c614e;
  font-size: .85rem;
}
body.forum-archive #bbpress-forums .bb-rl-card-forum-details p {
  color: #46463a;
  line-height: 1.65;
}
@media (max-width: 600px) {
  body.forum-archive #bbpress-forums {
    padding: 1rem;
    border-radius: 8px;
  }
  body.forum-archive #bbpress-forums .bb-rl-card-forum-details {
    padding: 1.05rem;
  }
}

/* BuddyBoss supplies a fixed fractional width for each forum item. A grid
 * container alone cannot enlarge the item: override that original width. */
body.forum-archive #bbpress-forums .bb-rl-forums-list > li.bb-rl-forum-list-item {
  box-sizing: border-box;
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  flex: none !important;
  margin: 0 !important;
  float: none !important;
}

/* PASS 5 / CHATTANOOGA MUSIC-SCENE LANGUAGE
   Venue lights, ticket-stub typography, river-green ink and warm paper.
   Scope is intentionally limited to SHOWS and GEAR; the Scene collage stays intact. */
:root {
  --cms5-ink: #183e35;
  --cms5-ink-deep: #102e28;
  --cms5-cream: #fffaf0;
  --cms5-marigold: #d8a158;
  --cms5-stage-red: #9c442d;
}
/* Shows: make the existing intro an editorial gig-guide masthead. */
body.page-id-621.bb-readylaunch-template .rr-readylaunch-page-header {
  padding: 1.2rem clamp(1.1rem, 3vw, 2rem) .9rem;
  margin-bottom: .85rem;
  border-radius: 10px 10px 0 0;
  border: 1px solid rgba(48,80,60,.2);
  border-bottom: 4px solid var(--cms5-marigold);
  color: var(--cms5-cream);
  background: radial-gradient(circle at 95% 0%, rgba(235,191,116,.22),transparent 40%),
    linear-gradient(108deg,var(--cms5-ink-deep) 0%,#286154 95%);
  box-shadow: 0 11px 26px rgba(26,47,38,.14);
}
body.page-id-621.bb-readylaunch-template .rr-readylaunch-page-title {
  color: var(--cms5-cream);
  font-size: clamp(2.1rem,3.8vw,3.25rem);
  letter-spacing: -.04em;
  text-shadow: none;
}
body.page-id-621 .rr-readylaunch-page-header::before {
  content: "CHATTANOOGA  /  LIVE MUSIC";
  display: block;
  color: #e9c891;
  margin-bottom: .42rem;
  font: 800 .71rem/1.3 system-ui,sans-serif;
  letter-spacing: .15em;
}
body.page-id-621 #em-wrapper {
  max-width: 1220px;
  margin: 0 auto 3rem;
}
body.page-id-621 #em-wrapper > h6 {
  margin: 1rem 0 .35rem;
  color: var(--cms5-ink);
  font: 750 clamp(1.25rem,2vw,1.68rem)/1.25 Georgia,serif;
  letter-spacing: -.012em;
}
body.page-id-621 #em-wrapper > p {
  line-height: 1.7;
  max-width: 78ch;
  color: #464c3e;
}
body.page-id-621 .em-calendar {
  overflow: clip;
  border: 1px solid rgba(25,76,60,.25);
  border-radius: 12px;
  background: #fffbf2;
  box-shadow: 0 16px 35px rgba(37,40,27,.11);
}
body.page-id-621 .em-calendar .em-cal-nav,
body.page-id-621 .em-calendar section.em-cal-nav {
  padding: .7rem clamp(.75rem,1.5vw,1.2rem);
  border-bottom: 3px solid var(--cms5-marigold);
  background: linear-gradient(112deg,var(--cms5-ink-deep),#326b5a) !important;
}
body.page-id-621 .em-calendar .em-cal-nav input.em-month-picker,
body.page-id-621 .em-calendar .em-cal-nav .month,
body.page-id-621 .em-calendar .em-cal-nav .month-nav {
  color: var(--cms5-cream) !important;
}
body.page-id-621 .em-calendar .em-cal-nav a.em-calnav {
  display: inline-flex;
  min-width: 42px;
  min-height: 42px;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(249,228,190,.35);
  border-radius: 6px;
}
body.page-id-621 .em-calendar .em-cal-nav a.em-calnav svg path {
  stroke: #fff7e4;
}
body.page-id-621 .em-calendar .em-cal-week-days {
  border-bottom: 1px solid #e5d6bd;
  background: #f1e5cf;
}
body.page-id-621 .em-calendar .em-cal-week-days .em-cal-day {
  color: #4c483e;
  font-size: .76rem;
  font-weight: 800;
  letter-spacing: .055em;
}
body.page-id-621 .em-calendar .em-cal-body .em-cal-day {
  background-color: #fffaf0;
}
body.page-id-621 .em-calendar .em-cal-event {
  color: #fff9e9 !important;
  background: #1b5848 !important;
  border-left: 3px solid var(--cms5-marigold) !important;
  border-radius: 4px;
  margin: 2px 1px;
  padding: .17rem .28rem;
  box-shadow: 0 2px 5px rgba(22,51,39,.16);
  transition: background-color .16s ease, transform .16s ease;
}
body.page-id-621 .em-calendar .em-cal-event:hover,
body.page-id-621 .em-calendar .em-cal-event:focus-within {
  background: #8b3c2c !important;
  transform: translateY(-1px);
}
body.page-id-621 .em-calendar .em-cal-event a {
  color: #fff9e9 !important;
  font-weight: 700;
  text-decoration: none;
}
body.page-id-621 .em-calendar .em-cal-event a:focus-visible,
body.page-id-621 .em-calendar .em-cal-nav a:focus-visible {
  outline: 3px solid #f3ba69;
  outline-offset: 2px;
}
/* A gig-list treatment, not a software table, on phones. */
@media (max-width:767px) {
  body.page-id-621.bb-readylaunch-template .rr-readylaunch-page-header {
    padding: 1.05rem 1rem .9rem;
    border-radius: 8px;
  }
  body.page-id-621.bb-readylaunch-template .rr-readylaunch-page-title {
    font-size: clamp(2rem,7vw,2.55rem);
  }
  body.page-id-621 .cms-mobile-agenda:not([hidden]) {
    border: 1px solid rgba(34,91,73,.32);
    border-top: 5px solid #c68e48;
    border-radius: 10px;
    background: #fff8e8;
    box-shadow: 0 12px 27px rgba(37,42,25,.11);
  }
  body.page-id-621 .cms-mobile-agenda .cms-agenda-list li {
    gap: .75rem;
    padding: .92rem .3rem;
    border-color: rgba(34,76,54,.17);
  }
  body.page-id-621 .cms-mobile-agenda .cms-agenda-date {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    align-self: start;
    padding: .4rem .35rem;
    border-radius: 5px;
    color: #fff7e6;
    background: #1a5547;
    font-size: .74rem;
    font-weight: 800;
    line-height: 1.15;
    text-align: center;
  }
  body.page-id-621 .cms-mobile-agenda .cms-agenda-link {
    padding: .25rem 0;
    font-size: .95rem;
    line-height: 1.48;
  }
  body.page-id-621 .cms-mobile-view-toggle:not([hidden]) {
    margin: .6rem 0 1rem;
    background: #f2e6ce;
    border-color: #c9b799;
  }
  body.page-id-621 .em-calendar .em-cal-nav {
    position: sticky;
    left: 0;
  }
}
/* Gear: keep original merchant copy and products, but visually identify
   the guitar-focused section with shop-label/ticket accents. */
body.woocommerce-shop.bb-readylaunch-template .rr-readylaunch-page-header {
  padding: clamp(1rem,2.3vw,1.9rem) clamp(1.2rem,2.7vw,2.3rem);
  border: 1px solid rgba(44,80,57,.18);
  border-left: 6px solid var(--cms5-stage-red);
  border-bottom: 3px solid #dcb56d;
  border-radius: 9px;
  background: linear-gradient(111deg,#f7e9cd 0%,#fff8e7 100%);
  box-shadow: 0 9px 24px rgba(67,45,27,.09);
}
body.woocommerce-shop.bb-readylaunch-template .rr-readylaunch-page-header::before {
  content: "GEAR  /  THE MUSIC SCENE";
  display: block;
  margin-bottom: .5rem;
  font: 800 .72rem/1.3 system-ui,sans-serif;
  letter-spacing: .13em;
  color: var(--cms5-stage-red);
}
body.woocommerce-shop.bb-readylaunch-template .rr-readylaunch-page-title {
  color: var(--cms5-ink);
  font-size: clamp(1.95rem,3.1vw,3.1rem);
  max-width: 26ch;
  margin: 0;
  line-height: 1.13;
  text-shadow: none;
}
body.woocommerce-shop.bb-readylaunch-template .rr-readylaunch-entry-content {
  border-radius: 10px;
  background: #fffaf0;
  border: 1px solid rgba(52,76,51,.2);
  box-shadow: 0 14px 34px rgba(50,41,27,.08);
  color: #313c32;
  line-height: 1.7;
}
body.woocommerce-shop.bb-readylaunch-template .rr-readylaunch-entry-content strong,
body.woocommerce-shop.bb-readylaunch-template .rr-readylaunch-entry-content b {
  color: var(--cms5-ink);
}
body.woocommerce-shop.bb-readylaunch-template .rr-readylaunch-entry-content img {
  border: 8px solid #fffdf7;
  border-radius: 10px;
  background: white;
  box-shadow: 0 14px 34px rgba(47,40,22,.12);
}
@media (prefers-reduced-motion: reduce) {
  body.page-id-621 .em-calendar .em-cal-event { transition: none; transform: none; }
}
/* Events Manager paints the inner event row separately using an inline
   custom property. Set the token at its owner, not just the outer wrapper. */
body.page-id-621 .em-calendar .em-cal-event {
  --event-background-color: #1b5848 !important;
  --event-border-color: #d8a158 !important;
  --event-color: #fff9e9 !important;
}
body.page-id-621 .em-calendar .em-cal-event > div {
  color: #fff9e9 !important;
  background-color: #1b5848 !important;
  border-radius: 3px;
}
body.page-id-621 .em-calendar .em-cal-event:hover > div,
body.page-id-621 .em-calendar .em-cal-event:focus-within > div {
  background-color: #8b3c2c !important;
}

/* PASS 6 — Desktop editorial architecture.
 * The existing stories are unchanged; the reading list is derived from their headings. */
@media (min-width: 1200px) {
  body.blog.bb-readylaunch-template #primary > .bb-rl-container.cms-editorial-enhanced {
    max-width: 1440px;
    width: min(96%, 1440px);
    padding: clamp(1.4rem,2.6vw,2.7rem);
  }
}
body.blog.bb-readylaunch-template .cms-editorial-masthead {
  position: relative;
  max-width: 1370px;
  margin: 0 auto clamp(1.3rem,2.3vw,2.15rem);
  padding: clamp(1.45rem,3vw,2.75rem) clamp(1.3rem,3.1vw,3.1rem);
  background:
    radial-gradient(circle at 94% 18%,rgba(226,183,101,.24),transparent 34%),
    linear-gradient(112deg,#143d35,#2e6a5b);
  border-left: 7px solid #c99b56;
  border-radius: 10px;
  box-shadow: 0 15px 32px rgba(35,44,29,.14);
  color: #fff7e7;
}
body.blog.bb-readylaunch-template .cms-editorial-kicker,
body.groups.directory .cms-band-kicker {
  display: block;
  margin-bottom: .5rem;
  color: #f0ca88;
  font: 800 .75rem/1.3 system-ui,sans-serif;
  letter-spacing: .15em;
}
body.blog.bb-readylaunch-template .cms-editorial-heading {
  margin: 0 0 .45rem;
  color: #fff8e7;
  font: 740 clamp(2.3rem,4vw,4.2rem)/1.06 Georgia,serif;
  letter-spacing: -.035em;
  text-transform: none;
  text-wrap: balance;
}
body.blog.bb-readylaunch-template .cms-editorial-deck {
  max-width: 54ch;
  margin: .5rem 0 0;
  color: rgba(255,248,232,.91);
  font: 450 clamp(.98rem,1.3vw,1.18rem)/1.6 system-ui,sans-serif;
}
body.blog.bb-readylaunch-template .cms-editorial-grid {
  display: grid;
  grid-template-columns: minmax(0,1fr) 310px;
  gap: clamp(1.3rem,2.6vw,3rem);
  align-items: start;
}
body.blog.bb-readylaunch-template .cms-editorial-stories {
  display: flex;
  flex-direction: column;
  min-width: 0;
}
body.blog.bb-readylaunch-template .cms-editorial-stories > article {
  width: 100%;
  max-width: none;
  min-width: 0;
}
body.blog.bb-readylaunch-template .cms-editorial-stories > article img {
  max-width: 100%;
  height: auto;
}
body.blog.bb-readylaunch-template .cms-editorial-rail {
  position: sticky;
  top: 6rem;
  align-self: start;
  max-height: calc(100vh - 7.3rem);
  overflow-y: auto;
  scrollbar-width: thin;
  border: 1px solid rgba(53,85,66,.22);
  border-radius: 10px;
  background: #faf2df;
  box-shadow: 0 13px 32px rgba(51,40,22,.09);
}
body.blog.bb-readylaunch-template .cms-editorial-index {
  padding: 1.35rem 1.2rem 1.2rem;
}
body.blog.bb-readylaunch-template .cms-editorial-index-kicker {
  display: block;
  margin-bottom: .4rem;
  color: #a44e35;
  font: 800 .73rem/1.35 system-ui,sans-serif;
  letter-spacing: .11em;
}
body.blog.bb-readylaunch-template .cms-editorial-index-title {
  margin: 0 0 1.1rem;
  color: #174c3f;
  font: 760 1.55rem/1.22 Georgia,serif;
  letter-spacing: -.015em;
  text-transform: none;
}
body.blog.bb-readylaunch-template .cms-editorial-index-list {
  display: flex;
  flex-direction: column;
  list-style: none;
  gap: .1rem;
  padding: 0;
  margin: 0;
}
body.blog.bb-readylaunch-template .cms-editorial-index-item {
  margin: 0;
  border-top: 1px solid rgba(49,88,70,.16);
}
body.blog.bb-readylaunch-template .cms-editorial-index-link {
  display: grid;
  grid-template-columns: 2.1rem minmax(0,1fr);
  gap: .65rem;
  align-items: start;
  width: 100%;
  padding: .75rem .32rem;
  color: #24483f;
  text-decoration: none;
  border-radius: 5px;
}
body.blog.bb-readylaunch-template .cms-editorial-index-number {
  font: 800 .75rem/1.6 system-ui,sans-serif;
  color: #a64e31;
}
body.blog.bb-readylaunch-template .cms-editorial-index-copy {
  font: 700 .88rem/1.47 Georgia,serif;
}
body.blog.bb-readylaunch-template .cms-editorial-index-link:is(:hover,:focus-visible,[aria-current]) {
  background: rgba(26,90,73,.09);
  color: #8d3a2a;
  text-decoration: underline;
  text-decoration-color: #c48d59;
  text-underline-offset: 3px;
}
body.blog.bb-readylaunch-template .cms-editorial-index-link:focus-visible {
  outline: 3px solid #be7a49;
  outline-offset: 1px;
}
body.blog.bb-readylaunch-template .cms-editorial-stories > article {
  scroll-margin-top: 6.5rem;
}
@media (max-width: 1199px) {
  body.blog.bb-readylaunch-template .cms-editorial-grid {
    display: block;
  }
  body.blog.bb-readylaunch-template .cms-editorial-rail {display:none;}
}
/* Bands: full-width directory masthead and more useful desktop group scale. */
body.groups.directory .cms-band-masthead {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1.5rem;
  width: min(100%,1240px);
  box-sizing: border-box;
  margin: clamp(1.1rem,2.6vw,2.5rem) auto clamp(1.3rem,2.1vw,2rem);
  padding: clamp(1.5rem,2.8vw,2.6rem) clamp(1.4rem,3vw,3rem);
  border-radius: 12px;
  border-left: 7px solid #c99753;
  color: #fff8e9;
  background:
    radial-gradient(circle at 84% 17%,rgba(229,190,114,.23),transparent 39%),
    linear-gradient(116deg,#133c34 0%,#276456 92%);
  box-shadow: 0 13px 34px rgba(29,49,34,.14);
}
body.groups.directory .cms-band-masthead-copy {min-width: 0;}
body.groups.directory .cms-band-title {
  max-width: 20ch;
  margin: 0 0 .55rem;
  color: #fff8e9;
  font: 750 clamp(2.05rem,3.7vw,3.6rem)/1.08 Georgia,serif;
  letter-spacing: -.035em;
  text-transform: none;
  text-wrap: balance;
}
body.groups.directory .cms-band-description {
  max-width: 58ch;
  margin: 0;
  color: rgba(255,250,234,.91);
  font: 450 clamp(.94rem,1.2vw,1.08rem)/1.6 system-ui,sans-serif;
}
body.groups.directory .cms-band-count {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  flex: 0 0 135px;
  min-height: 118px;
  border: 1px solid rgba(255,232,191,.42);
  border-radius: 9px;
  background: rgba(9,34,29,.25);
}
body.groups.directory .cms-band-count-number {
  color: #f0c98b;
  font: 780 3rem/1.1 Georgia,serif;
}
body.groups.directory .cms-band-count-label {
  color: #fff8e9;
  font: 700 .82rem/1.4 system-ui,sans-serif;
}
@media (min-width: 1050px) {
  body.groups.directory .cms-band-enhanced #groups-list.groups-list.grid {
    grid-template-columns: repeat(2,minmax(0,430px));
    justify-content: center;
    gap: clamp(1.15rem,2.3vw,2.25rem);
    max-width: 1120px;
    margin: 0 auto;
  }
  body.groups.directory .cms-band-enhanced #groups-list.groups-list.grid > li.item-entry {
    width: 100% !important;
    max-width: 430px !important;
  }
  body.groups.directory .cms-band-enhanced #groups-list .bs-group-cover,
  body.groups.directory .cms-band-enhanced #groups-list .bs-group-cover img {
    height: 150px;
    max-height: 150px;
  }
  body.groups.directory .cms-band-enhanced #groups-list .list-title.groups-title {
    font-size: 1.44rem;
    line-height: 1.26;
  }
}
@media (max-width: 767px) {
  body.groups.directory .cms-band-masthead {
    align-items: flex-start;
    flex-direction: column;
    margin-top: .9rem;
    padding: 1.3rem 1.25rem;
  }
  body.groups.directory .cms-band-count {
    align-self: stretch;
    min-height: 0;
    padding: .7rem;
    flex: auto;
    flex-direction: row;
    gap: .7rem;
  }
  body.groups.directory .cms-band-count-number {font-size: 1.8rem;}
}

/* PASS 7 START — Music scene shop: existing photos become a desktop gallery.
   Editorial layout only; WooCommerce records and product images are untouched. */
@media (min-width: 1120px) {
  body.woocommerce-shop.bb-readylaunch-template #primary > .bb-rl-container {
    width: min(96%, 1400px);
    max-width: 1400px;
  }
  body.woocommerce-shop.bb-readylaunch-template #primary article.product {
    margin-bottom: clamp(2.3rem, 4vw, 4rem);
  }
  body.woocommerce-shop.bb-readylaunch-template article.product .rr-readylaunch-entry-content.cms-gear-enhanced {
    width: 100%;
    max-width: 1400px;
    box-sizing: border-box;
    margin-top: 1rem;
  }
}
body.woocommerce-shop .cms-gear-layout {
  display: grid;
  grid-template-columns: minmax(0,.85fr) minmax(0,1.15fr);
  gap: clamp(1.4rem,3vw,3.5rem);
  align-items: start;
}
body.woocommerce-shop .cms-gear-copy {
  min-width: 0;
  padding: .5rem .1rem .8rem;
  color: #344034;
}
body.woocommerce-shop .cms-gear-copy > p {
  margin: 0 0 .85rem;
  max-width: 63ch;
  line-height: 1.76;
  font-size: clamp(.95rem,1vw,1.04rem);
}
body.woocommerce-shop .cms-gear-copy > p:first-child {
  padding: 0 0 .75rem;
  margin: 0 0 1rem;
  border-bottom: 2px solid #cfa66d;
  color: #173f35;
  font: 750 clamp(1.16rem,1.5vw,1.48rem)/1.35 Georgia,serif;
}
body.woocommerce-shop .cms-gear-copy > p:has(> b:first-child) {
  color: #1f5548;
}
body.woocommerce-shop .cms-gear-gallery {
  min-width: 0;
  padding: clamp(.65rem,1.4vw,1.15rem);
  border: 1px solid rgba(34,72,55,.2);
  border-radius: 11px;
  background:
    linear-gradient(140deg,#f6eddb 0%,#fffaf0 54%,#eee7d9 100%);
  box-shadow: 0 11px 30px rgba(39,35,23,.08);
}
body.woocommerce-shop .cms-gear-image-collection {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: clamp(.35rem,.9vw,.8rem);
  margin: 0 !important;
  padding: 0 !important;
  min-width: 0;
}
body.woocommerce-shop .cms-gear-image-collection > br,
body.woocommerce-shop .cms-gear-image-collection > noscript {
  display: none !important;
}
body.woocommerce-shop .cms-gear-image-collection img {
  box-sizing: border-box;
  display: block;
  width: 100% !important;
  height: 105px !important;
  min-width: 0;
  max-height: none !important;
  object-fit: contain;
  padding: .35rem;
  margin: 0 !important;
  border: 1px solid rgba(53,76,59,.17) !important;
  border-radius: 6px;
  background: #fffef9;
  box-shadow: none !important;
}
body.woocommerce-shop .cms-gear-image-collection img:first-of-type {
  grid-column: 1/-1;
  height: clamp(240px,26vw,360px) !important;
  padding: .65rem;
  border-radius: 8px;
  box-shadow: 0 6px 21px rgba(27,41,34,.12) !important;
}
body.woocommerce-shop .cms-gear-image-collection img:hover {
  border-color: #b57e49 !important;
}
@media (max-width: 1119px) {
  body.woocommerce-shop .cms-gear-layout {grid-template-columns:minmax(0,1fr);}
  body.woocommerce-shop .cms-gear-gallery {width: min(100%,800px); box-sizing:border-box;}
}
@media (max-width: 600px) {
  body.woocommerce-shop .cms-gear-gallery {padding: .55rem;}
  body.woocommerce-shop .cms-gear-image-collection {gap:.4rem;}
  body.woocommerce-shop .cms-gear-image-collection img {height:90px !important;}
  body.woocommerce-shop .cms-gear-image-collection img:first-of-type {height:260px !important;}
}
/* PASS 7 END. */
