::root {
    --id-section-padding: clamp(3rem, 6vw, 5rem) 0 0;
}

.jp-header,
.entry-header.product-archive-title.title-align-inherit.title-tablet-align-inherit.title-mobile-align-inherit {
    position: relative;
    top: 2rem;
    position: relative;
    padding: 1.5rem 0;
    margin-bottom: 0;
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    display: flex;
    align-items: center;
    gap: 1.5rem;
}

.jp-header::before,
.entry-header.product-archive-title.title-align-inherit.title-tablet-align-inherit.title-mobile-align-inherit::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 120px;
    height: 2px;
    background: linear-gradient(
      90deg,
      #c6a853 0%,
      rgba(198, 168, 83, 0.6) 60%,
      rgba(198, 168, 83, 0) 100%
    );
}

.jp-header-rule,
.entry-header.product-archive-title.title-align-inherit.title-tablet-align-inherit.title-mobile-align-inherit::after {
    height: 2px;
    width: 70vw;
    background: linear-gradient(
      90deg,
      rgba(198, 168, 83, 0) 0%,
      rgba(198, 168, 83, 0.25) 15%,
      rgba(198, 168, 83, 0.7) 45%,
      #c6a853 100%
    );
}


/* Secondary page menu (editorial style) */
.secondary-page-menu {
  margin: 0;
}

.wp-block-kadence-navigation.secondary-page-menu .menu-container {
  border-bottom: 1px solid rgba(198, 168, 83, 0.18);
  padding: 0.85rem 1.5rem 0.85rem 0;
  display: flex !important;
  justify-content: flex-end !important;
  width: 100%;
}

.wp-block-kadence-navigation.secondary-page-menu .kb-navigation.menu {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex !important;
  align-items: center;
  justify-content: flex-end !important;
  flex-wrap: nowrap !important;
  gap: clamp(1.1rem, 2.2vw, 2.2rem);
  margin-left: auto !important;
  width: auto;
}

.secondary-page-menu .menu-item {
  margin: 0;
  padding: 0;
}

.secondary-page-menu .kb-nav-link-content {
  position: relative;
  display: inline-block;
  text-decoration: none;
  text-transform: uppercase;
  letter-spacing: 0.17em;
  font-size: 0.9rem;
  font-weight: 500;
  color: rgba(34, 34, 34, 0.76);
  padding: 0.15rem 0;
  transition: color 240ms ease;
}

.secondary-page-menu .kb-nav-link-content::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -0.2rem;
  width: 100%;
  height: 1px;
  background: linear-gradient(
    90deg,
    rgba(198, 168, 83, 0) 0%,
    rgba(198, 168, 83, 0.7) 50%,
    rgba(198, 168, 83, 0) 100%
  );
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform 260ms ease;
}

.secondary-page-menu .kb-nav-link-content:hover,
.secondary-page-menu .kb-nav-link-content:focus-visible {
  color: rgba(34, 34, 34, 1);
}

.secondary-page-menu .kb-nav-link-content:hover::after,
.secondary-page-menu .kb-nav-link-content:focus-visible::after {
  transform: scaleX(1);
}

.secondary-page-menu .kb-nav-link-content:focus-visible {
  outline: none;
}

#music {
    padding: var(--id-section-padding);
}

#music.remove-top-padding{
    padding: 0;
}

#menu-music-menu li a {
    color: #222;
}

#post-520 #menu-music-menu li a {
    color: #FAF9F6;
}

#post-520 #videos {
    padding: 2rem 0;
}

#post-520 #discography {
    padding: 0;
}

#post-520 {
    max-width: 1100px;
    margin: 8rem auto;
}

/* Secondary music menu (WP menu markup) */
.jp-inline-menu {
  list-style: none;
  margin: 0 0 2.5rem;
  padding: 0;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  flex-wrap: wrap;
  gap: 0 clamp(1.1rem, 2.2vw, 2.2rem);
}

.jp-inline-menu .menu-item {
  margin: 0;
  padding: 0;
}

.jp-inline-menu .menu-item + .menu-item::before {
  content: "";
  display: inline-block;
  width: 0.28rem;
  height: 0.28rem;
  margin-right: clamp(0.85rem, 1.8vw, 1.5rem);
  border-radius: 50%;
  background: rgba(198, 168, 83, 0.65);
  vertical-align: middle;
}

