/* === Base tokens === */
:root{
  --sidebar-w: 340px;
  --discography-right-margin: 200px;
  --tile: 175px; /* cover size */
  --gap: 20px; /* spacing between covers */
  --bg: #FCFCFC;
  --line: #E5E5E5;
  --ink: #000;
  --shadow: 0 2px 6px rgba(0,0,0,.12);
}

*{box-sizing:border-box}
html,body{margin:0;padding:0}
a{color:inherit;text-decoration:none}

/* === Layout: content (left) + fixed right sidebar === */
.site{
  display:flex;
  min-height:100vh;
}
/* Sidebar on the right, fixed and scrollable */
.site-header{
  position:fixed;
  right:0;
  top:0;
  width:var(--sidebar-w);
  height:100vh;
  background:var(--bg);
  box-shadow:2px 2px 10px #000;
  display:flex;
  flex-direction:column;
  overflow:auto;
  z-index:1000;
}
.nav-menu{
  list-style:none;
  margin:0;
  padding:0;
}
.nav-menu li{list-style:none}
.nav-menu li a{
  display:block;
  letter-spacing: .04em;
  padding:.618em .5em .618em 3.5em;
  width:100%;
  background:var(--bg);
  border-top:1px solid var(--line);
  color:var(--ink);
  text-decoration:none;
}
.current_page_item > a {
  font-weight:700
}
/* Sidebar footer (copyright pinned bottom-right) */
.site-footer{
  margin-top:auto;
  text-align:right;
  padding:0 14px 12px;
  font-size:.9rem;
  color:#444;
  white-space:nowrap;
}

/* === Content area === */
#page,
.site,
.site-content,
.content-area,
.site-main,
main{
  margin-right:var(--discography-right-margin);
  flex:1 1 auto;
}

/* === DISCOGRAPY PAGE === */
/* Hide the label row if it exists */
.page-template-template-discography .label-row,
.page-template-template-discography .disco-filters.top{
  display:none !important;
}
/* ---- Type links row (top, left-aligned) ---- */
.page-template-template-discography .types-row,
.page-template-template-discography .disco-filters.bottom{
  display:flex;
  flex-wrap:wrap;
  gap:10px 22px;
  justify-content:flex-start;
  align-items:center;
  margin:16px 40px 22px;
  padding:0;
  border:0;
}
.page-template-template-discography .types-row a,
.page-template-template-discography .disco-filters.bottom a{
  text-decoration:none;
  color: #000;
}
.page-template-template-discography .types-row a:hover,
.page-template-template-discography .disco-filters.bottom a:hover{
  font-weight:700;
  border-color:#000;
  text-decoration:none;
  color: #000;
}
.page-template-template-discography .types-row a.is-active,
.page-template-template-discography .disco-filters.bottom a.is-active{
  font-weight:700;
  border-color:#000;
  color: #000;
}
/* ---- Grid of covers ---- */
.page-template-template-discography .disco-grid{
  display:grid;
  grid-template-columns: repeat(auto-fill, var(--tile));
  gap: var(--gap);
  justify-content: start;
  align-content: start;
  padding: 8px 40px 40px;
}
.page-template-template-discography .disco-card{
  width: var(--tile);
  height: var(--tile);
  position: relative;
  overflow: hidden;
  background: #eee;
  box-shadow: var(--shadow);
}
/* Slightly spread columns on very wide screens */
/* ---- Cards + hover titles ---- */
.page-template-template-discography .img_wrap{
  position:relative;
  display:block;
  width:100%;
  height:100%;
  box-shadow:3px 3px 3px #999;
  overflow: hidden; /* keep overlay inside the tile */
}
.page-template-template-discography .img_wrap img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.page-template-template-discography .img_description{
  position:absolute;
  inset:0;
  padding:15px;
  background:rgba(0,0,0,.7);
  color:#fff;
  font-size:1em;
  opacity:0;
  visibility:hidden;
  transition:opacity .15s linear;
}
.page-template-template-discography .img_wrap:hover .img_description{
  opacity:1;
  visibility:visible;
}
/* Discography: clamp description overlay to max 6 lines on desktop */
.disco-card .img_wrap{
  /* position: relative;
  display: block; */
}

.disco-card .img_wrap img{
  /* display: block; */
  /* width: 100%; */
  /* height: auto; */
}

