/* Music storefront components. Global layout and navigation belong to the theme. */
.jit-store-shell {
  padding-bottom: 3.25rem;
  color: var(--text);
}

.jit-store-hero-band {
  position: relative;
  overflow: hidden;
  border-radius: 12px;
  background-color: var(--dark-2);
  color: var(--surface);
}

.jit-store-listing-hero {
  margin-bottom: var(--jit-section-space-sm, 2.5rem);
}

.jit-store-roster-hero {
  background:
    linear-gradient(90deg, rgba(36, 23, 16, .91) 0%, rgba(36, 23, 16, .72) 48%, rgba(36, 23, 16, .18) 100%),
    url("images/forest-dj.webp") 78% 42% / cover no-repeat;
}

.jit-store-artist-hero {
  block-size: clamp(220px, 20vw, 250px);
  background:
    linear-gradient(90deg, rgba(26, 16, 11, .38) 0%, rgba(26, 16, 11, .12) 48%, rgba(26, 16, 11, .05) 100%),
    var(--jit-artist-banner, url("images/electronic-silhouette.webp")) center / cover no-repeat;
}

.jit-store-page-header {
  display: grid;
  min-height: 248px;
  align-content: space-between;
  gap: 24px;
  padding: 32px 24px 20px;
}

.jit-store-page-header h1,
.jit-store-profile-copy h1 {
  margin: 9px 0 8px;
  color: var(--surface);
  font-size: clamp(44px, 11vw, 82px);
  letter-spacing: -.075em;
  line-height: .98;
}

.jit-store-accent-dot {
  color: var(--accent);
}

.jit-store-page-header p,
.jit-store-profile-copy > p {
  max-width: 500px;
  margin: 0;
  color: rgba(255, 250, 243, .83);
  font-size: 13px;
  line-height: 1.65;
}

.jit-store-hero-frequency {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding-top: 13px;
  border-top: 1px solid rgba(255, 255, 255, .18);
  color: rgba(255, 250, 243, .7);
  font-size: 9px;
  font-weight: 650;
  letter-spacing: .14em;
}

.jit-store-roster-heading,
.jit-store-releases-header {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 14px;
  margin: var(--section-gap) 0 18px;
}

.jit-store-roster-heading h2,
.jit-store-releases-header h2 {
  margin: 7px 0 0;
  color: var(--text);
  font-size: clamp(24px, 6vw, 36px);
  letter-spacing: -.06em;
  line-height: 1.05;
}

.jit-store-roster-count,
.jit-store-release-format {
  flex: 0 0 auto;
  color: var(--muted);
  font-size: 9px;
  letter-spacing: .05em;
}

.jit-store-artist-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 24px 16px;
}

.jit-store-artist-card {
  position: relative;
  min-width: 0;
  color: inherit;
  text-decoration: none;
}

.jit-store-artist-image,
.jit-store-profile-photo {
  position: relative;
  display: grid;
  overflow: hidden;
  aspect-ratio: 1;
  place-items: center;
  border-radius: 9px;
  background: #ead8ca;
}

.jit-store-artist-image {
  margin-bottom: 11px;
}

.jit-store-artist-image::after {
  position: absolute;
  inset: auto 0 0;
  height: 3px;
  background: linear-gradient(90deg, var(--accent) 32%, rgba(231, 94, 44, .15) 32%);
  content: "";
}

.jit-store-artist-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.jit-store-artist-image img {
  transition: transform 220ms ease;
}

.jit-store-artist-card:hover .jit-store-artist-image img {
  transform: scale(1.04);
}

.jit-store-artist-image > span,
.jit-store-profile-photo > span:not(.jit-store-photo-index) {
  color: var(--accent);
  font-size: 60px;
  font-weight: 700;
}