.jp-inline-menu .menu-item > a {
  position: relative;
  display: inline-block;
  text-decoration: none;
  text-transform: uppercase;
  letter-spacing: 0.17em;
  font-size: 0.78rem;
  font-weight: 500;
  color: white;
  padding: 0.15rem 0;
  transition: color 240ms ease;
  margin-bottom: 1.75rem;
}

.jp-inline-menu .menu-item > a::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -0.2rem;
  width: 100%;
  height: 1px;
  background: linear-gradient(
    90deg,
    rgba(198, 168, 83, 0) 0%,
    rgba(198, 168, 83, 0.7) 50%,
    rgba(198, 168, 83, 0) 100%
  );
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform 260ms ease;
}

.jp-inline-menu .menu-item > a:hover::after,
.jp-inline-menu .menu-item > a:focus-visible::after {
  transform: scaleX(1);
}

.jp-inline-menu .menu-item > a:focus-visible {
  outline: none;
}

.jp-music__header {
    margin-bottom: 0;
}

#music.jp-music-page {
    background: #fff;
}

.jp-music-page .jp-music__inner {
    padding: 0;
}

#post-520 #menu-music-menu li:first-of-type {
    display: none;
}

#post-520 #menu-music-menu li:nth-of-type(2)::before {
    content: none;
}

#post-520,
#post-520 .entry-content-wrap,
#post-520 .entry-content.single-content {
    background: transparent !important;
}

#post-520 .jp-title {
    color: #fff;
}

@media screen and (max-width: 1024px) {
    .jp-inline-menu {
        flex-direction: row;
        flex-wrap: wrap;
        justify-content: center;
    }
}

@media (max-width: 768px) {
  .jp-inline-menu {
    padding-right: 1rem;
    gap: 0.85rem;
  }

  .jp-inline-menu .menu-item + .menu-item::before {
    margin-right: 0.6rem;
  }
}


@media (max-width: 768px) {
  .wp-block-kadence-navigation.secondary-page-menu .menu-container {
    padding-right: 1rem;
  }

  .wp-block-kadence-navigation.secondary-page-menu .kb-navigation.menu {
    justify-content: flex-end !important;
    flex-wrap: nowrap !important;
    gap: 0.85rem;
  }

  /*.secondary-page-menu .menu-item + .menu-item::before {*/
  /*  margin-right: 0.6rem;*/
  /*}*/
}

/* Secondary music menu (WP menu markup) */
.jp-inline-menu,
#jp-shop-category-menu .jp-inline-menu {
  list-style: none;
  margin: 0 0 2.5rem;
  padding: 0.85rem 0 .25rem;
  border-bottom: 1px solid rgba(198, 168, 83, 0.18);
  display: flex;
  justify-content: flex-end;
  align-items: center;
  flex-wrap: wrap;
  gap: 0 clamp(1.1rem, 2.2vw, 2.2rem);
}

.jp-inline-menu .menu-item {
  margin: 0;
  padding: .5rem 0;
}

.jp-inline-menu .menu-item + .menu-item::before {
  content: "";
  display: inline-block;
  width: 0.28rem;
  height: 0.28rem;
  margin-right: clamp(0.85rem, 1.8vw, 1.5rem);
  border-radius: 50%;
  background: rgba(198, 168, 83, 0.65);
  vertical-align: middle;
}

.jp-inline-menu .menu-item > a {
  position: relative;
  display: inline-block;
  text-decoration: none;
  text-transform: uppercase;
  letter-spacing: 0.17em;
  font-size: 0.78rem;
  font-weight: 500;
  color: rgba(34, 34, 34, 0.76);
  padding: 0.15rem 0;
  transition: color 240ms ease;
}

.jp-inline-menu .menu-item > a::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -0.2rem;
  width: 100%;
  height: 1px;
  background: linear-gradient(
    90deg,
    rgba(198, 168, 83, 0) 0%,
    rgba(198, 168, 83, 0.7) 50%,
    rgba(198, 168, 83, 0) 100%
  );
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform 260ms ease;
}

.jp-inline-menu .menu-item > a:hover,
.jp-inline-menu .menu-item > a:focus-visible {
  color: rgba(34, 34, 34, 1);
}

.jp-inline-menu .menu-item > a:hover::after,
.jp-inline-menu .menu-item > a:focus-visible::after {
  transform: scaleX(1);
}

.jp-inline-menu .menu-item > a:focus-visible {
  outline: none;
}