/* ---- Lazy-loader ---- */
.page-template-template-discography #discoSentinel{height:1px}
.page-template-template-discography .disco-loader{
  text-align:center;
  opacity:0;
  transition:opacity .2s ease;
  padding:14px 0 28px;
}
.page-template-template-discography body.is-loading .disco-loader{opacity:1}

/* === Mobile adjustments === */
@media (max-width:1024px){
  .site{
    flex-direction:column;
  }
  #page,
  .site,
  .site-content,
  .content-area,
  .site-main,
  main{
    margin-right:0;
  }
}
/* optional: pad for the notch/status bar only on iOS Safari */
.site-header { padding-top: env(safe-area-inset-top); }
@supports not (padding: max(0px)) {
  /* fallback not needed, but here if you want */
}
/* === Discography grid: larger tiles on mobile === */
@media (max-width: 768px) {
  :root {
    --tile: 250px;
  }
  .disco-grid .disco-item img {
    width: var(--tile);
    height: var(--tile);
  }
  .disco-grid .disco-item {
    width: var(--tile);
    height: var(--tile);
  }
}
/* Full-tile overlay; text starts at TOP; background transparent over whole image */
@media (min-width:1024px){
  .page-template-template-discography .disco-card .img_description{
    position: absolute;
    inset: 0;                 /* cover entire tile */
    padding: 14px 16px;
    background: rgba(0,0,0,.55);
    color: #fff;
    text-align: left;
    z-index: 2;

    /* hover reveal (keep your existing hover rule working) */
    opacity: 0;
    visibility: hidden;
    transition: opacity .15s linear;
    overflow: hidden;         /* ensures anything past 6 lines is hidden */
  }
  .page-template-template-discography .img_wrap:hover .img_description{
    opacity: 1;
    visibility: visible;
  }

  /* Clamp only the inner text box (more reliable across engines) */
  .page-template-template-discography .disco-card .caption-lines{
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 7;    /* max 6 lines */
    overflow: hidden;
    text-overflow: ellipsis;
    line-height: 1.3;
    font-size: clamp(12px, .9vw, 16px);
    word-break: break-word;
    overflow-wrap: anywhere;
    white-space: normal;
  }

  /* Firefox fallback */
  @supports not (-webkit-line-clamp: 1){
    .page-template-template-discography .disco-card .caption-lines{
      display: block;
      max-height: calc(7 * 1.3em);
      mask-image: linear-gradient(to bottom, black 85%, transparent 100%);
    }
  }
}