.jit-store-artist-card .jit-store-eyebrow {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.jit-store-artist-card h2 {
  overflow: hidden;
  margin: 6px 0 3px;
  font-size: clamp(17px, 4vw, 23px);
  letter-spacing: -.045em;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.jit-store-artist-count,
.jit-store-track-artist,
.jit-store-track-meta {
  color: var(--muted);
  font-size: 11px;
}

.jit-store-profile-hero {
  box-sizing: border-box;
  display: grid;
  height: 100%;
  grid-template-columns: 104px minmax(0, 1fr);
  align-items: start;
  min-height: 150px;
  gap: 10px;
  padding: 14px;
}

.jit-store-profile-photo {
  width: 104px;
  aspect-ratio: 1;
  border-radius: 50%;
  background-image: var(--jit-artist-photo, none);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
}

.jit-store-photo-index {
  position: absolute;
  right: 9px;
  bottom: 9px;
  padding: 6px 8px;
  border-radius: 4px;
  background: rgba(26, 16, 11, .78);
  color: var(--surface);
  font-size: 8px;
  letter-spacing: .1em;
}

.jit-store-profile-copy {
  min-width: 0;
  padding: 0 0 2px;
}

.jit-store-profile-copy > p,
.jit-store-profile-country,
.jit-store-back {
  width: fit-content;
  padding: 4px 7px;
  background: rgba(17, 13, 11, .78);
  box-decoration-break: clone;
  -webkit-box-decoration-break: clone;
}

.jit-store-profile-copy > p { margin-top: 5px; }

.jit-store-artist-bio {
  display: grid;
  gap: 10px;
  width: 100%;
  margin-top: 0;
  padding: clamp(24px, 5vw, 42px);
  border: 1px solid var(--border);
  border-radius: 0 0 12px 12px;
  background: var(--surface);
}

.jit-store-artist-profile .jit-store-artist-hero {
  border-radius: 12px 12px 0 0;
}

.jit-store-artist-bio h2 {
  margin: 0;
  font-size: clamp(28px, 7vw, 46px);
  letter-spacing: -.055em;
  line-height: 1.05;
}

.jit-store-artist-bio-copy {
  display: grid;
  gap: 1em;
  color: var(--muted);
  font-size: 15px;
  line-height: 1.75;
}

.jit-store-back {
  display: inline-flex;
  margin-bottom: 19px;
  color: rgba(255, 250, 243, .76);
  font-size: 11px;
  text-decoration: none;
}

.jit-store-profile-copy h1 {
  width: auto;
  padding: 0;
  background: transparent;
  overflow-wrap: anywhere;
  font-size: clamp(40px, 9vw, 72px);
  line-height: 1.02;
}

.jit-store-profile-name {
  line-height: inherit;
  padding: .02em .12em .06em;
  background: rgba(17, 13, 11, .78);
  box-decoration-break: clone;
  -webkit-box-decoration-break: clone;
}

.jit-store-profile-country {
  display: inline-block;
  margin-bottom: 10px;
  color: rgba(255, 250, 243, .75);
  font-size: 11px;
}

.jit-store-socials {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 17px;
}

.jit-store-socials a {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 7px 9px;
  border: 1px solid rgba(255, 255, 255, .2);
  border-radius: 5px;
  color: rgba(255, 250, 243, .88);
  font-size: 10px;
  text-decoration: none;
}

.jit-store-socials a:hover,
.jit-store-back:hover {
  color: var(--accent);
}


.jit-store-social-icon { width:1.05rem; height:1.05rem; display:inline-flex; flex:0 0 auto; }
.jit-store-social-icon svg { width:100%; height:100%; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.jit-store-social-icon svg .is-filled { fill:currentColor; stroke:none; }
.jit-store-social-arrow { margin-left:.1rem; opacity:.62; }

.jit-store-socials--bio a {
  min-height: 36px;
  padding: 7px 9px;
  border-color: var(--border);
  color: var(--text);
  background: var(--bg);
}

.jit-store-socials--bio {
  align-items: center;
}

.jit-store-socials--bio .jit-store-social-arrow {
  margin-left: auto;
}

.jit-store-releases {
  margin-top: var(--section-gap);
}

.jit-store-releases-header {
  margin-top: 0;
}

.jit-store-release-format {
  max-width: 100px;
  text-align: right;
}

.jit-store-track-list {
  display: grid;
  gap: 10px;
}

.jit-store-track {
  display: grid;
  grid-template-columns: 86px minmax(0, 1fr);
  align-items: center;
  gap: 10px 12px;
  padding: 16px;
  border: 1px solid var(--border);
  border-radius: 9px;
  background: rgba(255, 250, 243, .75);
}

.jit-store-track-artwork,
.jit-store-track-artwork img {
  width: 86px;
  height: 86px;
  overflow: hidden;
  border-radius: 6px;
  object-fit: cover;
}

.jit-store-track-info {
  display: grid;
  min-width: 0;
  gap: 8px;
}

.jit-store-track-heading { display: flex; align-items: center; gap: 10px; }
.jit-store-track-heading > div { display: grid; gap: 2px; }
.jit-store-play-icon { display: grid; width: 36px; height: 36px; flex: 0 0 36px; place-items: center; border: 0; border-radius: 50%; background: var(--accent); color: white; font-size: 12px; cursor: pointer; }
.jit-store-waveform { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 10px; min-height: 52px; }
.jit-store-waveform canvas { display: block; width: 100%; height: 46px; cursor: pointer; }
.jit-store-waveform-time { color: var(--muted); font-size: 10px; font-variant-numeric: tabular-nums; white-space: nowrap; }
.jit-store-track.is-waveform-ready .jit-store-preview { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
.jit-store-track-formats { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 5px; }
.jit-store-format-buy { display: inline-flex; align-items: center; gap: 9px; min-height: 39px; padding: 0 12px; border: 1px solid var(--border); border-radius: 6px; background: var(--surface); color: var(--text); font-size: 11px; }
.jit-store-format-buy > span:last-child { color: var(--accent); font-weight: 700; }
.jit-store-format-buy.is-in-cart { border-color: rgba(74, 133, 94, .35); background: rgba(74, 133, 94, .07); }
.jit-store-format-buy.is-in-cart > span:last-child { color: #467757; }
.jit-store-format-buy.is-download { border-color: rgba(74, 133, 94, .4); background: rgba(74, 133, 94, .08); }
.jit-store-format-buy.is-download > span:last-child { color: #467757; }

.woocommerce-order-received .woocommerce-order-downloads__title,
.woocommerce-order-received .woocommerce-order-details__title,
.woocommerce-order-received .woocommerce-column__title,
.woocommerce-account .woocommerce h2 {
  margin: 22px 0 12px;
  font-size: clamp(22px, 3vw, 34px);
  line-height: 1.08;
}

.woocommerce-order-received table.shop_table { font-size: 13px; }
.jit-account-menu-item a { font-weight: 650; }
.jit-header-account { color: inherit; font-size: 12px; font-weight: 700; line-height: 1; text-decoration: none; white-space: nowrap; }
.jit-header-account:hover,
.jit-header-account:focus { color: var(--accent); }

@media (max-width: 599px) {
	.jit-header-account { margin-left: auto; font-size: 11px; }
  .woocommerce-order-received table.shop_table { display: block; overflow-x: auto; }
}

.jit-store-track-title {
  overflow: hidden;
  color: var(--text);
  font-size: 14px;
  font-weight: 700;
  text-decoration: none;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.jit-store-track-artist {
  text-decoration: none;
}

.jit-store-track-buy {
  display: flex;
  grid-column: 2;
  align-items: center;
  justify-content: space-between;
  gap: 9px;
}

.jit-store-track-buy > strong {
  font-size: 13px;
}

.jit-store-buy-button,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce #respond input#submit.alt {
  display: inline-flex;
  min-height: var(--jit-control-height);
  align-items: center;
  justify-content: center;
  padding-inline: 1.5rem;
  border-radius: var(--jit-control-radius);
  background: var(--accent);
  color: #fff;
  font-size: 11px;
  font-weight: 650;
  text-decoration: none;
}

.jit-store-preview {
  width: 100%;
  height: 32px;
  margin-top: 5px;
}

.jit-store-preview-missing {
  margin-top: 5px;
  color: var(--muted);
  font-size: 10px;
}

.jit-digital-checkout .wc-block-components-address-form__company,
.jit-digital-checkout .wc-block-components-address-form__address_1,
.jit-digital-checkout .wc-block-components-address-form__address_2,
.jit-digital-checkout .wc-block-components-address-form__city,
.jit-digital-checkout .wc-block-components-address-form__state,
.jit-digital-checkout .wc-block-components-address-form__postcode,
.jit-digital-checkout .wc-block-components-address-form__phone {
  display: none;
}

.jit-store-empty {
  padding: 22px 17px;
  border: 1px dashed var(--border);
  border-radius: 8px;
  color: var(--muted);
  font-size: 12px;
}

.jit-store-cart-link,
.jit-store-product-artist {
  color: var(--accent);
  text-decoration: none;
}

.jit-store-cart-link {
  font-size: 11px;
}

.jit-store-product-artist {
  display: inline-block;
  margin: 5px 0 15px;
}

.jit-store-label-strip {
  display: flex;
  overflow: hidden;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  margin-top: 36px;
  padding-block: 12px;
  border-block: 1px solid var(--border);
  color: var(--muted);
  font-size: 8px;
  font-weight: 650;
  letter-spacing: .09em;
  white-space: nowrap;
}

.jit-store-label-strip span:nth-child(2) {
  display: none;
}

@media (min-width: 600px) {
  .jit-store-page-header {
    min-height: 270px;
    padding: 40px 38px 22px;
  }

  .jit-store-artist-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 27px 20px;
  }

  .jit-store-profile-hero {
    grid-template-columns: 130px minmax(0, 560px);
    align-items: start;
    min-height: 165px;
    gap: 14px;
    padding: 18px;
  }

  .jit-store-profile-photo {
    width: 130px;
    aspect-ratio: 1;
  }

  .jit-store-profile-copy {
    padding: 0 0 4px;
  }

  .jit-store-track {
    grid-template-columns: 112px minmax(0, 1fr);
    gap: 16px;
    padding: 12px;
  }

  .jit-store-track-artwork,
  .jit-store-track-artwork img {
    width: 112px;
    height: 112px;
  }

  .jit-store-track-buy {
    display: grid;
    grid-column: auto;
    justify-items: end;
  }

  .jit-store-label-strip span:nth-child(2) {
    display: inline;
  }
}

@media (min-width: 960px) {
  .jit-store-page-header {
    min-height: 288px;
    padding: 46px 46px 22px;
  }

  .jit-store-artist-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 30px 22px;
  }

  .jit-store-profile-hero {
    grid-template-columns: 118px minmax(0, 460px);
    align-items: start;
    gap: 12px;
    min-height: 165px;
    padding: 14px;
  }

  .jit-store-profile-photo {
    width: 118px;
    aspect-ratio: 1;
  }

  .jit-store-profile-copy {
    padding: 0;
  }

  .jit-store-page-header p,
  .jit-store-profile-copy > p {
    font-size: 14px;
  }
}

@media (min-width: 1180px) {
  .jit-store-artist-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

@media (prefers-reduced-motion: reduce) {
  .jit-store-artist-image img {
    transition: none;
  }
}

/* JIT storefront overlays: keep WooCommerce mechanics, replace full-page cart/login detours. */
html.jit-modal-open,
html.jit-modal-open body {
  overflow: hidden;
}

.jit-store-overlay {
  position: fixed;
  inset: 0;
  z-index: 99980;
  background: rgba(26, 16, 11, .48);
  opacity: 0;
  transition: opacity .18s ease;
}

.jit-store-overlay.is-open { opacity: 1; }

.jit-store-modal {
  position: fixed;
  z-index: 99990;
  top: max(12px, env(safe-area-inset-top));
  right: 12px;
  bottom: max(12px, env(safe-area-inset-bottom));
  width: min(460px, calc(100vw - 24px));
  overflow: auto;
  padding: 22px;
  border: 1px solid var(--border);
  border-radius: 18px;
  background: var(--surface);
  box-shadow: 0 28px 80px rgba(26, 16, 11, .24);
  opacity: 0;
  transform: translateX(20px);
  transition: opacity .18s ease, transform .18s ease;
}

.jit-store-modal.is-open {
  opacity: 1;
  transform: translateX(0);
}

.jit-store-modal[hidden],
.jit-store-overlay[hidden] { display: none; }

.jit-store-modal-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
  padding-bottom: 16px;
  border-bottom: 1px solid var(--border);
}

.jit-store-modal-head h2 {
  margin: 5px 0 0;
  font-size: clamp(26px, 5vw, 36px);
  letter-spacing: -.055em;
  line-height: 1;
}

.jit-store-modal-close {
  display: grid;
  width: 38px;
  height: 38px;
  flex: 0 0 38px;
  place-items: center;
  border: 1px solid var(--border);
  border-radius: 50%;
  background: transparent;
  color: var(--text);
  font-size: 24px;
  line-height: 1;
  cursor: pointer;
}

.jit-cart-modal-body { padding-top: 18px; }
.jit-cart-items { display: grid; gap: 10px; }

.jit-cart-item {
  display: grid;
  grid-template-columns: 58px minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
  padding: 10px;
  border: 1px solid var(--border);
  border-radius: 10px;
  background: rgba(247, 240, 231, .58);
}

.jit-cart-item-image,
.jit-cart-item-image img {
  width: 58px;
  height: 58px;
  overflow: hidden;
  border-radius: 7px;
  object-fit: cover;
}

.jit-cart-item-copy { display: grid; gap: 4px; min-width: 0; }
.jit-cart-item-copy strong { overflow: hidden; font-size: 13px; text-overflow: ellipsis; white-space: nowrap; }
.jit-cart-item-copy span { color: var(--muted); font-size: 12px; }
.jit-cart-remove { color: var(--muted); font-size: 21px; text-decoration: none; }
.jit-cart-remove:hover { color: var(--accent); }

.jit-cart-total {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin: 20px 0 14px;
  padding-top: 16px;
  border-top: 1px solid var(--border);
  font-size: 14px;
}

.jit-cart-total strong { font-size: 18px; }

.jit-store-action-button,
.woocommerce .jit-store-action-button {
  display: inline-flex;
  min-height: var(--jit-control-height);
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 0 17px;
  border: 0;
  border-radius: var(--jit-control-radius);
  background: var(--accent);
  color: #fff;
  font-size: 12px;
  font-weight: 750;
  text-decoration: none;
  cursor: pointer;
}

.jit-store-action-button--full { width: 100%; }
.jit-cart-empty { padding: 32px 2px; color: var(--muted); }
.jit-cart-empty a { color: var(--accent); font-weight: 700; text-decoration: none; }

.jit-account-modal { width: min(820px, calc(100vw - 24px)); }
.jit-account-modal-intro { max-width: 650px; margin: 16px 0 20px; color: var(--muted); font-size: 13px; line-height: 1.65; }
.jit-account-modal-grid { display: grid; gap: 20px; }
.jit-account-modal-grid > section { padding: 18px; border: 1px solid var(--border); border-radius: 12px; background: rgba(247, 240, 231, .48); }
.jit-account-modal-grid h3 { margin: 0 0 14px; font-size: 19px; letter-spacing: -.035em; }
.jit-account-modal .woocommerce-form { margin: 0; }
.jit-account-modal .form-row { margin: 0 0 13px; }
.jit-account-modal label { display: block; margin-bottom: 6px; color: var(--text); font-size: 11px; font-weight: 700; }
.jit-account-modal input[type="text"],
.jit-account-modal input[type="email"],
.jit-account-modal input[type="password"] {
  width: 100%;
  min-height: 44px;
  padding: 0 12px;
  border: 1px solid var(--border);
  border-radius: 7px;
  background: var(--surface);
  color: var(--text);
}
.jit-account-modal .button { min-height:var(--jit-control-height); padding:0 1.5rem; border:0; border-radius:var(--jit-control-radius); background:var(--accent); color:#fff; font-weight:700; }
.jit-account-modal .woocommerce-LostPassword { margin-bottom: 0; font-size: 11px; }
.jit-account-modal .woocommerce-LostPassword a { color: var(--accent); }
.jit-account-register-note { color: var(--muted); font-size: 11px; line-height: 1.55; }

.jit-order-account-prompt {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  margin: 24px 0;
  padding: 20px;
  border: 1px solid rgba(231, 94, 44, .22);
  border-radius: 12px;
  background: rgba(231, 94, 44, .06);
}
.jit-order-account-prompt h2 { margin: 5px 0 7px; font-size: clamp(20px, 3vw, 28px); }
.jit-order-account-prompt p { max-width: 620px; margin: 0; color: var(--muted); font-size: 12px; line-height: 1.6; }

.jit-download-remaining-badge {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 0 9px;
  border-radius: 999px;
  background: rgba(74, 133, 94, .1);
  color: #467757;
  font-size: 10px;
  font-weight: 750;
  white-space: nowrap;
}

.is-download-exhausted { opacity: .6; }
.jit-store-format-buy.is-repurchase { border-color: rgba(231, 94, 44, .35); background: rgba(231, 94, 44, .06); }
.jit-store-format-buy.is-repurchase > span:last-child { color: var(--accent); }

.jit-download-alert {
  position: fixed;
  right: 18px;
  bottom: 18px;
  z-index: 10020;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  width: min(390px, calc(100vw - 28px));
  gap: 3px 14px;
  padding: 14px 14px 14px 16px;
  border: 1px solid var(--border);
  border-left: 3px solid var(--accent);
  border-radius: 10px;
  background: var(--surface);
  box-shadow: 0 18px 45px rgba(55, 42, 34, .18);
  color: var(--text);
  opacity: 0;
  transform: translateY(12px);
  transition: opacity .2s ease, transform .2s ease;
}
.jit-download-alert.is-visible { opacity: 1; transform: translateY(0); }
.jit-download-alert strong { grid-column: 1; font-size: 12px; }
.jit-download-alert span { grid-column: 1; color: var(--muted); font-size: 11px; line-height: 1.45; }
.jit-download-alert button {
  grid-column: 2;
  grid-row: 1 / 3;
  align-self: start;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--muted);
  font-size: 20px;
  line-height: 1;
  cursor: pointer;
}

@media (max-width: 599px) {
  .jit-download-alert { right: 14px; bottom: 14px; left: 14px; width: auto; }
}

/* Branded Woo pages: stop generic theme titles/layout from overpowering the commerce UI. */
.woocommerce-cart .entry-header,
.woocommerce-checkout .entry-header,
.woocommerce-account .entry-header { display: none; }

.woocommerce-cart .page-main,
.woocommerce-checkout .page-main,
.woocommerce-account .page-main {
  width: min(var(--max-width), calc(100% - (2 * var(--layout-gutter))));
  margin-inline: auto;
  padding-block: clamp(28px, 5vw, 64px);
}

.woocommerce-cart .entry-content,
.woocommerce-checkout .entry-content,
.woocommerce-account .entry-content { max-width: none; }

.woocommerce-account .woocommerce {
  display: grid;
  gap: 24px;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.woocommerce-account .woocommerce-MyAccount-navigation a {
  display: inline-flex;
  min-height: 38px;
  align-items: center;
  padding: 0 12px;
  border: 1px solid var(--border);
  border-radius: 999px;
  background: var(--surface);
  color: var(--text);
  font-size: 11px;
  font-weight: 700;
  text-decoration: none;
}

.woocommerce-account .woocommerce-MyAccount-navigation .is-active a {
  border-color: var(--accent);
  color: var(--accent);
}

.woocommerce-account .woocommerce-MyAccount-content { float: none; width: 100%; }
.woocommerce-account table.shop_table { width: 100%; border-collapse: separate; border-spacing: 0; overflow: hidden; border: 1px solid var(--border); border-radius: 10px; background: var(--surface); }
.woocommerce-account table.shop_table th,
.woocommerce-account table.shop_table td { padding: 12px; border-bottom: 1px solid var(--border); font-size: 12px; text-align: left; }
.woocommerce-account table.shop_table tr:last-child td { border-bottom: 0; }

.jit-store-shop-hero {
  background:
    linear-gradient(90deg, rgba(36, 23, 16, .92) 0%, rgba(36, 23, 16, .68) 52%, rgba(36, 23, 16, .2) 100%),
    url("images/forest-dj.webp") 78% 44% / cover no-repeat;
}

@media (min-width: 760px) {
  .jit-account-modal-grid { grid-template-columns: 1fr 1fr; }
  .woocommerce-account .woocommerce { grid-template-columns: 220px minmax(0, 1fr); align-items: start; }
  .woocommerce-account .woocommerce > h2,
  .woocommerce-account .woocommerce > form,
  .woocommerce-account .woocommerce > .woocommerce-notices-wrapper { grid-column: 1 / -1; }
  .woocommerce-account .woocommerce-MyAccount-navigation ul { display: grid; }
}

@media (max-width: 640px) {
  .jit-store-modal { top: auto; right: 0; bottom: 0; left: 0; width: 100%; max-height: 88vh; border-radius: 18px 18px 0 0; transform: translateY(22px); }
  .jit-store-modal.is-open { transform: translateY(0); }
  .jit-order-account-prompt { align-items: flex-start; flex-direction: column; }
  .jit-order-account-prompt .jit-store-action-button { width: 100%; }
  .woocommerce-account table.shop_table { display: block; overflow-x: auto; }
}

@media (prefers-reduced-motion: reduce) {
  .jit-store-overlay,
  .jit-store-modal { transition: none; }
}


/* 0.9.9 — My Downloads and compact header corrections. */
.jit-downloads-intro {
  max-width: 760px;
  margin: 0 0 22px;
}
.jit-downloads-intro > span {
  display: block;
  margin-bottom: 6px;
  color: var(--accent);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .16em;
  text-transform: uppercase;
}
.woocommerce-account .woocommerce .jit-downloads-intro h2 {
  margin: 0 0 8px;
  font-size: clamp(26px, 3vw, 38px);
  letter-spacing: -.035em;
}
.jit-downloads-intro p {
  max-width: 650px;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.65;
}

body.logged-in.woocommerce-account .woocommerce {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 22px;
  width: 100%;
}
body.logged-in.woocommerce-account .woocommerce-MyAccount-navigation,
body.logged-in.woocommerce-account .woocommerce-MyAccount-content {
  float: none;
  width: 100%;
  max-width: none;
  min-width: 0;
}
body.logged-in.woocommerce-account .woocommerce-MyAccount-navigation ul {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
body.logged-in.woocommerce-account .woocommerce-MyAccount-content {
  overflow: visible;
}

body.logged-in.woocommerce-account table.woocommerce-MyAccount-downloads {
  display: table;
  width: 100%;
  min-width: 0;
  table-layout: fixed;
  overflow: visible;
}
body.logged-in.woocommerce-account table.woocommerce-MyAccount-downloads th,
body.logged-in.woocommerce-account table.woocommerce-MyAccount-downloads td {
  vertical-align: middle;
  overflow-wrap: anywhere;
}
body.logged-in.woocommerce-account table.woocommerce-MyAccount-downloads .download-product {
  width: 32%;
}
body.logged-in.woocommerce-account table.woocommerce-MyAccount-downloads .download-remaining {
  width: 22%;
}
body.logged-in.woocommerce-account table.woocommerce-MyAccount-downloads .download-expires {
  width: 16%;
}
body.logged-in.woocommerce-account table.woocommerce-MyAccount-downloads .download-file {
  width: 30%;
}
body.logged-in.woocommerce-account a.woocommerce-MyAccount-downloads-file {
  max-width: 100%;
  text-align: center;
  white-space: normal;
}
body.logged-in.woocommerce-account tr.is-download-exhausted-row {
  background: rgba(231, 94, 44, .035);
}

@media (min-width: 800px) {
  body.logged-in.woocommerce-account .woocommerce {
    grid-template-columns: 220px minmax(0, 1fr);
    align-items: start;
  }
  body.logged-in.woocommerce-account .woocommerce-MyAccount-navigation {
    grid-column: 1;
  }
  body.logged-in.woocommerce-account .woocommerce-MyAccount-content {
    grid-column: 2;
  }
  body.logged-in.woocommerce-account .woocommerce-MyAccount-navigation ul {
    display: grid;
  }
}

@media (max-width: 799px) {
  body.logged-in.woocommerce-account .woocommerce-MyAccount-navigation {
    overflow-x: auto;
    padding-bottom: 3px;
    scrollbar-width: thin;
  }
  body.logged-in.woocommerce-account .woocommerce-MyAccount-navigation ul {
    width: max-content;
    max-width: none;
    flex-wrap: nowrap;
  }
}

@media (max-width: 700px) {
  body.logged-in.woocommerce-account table.woocommerce-MyAccount-downloads,
  body.logged-in.woocommerce-account table.woocommerce-MyAccount-downloads tbody,
  body.logged-in.woocommerce-account table.woocommerce-MyAccount-downloads tr,
  body.logged-in.woocommerce-account table.woocommerce-MyAccount-downloads td {
    display: block;
    width: 100%;
  }
  body.logged-in.woocommerce-account table.woocommerce-MyAccount-downloads thead {
    display: none;
  }
  body.logged-in.woocommerce-account table.woocommerce-MyAccount-downloads {
    border: 0;
    background: transparent;
  }
  body.logged-in.woocommerce-account table.woocommerce-MyAccount-downloads tbody {
    display: grid;
    gap: 10px;
  }
  body.logged-in.woocommerce-account table.woocommerce-MyAccount-downloads tr {
    padding: 14px;
    border: 1px solid var(--border);
    border-radius: 10px;
    background: var(--surface);
  }
  body.logged-in.woocommerce-account table.woocommerce-MyAccount-downloads td {
    display: grid;
    grid-template-columns: minmax(105px, 38%) minmax(0, 1fr);
    gap: 12px;
    align-items: center;
    padding: 7px 0;
    border: 0;
  }
  body.logged-in.woocommerce-account table.woocommerce-MyAccount-downloads td::before {
    content: attr(data-title);
    color: var(--muted);
    font-size: 10px;
    font-weight: 750;
  }
  body.logged-in.woocommerce-account table.woocommerce-MyAccount-downloads td.download-file {
    display: block;
    padding-top: 11px;
  }
  body.logged-in.woocommerce-account table.woocommerce-MyAccount-downloads td.download-file::before {
    display: none;
  }
  body.logged-in.woocommerce-account a.woocommerce-MyAccount-downloads-file {
    width: 100%;
  }
}

@media (max-width: 720px) {
  .jit-header-account {
    margin-left: 0;
  }
  .jit-header-account-icon {
    display: block;
  }
  .jit-header-account-label {
    display: none;
  }
}

/* 0.9.11 — cohesive WooCommerce forms and account UI. */
.woocommerce-account:not(.logged-in) .woocommerce {
  display: block;
  width: 100%;
  max-width: 980px;
  margin-inline: auto;
}

.woocommerce-account:not(.logged-in) #customer_login,
.woocommerce-account:not(.logged-in) .u-columns.col2-set {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 22px;
  width: 100%;
}

.woocommerce-account:not(.logged-in) #customer_login > .u-column1,
.woocommerce-account:not(.logged-in) #customer_login > .u-column2,
.woocommerce-account:not(.logged-in) .u-columns.col2-set > .col-1,
.woocommerce-account:not(.logged-in) .u-columns.col2-set > .col-2 {
  float: none;
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
}

.woocommerce-account:not(.logged-in) #customer_login h2 {
  margin: 0 0 12px;
  font-size: clamp(25px, 3vw, 34px);
  letter-spacing: -.035em;
}

.woocommerce-account form.login,
.woocommerce-account form.register,
.woocommerce-account form.woocommerce-EditAccountForm,
.woocommerce-account form.woocommerce-address-fields,
.woocommerce-checkout form.checkout,
.woocommerce-checkout .woocommerce-form-login,
.woocommerce-checkout .woocommerce-form-coupon {
  margin: 0;
  padding: clamp(18px, 3vw, 28px);
  border: 1px solid var(--border);
  border-radius: 12px;
  background: var(--surface);
  box-shadow: none;
}

/* Woo floats form rows in several classic templates. Reset them so fields cannot collapse into narrow columns. */
body.woocommerce-account #site-content form .form-row,
body.woocommerce-checkout #site-content form .form-row {
  float: none;
  width: 100%;
  margin: 0 0 15px;
  padding: 0;
}

body.woocommerce-account #site-content form .form-row label,
body.woocommerce-checkout #site-content form .form-row label {
  display: block;
  margin: 0 0 6px;
  color: var(--text);
  font-size: 11px;
  font-weight: 700;
  line-height: 1.35;
}

body.woocommerce-account #site-content form .form-row .required,
body.woocommerce-checkout #site-content form .form-row .required {
  color: var(--accent);
  text-decoration: none;
}

body.woocommerce-account #site-content form input.input-text,
body.woocommerce-account #site-content form input[type="email"],
body.woocommerce-account #site-content form input[type="password"],
body.woocommerce-account #site-content form input[type="text"],
body.woocommerce-account #site-content form input[type="tel"],
body.woocommerce-account #site-content form textarea,
body.woocommerce-account #site-content form select,
body.woocommerce-checkout #site-content form input.input-text,
body.woocommerce-checkout #site-content form input[type="email"],
body.woocommerce-checkout #site-content form input[type="password"],
body.woocommerce-checkout #site-content form input[type="text"],
body.woocommerce-checkout #site-content form input[type="tel"],
body.woocommerce-checkout #site-content form textarea,
body.woocommerce-checkout #site-content form select {
  box-sizing: border-box;
  width: 100%;
  min-height: 44px;
  padding: 10px 12px;
  border: 1px solid var(--border);
  border-radius: 7px;
  outline: none;
  background: #fffdf9;
  color: var(--text);
  font: inherit;
  font-size: 12px;
  line-height: 1.35;
  transition: border-color .16s ease, box-shadow .16s ease, background .16s ease;
}

body.woocommerce-account #site-content form textarea,
body.woocommerce-checkout #site-content form textarea {
  min-height: 110px;
  resize: vertical;
}