/* Shop category dropdown (parent with children) */
.jp-shop-category-menu > .menu-item-has-children {
  position: relative;
  flex-shrink: 0;
}

.jp-shop-category-menu .menu-item-has-children > a .jp-menu-arrow {
  font-size: 0.5em;
  margin-left: 0.25em;
  opacity: 0.7;
  vertical-align: middle;
}

.jp-shop-category-menu .jp-shop-submenu {
  display: block;
  position: absolute;
  top: 100%;
  left: 0;
  margin: -4px 0 0 0;
  list-style: none;
  padding: 0.5rem 0;
  min-width: 12rem;
  background: #fff;
  border: 1px solid rgba(198, 168, 83, 0.35);
  border-top: 2px solid rgba(198, 168, 83, 0.6);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
  opacity: 0;
  visibility: hidden;
  transform: translateY(-6px);
  transition: opacity 0.2s ease, transform 0.2s ease, visibility 0.2s;
  z-index: 1000;
  pointer-events: none;
}

/* Dark dropdown when menu is on dark background (shop page) */
.jp-shop-category-menu-wrapper .jp-shop-submenu {
  background: #1a1d24;
  border-color: rgba(198, 168, 83, 0.45);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.4);
}

/* Invisible bridge so hover persists when moving from parent to dropdown */
.jp-shop-category-menu .jp-shop-submenu::before {
  content: "";
  position: absolute;
  top: -12px;
  left: 0;
  right: 0;
  height: 12px;
}

.jp-shop-category-menu .menu-item-has-children:hover .jp-shop-submenu,
.jp-shop-category-menu .menu-item-has-children:focus-within .jp-shop-submenu,
.jp-shop-category-menu .menu-item-has-children.is-expanded .jp-shop-submenu {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
  pointer-events: auto;
}

.jp-shop-category-menu .menu-item-has-children:hover .jp-shop-submenu,
.jp-shop-category-menu .menu-item-has-children:focus-within .jp-shop-submenu,
.jp-shop-category-menu .menu-item-has-children.is-expanded .jp-shop-submenu {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.jp-shop-category-menu .jp-shop-submenu .menu-item {
  margin: 0;
  padding: 0;
}

/* Override main menu dots - submenu items must not show separator dots */
.jp-shop-category-menu .jp-shop-submenu .menu-item::before,
.jp-shop-category-menu .jp-shop-submenu .menu-item + .menu-item::before {
  display: none !important;
}

.jp-shop-category-menu .jp-shop-submenu .menu-item-parent {
  border-bottom: 1px solid rgba(198, 168, 83, 0.2);
  margin-bottom: 0.25rem;
  padding-bottom: 0.25rem;
}

.jp-shop-category-menu .jp-shop-submenu .menu-item a {
  display: block;
  padding: 0.5rem 1rem;
  font-size: 0.72rem;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: rgba(34, 34, 34, 0.85);
  text-decoration: none;
  transition: background 0.15s ease, color 0.15s ease;
}

.jp-shop-category-menu .jp-shop-submenu .menu-item a:hover,
.jp-shop-category-menu .jp-shop-submenu .menu-item a:focus-visible {
  background: rgba(198, 168, 83, 0.08);
  color: #222;
}

/* Dark dropdown: light text */
.jp-shop-category-menu-wrapper .jp-shop-submenu .menu-item a {
  color: rgba(255, 255, 255, 0.88);
}

.jp-shop-category-menu-wrapper .jp-shop-submenu .menu-item a:hover,
.jp-shop-category-menu-wrapper .jp-shop-submenu .menu-item a:focus-visible {
  background: rgba(198, 168, 83, 0.15);
  color: #fff;
}

.jp-shop-category-menu-wrapper .jp-shop-submenu .menu-item-parent {
  border-bottom-color: rgba(198, 168, 83, 0.35);
}

/* Dark background contexts (e.g. shop page) */
.jp-shop-category-menu-wrapper .jp-inline-menu .menu-item > a {
  color: rgba(255, 255, 255, 0.85);
}

.jp-shop-category-menu-wrapper .jp-inline-menu .menu-item > a:hover,
.jp-shop-category-menu-wrapper .jp-inline-menu .menu-item > a:focus-visible {
  color: #fff;
}

@media (max-width: 780px) {
  .jp-inline-menu {
    padding-right: 1rem;
    gap: 0.85rem;
  }

  .jp-inline-menu .menu-item + .menu-item::before {
    margin-right: 0.6rem;
  }
}
