/* REBORN / Morelia integration
 * Visual layer only: cart, product variants, shipping and checkout logic remain native.
 */

:root {
  --rnc-ink: #090a09;
  --rnc-paper: #d9d6cc;
  --rnc-paper-bright: #e7e5dd;
  --rnc-acid: #9ee313;
  --rnc-muted: #68685f;
  --rnc-line: rgba(9, 10, 9, .16);
  --rnc-dark-line: rgba(255, 255, 255, .13);
}

html { scroll-behavior: smooth; }
body { background: var(--rnc-paper); color: var(--rnc-ink); }

/* Morelia header, preserving its native menu/search/account/cart hooks */
.head-main {
  position: fixed !important;
  inset: 0 0 auto !important;
  z-index: 1000 !important;
  width: 100%;
  color: #f1f1ed !important;
  background: rgba(4, 5, 4, .94) !important;
  border-bottom: 1px solid var(--rnc-dark-line) !important;
  box-shadow: none !important;
  backdrop-filter: blur(16px);
}
.head-main .head-logo-row { min-height: 72px; max-width: none; padding-inline: 4vw; }
.head-main .reborn-native-logo { display: none; }
.head-main .logo-container-col {
  flex: 0 0 auto !important;
  width: auto !important;
  max-width: none !important;
}
.head-main .reborn-wordmark {
  display: inline-flex !important;
  align-items: center;
  flex: 0 0 182px !important;
  width: 182px !important;
  max-width: 182px !important;
  line-height: 0;
}
.head-main .reborn-wordmark img {
  display: block !important;
  width: 182px !important;
  max-width: 182px !important;
  height: auto !important;
  max-height: 41px !important;
  object-fit: contain;
}
.head-main .nav-list-link,
.head-main .btn-utility,
.head-main .utilities-icon,
.head-main a { color: #f1f1ed !important; fill: currentColor !important; }
.head-main .nav-list-link {
  letter-spacing: .12em;
  font-family: "Courier New", Courier, monospace;
  font-size: .66rem;
  text-transform: uppercase;
}
.head-main .nav-list-link:hover,
.head-main .nav-list-link:focus-visible { color: var(--rnc-acid) !important; }
.head-main .cart-summary .badge { color: var(--rnc-ink); background: var(--rnc-acid); }
.head-main .section-adbar { color: var(--rnc-ink); background: var(--rnc-acid); }
body:not(.template-home) { padding-top: 72px; }

/* Native Morelia pages */
.template-product #single-product,
.template-category .category-body,
.template-search .category-body,
.template-cart .cart-page,
.template-contact .contact-page,
.template-page .page-content,
.template-blog .blog-page { background: var(--rnc-paper); }
.template-product #single-product { padding-top: clamp(38px, 6vw, 92px) !important; }
.template-product #single-product > .container { max-width: 1320px; }
.template-product .product-detail-slider img { background: var(--rnc-ink); }
.template-product h1,
.template-category h1,
.template-search h1,
.template-cart h1,
.template-page h1 {
  color: var(--rnc-ink);
  letter-spacing: -.055em;
  font-family: Arial, Helvetica, sans-serif;
  font-weight: 400;
}
.template-product h1 { font-size: clamp(2.4rem, 5.4vw, 6.8rem); line-height: .92; }
.template-product .price-container {
  border-top: 1px solid var(--rnc-line);
  margin-top: 24px;
  padding-top: 20px;
}
.template-product .js-price-display { color: var(--rnc-ink); letter-spacing: -.045em; font-size: clamp(2rem, 3.5vw, 4.4rem); }
.template-product .js-product-payments-container,
.template-product .js-max-installments-container { color: var(--rnc-muted); }
.template-product .form-control,
.template-product .js-quantity-input,
.template-product .product-shipping-calculator input,
.template-category .form-control,
.template-search .form-control,
.template-cart .form-control {
  color: var(--rnc-ink);
  background: transparent;
  border: 1px solid var(--rnc-line);
  border-radius: 0;
}
.template-product .btn-primary,
.template-cart .btn-primary,
.template-category .btn-primary,
.template-search .btn-primary {
  color: var(--rnc-ink) !important;
  background: var(--rnc-acid) !important;
  border: 1px solid rgba(70, 110, 0, .55) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  letter-spacing: .12em;
  font-family: "Courier New", Courier, monospace;
  font-size: .72rem;
  font-weight: 700;
  text-transform: uppercase;
}
.template-product .btn-primary:hover,
.template-product .btn-primary:focus-visible,
.template-cart .btn-primary:hover,
.template-category .btn-primary:hover,
.template-search .btn-primary:hover { color: #fff !important; background: var(--rnc-ink) !important; }
.template-product [data-store^="product-description"] {
  color: var(--rnc-ink);
  background: var(--rnc-paper-bright);
  border-top: 1px solid var(--rnc-line);
  padding: clamp(30px, 5vw, 76px);
}
.template-product .breadcrumbs,
.template-category .breadcrumbs,
.template-search .breadcrumbs {
  color: var(--rnc-muted);
  letter-spacing: .1em;
  font-family: "Courier New", Courier, monospace;
  font-size: .58rem;
  text-transform: uppercase;
}
.template-category .item,
.template-search .item { background: transparent; }
.template-category .item-name,
.template-search .item-name { letter-spacing: .02em; }
.template-category .item-price,
.template-search .item-price { color: var(--rnc-ink); }

/* Product page scale — use the viewport instead of leaving a narrow center island */
@media (min-width: 768px) {
  .template-product #single-product {
    min-height: calc(100svh - 72px);
    padding: clamp(52px, 5vw, 96px) 0 clamp(72px, 7vw, 132px) !important;
  }
  .template-product #single-product > .container {
    width: min(94vw, 1680px);
    max-width: 1680px !important;
    padding-inline: clamp(24px, 2.6vw, 52px) !important;
  }
  .template-product #single-product > .container > .row {
    align-items: flex-start;
    margin-inline: clamp(-26px, -1.3vw, -16px);
  }
  .template-product #single-product > .container > .row > .col-md-7 {
    flex: 0 0 58%;
    max-width: 58%;
    padding-inline: clamp(16px, 1.3vw, 26px) !important;
  }
  .template-product #single-product > .container > .row > [data-store^="product-info"] {
    flex: 0 0 42%;
    max-width: 42%;
    padding-inline: clamp(20px, 1.7vw, 34px) !important;
  }
  .template-product [data-store^="product-info"] > .pt-md-3 { padding-top: 0 !important; }

  .template-product [data-store^="product-image"] > .col-md-auto { flex: 0 0 96px; max-width: 96px; }
  .template-product .product-thumbs-container { width: 82px; }
  .template-product .product-thumb { width: 82px; margin-bottom: 16px !important; }
  .template-product .swiper-product-thumb-control .icon-inline { width: 22px; height: 22px; }
  .template-product [data-store^="product-image"] > .col.px-3 { padding-left: 18px !important; padding-right: 0 !important; }
  .template-product .product-detail-slider { width: 100%; }
  .template-product .product-detail-slider .product-slider-image { width: 100%; }
  .template-product .product-detail-slider + .row { font-size: .9rem; }
  .template-product [data-store^="product-image"] .social-share { transform: scale(1.14); transform-origin: center top; }

  .template-product h1 {
    max-width: 740px;
    font-size: clamp(4.4rem, 5.4vw, 7.4rem);
    line-height: .86;
  }
  .template-product .page-header { margin-bottom: 26px !important; }
  .template-product .price-container {
    margin-top: 30px;
    padding-top: 26px;
  }
  .template-product .js-price-container { margin-bottom: 22px !important; }
  .template-product .js-price-display { font-size: clamp(3.2rem, 3.8vw, 5.2rem); line-height: .95; }
  .template-product .js-compare-price-display { margin-left: 12px; font-size: 1rem; }
  .template-product .js-product-payments-container,
  .template-product .js-max-installments-container,
  .template-product .js-product-discount-container {
    font-size: .92rem !important;
    line-height: 1.55;
  }
  .template-product #btn-installments { font-size: .82rem !important; }
  .template-product .js-product-form { margin-top: 34px !important; }
  .template-product .js-product-form > .row { align-items: stretch; margin-inline: -7px; }
  .template-product .js-product-quantity-container,
  .template-product .js-buy-button-container { padding-inline: 7px !important; }
  .template-product .form-quantity-product,
  .template-product .js-quantity-input,
  .template-product .btn-add-to-cart {
    min-height: 62px !important;
    height: 62px !important;
  }
  .template-product .form-quantity-product { border: 1px solid var(--rnc-line); }
  .template-product .form-quantity-product .form-quantity-icon {
    width: 48px !important;
    height: 60px !important;
    min-width: 48px;
  }
  .template-product .js-quantity-input {
    border: 0 !important;
    font-size: 1rem;
  }
  .template-product .btn-add-to-cart {
    padding-inline: 30px !important;
    font-size: .82rem !important;
  }
  .template-product .product-shipping-calculator {
    border-top: 1px solid var(--rnc-line);
    margin-top: 30px;
    padding-top: 26px;
    font-size: .9rem;
  }
  .template-product .shipping-calculator-head { min-height: 58px; }
  .template-product .shipping-calculator-head .font-small,
  .template-product .shipping-calculator-head .btn-link { font-size: .82rem !important; }
  .template-product .js-shipping-list-item {
    border: 0;
    border-radius: 0;
    margin-bottom: 8px !important;
    padding: 20px 18px !important;
  }
  .template-product .js-shipping-list-item .font-small { font-size: .82rem !important; }
  .template-product .shipping-option-name { font-size: .88rem; }
}