body.woocommerce-account #site-content form input:focus,
body.woocommerce-account #site-content form textarea:focus,
body.woocommerce-account #site-content form select:focus,
body.woocommerce-checkout #site-content form input:focus,
body.woocommerce-checkout #site-content form textarea:focus,
body.woocommerce-checkout #site-content form select:focus {
  border-color: var(--accent);
  background: #fff;
  box-shadow: 0 0 0 3px rgba(231, 94, 44, .11);
}

.woocommerce-account .password-input,
.woocommerce-checkout .password-input {
  position: relative;
  display: block;
  width: 100%;
}

.woocommerce-account .show-password-input,
.woocommerce-checkout .show-password-input {
  position: absolute;
  top: 50%;
  right: 12px;
  transform: translateY(-50%);
}

body.woocommerce-account #site-content form .woocommerce-form__label-for-checkbox,
body.woocommerce-checkout #site-content form .woocommerce-form__label-for-checkbox {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  font-weight: 600;
}

body.woocommerce-account #site-content form .woocommerce-form__input-checkbox,
body.woocommerce-checkout #site-content form .woocommerce-form__input-checkbox {
  width: 16px;
  height: 16px;
  min-height: 0;
  accent-color: var(--accent);
}

body.woocommerce-account #site-content form fieldset {
  margin: 22px 0 0;
  padding: 18px;
  border: 1px solid var(--border);
  border-radius: 10px;
}