/* === SINGLE RELEASE PAGE === */
.release_main_info {
  display: flex;
  flex-wrap: nowrap;
  margin-left: 1em;
}
.release_title_info {
  display: flex;
  flex-direction: column;
  flex: 1;
  padding: 0 1em;
  margin-top: auto;
}
.spec-title {
  font-weight: 500;
  letter-spacing: -.05em;
  color: #000;
  font-size: 3em;
}
.spec-artist-name {
  font-weight: 500;
  letter-spacing: -.05em;
  font-size: 1.5em;
  line-height: 1.075em;
  letter-spacing: -.02em;
  margin: 0;
  padding-bottom: 0.2em;
  color: rgba(0, 0, 0, .80);
}
.spec-artist-name span a {
  font-size: 0.6em;
  color: #12A825;
}
.spec-release-date {
  font-weight: 500;
  letter-spacing: -.05em;
  font-size: 1.4em;
  line-height: 1.075em;
  letter-spacing: -.02em;
  margin: 0;
  color: rgba(0, 0, 0, .60);
}
.otherReleases {
  margin-top: 1em;
  padding-top: 1em;
  border-top: solid 1px #CCC;
  text-align: left;
  /* height: 100%; */
}
.otherReleases h2 {
  font-size: 1.6em;
  font-weight: 500;
  padding: 0.5em 0 1em 0;
}
.actionsMenu, .buyLinksMenu {
  margin-top: 2em;
  padding-top: 3em;
  text-align: right;
}
.actionsMenu li {
  display: inline;
  margin-right: 5px;
}
.buyLinksMenu li {
  margin: 20px 0;
  display: block;
}
.actionsMenu li:last-child {
  margin-right: 0;
}
.actionsMenu .greenButton a, .buyLinksMenu .greenButton a {
  background-color: #F5F5F5;
}
.actionsMenu .greenButton a:hover, .buyLinksMenu .greenButton a:hover{
  background-color: #FFF;
  text-decoration: none;
}
.actionsMenu a, button {
  font-size: 1.1em;
  padding: 5px 10px;
  color: black;
  height: 30px;
  border: 1px solid #E5E5E5;
}
.buyLinksMenu a, button {
  font-size: 1.1em;
  padding: 5px 10px;
  color: black;
  height: 30px;
  width: 320px;
  border: 1px solid #E5E5E5;
}
/* tracklist table in release */
.maintable-container {
  width: 100%;
  height: 100%;
  display: flex;
  margin: 0;
  justify-content: left;
  align-items: center;
}
.table-container {
  display: flex;
  flex-flow: column nowrap;
  margin: 0 auto;
}
.table-row {
  display: flex;
  flex-flow: row nowrap;
  width: 100%;
  border-bottom: 1px solid #dadada;
}
.row-item-num {
  display: flex;
  width: 5%;
  font-size: 1em;
  padding: 4px 2px;
  justify-content: left;
  align-items: center;
  transition: all 0.15s ease-in-out;
}
.row-item-track {
  display: flex;
  width: 75%;
  font-size: 1em;
  padding: 4px 2px;
  justify-content: left;
  align-items: center;
  transition: all 0.15s ease-in-out;
}
.row-item-time {
  display: flex;
  width: 20%;
  font-size: 1em;
  padding: 4px 2px;
  justify-content: right;
  align-items: center;
  transition: all 0.15s ease-in-out;
}
.row-item:hover {
  cursor: pointer;
  background-color: #F0F0F0;
}
.table-row:last-child {
  border-bottom: 0;
}
/* Single Release → Other releases (reuse discography grid) */
.single-release .otherReleasesGrid{
  display:grid;
  grid-template-columns: repeat(auto-fill, var(--tile));
  gap: var(--gap);
  justify-content:start;
  align-content:start;
  padding: 8px 0 40px;
}
.single-release .disco-card{
  width: var(--tile);
  height: var(--tile);
  position: relative;
  overflow: hidden;
  background: #eee;
  box-shadow: var(--shadow);
}
.single-release .img_wrap{
  position:relative;
  display:block;
  width:100%;
  height:100%;
  box-shadow:3px 3px 3px #999;
}
.single-release .img_wrap img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.single-release .img_description{
  position:absolute;
  inset:0;
  padding:15px;
  background:rgba(0,0,0,.7);
  color:#fff;
  font-size:1em;
  opacity:0;
  visibility:hidden;
  transition:opacity .15s linear;
}
.single-release .img_wrap:hover .img_description{
  opacity:1;
  visibility:visible;
}
/* === Other Releases section (Single Release page) === */
.single-release .otherReleases {
  margin-top: 40px;
  margin-bottom: 60px;
  border-top: solid 1px #CCC;
}
/* Title on one line with separator */
.single-release .otherReleases h2.spec-artist-name {
  font-size: 1.6rem;
  font-weight: 600;
  margin-bottom: 12px;
  position: relative;
  display: block;
  width: 100%;
}
/* Full-width separator under the title */
.single-release .otherReleases h2.spec-artist-name::after {
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  background-color: var(--line, #e5e5e5);
  margin-top: 10px;
}
/* Grid for release covers */
.single-release .otherReleasesGrid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(var(--tile, 175px), 1fr));
  gap: var(--gap, 20px);
  justify-content: start;
  align-content: start;
  padding-top: 20px;
}
/* Card styling (reuse discography look) */
.single-release .disco-card {
  position: relative;
  overflow: hidden;
  background: #f8f8f8;
  box-shadow: var(--shadow, 0 2px 6px rgba(0,0,0,.12));
}
.single-release .img_wrap {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
}
.single-release .img_wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.single-release .img_description {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.65);
  color: #fff;
  font-size: 0.9rem;
  padding: 10px;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.15s ease-in-out;
}
.single-release .img_wrap:hover .img_description {
  opacity: 1;
  visibility: visible;
}
/* === Single Release – mobile layout fix === */
@media (max-width: 768px) {
  .release_main_info {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 20px;
  }
  .release_main_info img {
    max-width: 100%;
    height: auto;
    display: block;
  }
  .release_title_info {
    width: 100%;
    text-align: left;
  }
  .release_title_info h6 {
    margin: 0 0 6px 0;
  }
}

/* === END SINGLE RELEASE PAGE === */