@media (min-width: 1500px) {
  .template-product #single-product > .container > .row > .col-md-7 { flex-basis: 60%; max-width: 60%; }
  .template-product #single-product > .container > .row > [data-store^="product-info"] { flex-basis: 40%; max-width: 40%; }
}

@media (min-width: 801px) and (max-width: 991px) {
  .template-product #single-product > .container { width: 94vw; max-width: none; }
  .template-product h1 { font-size: clamp(3.4rem, 7vw, 5rem); }
  .template-product .js-price-display { font-size: clamp(2.7rem, 5vw, 3.8rem); }
  .template-product .btn-add-to-cart { min-height: 56px; }
}

/* Home replica — every selector stays inside the REBORN namespace */
.rnc-reborn-home {
  background: var(--rnc-paper);
  color: var(--rnc-ink);
  font-family: Arial, Helvetica, sans-serif;
  overflow: clip;
}
.rnc-reborn-home *,
.rnc-reborn-home *::before,
.rnc-reborn-home *::after { box-sizing: border-box; }
.rnc-reborn-home a { color: inherit; text-decoration: none; }
.rnc-reborn-home h1,
.rnc-reborn-home h2,
.rnc-reborn-home p,
.rnc-reborn-home figure { margin: 0; }
.rnc-reborn-home ul,
.rnc-reborn-home ol { margin: 0; padding: 0; list-style: none; }
.rnc-reborn-home img { max-width: 100%; height: auto; display: block; }