body.woocommerce-account #site-content form fieldset legend {
  padding: 0 7px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 700;
}

.woocommerce-account .woocommerce-privacy-policy-text,
.woocommerce-account .woocommerce-LostPassword,
.woocommerce-account .woocommerce-form-register p,
.woocommerce-account .woocommerce-form-login p,
.woocommerce-checkout .woocommerce-form-login p,
.woocommerce-checkout .woocommerce-form-coupon p {
  color: var(--muted);
  font-size: 11px;
  line-height: 1.6;
}

.woocommerce-account .woocommerce-LostPassword a,
.woocommerce-account .woocommerce-privacy-policy-text a {
  color: var(--accent);
}

.woocommerce-account .woocommerce button.button,
.woocommerce-account .woocommerce a.button,
.woocommerce-checkout .woocommerce button.button,
.woocommerce-checkout .woocommerce a.button,
.woocommerce-order-received .woocommerce a.button,
.woocommerce-order-received .woocommerce-order-downloads a.button,
body.logged-in.woocommerce-account .woocommerce a.woocommerce-MyAccount-downloads-file.button,
body.woocommerce-order-received .woocommerce-order-downloads a.woocommerce-MyAccount-downloads-file.button {
  display: inline-flex;
  min-height: var(--jit-control-height);
  align-items: center;
  justify-content: center;
  padding: 0 16px;
  border: 0;
  border-radius: var(--jit-control-radius);
  background: var(--accent);
  color: #fff;
  font-size: 11px;
  font-weight: 750;
  line-height: 1;
  text-decoration: none;
  box-shadow: none;
}

.woocommerce-account .woocommerce button.button:hover,
.woocommerce-account .woocommerce a.button:hover,
.woocommerce-checkout .woocommerce button.button:hover,
.woocommerce-checkout .woocommerce a.button:hover,
.woocommerce-order-received .woocommerce a.button:hover,
body.logged-in.woocommerce-account .woocommerce a.woocommerce-MyAccount-downloads-file.button:focus,
body.woocommerce-order-received .woocommerce-order-downloads a.woocommerce-MyAccount-downloads-file.button:focus {
  background: var(--accent-dark);
  color: #fff;
}

.woocommerce-account .woocommerce-error,
.woocommerce-account .woocommerce-info,
.woocommerce-account .woocommerce-message,
.woocommerce-checkout .woocommerce-error,
.woocommerce-checkout .woocommerce-info,
.woocommerce-checkout .woocommerce-message {
  margin: 0 0 20px;
  padding: 14px 16px 14px 42px;
  border: 1px solid var(--border);
  border-top: 3px solid var(--accent);
  border-radius: 9px;
  background: #fffdf9;
  color: var(--text);
  font-size: 12px;
  line-height: 1.5;
}

/* Keep account edit fields comfortable without relying on WooCommerce's float layout. */
body.logged-in.woocommerce-account .woocommerce-MyAccount-content form .form-row-first,
body.logged-in.woocommerce-account .woocommerce-MyAccount-content form .form-row-last {
  width: 100%;
}

@media (min-width: 720px) {
  body.logged-in.woocommerce-account .woocommerce-EditAccountForm {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0 18px;
  }
  body.logged-in.woocommerce-account .woocommerce-EditAccountForm .form-row-wide,
  body.logged-in.woocommerce-account .woocommerce-EditAccountForm fieldset,
  body.logged-in.woocommerce-account .woocommerce-EditAccountForm > p:last-child {
    grid-column: 1 / -1;
  }
}

@media (max-width: 719px) {
  .woocommerce-account:not(.logged-in) #customer_login,
  .woocommerce-account:not(.logged-in) .u-columns.col2-set {
    grid-template-columns: 1fr;
  }
  .woocommerce-account form.login,
  .woocommerce-account form.register,
  .woocommerce-account form.woocommerce-EditAccountForm,
  .woocommerce-account form.woocommerce-address-fields,
  .woocommerce-checkout form.checkout {
    padding: 16px;
  }
}

/* 0.9.12 — commerce polish: Bootstrap-like fields, stable account layouts and scoped Woo links. */

/* Never let WooCommerce checkout link styling leak into the global header/footer. */
.woocommerce-checkout .woocommerce .woocommerce-form-login a,
.woocommerce-checkout .woocommerce .woocommerce-form-coupon a,
.woocommerce-checkout .woocommerce .woocommerce-checkout a,
.woocommerce-order-received .woocommerce a:not(.button) {
  color: var(--accent);
}

/* Bootstrap-like controls: neutral grey stroke, soft radius, clear focus state. */
.woocommerce-account form.login,
.woocommerce-account form.register,
.woocommerce-account form.woocommerce-EditAccountForm,
.woocommerce-account form.woocommerce-address-fields,
.woocommerce-checkout form.checkout,
.woocommerce-checkout .woocommerce-form-login,
.woocommerce-checkout .woocommerce-form-coupon {
  border-color: #dee2e6;
  border-radius: 12px;
  background: #fffdfa;
}

body.woocommerce-account #site-content form input.input-text,
body.woocommerce-account #site-content form input[type="email"],
body.woocommerce-account #site-content form input[type="password"],
body.woocommerce-account #site-content form input[type="text"],
body.woocommerce-account #site-content form input[type="tel"],
body.woocommerce-account #site-content form textarea,
body.woocommerce-account #site-content form select,
body.woocommerce-checkout #site-content form input.input-text,
body.woocommerce-checkout #site-content form input[type="email"],
body.woocommerce-checkout #site-content form input[type="password"],
body.woocommerce-checkout #site-content form input[type="text"],
body.woocommerce-checkout #site-content form input[type="tel"],
body.woocommerce-checkout #site-content form textarea,
body.woocommerce-checkout #site-content form select {
  min-height: 44px;
  border: 1px solid #ced4da;
  border-radius: 9px;
  background: #fff;
  color: #212529;
  box-shadow: none;
}

body.woocommerce-account #site-content form input:focus,
body.woocommerce-account #site-content form textarea:focus,
body.woocommerce-account #site-content form select:focus,
body.woocommerce-checkout #site-content form input:focus,
body.woocommerce-checkout #site-content form textarea:focus,
body.woocommerce-checkout #site-content form select:focus {
  border-color: #86b7fe;
  outline: 0;
  box-shadow: 0 0 0 3px rgba(13, 110, 253, .12);
}

body.woocommerce-account #site-content form fieldset {
  border-color: #dee2e6;
  border-radius: 11px;
  background: #fffdfa;
}

/* The submit row needs breathing room after the password fieldset. */
body.logged-in.woocommerce-account .woocommerce-EditAccountForm > p:last-child,
body.logged-in.woocommerce-account .woocommerce-address-fields > p:last-child {
  margin-top: 18px;
  margin-bottom: 0;
}

/* Login/Register: two deliberately aligned cards, not WooCommerce floats. */
body.woocommerce-account:not(.logged-in) #customer_login,
body.woocommerce-account:not(.logged-in) .u-columns.col2-set#customer_login {
  display: flex;
  flex-flow: row nowrap;
  align-items: flex-start;
  justify-content: stretch;
  gap: 24px;
  width: 100%;
  max-width: 920px;
  margin: 0 auto;
}

body.woocommerce-account:not(.logged-in) #customer_login > .u-column1,
body.woocommerce-account:not(.logged-in) #customer_login > .u-column2,
body.woocommerce-account:not(.logged-in) #customer_login > .col-1,
body.woocommerce-account:not(.logged-in) #customer_login > .col-2 {
  position: static;
  display: flex;
  flex: 1 1 0;
  flex-direction: column;
  float: none;
  clear: none;
  width: auto;
  min-width: 0;
  max-width: none;
  margin: 0;
  padding: 0;
  transform: none;
}