/* === ARTISTS PAGE === */
.artists-filter {
  display:flex; gap:24px; align-items:center; flex-wrap:wrap;
}
.artists-filter .filter-btn{
  background:none; border:0; padding:8px 0; cursor:pointer;
  font-weight:600; color:#111; opacity:.7;
}
.artists-filter .filter-btn.is-active{
    opacity:1;
}
.artists-filter .filter-btn:hover{
    opacity:1;
}
.artists-grid{
  display: grid;
  grid-template-columns: repeat(auto-fill, var(--tile));
  gap: var(--gap);
  justify-content: start;
  align-content: start;
  padding: 8px 40px 40px;
  margin: 0;
}
/* Hide items on filter */
.artist-item.is-hidden{ display:none; }
/* Card = square thumb with subtle shadow; name on hover */
.artist-card{ display:block; text-decoration:none; color:inherit; }
.artist-card__cover{
  position:relative;
  width:100%;
  aspect-ratio:1/1;
  background:#f7f7f7;
  box-shadow: var(--shadow);
  overflow:hidden;
}
.artist-card__cover img{
  width:100%; height:100%; object-fit:cover; display:block;
}
.artist-card__overlay{
  position:absolute; inset:0;
  display:flex; align-items:flex-start; justify-content:left;
  padding:10px;
  background:rgba(0,0,0,0);         /* hidden by default */
  transition: background .2s ease;
}
.artist-card__name{
  color:#fff; font-weight:700; font-size:.95rem; line-height:1.15;
  transform: translateY(6px); opacity:0; transition: all .2s ease;
  text-shadow: 0 1px 2px rgba(0,0,0,.5);
}
.artist-card__cover:hover .artist-card__overlay{ background:rgba(0,0,0,.35); }
.artist-card__cover:hover .artist-card__name{ transform:none; opacity:1; }

/* Optional: match your page’s top rule look */
.artists-page .page-title{ margin:0; }
.artists-page .title-rule,
.artist-type .section-rule{ height:1px; background:var(--line); margin-top:10px; }
/* Artists template uses same filter row styling as Discography */
.page-template-template-artists .types-row{
  display:flex;
  flex-wrap:wrap;
  gap:10px 22px;
  justify-content:flex-start;
  align-items:center;
  margin:16px 40px 22px;
  padding:0;
  border:0;
}
.page-template-template-artists .types-row a{
  text-decoration:none;
  color:#000;
}
.page-template-template-artists .types-row a:hover{
  font-weight:700;
  border-color:#000;
  text-decoration:none;
  color:#000;
}
.page-template-template-artists .types-row a.is-active{
  font-weight:700;
  border-color:#000;
  color:#000;
}
/* === SINGLE ARTIST: center main content while respecting fixed right sidebar === */
.single-artist { --content-right-margin: calc(var(--sidebar-w) + 40px); }

@media (min-width: 992px) {
  .single-artist #page,
  .single-artist .site,
  .single-artist .site-content,
  .single-artist .content-area,
  .single-artist .site-main,
  .single-artist main {
    margin-right: var(--discography-right-margin);
  }
}

@media (max-width: 991.98px) {
  .single-artist #page,
  .single-artist .site,
  .single-artist .site-content,
  .single-artist .content-area,
  .single-artist .site-main,
  .single-artist main {
    margin-right: 0;
  }
}

/* Keep the same middle-column rhythm as posts */
.single-artist .info-posts-inner {
  max-width: 700px; /* match your single-post center width */
  margin: 0 auto;
}

/* (Optional) title above the grid: single line with ellipsis */
.otherReleases .spec-artist-name {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  margin-bottom: 10px;
}

/* === Top breathing room for centered single content === */
.single-release .info-posts-wrapper,
.single-artist .info-posts-wrapper,
.single-post .info-posts-wrapper {
  padding-top: 60px;
}
/* === END ARTISTS PAGE === */

