/* MPrints layout v2: same palette and type, calmer structure.
   Loaded after site.css. Public pages use the x-* blocks below. */

body.v2 {
  --bg: #191A16;
  --panel: #20211C;
  --photo-bg: #F2EDE4;
  --rule: rgba(201,164,103,.16);
  --x-gap: clamp(1rem, 2.2vw, 1.75rem);
  --x-section: clamp(3.5rem, 7vw, 6rem);
  background: var(--bg) var(--grain);
}
body.v2::before, body.v2::after { display: none !important; }
body.v2 .flourish { display: none; }

/* ---------- header ---------- */
body.v2 .site-header { background: rgba(25,26,22,.92); border-bottom: 1px solid var(--rule); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); }
body.v2 .site-header .wrap { min-height: 4.25rem; }
body.v2 .site-nav a { font-size: .72rem; letter-spacing: .14em; }
body.v2 .site-nav a[aria-current="page"] { color: var(--gold); }
body.v2.v2-home .site-header { position: absolute; left: 0; right: 0; background: linear-gradient(rgba(16,17,14,.75), rgba(16,17,14,0)); border-bottom: 0; backdrop-filter: none; -webkit-backdrop-filter: none; }

/* ---------- shared blocks ---------- */
.x-section { padding-top: var(--x-section); }
.x-head { display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; margin-bottom: 1.75rem; }
.x-head h2 { margin: 0; font-size: clamp(1.5rem, 2.6vw, 2.1rem); }
.x-more { font: 600 .74rem var(--caps); letter-spacing: .14em; color: var(--gold); text-decoration: none; border-bottom: 1px solid rgba(201,164,103,.4); padding-bottom: .15rem; }
.x-more:hover { color: #E8C98E; border-color: #E8C98E; }
.x-photo { margin: 0; background: var(--photo-bg); overflow: hidden; }
.x-photo img { width: 100%; height: 100%; object-fit: cover; }
body.v2 .photo { outline: 0; }

/* ---------- home hero ---------- */
.x-hero { position: relative; min-height: min(88vh, 52rem); display: flex; align-items: flex-end; overflow: hidden; background: #121310; }
.x-hero-media { position: absolute; inset: 0; margin: 0; }
.x-hero-media img { width: 100%; height: 100%; object-fit: cover; object-position: 60% 50%; }
.x-hero-media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(17,18,15,.92) 0%, rgba(17,18,15,.7) 38%, rgba(17,18,15,.05) 70%), linear-gradient(0deg, rgba(17,18,15,.85) 0%, rgba(17,18,15,0) 35%); }
.x-hero-copy { position: relative; padding-bottom: clamp(3rem, 8vh, 5.5rem); padding-top: 8rem; }
.x-hero-copy h1 { font-size: clamp(2.4rem, 5.6vw, 4.6rem); line-height: 1.04; max-width: 11ch; margin: 0; color: #F6F0E4; }
.x-hero-copy p { font-size: clamp(1.15rem, 1.6vw, 1.35rem); max-width: 30rem; margin: 1.25rem 0 0; color: #DCD4C3; }
.x-actions { display: flex; gap: .75rem; flex-wrap: wrap; margin-top: 2rem; }

/* ---------- product grid + cards ---------- */
.x-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 2.25rem var(--x-gap); }
.x-grid-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.pcard { display: flex; flex-direction: column; text-decoration: none; color: var(--ink); background: none; border: 0; box-shadow: none; }
.pcard-img { display: block; background: var(--photo-bg); aspect-ratio: 4 / 3; overflow: hidden; }
.pcard-img img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s cubic-bezier(.2,.7,.2,1); }
.pcard:hover .pcard-img img { transform: scale(1.035); }
.pcard:focus-visible { outline: 2px solid var(--gold); outline-offset: 4px; }
.pcard-body { padding: .9rem 0 0; display: flex; flex-direction: column; }
.pcard-row { display: flex; justify-content: space-between; align-items: baseline; gap: .75rem; }
.pcard-row h3 { margin: 0; font-size: .98rem; letter-spacing: .05em; color: #F3EDE1; }
.pcard .price { margin: 0; font: 500 1.08rem var(--text); color: #F3EDE1; white-space: nowrap; }
.pcard .price s.was { font-size: .85em; }
.pcard-sub { margin: .2rem 0 .55rem; font-size: 1rem; color: var(--muted); }
.pcard .dots { margin: 0; }
.pcard .sale-tag, .pcard .soldout-tag { align-self: flex-start; margin: 0 0 .5rem; }

/* ---------- home split + points ---------- */
.x-split { display: grid; grid-template-columns: 1.1fr 1fr; gap: clamp(2rem, 5vw, 4.5rem); align-items: center; padding-top: var(--x-section); }
.x-split .x-photo { aspect-ratio: 3 / 2; }
.x-split-copy h2 { font-size: clamp(1.6rem, 2.8vw, 2.3rem); margin: 0 0 1.75rem; max-width: 18ch; }
.x-points { margin: 0; display: grid; gap: 1.25rem; }
.x-points div { padding-left: 1rem; border-left: 2px solid var(--gold); }
.x-points dt { font: 700 .82rem var(--caps); letter-spacing: .1em; color: #F3EDE1; }
.x-points dd { margin: .25rem 0 0; color: var(--muted); font-size: 1.08rem; }
.x-points-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1.5rem; }

/* steps (a real sequence, so numbered) */
body.v2 .steps { list-style: none; counter-reset: s; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--x-gap); padding: 0; margin: 0; }
body.v2 .steps li { counter-increment: s; background: var(--panel); padding: 1.5rem 1.4rem 1.6rem; border: 0; }
body.v2 .steps li::before { content: counter(s); display: block; font: 700 1.6rem/1 var(--caps); color: var(--gold); margin-bottom: .9rem; }
body.v2 .steps h3 { font-size: 1rem; margin: 0 0 .4rem; }
body.v2 .steps p { margin: 0; color: var(--muted); }

.x-feature { padding-top: var(--x-section); }
.x-feature .x-photo { aspect-ratio: 21 / 9; position: relative; }
.x-feature figcaption { position: absolute; left: 0; bottom: 0; padding: 1rem 1.25rem; background: rgba(25,26,22,.86); color: #ECE5D6; font-size: 1.05rem; max-width: 34rem; }

.x-faq .faq-list { max-width: 52rem; }

.x-signup { display: grid; grid-template-columns: 1fr 1.1fr; gap: 2rem; align-items: end; margin-top: var(--x-section); padding-top: 2.5rem; padding-bottom: 1rem; border-top: 1px solid var(--rule); }
.x-signup h2 { font-size: 1.35rem; margin: 0 0 .35rem; }
.x-signup p { margin: 0; color: var(--muted); }
.x-signup .notify { margin: 0; }

/* ---------- inner page headers ---------- */
body.v2 .band { background: none; border: 0; padding: clamp(2.5rem, 6vw, 4rem) 0 .5rem; }
body.v2 .band::before, body.v2 .band::after { display: none; }
body.v2 .band h1 { font-size: clamp(2rem, 4.2vw, 3rem); }
body.v2 .band .sub { color: var(--muted); max-width: 40rem; }
body.v2 .page-body { padding-top: 1.5rem; }

/* ---------- shop ---------- */
.x-page { padding-top: clamp(2.5rem, 6vw, 4rem); }
.x-title h1 { margin: 0; font-size: clamp(2rem, 4.2vw, 3rem); }
.x-title p { margin: .6rem 0 0; color: var(--muted); max-width: 38rem; }
.x-filters { display: flex; gap: .5rem; flex-wrap: wrap; margin: 2rem 0 2.25rem; }
.x-chip { font: 600 .72rem var(--caps); letter-spacing: .12em; color: var(--ink); background: none; border: 1px solid var(--rule); padding: .55rem .95rem; cursor: pointer; }
.x-chip:hover { border-color: rgba(201,164,103,.55); }
.x-chip[aria-pressed="true"] { background: var(--gold); border-color: var(--gold); color: #1A1A16; }
.x-chip:focus-visible { outline: 2px solid var(--gold); outline-offset: 2px; }
.pcard[hidden] { display: none; }

/* ---------- product page ---------- */
.x-crumbs { margin: 1.5rem 0 1rem; font-size: 1rem; color: var(--muted); }
.x-crumbs a { color: var(--muted); }
body.v2 .product.x-product { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr); gap: clamp(2rem, 4.5vw, 4rem); align-items: start; padding: 0; }
body.v2 .x-product .gallery .photo { background: var(--photo-bg); }
body.v2 .x-product .thumbs { margin-top: .75rem; gap: .6rem; }
body.v2 .x-product .thumbs button { outline: 0; border: 1px solid transparent; background: var(--photo-bg); padding: 0; }
body.v2 .x-product .thumbs button[aria-pressed="true"] { border-color: var(--gold); }
.x-note { margin: .6rem 0 0; font-size: .98rem; color: var(--muted); font-style: italic; }
.x-buy { position: sticky; top: 5.5rem; padding-top: .25rem; }
.x-buy h1 { margin: 0; font-size: clamp(1.9rem, 3.4vw, 2.7rem); line-height: 1.08; }
.x-tagline { margin: .5rem 0 0; font-size: 1.2rem; color: var(--muted); }
body.v2 .x-buy .buybox { border: 0; background: none; padding: 0; margin-top: 1.25rem; }
body.v2 .x-buy .price { font: 500 1.75rem var(--text); margin: 0 0 1.4rem; color: #F3EDE1; }
body.v2 .x-buy .finishes { margin-bottom: 1.5rem; }
body.v2 .x-buy .labels { padding-top: 1.25rem; border-top: 1px solid var(--rule); }
body.v2 .x-buy .qty-row { margin-top: .4rem; }
.x-assure { list-style: none; padding: 1.1rem 0 0; margin: 1.4rem 0 0; border-top: 1px solid var(--rule); display: grid; gap: .45rem; }
.x-assure li { position: relative; padding-left: 1.1rem; color: var(--muted); font-size: 1.02rem; }
.x-assure li::before { content: ""; position: absolute; left: 0; top: .62em; width: .4rem; height: .4rem; background: var(--gold); transform: rotate(45deg); }

.x-detail { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr); gap: clamp(2rem, 4.5vw, 4rem); align-items: start; }
.x-detail h2, .x-know h2 { font-size: clamp(1.35rem, 2.2vw, 1.7rem); margin: 0 0 1rem; }
.x-lead { font-size: 1.3rem; color: #F3EDE1; margin: 0 0 1rem; }
.x-about p { max-width: 40rem; }
.x-specs { background: var(--panel); padding: 1.4rem 1.5rem; }
body.v2 .x-specs .specs { margin: 0; }
body.v2 .x-specs .specs div { border-color: var(--rule); }

/* ---------- responsive ---------- */
@media (max-width: 1100px) {
  .x-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .x-points-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 900px) {
  .x-split, .x-detail, body.v2 .product.x-product, .x-signup { grid-template-columns: 1fr; }
  .x-buy { position: static; }
  body.v2 .steps { grid-template-columns: 1fr; }
  .x-feature .x-photo { aspect-ratio: 4 / 3; }
  .x-feature figcaption { position: static; max-width: none; }
}
@media (max-width: 640px) {
  .x-grid, .x-grid-3 { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.75rem .9rem; }
  .pcard-row { flex-direction: column; gap: .15rem; }
  .pcard-sub { font-size: .95rem; }
  .x-points-4 { grid-template-columns: 1fr; }
  .x-hero { min-height: 78vh; }
  .x-hero-media::after { background: linear-gradient(0deg, rgba(17,18,15,.95) 0%, rgba(17,18,15,.55) 55%, rgba(17,18,15,.2) 100%); }
}
@media (prefers-reduced-motion: reduce) { .pcard-img img { transition: none; } }
body.v2.v2-home .site-header { position: fixed; top: 0; z-index: 50; transition: background .25s ease; }
body.v2.v2-home .site-header.scrolled { background: rgba(25,26,22,.94); border-bottom: 1px solid var(--rule); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); }
body.v2 .steps li { display: block; }
body.v2 .steps li::before { content: counter(s); width: auto; height: auto; border: 0; background: none; display: block; place-items: unset; grid-row: auto; font: 700 1.9rem/1 var(--caps); color: var(--gold); margin-bottom: .9rem; }
body.v2 .steps h3 { padding-top: 0; }
.x-hero-media img { object-position: 62% 35%; }
.x-feature-inner { position: relative; }
.x-feature .x-photo { aspect-ratio: 21 / 9; }
body.v2 main { padding-bottom: clamp(4rem, 8vw, 6.5rem); }
.x-points-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.4rem 1.75rem; margin-top: 2rem; }
.x-feature .x-photo img { object-position: 50% 72%; }
.x-hero-media img { object-position: 62% 18%; }
@media (max-width: 640px) { .x-points-2 { grid-template-columns: 1fr; } }
body.v2 { display: flex; flex-direction: column; min-height: 100vh; }
body.v2 > main { flex: 1 0 auto; }
.or-id .delay-badge, .or-id .coupon-badge { align-self: flex-start; }
/* product photos now sit on a warm stone backdrop */
body.v2 { --photo-bg: #C3B8A9; }