body.woocommerce-account:not(.logged-in) #customer_login h2 {
  width: 100%;
  margin: 0 0 12px;
  color: var(--text);
  font-size: clamp(25px, 2.5vw, 32px);
  line-height: 1.1;
  text-align: left;
}

body.woocommerce-account:not(.logged-in) #customer_login form.login,
body.woocommerce-account:not(.logged-in) #customer_login form.register {
  width: 100%;
  min-height: 100%;
  margin: 0;
}

body.woocommerce-account:not(.logged-in) #customer_login .woocommerce-form-login__submit,
body.woocommerce-account:not(.logged-in) #customer_login .woocommerce-form-register__submit {
  margin-top: 6px;
}

/* Payment methods should use the same card language instead of default Woo blocks. */
body.logged-in.woocommerce-account .woocommerce-PaymentMethods,
body.logged-in.woocommerce-account .woocommerce-MyAccount-paymentMethods {
  overflow: hidden;
  border: 1px solid #dee2e6;
  border-radius: 12px;
  background: #fffdfa;
}

/* Empty downloads is a library state, not an invitation into a duplicate store journey. */
body.logged-in.woocommerce-account .woocommerce-info .woocommerce-Button,
body.logged-in.woocommerce-account .woocommerce-info a.button {
  border-radius: 9px;
}

@media (max-width: 760px) {
  body.woocommerce-account:not(.logged-in) #customer_login,
  body.woocommerce-account:not(.logged-in) .u-columns.col2-set#customer_login {
    flex-direction: column;
    gap: 28px;
  }

}

/* 0.9.13 — simpler account information architecture. */

/* Account navigation should read as navigation, not a stack of CTA pills. */
body.logged-in.woocommerce-account .woocommerce-MyAccount-navigation {
  border-top: 1px solid #e1ddd7;
}

body.logged-in.woocommerce-account .woocommerce-MyAccount-navigation ul {
  display: block;
  width: 100%;
  margin: 0;
  padding: 0;
  list-style: none;
}

body.logged-in.woocommerce-account .woocommerce-MyAccount-navigation li {
  position: relative;
  margin: 0;
  padding: 0;
  border-bottom: 1px solid #e1ddd7;
}

body.logged-in.woocommerce-account .woocommerce-MyAccount-navigation a {
  display: flex;
  min-height: 46px;
  width: 100%;
  align-items: center;
  padding: 0 10px 0 14px;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: #5f5a55;
  font-size: 12px;
  font-weight: 650;
  line-height: 1.25;
  text-decoration: none;
  transition: color .15s ease, background .15s ease;
}

body.logged-in.woocommerce-account .woocommerce-MyAccount-navigation a:hover,
body.logged-in.woocommerce-account .woocommerce-MyAccount-navigation a:focus-visible {
  background: rgba(31, 25, 20, .025);
  color: var(--text);
}

body.logged-in.woocommerce-account .woocommerce-MyAccount-navigation .is-active::before {
  position: absolute;
  top: 9px;
  bottom: 9px;
  left: 0;
  width: 3px;
  border-radius: 3px;
  background: var(--accent);
  content: "";
}

body.logged-in.woocommerce-account .woocommerce-MyAccount-navigation .is-active a {
  background: rgba(231, 94, 44, .035);
  color: var(--accent);
  font-weight: 750;
}

/* Keep form controls Bootstrap-like and slightly softer than the original Woo defaults. */
body.woocommerce-account #site-content form input.input-text,
body.woocommerce-account #site-content form input[type="email"],
body.woocommerce-account #site-content form input[type="password"],
body.woocommerce-account #site-content form input[type="text"],
body.woocommerce-account #site-content form input[type="tel"],
body.woocommerce-account #site-content form textarea,
body.woocommerce-account #site-content form select,
body.woocommerce-checkout #site-content form input.input-text,
body.woocommerce-checkout #site-content form input[type="email"],
body.woocommerce-checkout #site-content form input[type="password"],
body.woocommerce-checkout #site-content form input[type="text"],
body.woocommerce-checkout #site-content form input[type="tel"],
body.woocommerce-checkout #site-content form textarea,
body.woocommerce-checkout #site-content form select {
  border-color: #d7dce1;
  border-radius: 10px;
}

body.logged-in.woocommerce-account .woocommerce-EditAccountForm > p:last-child,
body.logged-in.woocommerce-account .woocommerce-address-fields > p:last-child {
  margin-top: 22px;
}

@media (max-width: 799px) {
  body.logged-in.woocommerce-account .woocommerce-MyAccount-navigation {
    overflow-x: auto;
    border-top: 0;
    border-bottom: 1px solid #e1ddd7;
  }
  body.logged-in.woocommerce-account .woocommerce-MyAccount-navigation ul {
    display: flex;
    width: max-content;
    min-width: 100%;
  }
  body.logged-in.woocommerce-account .woocommerce-MyAccount-navigation li {
    flex: 0 0 auto;
    border-bottom: 0;
  }
  body.logged-in.woocommerce-account .woocommerce-MyAccount-navigation a {
    min-height: 42px;
    padding: 0 13px;
  }
  body.logged-in.woocommerce-account .woocommerce-MyAccount-navigation .is-active::before {
    top: auto;
    right: 10px;
    bottom: 0;
    left: 10px;
    width: auto;
    height: 3px;
  }
  body.logged-in.woocommerce-account .woocommerce-MyAccount-navigation .is-active a {
    background: transparent;
  }
}


/* 0.9.14 — account layout cleanup and public artist visibility support. */

/* Login and Register are one paired component: equal-height panels on desktop. */
body.woocommerce-account:not(.logged-in) #customer_login {
  align-items: stretch;
}

body.woocommerce-account:not(.logged-in) #customer_login > .u-column1,
body.woocommerce-account:not(.logged-in) #customer_login > .u-column2,
body.woocommerce-account:not(.logged-in) #customer_login > .col-1,
body.woocommerce-account:not(.logged-in) #customer_login > .col-2 {
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
}

body.woocommerce-account:not(.logged-in) #customer_login form.login,
body.woocommerce-account:not(.logged-in) #customer_login form.register {
  display: flex;
  height: 100%;
  flex-direction: column;
}

/* Woo puts Remember me and Log in in the same row. Make it read like a normal form. */
body.woocommerce-account:not(.logged-in) #customer_login form.login .form-row:has(.woocommerce-form-login__rememberme) {
  display: flex;
  align-items: flex-start;
  flex-direction: column;
  gap: 12px;
  margin-top: 2px;
}

body.woocommerce-account:not(.logged-in) #customer_login .woocommerce-form-login__rememberme {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin: 0;
}

body.woocommerce-account:not(.logged-in) #customer_login .woocommerce-form-login__submit {
  margin: 0;
}

body.woocommerce-account:not(.logged-in) #customer_login .woocommerce-LostPassword {
  margin-top: 12px;
}

/* Woo notices can receive keyboard focus; keep focus visible without a blue box around the whole notice. */
body.woocommerce-account #site-content .woocommerce-error,
body.woocommerce-account #site-content .woocommerce-info,
body.woocommerce-account #site-content .woocommerce-message,
body.woocommerce-checkout #site-content .woocommerce-error,
body.woocommerce-checkout #site-content .woocommerce-info,
body.woocommerce-checkout #site-content .woocommerce-message {
  outline: 0;
  box-shadow: none;
}

body.woocommerce-account #site-content .woocommerce-error:focus,
body.woocommerce-account #site-content .woocommerce-info:focus,
body.woocommerce-account #site-content .woocommerce-message:focus,
body.woocommerce-checkout #site-content .woocommerce-error:focus,
body.woocommerce-checkout #site-content .woocommerce-info:focus,
body.woocommerce-checkout #site-content .woocommerce-message:focus {
  outline: 0;
  box-shadow: none;
}

@media (max-width: 760px) {
  body.woocommerce-account:not(.logged-in) #customer_login > .u-column1,
  body.woocommerce-account:not(.logged-in) #customer_login > .u-column2,
  body.woocommerce-account:not(.logged-in) #customer_login > .col-1,
  body.woocommerce-account:not(.logged-in) #customer_login > .col-2 {
    display: block;
  }
}

/* 0.9.15 — one coherent My Account design system. */

/* Shared page heading for every logged-in account endpoint. */
body.logged-in.woocommerce-account .jit-account-page-head,
body.woocommerce-account:not(.logged-in) .jit-auth-page-head {
  width: 100%;
  margin: 0 0 24px;
}

.jit-account-page-head > span {
  display: block;
  margin: 0 0 6px;
  color: var(--accent);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.jit-account-page-head h1 {
  margin: 0 0 8px;
  color: var(--text);
  font-size: clamp(28px, 3vw, 36px);
  font-weight: 750;
  line-height: 1.08;
  letter-spacing: -.035em;
}

.jit-account-page-head p {
  max-width: 720px;
  margin: 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.6;
}

/* Account shell: same sidebar/content geometry on every endpoint. */
body.logged-in.woocommerce-account .woocommerce {
  grid-template-columns: minmax(180px, 210px) minmax(0, 1fr);
  gap: 30px;
  align-items: start;
}

body.logged-in.woocommerce-account .woocommerce-MyAccount-content {
  min-width: 0;
  width: 100%;
  max-width: none;
}

/* Remove duplicate/empty Woo address intro after the shared page heading. */
body.logged-in.woocommerce-account .woocommerce-MyAccount-content > p:empty {
  display: none;
}

/* Consistent content typography — page titles come from .jit-account-page-head. */
body.logged-in.woocommerce-account .woocommerce-MyAccount-content h2 {
  margin: 24px 0 12px;
  color: var(--text);
  font-size: 22px;
  font-weight: 750;
  line-height: 1.15;
  letter-spacing: -.025em;
}

body.logged-in.woocommerce-account .woocommerce-MyAccount-content h3 {
  margin: 20px 0 10px;
  color: var(--text);
  font-size: 17px;
  font-weight: 750;
  line-height: 1.2;
}

/* The downloads endpoint now uses the shared page heading. */
body.logged-in.woocommerce-account .jit-downloads-intro {
  display: none;
}

/* Auth page: one shared intro, then two equal-height cards. */
body.woocommerce-account:not(.logged-in) .woocommerce {
  max-width: 960px;
}

body.woocommerce-account:not(.logged-in) #customer_login {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
  align-items: stretch;
  width: 100%;
  max-width: none;
  margin: 0;
}

body.woocommerce-account:not(.logged-in) #customer_login > .u-column1,
body.woocommerce-account:not(.logged-in) #customer_login > .u-column2,
body.woocommerce-account:not(.logged-in) #customer_login > .col-1,
body.woocommerce-account:not(.logged-in) #customer_login > .col-2 {
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  align-self: stretch;
  width: 100%;
  min-width: 0;
  margin: 0;
}