/* === OTHER RELEASES: make single-artist share single-release styles === */
/* Section spacing + top border */
.single-release .otherReleases,
.single-artist  .otherReleases {
  margin-top: 40px;
  margin-bottom: 60px;
  border-top: solid 1px var(--line, #CCC);
}
/* Title on one line with full-width separator beneath */
.single-release .otherReleases h2.spec-artist-name,
.single-artist  .otherReleases h2.spec-artist-name {
  font-size: 1.6rem;
  font-weight: 600;
  margin-bottom: 12px;
  position: relative;
  display: block;
  width: 100%;
}
.single-release .otherReleases h2.spec-artist-name::after,
.single-artist  .otherReleases h2.spec-artist-name::after {
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  background-color: var(--line, #e5e5e5);
  margin-top: 10px;
}

/* Grid (use the same card grid you used on Single Release) */
.single-release .otherReleasesGrid,
.single-artist  .otherReleasesGrid,
#artistDisco.disco-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(var(--tile, 175px), 1fr));
  gap: var(--gap, 20px);
  justify-content: start;
  align-content: start;
  padding-top: 20px;
}

/* Card + hover overlay (reusing discography look) */
.single-release .disco-card,
.single-artist  .disco-card {
  position: relative;
  overflow: hidden;
  background: #f8f8f8;
  box-shadow: var(--shadow, 0 2px 6px rgba(0,0,0,.12));
}
.single-release .img_wrap,
.single-artist  .img_wrap {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
}
.single-release .img_wrap img,
.single-artist  .img_wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.single-release .img_description,
.single-artist  .img_description {
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,.65);
  color: #fff;
  font-size: 0.9rem;
  padding: 10px;
  opacity: 0;
  visibility: hidden;
  transition: opacity .15s ease-in-out;
}
.single-release .img_wrap:hover .img_description,
.single-artist  .img_wrap:hover .img_description {
  opacity: 1;
  visibility: visible;
}
.table-container a:hover {
    text-decoration: none;
}

/* INFO-POST STYLING */
.newsItem {
    position: relative;
    display: block;
    padding-top: 2em;
    padding-bottom: 2em;
    border-top: solid;
    border-width: thin;
    border-color: #CCC;
    letter-spacing: 0.6px;
}
.newsItem:first-of-type {
  padding-top: 75px;
}
.newsInfo {
    font-size: 1.4em;
    line-height: 1.3em;
}
.newsInfo a {
    text-decoration: none;
    color: #000;
}
.newsInfo a:visited {
    text-decoration: none;
    color: #278C2E;
}
.newsDate {
    color: #666;
    padding: 0.5em 0;
}
.newsText {
    display: block;
    min-height: 100px;
}
.newsItem img {
    float: left;
    height: 150px;
    margin-right: 1em;
    margin-bottom: 1em;
}
/* === INFO POSTS LAYOUT OPTIMIZATION === */
.info-posts-wrapper {
  display: flex;
  justify-content: center;
  width: 100%;
}
.info-posts-inner {
  max-width: 700px;
  width: 100%;
}
.newsItem {
  border-top: 1px solid #CCC;
  padding-top: 2em;
  padding-bottom: 2em;
  letter-spacing: 0.6px;
  text-align: left;
}
.newsItem:first-of-type {
  padding-top: 75px;
  border-top: none;
}
.newsItem img {
  float: left;
  height: 150px;
  margin-right: 1em;
  margin-bottom: 1em;
}
.newsText {
  min-height: 100px;
}
/* === Info Posts – readable links inside excerpts === */
.newsItem .newsText p a {
  color: #2E55A3;/* brand blue or your accent color */
  text-decoration: underline;/* make it clear they’re links */
  word-break: break-word;/* allow long URLs to wrap */
  overflow-wrap: anywhere;/* ensure no horizontal scrolling */
}

.newsItem .newsText p {
  word-break: break-word;
  overflow-wrap: anywhere;
}

/* === Info Posts === */
@media (max-width: 768px) {
  .info-posts-inner {
    max-width: 90%;
  }
  .newsItem img {
    float: none;
    display: block;
    margin: 0 auto 1em;
    height: auto;
    max-width: 100%;
  }
  .newsItem .newsText {
    display: block; /* ensure stacked layout */
    text-align: left;
  }
  .newsItem .newsText > a:first-child {
    display: block;
    text-align: left;
    margin: 0 0 10px 0; /* small space below image */
  }
  .newsItem .newsText > a:first-child img {
    display: block;
    margin: 0; /* remove auto centering */
    max-width: 70%; /* adjust width as needed */
    height: auto;
  }
  .newsItem .newsText p {
    margin: 0 0 10px 0;
  }
  .actionsMenu, .buyLinksMenu {
    margin-top: 0;
    padding-top: 1em;
  }
}
/* END INFO-POST STYLING */

/* === SINGLE POST: center main content while respecting fixed right sidebar === */
.single-post { --content-right-margin: calc(var(--sidebar-w) + 40px); }