.rnc-portal {
  color: #f0f0ec;
  background:
    radial-gradient(circle at 50% 48%, rgba(158, 227, 19, .11), transparent 14%),
    radial-gradient(circle, #242722 0, #0b0c0b 31%, #030403 68%);
  display: grid;
  place-items: center;
  min-height: 100svh;
  padding: 110px 6vw 60px;
  position: relative;
  overflow: hidden;
}
.rnc-portal::before,
.rnc-portal::after {
  content: "";
  aspect-ratio: 1;
  border: 1px solid var(--rnc-dark-line);
  border-radius: 50%;
  width: min(64vw, 1120px);
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  box-shadow: 0 0 90px rgba(158, 227, 19, .07), inset 0 0 70px rgba(255, 255, 255, .025);
}
.rnc-portal::after { border-color: rgba(255, 255, 255, .055); width: min(82vw, 1450px); }
.rnc-noise {
  opacity: .22;
  pointer-events: none;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.17'/%3E%3C/svg%3E");
  position: absolute;
  inset: 0;
}
.rnc-index,
.rnc-kicker,
.rnc-subtitle,
.rnc-enter,
.rnc-eyebrow,
.rnc-format,
.rnc-note,
.rnc-detail-list,
.rnc-vinyl figcaption { letter-spacing: .14em; font-family: "Courier New", Courier, monospace; }
.rnc-index { color: rgba(255,255,255,.42); font-size: .6rem; position: absolute; top: 105px; left: 4vw; }
.rnc-portal-core { z-index: 2; width: 100%; text-align: center; position: relative; }
.rnc-kicker { color: var(--rnc-acid); margin-bottom: 22px !important; font-size: .72rem; }
.rnc-portal h1 {
  letter-spacing: -.09em;
  text-indent: -.09em;
  text-shadow: -4px 0 rgba(216, 12, 31, .38), 4px 0 rgba(24, 90, 255, .3);
  font-size: clamp(10rem, 21vw, 32rem);
  font-weight: 400;
  line-height: .78;
  white-space: nowrap;
  position: relative;
}
.rnc-portal h1::after { content: attr(data-text); color: rgba(255,255,255,.72); height: 7%; position: absolute; inset: 49% 0 auto; overflow: hidden; transform: translate(.025em); }
.rnc-subtitle { margin-top: 34px !important; font-size: clamp(.72rem, 1.15vw, 1rem); }
.rnc-enter { z-index: 2; display: flex; align-items: center; gap: 14px; font-size: .61rem; position: absolute; bottom: 34px; left: 50%; transform: translateX(-50%); }
.rnc-enter span { color: var(--rnc-acid); font-size: 1rem; }

.rnc-product-intro,
.rnc-details { border-bottom: 1px solid var(--rnc-line); display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(320px, .75fr); gap: 7vw; padding: 10vw 5.3vw 6vw; }
.rnc-eyebrow { color: var(--rnc-muted); margin-bottom: 2.2rem !important; font-size: .62rem; font-weight: 700; }
.rnc-product-copy h2,
.rnc-statement h2,
.rnc-story-lead h2,
.rnc-track-heading h2,
.rnc-purchase h2 { letter-spacing: -.065em; max-width: 940px; font-size: clamp(3.5rem, 8vw, 9rem); font-weight: 400; line-height: .88; }
.rnc-buy-panel { border-top: 1px solid var(--rnc-ink); align-self: end; padding-top: 2rem; }
.rnc-format { margin-bottom: 2.3rem !important; font-size: .67rem; }
.rnc-price { letter-spacing: -.06em; font-size: clamp(2.7rem, 5vw, 5.8rem); line-height: 1; }
.rnc-note { color: #65655f; margin: .75rem 0 2rem !important; font-size: .61rem; }
.rnc-buy {
  width: 100%;
  min-height: 68px;
  color: var(--rnc-ink) !important;
  background: var(--rnc-acid);
  letter-spacing: .14em;
  border: 1px solid rgba(70, 110, 0, .55);
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0 24px;
  font: 700 .72rem/1 "Courier New", Courier, monospace;
  transition: color .18s, background .18s;
}
.rnc-buy:hover,
.rnc-buy:focus-visible { color: #fff !important; background: var(--rnc-ink); }
.rnc-vinyl { border-bottom: 1px solid var(--rnc-line); padding: 5.3vw; }
.rnc-vinyl img { background: var(--rnc-ink); width: 100%; box-shadow: 0 22px 60px rgba(0,0,0,.15); }
.rnc-vinyl figcaption { color: #797970; margin-top: 20px; font-size: .54rem; }
.rnc-details { padding-top: 7vw; padding-bottom: 9vw; }
.rnc-statement h2 { font-size: clamp(3.1rem, 6.1vw, 7.4rem); }
.rnc-detail-list { border-top: 1px solid var(--rnc-line); }
.rnc-detail-list li { border-bottom: 1px solid var(--rnc-line); display: grid; grid-template-columns: .65fr 1.35fr; gap: 1rem; padding: 22px 0; font-size: .64rem; }
.rnc-detail-list span { color: #77776f; }
.rnc-detail-list strong { font-weight: 400; }

.rnc-story { background: var(--rnc-paper-bright); border-bottom: 1px solid var(--rnc-line); display: grid; grid-template-columns: minmax(0,.95fr) minmax(420px,1.05fr); gap: 8vw; padding: 11vw 5.3vw; }
.rnc-story-lead h2 { font-size: clamp(4.2rem, 8.4vw, 9.6rem); }
.rnc-story-facts { border-top: 1px solid var(--rnc-line); align-self: start; }
.rnc-story-facts p,
.rnc-story-facts strong { border-bottom: 1px solid var(--rnc-line); color: #52534f; padding: 24px 0; font-size: clamp(.98rem, 1.3vw, 1.28rem); line-height: 1.45; display: block; }
.rnc-story-facts strong { color: var(--rnc-ink); letter-spacing: .19em; font: 700 .72rem/1.45 "Courier New", Courier, monospace; }

.rnc-tracklist { color: #efefe9; background: #050605; padding: 10vw 4vw 6vw; }
.rnc-track-heading { display: grid; grid-template-columns: .55fr 1.45fr; align-items: start; gap: 4vw; padding: 0 4.3vw 7vw; }
.rnc-track-heading .rnc-eyebrow { color: #646762; }
.rnc-track-heading h2 { font-size: clamp(3.8rem, 6.4vw, 8rem); }
.rnc-tracks { border-top: 1px solid var(--rnc-dark-line); }
.rnc-tracks li { border-bottom: 1px solid var(--rnc-dark-line); display: grid; grid-template-columns: 62px 1fr 30px; align-items: center; gap: 28px; min-height: 102px; }
.rnc-tracks li > span,
.rnc-tracks li > b,
.rnc-tracks small { font-family: "Courier New", Courier, monospace; }
.rnc-tracks li > span { color: var(--rnc-acid); font-size: .58rem; font-weight: 700; }
.rnc-tracks li > p { font-size: clamp(1rem, 1.6vw, 1.55rem); }
.rnc-tracks small { color: #555854; letter-spacing: .13em; margin-bottom: 10px; font-size: .5rem; display: block; }
.rnc-tracks li > b { color: #61645f; font-size: .61rem; font-weight: 400; }

.rnc-purchase { color: #efefe9; background: #050605; padding: 10vw 5.3vw; }
.rnc-purchase .rnc-eyebrow { color: var(--rnc-acid); }
.rnc-purchase-row { letter-spacing: .12em; border-top: 1px solid rgba(255,255,255,.19); display: flex; justify-content: space-between; align-items: flex-end; gap: 2rem; margin: 7vw 0 2rem; padding-top: 1.3rem; font: .67rem/1.5 "Courier New", Courier, monospace; }
.rnc-purchase-row small { color: #777b74; margin-top: 12px; font-size: .53rem; display: inline-block; }
.rnc-purchase-price { letter-spacing: -.05em; font-family: Arial, Helvetica, sans-serif; font-size: clamp(2rem, 4vw, 4rem); }
.rnc-buy-light { max-width: 380px; }

/* Morelia footer */
.rnc-store-footer { color: #c8c9c3 !important; background: #050605 !important; border-top: 1px solid var(--rnc-dark-line); padding: 0 !important; }
.rnc-store-footer a { color: #c8c9c3 !important; }
.rnc-store-footer-main { display: flex; justify-content: space-between; gap: 2rem; padding: 28px 5.3vw; letter-spacing: .12em; font: .55rem/1.5 "Courier New", Courier, monospace; }
.rnc-store-footer-legal { border-top: 1px solid rgba(255,255,255,.08); display: flex; justify-content: space-between; gap: 2rem; padding: 18px 5.3vw; color: #777b74; letter-spacing: .05em; font: .52rem/1.5 "Courier New", Courier, monospace; }

@media (max-width: 800px) {
  .head-main .head-logo-row { min-height: 62px; padding-inline: 4vw; }
  .head-main .reborn-wordmark {
    flex-basis: 132px !important;
    width: 132px !important;
    max-width: 132px !important;
  }
  .head-main .reborn-wordmark img {
    width: 132px !important;
    max-width: 132px !important;
    max-height: 29px !important;
  }
  body:not(.template-home) { padding-top: 62px; }
  .rnc-portal { min-height: 86svh; padding-top: 90px; }
  .rnc-portal::before { width: 94vw; }
  .rnc-portal::after { width: 138vw; }
  .rnc-portal h1 { font-size: 25.5vw; }
  .rnc-kicker { font-size: .58rem; }
  .rnc-subtitle { margin-top: 24px !important; font-size: .62rem; }
  .rnc-product-intro,
  .rnc-details { grid-template-columns: 1fr; gap: 4rem; padding: 18vw 6vw 12vw; }
  .rnc-product-copy h2,
  .rnc-statement h2,
  .rnc-story-lead h2,
  .rnc-track-heading h2,
  .rnc-purchase h2 { font-size: clamp(3.3rem, 15vw, 6.6rem); }
  .rnc-vinyl { padding: 6vw; }
  .rnc-vinyl img { object-fit: cover; object-position: center; min-height: 56vw; }
  .rnc-story { grid-template-columns: 1fr; gap: 4rem; padding: 22vw 6vw; }
  .rnc-tracklist { padding: 22vw 6vw 12vw; }
  .rnc-track-heading { grid-template-columns: 1fr; gap: 2rem; padding: 0 0 12vw; }
  .rnc-tracks li { grid-template-columns: 34px 1fr 18px; gap: 12px; min-height: 92px; }
  .rnc-tracks li > p { font-size: .95rem; line-height: 1.35; }
  .rnc-purchase { padding: 22vw 6vw 18vw; }
  .rnc-purchase-row { flex-direction: column; align-items: flex-start; margin-top: 18vw; }
  .template-product #single-product { padding-top: 24px !important; }
  .rnc-store-footer-main,
  .rnc-store-footer-legal { flex-direction: column; align-items: flex-start; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .rnc-reborn-home * { transition: none !important; }
}