body.woocommerce-account:not(.logged-in) #customer_login h2 {
  margin: 0 0 12px;
  color: var(--text);
  font-size: 22px;
  font-weight: 750;
  line-height: 1.15;
  letter-spacing: -.025em;
}

body.woocommerce-account:not(.logged-in) #customer_login form.login,
body.woocommerce-account:not(.logged-in) #customer_login form.register {
  box-sizing: border-box;
  display: flex;
  min-height: 330px;
  height: 100%;
  flex-direction: column;
  margin: 0;
  padding: 20px;
  border: 1px solid #dfe3e7;
  border-radius: 12px;
  background: #fff;
}

/* Keep the bottom actions visually aligned across Login and Register. */
body.woocommerce-account:not(.logged-in) #customer_login form.login .woocommerce-LostPassword {
  margin-top: auto;
  padding-top: 16px;
}

body.woocommerce-account:not(.logged-in) #customer_login form.register > p:last-child {
  margin-top: auto;
  padding-top: 16px;
}

body.woocommerce-account:not(.logged-in) #customer_login form.login .form-row:has(.woocommerce-form-login__rememberme) {
  gap: 10px;
  margin-bottom: 0;
}

body.woocommerce-account:not(.logged-in) #customer_login .woocommerce-form-login__rememberme {
  min-height: 24px;
}

/* Tables and secondary links should not introduce another accent hierarchy. */
body.logged-in.woocommerce-account .woocommerce-MyAccount-content table a:not(.button),
body.woocommerce-order-received .woocommerce table.shop_table a:not(.button) {
  color: var(--text);
  font-weight: 650;
  text-decoration: none;
}

body.logged-in.woocommerce-account .woocommerce-MyAccount-content table a:not(.button):hover,
body.woocommerce-order-received .woocommerce table.shop_table a:not(.button):hover {
  color: var(--accent);
}

@media (max-width: 799px) {
  body.logged-in.woocommerce-account .woocommerce {
    grid-template-columns: minmax(0, 1fr);
    gap: 20px;
  }
}

@media (max-width: 719px) {
  body.woocommerce-account:not(.logged-in) #customer_login {
    grid-template-columns: 1fr;
  }

  body.woocommerce-account:not(.logged-in) #customer_login form.login,
  body.woocommerce-account:not(.logged-in) #customer_login form.register {
    min-height: 0;
  }
}

/* 0.9.16 — one field language across Checkout and My Account. */

/* WooCommerce Checkout Blocks use floating labels by default. JIT uses one
   predictable pattern everywhere: label above, control below. */
body.woocommerce-checkout #site-content .wc-block-components-text-input,
body.woocommerce-checkout #site-content .wc-block-components-combobox-control {
  display: flex;
  flex-direction: column-reverse;
  gap: 7px;
  margin-bottom: 16px;
}

body.woocommerce-checkout #site-content .wc-block-components-text-input > label,
body.woocommerce-checkout #site-content .wc-block-components-combobox-control > label,
body.woocommerce-checkout #site-content .wc-block-components-text-input label,
body.woocommerce-checkout #site-content .wc-block-components-combobox-control label {
  position: static;
  inset: auto;
  width: auto;
  max-width: none;
  margin: 0;
  padding: 0;
  transform: none;
  background: transparent;
  color: var(--text);
  font-size: 11px;
  font-weight: 750;
  line-height: 1.3;
  opacity: 1;
  pointer-events: auto;
}

body.woocommerce-checkout #site-content .wc-block-components-text-input > input,
body.woocommerce-checkout #site-content .wc-block-components-text-input input,
body.woocommerce-checkout #site-content .wc-block-components-combobox-control input {
  box-sizing: border-box;
  min-height: 46px;
  width: 100%;
  margin: 0;
  padding: 11px 13px;
  border: 1px solid #d7dce1;
  border-radius: 10px;
  background: #fff;
  color: #212529;
  box-shadow: none;
  font-size: 13px;
  line-height: 1.35;
}

body.woocommerce-checkout #site-content .wc-block-components-text-input > input:focus,
body.woocommerce-checkout #site-content .wc-block-components-text-input input:focus,
body.woocommerce-checkout #site-content .wc-block-components-combobox-control input:focus {
  border-color: var(--accent);
  outline: 0;
  box-shadow: 0 0 0 3px rgba(231, 94, 44, .10);
}

/* Do not let Checkout Blocks collapse adjacent fields into one crowded row. */
body.woocommerce-checkout #site-content .wc-block-components-address-form,
body.woocommerce-checkout #site-content .wc-block-checkout__contact-fields,
body.woocommerce-checkout #site-content .wc-block-checkout__billing-fields {
  row-gap: 2px;
}

body.woocommerce-checkout #site-content .wc-block-components-address-form__first_name,
body.woocommerce-checkout #site-content .wc-block-components-address-form__last_name {
  margin-bottom: 16px;
}

/* My Account classic forms use the same vertical-label rhythm as Checkout. */
body.woocommerce-account #site-content .form-row {
  margin-bottom: 16px;
}

body.woocommerce-account #site-content .form-row > label,
body.woocommerce-account #site-content form > p > label {
  display: block;
  margin: 0 0 7px;
  color: var(--text);
  font-size: 11px;
  font-weight: 750;
  line-height: 1.3;
}


/* 0.9.17 — checkout identity choice + the remaining Blocks combobox label. */

/* The country/region field in Checkout Blocks is not the same text-input
   component as email/name. Give it an explicit classic label above the
   control and visually hide only the component's floating copy. */
body.woocommerce-checkout #site-content .wc-block-components-address-form__country {
  position: relative;
  display: block;
  margin: 0 0 16px;
  padding: 0;
}

body.woocommerce-checkout #site-content .wc-block-components-address-form__country::before {
  content: "Country / Region";
  display: block;
  margin: 0 0 7px;
  color: var(--text);
  font-size: 11px;
  font-weight: 750;
  line-height: 1.3;
}

body.woocommerce-checkout #site-content .wc-block-components-address-form__country label,
body.woocommerce-checkout #site-content .wc-block-components-address-form__country .wc-block-components-combobox-control__label,
body.woocommerce-checkout #site-content .wc-block-components-address-form__country .components-base-control__label {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

body.woocommerce-checkout #site-content .wc-block-components-address-form__country .wc-block-components-combobox-control,
body.woocommerce-checkout #site-content .wc-block-components-address-form__country .wc-block-components-combobox {
  margin: 0;
}

body.woocommerce-checkout #site-content .wc-block-components-address-form__country input,
body.woocommerce-checkout #site-content .wc-block-components-address-form__country select,
body.woocommerce-checkout #site-content .wc-block-components-address-form__country button[role="combobox"] {
  min-height: 46px;
  padding-top: 11px;
  padding-bottom: 11px;
  border: 1px solid #d7dce1;
  border-radius: 10px;
  background: #fff;
  box-shadow: none;
}

.jit-cart-account-choice {
  box-sizing: border-box;
  display: block;
  width: 100%;
  margin: 10px 0 0;
  padding: 3px 0;
  border: 0;
  background: transparent;
  color: var(--text);
  font: inherit;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.4;
  text-align: center;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
  cursor: pointer;
}

.jit-cart-account-choice:hover,
.jit-cart-account-choice:focus-visible {
  color: var(--accent);
}

/* 0.9.18 — stable Checkout Block country field + guest payment context. */
body.woocommerce-checkout #site-content .jit-checkout-country-field {
  display: block;
  position: relative;
  margin: 0 0 18px;
  padding: 0;
}

body.woocommerce-checkout #site-content .jit-checkout-country-field::before {
  content: none;
  display: none;
}

body.woocommerce-checkout #site-content .jit-checkout-static-label {
  display: block;
  position: static;
  width: auto;
  height: auto;
  margin: 0 0 7px;
  padding: 0;
  overflow: visible;
  clip: auto;
  white-space: normal;
  color: var(--text);
  font-size: 11px;
  font-weight: 750;
  line-height: 1.3;
}

body.woocommerce-checkout #site-content .jit-checkout-country-field .jit-checkout-floating-label-hidden,
body.woocommerce-checkout #site-content .jit-checkout-country-field label.components-base-control__label,
body.woocommerce-checkout #site-content .jit-checkout-country-field label.wc-block-components-combobox-control__label {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0;
  transform: none;
  opacity: 0;
  pointer-events: none;
}

body.woocommerce-checkout #site-content .jit-checkout-country-field .wc-block-components-combobox-control,
body.woocommerce-checkout #site-content .jit-checkout-country-field .components-combobox-control {
  min-height: 46px;
  margin: 0;
  padding: 0;
}

body.woocommerce-checkout #site-content .jit-checkout-country-field .jit-checkout-country-input,
body.woocommerce-checkout #site-content .jit-checkout-country-field input.components-combobox-control__input,
body.woocommerce-checkout #site-content .jit-checkout-country-field input[role="combobox"] {
  box-sizing: border-box;
  width: 100%;
  min-height: 46px;
  height: 46px;
  margin: 0;
  padding: 0 44px 0 14px;
  border: 1px solid #ced4da;
  border-radius: 10px;
  background: #fff;
  box-shadow: none;
  color: var(--text);
  font-size: 14px;
  line-height: 44px;
  transform: none;
}

body.woocommerce-checkout #site-content .jit-checkout-country-field .jit-checkout-country-input:focus,
body.woocommerce-checkout #site-content .jit-checkout-country-field input.components-combobox-control__input:focus,
body.woocommerce-checkout #site-content .jit-checkout-country-field input[role="combobox"]:focus {
  border-color: #aeb7c0;
  outline: 0;
  box-shadow: 0 0 0 3px rgba(23, 23, 23, .07);
}

body.woocommerce-checkout #site-content .jit-guest-payment-note {
  max-width: 620px;
  margin: -4px 0 14px;
  color: var(--muted);
  font-size: 11px;
  line-height: 1.5;
}

/* 0.9.19 — responsive commerce QA.
   WooCommerce classic tables and Blocks need explicit small-screen layouts;
   horizontal scrolling is a fallback, not the primary mobile experience. */

body.woocommerce-cart #site-content,
body.woocommerce-checkout #site-content,
body.woocommerce-account #site-content {
  min-width: 0;
  overflow-x: clip;
}

body.woocommerce-cart #site-content .woocommerce,
body.woocommerce-checkout #site-content .woocommerce,
body.woocommerce-account #site-content .woocommerce {
  min-width: 0;
  max-width: 100%;
}

/* Order-received overview: remove Woo's dashed separators/floats and use a
   predictable grid that remains readable down to 320px. */
body.woocommerce-order-received .woocommerce-order-overview {
  box-sizing: border-box;
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  grid-template-areas: "order date email total payment";
  gap: 1px;
  width: 100%;
  margin: 14px 0 28px;
  padding: 1px;
  border: 0;
  border-radius: 10px;
  overflow: hidden;
  background: var(--border);
  list-style: none;
}