@media (max-width: 991.98px) {
  .single-post #page,
  .single-post .site,
  .single-post .site-content,
  .single-post .content-area,
  .single-post .site-main,
  .single-post main {
    margin-right: 0;
  }
}

/* PREVIUOS/NEXT POST STYLING */
.previous_next_navigation {
  display: flex;
  flex-flow: row nowrap;
}
.alignleftprevnext {
  display: flex;
  justify-content: left;
  align-items: center;
  flex-flow: row nowrap;
  flex-grow: 1;
}
.alignrightprevnext {
  display: flex;
  justify-content: right;
  align-items: center;
  flex-flow: row-reverse nowrap;
  flex-grow: 1;
}
.aligntextright {
  padding-right: 1em;
  text-align: right;
}
.aligntextleft {
  padding-left: 1em;
  text-align: left;
}
.aligntextright a, .aligntextleft a {
  color: #278C2E !important;
  font-weight: 500 !important;

}
.empty-div {
  width: 20px;
  min-height: 1px;
}
/* END PREVIUOS/NEXT POST STYLING */

/* PAGINATION STYLING */
.pagination_style {
  display: flex;
  flex-flow: row nowrap;
  font-size: 1.3em;
}
.pagination_style span {
  justify-content: right;
  align-items: center;
  flex-grow: 1;
}
.pagination_style a {
  justify-content: right;
  align-items: center;
  flex-grow: 1;
  color: #278C2E !important;
}
.pagination_style .current {
  font-weight: 800;
  font-size: 1.3em;
}
/* END PAGINATION STYLING */

/* === INFO PAGE FIX (content centering considering sidebar width) === */
.page-template-template-infopost,
.page-template-template-infoposts {
  --content-right-margin: calc(var(--sidebar-w) + 40px);
}

.page-template-template-infopost #page,
.page-template-template-infoposts #page,
.page-template-template-infopost .site,
.page-template-template-infoposts .site,
.page-template-template-infopost .site-content,
.page-template-template-infoposts .site-content,
.page-template-template-infopost .content-area,
.page-template-template-infoposts .content-area,
.page-template-template-infopost .site-main,
.page-template-template-infoposts .site-main,
.page-template-template-infopost main,
.page-template-template-infoposts main {
  margin-right: var(--content-right-margin);
}

/* === ABOUTPMG: center main content while respecting fixed right sidebar === */
.page-template-template-aboutpmg,
.page-template-template-aboutpmg-php {
  --content-right-margin: calc(var(--sidebar-w) + 40px);
}

/* Push the whole page left to make space for the fixed right rail — desktop only */
@media (min-width: 992px) {
  .page-template-template-aboutpmg #page,
  .page-template-template-aboutpmg-php #page,
  .page-template-template-aboutpmg .site,
  .page-template-template-aboutpmg-php .site,
  .page-template-template-aboutpmg .site-content,
  .page-template-template-aboutpmg-php .site-content,
  .page-template-template-aboutpmg .content-area,
  .page-template-template-aboutpmg-php .content-area,
  .page-template-template-aboutpmg .site-main,
  .page-template-template-aboutpmg-php .site-main,
  .page-template-template-aboutpmg main,
  .page-template-template-aboutpmg-php main {
    margin-right: var(--content-right-margin);
  }
}

/* Mobile/tablet: no offset */
@media (max-width: 991.98px) {
  .page-template-template-aboutpmg #page,
  .page-template-template-aboutpmg-php #page,
  .page-template-template-aboutpmg .site,
  .page-template-template-aboutpmg-php .site,
  .page-template-template-aboutpmg .site-content,
  .page-template-template-aboutpmg-php .site-content,
  .page-template-template-aboutpmg .content-area,
  .page-template-template-aboutpmg-php .content-area,
  .page-template-template-aboutpmg .site-main,
  .page-template-template-aboutpmg-php .site-main,
  .page-template-template-aboutpmg main,
  .page-template-template-aboutpmg-php main {
    margin-right: 0;
  }
}

/* Middle column feel (same as Info template): narrow, centered, nice rhythm */
.page-template-template-aboutpmg .info-posts-inner,
.page-template-template-aboutpmg-php .info-posts-inner {
  max-width: 760px;
  margin: 0 auto;
}

.page-template-template-aboutpmg .info-posts-inner p,
.page-template-template-aboutpmg-php .info-posts-inner p {
  line-height: 1.75;
  margin-bottom: 1.1rem;
}

/* === SHARED offsets for filters + grids === */
:root{
  --grid-side-pad: 40px;
  --filter-top-m: 16px;
  --filter-bottom-m: 22px;
  --filter-row-h: calc(var(--filter-top-m) + var(--filter-bottom-m) + 24px);
}

/* Filter row (types) — identical spacing on both templates */
.page-template-template-discography .types-row,
.page-template-template-artists .types-row{
  display:flex; flex-wrap:wrap; gap:10px 22px;
  justify-content:flex-start; align-items:center;
  margin: var(--filter-top-m) var(--grid-side-pad) var(--filter-bottom-m);
  padding:0; border:0;
}

/* Grids — same left/right padding and default top offset as if filter existed */
.page-template-template-discography .disco-grid,
.page-template-template-artists .artists-grid{
  padding: 8px var(--grid-side-pad) 40px;
  margin-top: var(--filter-row-h); /* reserve space WHEN the filter nav is absent */
}

/* If a filter row is present right before the grid, remove the reserved top space */
.page-template-template-discography .types-row + .disco-grid,
.page-template-template-artists .types-row + .artists-grid{
  margin-top: 0;
}

/* Make the Artists page use the same visual style even if markup still says .artists-filter */
.page-template-template-artists .artists-filter{
  display:flex; flex-wrap:wrap; gap:10px 22px;
  justify-content:flex-start; align-items:center;
  margin: var(--filter-top-m) var(--grid-side-pad) var(--filter-bottom-m);
  padding:0; border:0;
}
.page-template-template-artists .artists-filter .filter-btn{
  background:none; border:0; padding:0; cursor:pointer;
  text-decoration:none; color:#000; font-weight:400;
}
.page-template-template-artists .artists-filter .filter-btn:hover,
.page-template-template-artists .artists-filter .filter-btn.is-active{
  font-weight:700; color:#000;
}
.page-template-template-artists .artists-grid{
  /* already has margin-top via shared rule above */
}
.page-template-template-artists .artists-filter + .artists-grid{
  margin-top: 0;
}

/* === PMG MOBILE HEADER === */
/* ===== Desktop: right fixed sidebar ===== */
#masthead.site-header{
  position: fixed;
  top: 0; right: 0;
  width: var(--sidebar-w);
  height: 100vh;
  background: var(--bg);
  box-shadow: 2px 2px 10px #000;
  display: flex;
  flex-direction: column;
  overflow: auto;
  z-index: 1000;
  padding-top: env(safe-area-inset-top);
}
/* Logo + menu (desktop) */
#masthead .site-branding{
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 2rem 0;
}
#masthead .nav-menu{
  list-style: none;
  margin: 0;
  padding: 0;
}
#masthead .nav-menu li{ list-style:none; }
#masthead .nav-menu li a{
  display:block;
  letter-spacing:.04em;
  padding:.618em .5em .618em 3.5em;
  width:100%;
  background:var(--bg);
  border-top:1px solid var(--line);
  color:var(--ink);
  text-decoration:none;
}
#masthead .current_page_item > a{ font-weight:700; }

/* Sidebar footer (desktop only) */
#masthead #colophon.site-footer{
  margin-top:auto;
  text-align:right;
  padding:0 14px 12px;
  font-size:.9rem;
  color:#444;
  white-space:nowrap;
}
/* ===== Desktop: never show mobile UI ===== */
@media (min-width:1025px){
  /* hide the drawer entirely on desktop */
  #mobile-drawer{ display:none !important; }

  /* hide any mobile-only controls */
  .mobile-toggle,
  .mobile-close,
  .nav-mobile { display:none !important; }
}