body.woocommerce-order-received .woocommerce-order-overview li {
  box-sizing: border-box;
  display: flex;
  min-height: 76px;
  flex-direction: column;
  justify-content: center;
  float: none;
  width: auto;
  min-width: 0;
  margin: 0;
  padding: 12px 14px;
  border: 0;
  background: rgba(255, 250, 243, .96);
  color: var(--muted);
  font-size: 10px;
  line-height: 1.25;
  overflow-wrap: anywhere;
}

body.woocommerce-order-received .woocommerce-order-overview__order { grid-area: order; }
body.woocommerce-order-received .woocommerce-order-overview__date { grid-area: date; }
body.woocommerce-order-received .woocommerce-order-overview__email { grid-area: email; }
body.woocommerce-order-received .woocommerce-order-overview__total { grid-area: total; }
body.woocommerce-order-received .woocommerce-order-overview__payment-method { grid-area: payment; }

body.woocommerce-order-received .woocommerce-order-overview li strong {
  display: block;
  margin-top: 4px;
  color: var(--text);
  font-size: 15px;
  font-weight: 750;
  line-height: 1.2;
}

body.woocommerce-order-received .woocommerce-thankyou-order-received {
  margin: 0 0 14px;
  color: var(--muted);
  font-size: 15px;
  line-height: 1.55;
}

/* Keep the normal two-column order-details table compact instead of turning it
   into an awkward horizontally scrolling block. */
body.woocommerce-order-received table.woocommerce-table--order-details,
body.woocommerce-order-received table.order_details {
  display: table;
  width: 100%;
  table-layout: fixed;
  overflow: visible;
}

body.woocommerce-order-received table.woocommerce-table--order-details thead,
body.woocommerce-order-received table.woocommerce-table--order-details tbody,
body.woocommerce-order-received table.woocommerce-table--order-details tfoot,
body.woocommerce-order-received table.order_details thead,
body.woocommerce-order-received table.order_details tbody,
body.woocommerce-order-received table.order_details tfoot {
  display: table-row-group;
}

body.woocommerce-order-received table.woocommerce-table--order-details thead,
body.woocommerce-order-received table.order_details thead {
  display: table-header-group;
}

body.woocommerce-order-received table.woocommerce-table--order-details tr,
body.woocommerce-order-received table.order_details tr {
  display: table-row;
}

body.woocommerce-order-received table.woocommerce-table--order-details th,
body.woocommerce-order-received table.woocommerce-table--order-details td,
body.woocommerce-order-received table.order_details th,
body.woocommerce-order-received table.order_details td {
  display: table-cell;
  width: auto;
  min-width: 0;
  overflow-wrap: anywhere;
}

body.woocommerce-order-received table.woocommerce-table--order-details th:last-child,
body.woocommerce-order-received table.woocommerce-table--order-details td:last-child,
body.woocommerce-order-received table.order_details th:last-child,
body.woocommerce-order-received table.order_details td:last-child {
  width: 34%;
  text-align: right;
}

body.woocommerce-order-received .woocommerce-customer-details address,
body.woocommerce-order-received .woocommerce-column--billing-address address {
  overflow-wrap: anywhere;
  word-break: break-word;
}

/* Generic account tables remain desktop tables, but on phones orders and
   payment methods become stacked records instead of a horizontal scrollbar. */
@media (max-width: 700px) {
  body.woocommerce-cart .page-main,
  body.woocommerce-checkout .page-main,
  body.woocommerce-account .page-main {
    width: 100%;
    max-width: none;
    padding: 18px 12px 32px;
  }

  body.woocommerce-cart .entry,
  body.woocommerce-checkout .entry,
  body.woocommerce-account .entry {
    min-width: 0;
    padding: 18px;
    border-radius: 14px;
  }

  body.woocommerce-order-received .woocommerce-order-downloads__title,
  body.woocommerce-order-received .woocommerce-order-details__title,
  body.woocommerce-order-received .woocommerce-column__title,
  body.logged-in.woocommerce-account .jit-account-page-head h1,
  body.woocommerce-account:not(.logged-in) .jit-auth-page-head h1 {
    font-size: 26px;
    line-height: 1.08;
  }

  body.woocommerce-order-received .woocommerce-order-overview {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-areas:
      "order date"
      "email email"
      "total payment";
    border-radius: 9px;
  }

  body.woocommerce-order-received .woocommerce-order-overview li {
    min-height: 66px;
    padding: 11px 12px;
  }

  /* Downloads on the thank-you page. */
  body.woocommerce-order-received table.woocommerce-table--order-downloads,
  body.woocommerce-order-received table.woocommerce-order-downloads,
  body.woocommerce-order-received .woocommerce-order-downloads table.shop_table {
    box-sizing: border-box;
    display: block;
    width: 100%;
    overflow: visible;
    border: 0;
    background: transparent;
  }

  body.woocommerce-order-received table.woocommerce-table--order-downloads thead,
  body.woocommerce-order-received table.woocommerce-order-downloads thead,
  body.woocommerce-order-received .woocommerce-order-downloads table.shop_table thead {
    display: none;
  }

  body.woocommerce-order-received table.woocommerce-table--order-downloads tbody,
  body.woocommerce-order-received table.woocommerce-order-downloads tbody,
  body.woocommerce-order-received .woocommerce-order-downloads table.shop_table tbody {
    display: grid;
    gap: 10px;
  }

  body.woocommerce-order-received table.woocommerce-table--order-downloads tr,
  body.woocommerce-order-received table.woocommerce-order-downloads tr,
  body.woocommerce-order-received .woocommerce-order-downloads table.shop_table tr {
    box-sizing: border-box;
    display: block;
    width: 100%;
    min-width: 0;
    padding: 10px 12px;
    border: 1px solid var(--border);
    border-radius: 9px;
    background: rgba(255, 250, 243, .7);
  }

  body.woocommerce-order-received table.woocommerce-table--order-downloads td,
  body.woocommerce-order-received table.woocommerce-order-downloads td,
  body.woocommerce-order-received .woocommerce-order-downloads table.shop_table td {
    display: grid;
    grid-template-columns: minmax(116px, 42%) minmax(0, 1fr);
    align-items: center;
    gap: 10px;
    width: 100%;
    min-width: 0;
    padding: 8px 0;
    border: 0;
    border-bottom: 1px solid var(--border);
    text-align: right;
    overflow-wrap: anywhere;
  }

  body.woocommerce-order-received table.woocommerce-table--order-downloads td::before,
  body.woocommerce-order-received table.woocommerce-order-downloads td::before,
  body.woocommerce-order-received .woocommerce-order-downloads table.shop_table td::before {
    float: none;
    width: auto;
    margin: 0;
    color: var(--muted);
    content: attr(data-title);
    font-size: 11px;
    font-weight: 750;
    line-height: 1.35;
    text-align: left;
  }

  body.woocommerce-order-received table.woocommerce-table--order-downloads td:last-child,
  body.woocommerce-order-received table.woocommerce-order-downloads td:last-child,
  body.woocommerce-order-received .woocommerce-order-downloads table.shop_table td:last-child {
    display: block;
    padding-top: 10px;
    border-bottom: 0;
  }

  body.woocommerce-order-received table.woocommerce-table--order-downloads td:last-child::before,
  body.woocommerce-order-received table.woocommerce-order-downloads td:last-child::before,
  body.woocommerce-order-received .woocommerce-order-downloads table.shop_table td:last-child::before {
    display: none;
  }

  body.woocommerce-order-received .woocommerce-order-downloads a.button,
  body.woocommerce-order-received a.woocommerce-MyAccount-downloads-file {
    box-sizing: border-box;
    width: 100%;
    min-height: var(--jit-control-height);
    overflow-wrap: normal;
    white-space: nowrap;
    text-align: center;
  }

  body.woocommerce-order-received table.woocommerce-table--order-details th,
  body.woocommerce-order-received table.woocommerce-table--order-details td,
  body.woocommerce-order-received table.order_details th,
  body.woocommerce-order-received table.order_details td {
    padding: 10px;
    font-size: 12px;
    line-height: 1.4;
  }

  body.woocommerce-order-received .woocommerce-customer-details,
  body.woocommerce-order-received .woocommerce-columns--addresses,
  body.woocommerce-order-received .woocommerce-columns {
    width: 100%;
    margin: 0;
  }

  body.woocommerce-order-received .woocommerce-column,
  body.woocommerce-order-received .woocommerce-column--billing-address {
    float: none;
    width: 100%;
    max-width: none;
  }

  body.woocommerce-order-received .woocommerce-customer-details address,
  body.woocommerce-order-received .woocommerce-column--billing-address address {
    box-sizing: border-box;
    width: 100%;
    padding: 12px;
    border-radius: 9px;
    font-size: 12px;
    line-height: 1.55;
  }

  /* Logged-in account navigation stays compact and horizontally scrollable,
     while content uses the full viewport width beneath it. */
  body.logged-in.woocommerce-account .woocommerce {
    gap: 16px;
  }

  body.logged-in.woocommerce-account .woocommerce-MyAccount-navigation {
    width: 100%;
    overflow-x: auto;
    border-top: 0;
    scrollbar-width: thin;
  }

  body.logged-in.woocommerce-account .woocommerce-MyAccount-navigation ul {
    display: flex;
    width: max-content;
    min-width: 100%;
    border-bottom: 1px solid #e1ddd7;
  }

  body.logged-in.woocommerce-account .woocommerce-MyAccount-navigation li {
    flex: 0 0 auto;
    border-bottom: 0;
  }

  body.logged-in.woocommerce-account .woocommerce-MyAccount-navigation a {
    min-height: 42px;
    padding: 0 12px;
    border-left: 0;
    border-bottom: 2px solid transparent;
    white-space: nowrap;
  }

  body.logged-in.woocommerce-account .woocommerce-MyAccount-navigation .is-active a {
    border-bottom-color: var(--accent);
    background: transparent;
  }

  /* Orders list as cards. */
  body.logged-in.woocommerce-account table.woocommerce-orders-table,
  body.logged-in.woocommerce-account table.woocommerce-MyAccount-paymentMethods {
    display: block;
    overflow: visible;
    border: 0;
    background: transparent;
  }

  body.logged-in.woocommerce-account table.woocommerce-orders-table thead,
  body.logged-in.woocommerce-account table.woocommerce-MyAccount-paymentMethods thead {
    display: none;
  }

  body.logged-in.woocommerce-account table.woocommerce-orders-table tbody,
  body.logged-in.woocommerce-account table.woocommerce-MyAccount-paymentMethods tbody {
    display: grid;
    gap: 10px;
  }

  body.logged-in.woocommerce-account table.woocommerce-orders-table tr,
  body.logged-in.woocommerce-account table.woocommerce-MyAccount-paymentMethods tr {
    display: block;
    padding: 10px 12px;
    border: 1px solid var(--border);
    border-radius: 9px;
    background: var(--surface);
  }

  body.logged-in.woocommerce-account table.woocommerce-orders-table td,
  body.logged-in.woocommerce-account table.woocommerce-MyAccount-paymentMethods td {
    display: grid;
    grid-template-columns: minmax(108px, 40%) minmax(0, 1fr);
    gap: 10px;
    align-items: center;
    width: 100%;
    padding: 7px 0;
    border: 0;
    border-bottom: 1px solid var(--border);
    text-align: right;
    overflow-wrap: anywhere;
  }

  body.logged-in.woocommerce-account table.woocommerce-orders-table td::before,
  body.logged-in.woocommerce-account table.woocommerce-MyAccount-paymentMethods td::before {
    float: none;
    content: attr(data-title);
    color: var(--muted);
    font-size: 10px;
    font-weight: 750;
    text-align: left;
  }

  body.logged-in.woocommerce-account table.woocommerce-orders-table td:last-child,
  body.logged-in.woocommerce-account table.woocommerce-MyAccount-paymentMethods td:last-child {
    border-bottom: 0;
  }

  body.logged-in.woocommerce-account table.woocommerce-orders-table .woocommerce-button,
  body.logged-in.woocommerce-account table.woocommerce-MyAccount-paymentMethods .button {
    justify-self: end;
  }

  /* Auth and account forms: no fixed widths or inherited floats on phones. */
  body.woocommerce-account:not(.logged-in) #customer_login,
  body.woocommerce-account:not(.logged-in) .u-columns.col2-set#customer_login {
    gap: 20px;
  }

  body.woocommerce-account:not(.logged-in) #customer_login form.login,
  body.woocommerce-account:not(.logged-in) #customer_login form.register,
  body.logged-in.woocommerce-account form.woocommerce-EditAccountForm,
  body.logged-in.woocommerce-account form.woocommerce-address-fields {
    width: 100%;
    max-width: none;
    padding: 16px;
  }

  body.logged-in.woocommerce-account .woocommerce-EditAccountForm {
    display: block;
  }

  body.logged-in.woocommerce-account .woocommerce-EditAccountForm fieldset {
    margin-top: 18px;
    padding: 14px;
  }

  /* Checkout Blocks: let Woo stack its two main columns, but remove component
     min-widths that can force horizontal overflow. */
  body.woocommerce-checkout #site-content .wc-block-checkout,
  body.woocommerce-checkout #site-content .wc-block-checkout__main,
  body.woocommerce-checkout #site-content .wc-block-checkout__sidebar,
  body.woocommerce-checkout #site-content .wc-block-components-sidebar-layout,
  body.woocommerce-checkout #site-content .wc-block-components-main,
  body.woocommerce-checkout #site-content .wc-block-components-sidebar {
    min-width: 0;
    max-width: 100%;
  }

  body.woocommerce-checkout #site-content .wc-block-checkout__actions_row,
  body.woocommerce-checkout #site-content .wc-block-components-checkout-place-order-button {
    width: 100%;
  }

  /* Bottom-sheet basket: account for tiny phones and safe areas. */
  .jit-store-modal {
    max-height: min(88vh, calc(100dvh - env(safe-area-inset-top) - 8px));
    padding: 18px 16px calc(18px + env(safe-area-inset-bottom));
  }
}