/* ===== Mobile (≤1024px): fixed top bar + full-width drawer ===== */
@media (max-width:1024px){
    html, body{ overflow-x: hidden; }
    /* --- Mobile top bar (logo left, burger right) --- */
    .site{ flex-direction: column; }

  #masthead.site-header{
    position: fixed !important;
    top: 0; left: 0; right: 0;
    width: 100%;
    height: auto;
    background: #fff;
    border-bottom: 1px solid #e9e9e9;
    z-index: 1030; /* drawer is above at 1045 */
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: space-between !important;
    flex-wrap: nowrap !important;
    gap: 12px;
    padding: 14px 40px;
    box-shadow: none;
  }
  /* keep content out from under fixed bar */
  body{ padding-top: 74px; }

  #masthead .site-branding{
    flex: 0 0 auto !important;
    margin: 0 !important;
    padding: 0 !important;
    text-align: left !important;
    justify-content: flex-start !important;
  }
  #masthead .site-branding img{
    display:block !important;
    width:auto !important;
    max-height:52px !important;
    height:auto !important;
  }

  #masthead .mobile-toggle{
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto !important;
    margin-left: auto !important;
    position: static !important;
    width: 44px; height: 44px;
    background: transparent; border: 0; padding: 0;
    color: #111; cursor: pointer;
  }
  #masthead .mobile-toggle i{ font-size: 28px; line-height: 1; pointer-events: none; }

  /* hide desktop sidebar menu/footer on mobile; content goes full width */
  #masthead #site-navigation,
  #masthead #colophon{ display: none !important; }
  #page, .site, .site-content, .content-area, .site-main, main{ margin-right: 0 !important; }

  /* --- Full-width overlay drawer --- */
  #mobile-drawer{
    display: none;
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,.7);
    z-index: 1045;
    align-items: flex-start;
    justify-content: flex-end;
    overflow-x: hidden;
  }
  
  #mobile-drawer.is-open{ display: flex; }

  #mobile-drawer .nav-mobile__inner{
    background: #fff;
    width: 100%;
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    padding: 0;
    box-shadow: none;
    max-width: 100vw !important;
    margin: 0 !important;
    align-self: stretch !important;
    box-sizing: border-box;
    overflow-x: hidden;
    overflow-y: auto;
  }

  /* Title bar: single row, title takes all space, X on the far right */
  #mobile-drawer .drawer-bar{
    position: sticky; top: 0; z-index: 1;
    display: flex; align-items: center;
    justify-content: space-between;
    gap: 8px;
    width: 100%;
    padding: 14px 40px;
    border-bottom: 1px solid #e9e9e9;
    background: #fff;
    white-space: normal;
    box-sizing: border-box;

    /* display:flex; align-items:center; justify-content:space-between; */
    /* gap:12px; padding:14px 40px; border-bottom:1px solid #e9e9e9; background:#fff; */
  }
  #mobile-drawer .drawer-title{
    flex: 1 1 auto;
    font-size: clamp(18px, 5vw, 22px);
    font-weight: 700;
    margin: 0 !important;
    overflow: visible;
    text-overflow: clip;
    white-space: nowrap !important;
  }
  #mobile-drawer .mobile-close{
    flex: 0 0 auto;
    background: none; 
    border: 0; 
    cursor: pointer;
    font-size: 28px; 
    line-height: 1;
    padding: 4px 8px;
    margin: 0;
    margin-left: auto !important;
    display: inline-flex; 
    align-items: center; 
    justify-content: center;
    width: 44px; 
    height: 44px;
    padding: 0;
  }
  /* Menu list sits below the bar and spans the drawer width */
  #mobile-drawer .nav-menu{
    width: 100%;
    margin: 12px 0 0 !important;
    padding: 0;
    box-sizing: border-box;
    overflow-x: hidden;
  }
  #mobile-drawer .nav-menu li a{
    display: block;
    width: 100%;
    box-sizing: border-box;
    padding: 14px 80px !important;
    border-top: 1px solid #eee;
  }
  /* Optional bottom close button (if present) with same gutters */
  #mobile-drawer .mobile-close--bottom{
    display: block;
    width: calc(100% - 32px);
    margin: 16px auto 24px;
    padding: 12px 14px;
    border: 1px solid #e5e5e5;
    border-radius: 6px;
    background: #fff;
  }

  /* Logo in the bar */
  #mobile-drawer .drawer-logo{
    display:inline-flex; 
    align-items:center; 
    flex:1 1 auto;
    min-width:0;
    text-decoration:none;
  }
  #mobile-drawer .drawer-logo-img{
    max-height:52px; 
    width:auto; 
    height:auto; 
    display:block;
  }
  #mobile-drawer .drawer-logo-fallback{
    font-size:20px;
    font-weight:700;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
  }

  /* Close button pinned to the right */
  #mobile-drawer .mobile-close{
    flex:0 0 auto; width:44px; height:44px; display:inline-flex;
    align-items:center; justify-content:center; font-size:28px; line-height:1;
    background:none; border:0; padding:0; cursor:pointer;
  }
}

/* Hide the burger while the drawer is open (used by your small JS toggler) */
body.menu-open #masthead .mobile-toggle{ visibility: hidden; }


/* === END PMG MOBILE HEADER === */