@media (max-width: 390px) {
  body.woocommerce-cart .page-main,
  body.woocommerce-checkout .page-main,
  body.woocommerce-account .page-main {
    padding-right: 8px;
    padding-left: 8px;
  }

  body.woocommerce-cart .entry,
  body.woocommerce-checkout .entry,
  body.woocommerce-account .entry {
    padding: 14px;
  }

  body.woocommerce-order-received .woocommerce-order-overview li strong {
    font-size: 14px;
  }

  body.woocommerce-order-received table.woocommerce-table--order-downloads td,
  body.woocommerce-order-received table.woocommerce-order-downloads td,
  body.woocommerce-order-received .woocommerce-order-downloads table.shop_table td,
  body.logged-in.woocommerce-account table.woocommerce-orders-table td,
  body.logged-in.woocommerce-account table.woocommerce-MyAccount-paymentMethods td {
    grid-template-columns: minmax(98px, 38%) minmax(0, 1fr);
    gap: 8px;
  }
}

/* 0.9.21 — exhausted downloads always have a real repurchase CTA. */
.jit-store-format-buy {
  column-gap: 10px;
}
.jit-store-format-buy > strong,
.jit-store-format-buy > span {
  white-space: nowrap;
}
.woocommerce-order-downloads a.button.is-repurchase,
.woocommerce-MyAccount-content a.woocommerce-MyAccount-downloads-file.is-repurchase,
.woocommerce-order-received a.woocommerce-MyAccount-downloads-file.is-repurchase {
  opacity: 1;
  pointer-events: auto;
  cursor: pointer;
}
.woocommerce-order-downloads tr.is-download-exhausted-row,
.woocommerce-MyAccount-content tr.is-download-exhausted-row {
  background: rgba(231, 94, 44, .035);
}

/* Billing overview is a JIT-owned component. Its grid defines the layout at source. */
.jit-billing-card {
  box-sizing: border-box;
  display: grid;
  gap: 18px;
  width: 100%;
  padding: 24px;
  border: 1px solid #dfe3e7;
  border-radius: 12px;
  background: #fff;
}

.jit-billing-card__header {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 18px;
  align-items: center;
}

.jit-billing-card__title {
  min-width: 0;
  color: var(--text);
  font-size: 19px;
  font-weight: 750;
  line-height: 1.2;
  letter-spacing: -.02em;
}

.jit-billing-card__edit {
  justify-self: end;
  display: inline-flex;
  min-height: 38px;
  align-items: center;
  justify-content: center;
  padding: 0 13px;
  border: 1px solid #ced4da;
  border-radius: 9px;
  background: #fff;
  color: #343a40;
  font-size: 11px;
  font-weight: 700;
  text-decoration: none;
}

.jit-billing-card__edit:hover,
.jit-billing-card__edit:focus-visible {
  border-color: #adb5bd;
  background: #f8f9fa;
  color: #171717;
}

.jit-billing-card__body {
  display: grid;
  gap: 5px;
  color: #6c757d;
  font-size: 13px;
  line-height: 1.65;
}

.jit-billing-card__body address {
  margin: 0;
  color: inherit;
  font: inherit;
}

.jit-billing-card__contact {
  width: fit-content;
  color: inherit;
  text-decoration: none;
}

.jit-billing-card__contact:hover,
.jit-billing-card__contact:focus-visible {
  color: var(--accent);
}

@media (max-width: 520px) {
  .jit-billing-card {
    padding: 20px;
  }

  .jit-billing-card__header {
    grid-template-columns: minmax(0, 1fr);
    gap: 12px;
  }

  .jit-billing-card__edit {
    justify-self: start;
  }
}

/* Releases archive + single release. */
.jit-store-releases-page { padding-bottom: var(--jit-section-space, 4rem); }
.jit-store-releases-hero-photo { background: linear-gradient(90deg, rgba(24,18,14,.90) 0%, rgba(24,18,14,.58) 48%, rgba(24,18,14,.12) 100%), url("images/releases-hero.png") 72% 46% / cover no-repeat; }
.jit-store-release-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:clamp(20px,3vw,36px); }
.jit-store-release-card { display:grid; min-width:0; color:inherit; text-decoration:none; }
.jit-store-release-card-art { position:relative; overflow:hidden; aspect-ratio:1; border-radius:12px; background:#ead8ca; }
.jit-store-release-card-art::after { position:absolute; inset:auto 0 0; height:4px; background:linear-gradient(90deg,var(--accent) 34%,rgba(231,94,44,.16) 34%); content:""; }
.jit-store-release-card-art img { width:100%; height:100%; object-fit:cover; transition:transform 220ms ease; }
.jit-store-release-card:hover .jit-store-release-card-art img { transform:scale(1.035); }
.jit-store-release-card-copy { padding:14px 2px 4px; }
.jit-store-release-card-copy h2 { margin:6px 0 2px; font-size:clamp(22px,3vw,34px); line-height:1; letter-spacing:-.045em; }
.jit-store-release-card-copy > p { margin:0; color:var(--muted); font-size:13px; }
.jit-store-release-card-meta { display:flex; justify-content:space-between; gap:18px; margin-top:12px; padding-top:11px; border-top:1px solid var(--border); color:var(--muted); font-size:11px; }
.jit-store-release-card-meta .amount { color:var(--text); font-weight:700; }
.jit-store-release-detail { padding-bottom:var(--jit-section-space, 4rem); }

.jit-store-release-detail-hero { display:grid; grid-template-columns:minmax(280px,.82fr) minmax(0,1.18fr); gap:clamp(30px,6vw,90px); align-items:center; }
.jit-store-release-detail-art { overflow:hidden; aspect-ratio:1; border-radius:14px; background:#ead8ca; }
.jit-store-release-detail-art img { width:100%; height:100%; object-fit:cover; }
.jit-store-release-detail-copy h1 { max-width:100%; margin:12px 0 8px; font-size:clamp(42px,5.6vw,76px); line-height:.92; letter-spacing:-.055em; overflow-wrap:anywhere; }
.jit-store-release-artist-link { display:inline-flex; margin-top:6px; color:var(--accent); font-size:15px; font-weight:700; text-decoration:none; }
.jit-store-release-facts { display:flex; flex-wrap:wrap; gap:12px 28px; margin-top:28px; padding:18px 0; border-block:1px solid var(--border); }
.jit-store-release-facts span { display:grid; gap:4px; font-size:13px; font-weight:700; }
.jit-store-release-facts small { color:var(--muted); font-size:9px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }
.jit-store-release-description { max-width:720px; margin-top:24px; color:var(--muted); font-size:clamp(15px,1.4vw,19px); line-height:1.65; }
.jit-store-release-description p { margin:0 0 1em; }
.jit-store-release-preview { margin-top:28px; padding:20px; border:1px solid var(--border); border-radius:10px; background:rgba(255,250,243,.72); }
.jit-store-release-preview .jit-store-preview { margin-top:12px; }
.jit-store-release-actions { display:flex; flex-wrap:wrap; gap:10px; margin-top:26px; }
.jit-store-release-primary,.jit-store-release-secondary { text-decoration:none; }

@media (min-width: 760px) {
  .jit-store-release-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media (max-width: 759px) {
  .jit-store-release-grid { grid-template-columns:1fr 1fr; gap:18px 12px; }
  .jit-store-release-detail-hero { grid-template-columns:1fr; }
  .jit-store-release-detail-copy h1 { font-size:clamp(46px,15vw,76px); }
}
@media (max-width: 480px) {
  .jit-store-release-grid { grid-template-columns:1fr; }
}
