
:root {
  --bg: #080808;
  --panel: #101010;
  --panel-2: #151111;
  --paper: #f0e8dc;
  --muted: #aaa197;
  --line: #302a26;
  --red: #c11212;
  --deep-red: #721010;
  --max: 1440px;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background:
    radial-gradient(circle at 85% 10%, rgba(120, 10, 10, .08), transparent 22%),
    #080808;
  color: var(--paper);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
a { color: inherit; }
img { max-width: 100%; display: block; }
.preview-banner {
  background: #8d0d0d;
  color: white;
  text-align: center;
  padding: .55rem 1rem;
  font-size: .74rem;
  font-weight: 900;
  letter-spacing: .13em;
  text-transform: uppercase;
}
.store-header {
  border-bottom: 1px solid var(--line);
  background: rgba(8,8,8,.96);
}
.store-header-main {
  width: min(calc(100% - 4rem), var(--max));
  margin: 0 auto;
  display: grid;
  grid-template-columns: auto minmax(260px, 1fr) auto auto;
  gap: 1.4rem;
  align-items: center;
  padding: 1rem 0;
}
.logo {
  text-decoration: none;
  font-family: Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif;
  font-size: 1.6rem;
  font-weight: 900;
  letter-spacing: .05em;
}
.logo span { color: #aaa197; font-size: .8rem; margin-left: .3rem; }
.search-shell {
  display: grid;
  grid-template-columns: 1fr auto;
  border: 1px solid #443d38;
  background: #101010;
}
.search-shell input {
  min-width: 0;
  border: 0;
  background: transparent;
  color: var(--paper);
  padding: .8rem .9rem;
  font-size: 1rem;
  outline: none;
}
.search-shell button {
  border: 0;
  border-left: 1px solid #443d38;
  background: #1a1515;
  color: var(--paper);
  padding: 0 1rem;
  font-weight: 800;
}
.header-links { display: flex; gap: 1rem; align-items: center; font-size: .86rem; }
.header-links a { text-decoration: none; color: #c7bfb5; }
.category-nav {
  width: min(calc(100% - 4rem), var(--max));
  margin: 0 auto;
  display: flex;
  gap: 1.1rem;
  overflow-x: auto;
  padding: .75rem 0;
  scrollbar-width: thin;
}
.category-nav a {
  white-space: nowrap;
  color: #aaa197;
  text-decoration: none;
  font-size: .82rem;
}
.category-nav a:first-child { color: #e6ddd1; font-weight: 800; }

.store-main { width: min(calc(100% - 4rem), var(--max)); margin: 0 auto; }
.store-hero {
  min-height: 460px;
  display: grid;
  grid-template-columns: 1.15fr .85fr;
  margin-top: 1.4rem;
  border: 1px solid var(--line);
  background:
    linear-gradient(90deg, rgba(7,7,7,.96) 0%, rgba(7,7,7,.82) 48%, rgba(7,7,7,.2) 100%),
    radial-gradient(circle at 85% 50%, rgba(140, 20, 20, .38), transparent 28%),
    linear-gradient(145deg, #170d0d, #070707 65%);
  overflow: hidden;
}
.store-hero-copy { padding: clamp(2.4rem, 6vw, 6rem); align-self: center; }
.eyebrow { color: #c62727; font-size: .72rem; font-weight: 900; letter-spacing: .18em; text-transform: uppercase; }
.store-hero h1,
.section-title,
.product-title,
.buy-box h2 {
  font-family: Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif;
  text-transform: uppercase;
  letter-spacing: -.02em;
}
.store-hero h1 { margin: .5rem 0 1rem; font-size: clamp(3.4rem, 7vw, 7rem); line-height: .9; max-width: 8ch; }
.store-hero p { max-width: 650px; color: #c0b8ae; font-size: 1.05rem; }
.hero-stack {
  position: relative;
  min-height: 460px;
}
.mock-book {
  position: absolute;
  width: min(44%, 235px);
  aspect-ratio: 2 / 3;
  border: 1px solid #554a43;
  box-shadow: 0 28px 70px rgba(0,0,0,.52);
  display: grid;
  align-content: end;
  padding: 1.2rem;
  overflow: hidden;
}
.mock-book::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 0 45%, rgba(0,0,0,.78) 100%);
}
.mock-book > * { position: relative; z-index: 1; }
.mock-book strong { font-family: Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif; font-size: 1.7rem; line-height: .95; }
.mock-book small { color: #bdb4aa; margin-top: .35rem; }
.book-a { right: 23%; top: 13%; transform: rotate(-4deg); background: radial-gradient(circle at 60% 20%, #5a1515, #120a0a 50%, #050505); }
.book-b { right: 5%; top: 22%; transform: rotate(7deg); background: linear-gradient(160deg, #262626, #080808 70%); }
.book-c { right: 47%; top: 29%; transform: rotate(-11deg); background: linear-gradient(160deg, #2d0b0b, #0b0909 70%); }

.shelf { padding: 3.6rem 0 1rem; }
.shelf-head { display: flex; justify-content: space-between; gap: 1rem; align-items: end; margin-bottom: 1.2rem; }
.section-title { margin: 0; font-size: clamp(2rem, 4vw, 3.4rem); }
.shelf-head a { color: #b7aea4; font-size: .86rem; }
.book-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0,1fr));
  gap: 1.2rem;
}
.book-card {
  min-width: 0;
  text-decoration: none;
  display: block;
}
.book-cover {
  aspect-ratio: 2 / 3;
  border: 1px solid #3c3531;
  padding: 1rem;
  display: grid;
  align-content: end;
  position: relative;
  overflow: hidden;
  background: linear-gradient(160deg, #241010, #090909 72%);
}
.book-cover::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    repeating-linear-gradient(95deg, transparent 0 24px, rgba(255,255,255,.025) 25px 26px),
    radial-gradient(circle at 70% 14%, rgba(177, 27, 27, .38), transparent 24%);
}
.book-cover strong, .book-cover small { position: relative; z-index: 1; }
.book-cover strong { font-family: Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif; font-size: clamp(1.25rem, 2vw, 2rem); line-height: .95; }
.book-cover small { color: #bbb2a8; margin-top: .4rem; }
.book-card:nth-child(2) .book-cover { background: linear-gradient(155deg, #202020, #060606 72%); }
.book-card:nth-child(3) .book-cover { background: linear-gradient(155deg, #350b0b, #090909 70%); }
.book-card:nth-child(4) .book-cover { background: linear-gradient(155deg, #1b1717, #050505 70%); }
.book-card:nth-child(5) .book-cover { background: linear-gradient(155deg, #161616, #120707 70%); }
.book-meta { padding-top: .75rem; }
.book-meta b { display: block; font-size: .95rem; color: #e8dfd4; }
.book-meta span { display: block; color: #8f887f; font-size: .82rem; margin-top: .2rem; }
.badge-row { display: flex; flex-wrap: wrap; gap: .35rem; margin-top: .55rem; }
.badge { border: 1px solid #4a403a; color: #bdb3a8; padding: .18rem .38rem; font-size: .68rem; text-transform: uppercase; letter-spacing: .06em; }
.badge-red { color: #f0c5c5; border-color: #671919; background: rgba(120,10,10,.16); }

.discovery {
  margin: 4rem 0 5rem;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1px;
  background: var(--line);
  border: 1px solid var(--line);
}
.discovery > div { background: #0f0f0f; padding: clamp(2rem, 5vw, 4rem); }
.discovery > div:last-child { background: #151111; }
.discovery h2 { margin: .4rem 0 .8rem; font-family: Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif; font-size: clamp(2.4rem, 5vw, 4.4rem); line-height: .95; text-transform: uppercase; }
.discovery p { color: var(--muted); max-width: 620px; }
.preview-button {
  display: inline-flex;
  margin-top: 1rem;
  padding: .8rem 1rem;
  background: var(--red);
  color: white;
  text-decoration: none;
  text-transform: uppercase;
  font-size: .75rem;
  font-weight: 900;
  letter-spacing: .1em;
}

.breadcrumb { display: flex; flex-wrap: wrap; gap: .4rem; color: #7f7871; font-size: .82rem; padding: 1.4rem 0; }
.breadcrumb a { color: #a69e95; }
.product-layout {
  display: grid;
  grid-template-columns: minmax(250px, .72fr) minmax(0, 1.45fr) minmax(285px, .72fr);
  gap: clamp(1.5rem, 4vw, 3.5rem);
  align-items: start;
  padding-bottom: 3rem;
}
.product-cover-wrap { position: sticky; top: 1.5rem; }
.product-cover {
  width: min(100%, 420px);
  aspect-ratio: 2 / 3;
  border: 1px solid #4d433d;
  background:
    radial-gradient(circle at 68% 18%, rgba(178, 20, 20, .52), transparent 24%),
    linear-gradient(155deg, #2b1010, #090909 68%);
  display: grid;
  align-content: end;
  padding: clamp(1.4rem, 4vw, 2.4rem);
  box-shadow: 0 30px 90px rgba(0,0,0,.42);
  position: relative;
  overflow: hidden;
}
.product-cover::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, transparent 0 42%, rgba(0,0,0,.75) 100%),
    repeating-linear-gradient(98deg, transparent 0 32px, rgba(255,255,255,.02) 33px 34px);
}
.product-cover > * { position: relative; z-index: 1; }
.product-cover strong { font-family: Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif; font-size: clamp(2.4rem, 5vw, 4.8rem); line-height: .88; }
.product-cover span { color: #b9b0a5; margin-top: .65rem; letter-spacing: .08em; text-transform: uppercase; }
.product-title { font-size: clamp(3rem, 5vw, 5.4rem); line-height: .9; margin: .15rem 0 .7rem; }
.byline { color: #b8afa5; margin: 0 0 1.2rem; }
.byline a { color: #e1d7ca; }
.rating-line { display: flex; flex-wrap: wrap; gap: .6rem; color: #9e968c; font-size: .86rem; padding-bottom: 1.2rem; border-bottom: 1px solid var(--line); }
.product-copy h2 { font-size: 1.05rem; margin-top: 1.8rem; }
.product-copy p { color: #b2aaa0; line-height: 1.7; }
.darkness-box {
  margin-top: 1.8rem;
  border: 1px solid #4a2525;
  background: #120b0b;
  padding: 1.2rem;
}
.darkness-box h2 { margin-top: 0; color: #e6d8ce; }
.darkness-scale { display: grid; grid-template-columns: repeat(5,1fr); gap: .25rem; margin: .8rem 0 1rem; }
.darkness-scale span { height: 9px; background: #5a1010; }
.darkness-scale span:nth-child(-n+4) { background: #bd1717; }
.darkness-box small { color: #948a82; }
.buy-box {
  position: sticky;
  top: 1.5rem;
  border: 1px solid #443b35;
  background: #111;
  padding: 1.3rem;
}
.buy-box .price { font-size: 1.7rem; font-weight: 800; margin: .5rem 0 1rem; }
.format-grid { display: grid; grid-template-columns: 1fr 1fr; gap: .55rem; margin-bottom: 1rem; }
.format-grid button {
  text-align: left;
  border: 1px solid #4a413b;
  background: #0b0b0b;
  color: #ddd4c9;
  padding: .7rem;
}
.format-grid button:first-child { border-color: #a32424; background: #1b0c0c; }
.buy-disabled {
  width: 100%;
  border: 1px solid #772020;
  background: #7a1111;
  color: white;
  padding: .85rem 1rem;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .08em;
  cursor: not-allowed;
}
.buy-note { color: #827a72; font-size: .78rem; line-height: 1.5; margin-top: .8rem; }
.buy-box ul { margin: 1rem 0 0; padding-left: 1.1rem; color: #a9a096; font-size: .84rem; }
.author-card {
  margin-top: 2rem;
  border-top: 1px solid var(--line);
  padding-top: 1.5rem;
  display: grid;
  grid-template-columns: 64px 1fr;
  gap: 1rem;
}
.author-avatar {
  width: 64px; height: 64px; border-radius: 50%;
  background: radial-gradient(circle at 40% 35%, #5c1717, #171111 55%, #080808);
  border: 1px solid #4e413a;
}
.related { border-top: 1px solid var(--line); padding: 2.5rem 0 4rem; }

.preview-footer {
  border-top: 1px solid var(--line);
  padding: 2rem 1rem 3rem;
  text-align: center;
  color: #766f68;
  font-size: .8rem;
}
.preview-footer a { color: #b7aea4; }

@media (max-width: 1050px) {
  .store-header-main { grid-template-columns: 1fr auto; }
  .search-shell { grid-column: 1 / -1; grid-row: 2; }
  .product-layout { grid-template-columns: minmax(220px,.75fr) 1.25fr; }
  .buy-box { position: static; grid-column: 1 / -1; }
}
@media (max-width: 760px) {
  .header-links { display: none; }
  .store-header-main { grid-template-columns: 1fr; }
  .search-shell { grid-column: auto; grid-row: auto; }
  .store-hero { grid-template-columns: 1fr; }
  .store-hero-copy { padding: 2.5rem 1.3rem; }
  .store-hero h1 { font-size: 4.3rem; }
  .hero-stack { min-height: 330px; }
  .book-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .book-grid .book-card:nth-child(5) { display: none; }
  .discovery { grid-template-columns: 1fr; }
  .product-layout { grid-template-columns: 1fr; }
  .product-cover-wrap { position: static; }
  .product-cover { margin: 0 auto; max-width: 300px; }
  .product-title { font-size: 3.8rem; }
}


/* v0.6 preview refinements */
.search-shell { position: relative; }
.search-results {
  position: absolute;
  left: -1px;
  right: -1px;
  top: calc(100% + 1px);
  z-index: 40;
  border: 1px solid #443d38;
  background: #0b0b0b;
  box-shadow: 0 18px 45px rgba(0,0,0,.48);
  max-height: 420px;
  overflow-y: auto;
}
.search-result {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: .18rem .65rem;
  padding: .8rem .9rem;
  text-decoration: none;
  border-bottom: 1px solid #292521;
}
.search-result:last-child { border-bottom: 0; }
.search-result:hover, .search-result:focus-visible { background: #171111; }
.search-result-kind {
  grid-row: 1 / span 3;
  align-self: start;
  padding: .18rem .35rem;
  border: 1px solid #5f1d1d;
  color: #df8b8b;
  font-size: .62rem;
  text-transform: uppercase;
  letter-spacing: .08em;
}
.search-result strong { color: #eee5da; }
.search-result > span:not(.search-result-kind), .search-result small { color: #8f877e; }
.search-empty { padding: 1rem; color: #8f877e; }
.shelf-first { padding-top: 2.2rem; }
.shelf-note { color: #746d66; font-size: .78rem; text-transform: uppercase; letter-spacing: .08em; }

.stars { color: #d51d1d; letter-spacing: .08em; font-weight: 900; }
.star-dim { color: #4d3535; }
.large-stars { font-size: 1.25rem; }

.author-detail-section {
  display: grid;
  grid-template-columns: 1.2fr .8fr;
  gap: 1px;
  background: var(--line);
  border: 1px solid var(--line);
  margin: 1rem 0 3rem;
}
.author-detail-section > div {
  background: #0f0f0f;
  padding: clamp(1.6rem, 4vw, 3rem);
}
.author-detail-section .author-control-box { background: #151111; }
.author-detail-section h2 {
  margin: .35rem 0 .9rem;
  font-family: Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif;
  font-size: clamp(2.2rem, 4vw, 3.8rem);
  line-height: .95;
  text-transform: uppercase;
}
.author-detail-section h3 { margin-top: 0; }
.author-detail-section p { color: #aaa197; line-height: 1.65; }
.product-facts {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  border-top: 1px solid #302a26;
  border-left: 1px solid #302a26;
  margin: 1.4rem 0 0;
}
.product-facts > div { padding: .85rem; border-right: 1px solid #302a26; border-bottom: 1px solid #302a26; }
.product-facts dt { color: #817970; font-size: .7rem; text-transform: uppercase; letter-spacing: .08em; }
.product-facts dd { margin: .2rem 0 0; color: #e5ddd2; }

.author-card-expanded {
  border: 1px solid var(--line);
  padding: clamp(1.4rem, 3vw, 2rem);
  grid-template-columns: 90px 1fr;
  margin: 0 0 3rem;
}
.large-avatar { width: 90px; height: 90px; }
.author-card-expanded h2 { margin: 0; font-size: 1.5rem; }
.author-actions { display: flex; flex-wrap: wrap; gap: .7rem; margin-top: 1rem; }
.author-actions .preview-button { margin-top: 0; border: 0; cursor: pointer; }
.secondary-button { background: #181414; border: 1px solid #514740 !important; }

.reviews-section { border-top: 1px solid var(--line); padding: 3rem 0; }
.reviews-heading { display: flex; justify-content: space-between; gap: 1rem; align-items: end; }
.human-review-note { color: #8b8279; font-size: .82rem; max-width: 320px; text-align: right; }
.ratings-layout {
  display: grid;
  grid-template-columns: 220px minmax(0, 620px);
  gap: 2rem;
  align-items: center;
  margin: 1.5rem 0 2.5rem;
}
.rating-summary { border-right: 1px solid var(--line); }
.big-rating { font-family: Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif; font-size: 4rem; line-height: 1; }
.rating-summary p { color: #817970; font-size: .82rem; }
.rating-bars { display: grid; gap: .55rem; }
.rating-bars > div { display: grid; grid-template-columns: 55px minmax(120px,1fr) 42px; gap: .7rem; align-items: center; color: #9a9289; font-size: .78rem; }
.rating-bars meter { width: 100%; height: 10px; accent-color: #c11212; }
.rating-bars b { color: #bdb4aa; font-weight: 600; }
.review-list { display: grid; gap: 1px; background: var(--line); border: 1px solid var(--line); }
.review-card { background: #0f0f0f; padding: 1.3rem 1.4rem; }
.review-card-head { display: flex; flex-wrap: wrap; gap: .75rem; align-items: center; }
.review-card p { color: #aaa197; line-height: 1.65; }
.review-card small { color: #736d66; }

.newsletter-dialog {
  width: min(92vw, 560px);
  border: 1px solid #50443e;
  background: #101010;
  color: var(--paper);
  padding: 0;
}
.newsletter-dialog::backdrop { background: rgba(0,0,0,.82); }
.newsletter-form { position: relative; padding: 2rem; }
.newsletter-form h2 { margin: .3rem 0 .8rem; font-family: Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif; font-size: 2.8rem; text-transform: uppercase; }
.newsletter-form p { color: #aaa197; line-height: 1.55; }
.newsletter-form label { display: grid; gap: .45rem; margin-top: 1.2rem; font-weight: 800; }
.newsletter-form input {
  min-height: 46px;
  border: 1px solid #443d38;
  background: #080808;
  color: var(--paper);
  padding: .8rem;
  font-size: 1rem;
}
.modal-x { position: absolute; top: .75rem; right: .85rem; border: 0; background: transparent; color: #b7aea4; font-size: 1.8rem; cursor: pointer; }
.newsletter-status { min-height: 1.35rem; font-size: .84rem; }
.newsletter-status.error { color: #e66b6b; }
.newsletter-status.success { color: #d5cbc0; }
.newsletter-form small { color: #6f6861; }

.author-profile {
  display: grid;
  grid-template-columns: 230px minmax(0,1fr) 310px;
  gap: clamp(1.5rem, 4vw, 3rem);
  align-items: start;
  padding: 2rem 0 3rem;
  border-bottom: 1px solid var(--line);
}
.author-profile-photo {
  aspect-ratio: 1 / 1.18;
  border: 1px solid #4b413b;
  background: radial-gradient(circle at 42% 28%, #5e1717, #1a1111 45%, #080808 78%);
  display: grid;
  place-items: center;
}
.author-profile-photo span {
  font-family: Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif;
  font-size: 5rem;
  color: #cdbfb1;
}
.author-profile-bio h1 {
  margin: .3rem 0 1rem;
  font-family: Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif;
  font-size: clamp(3.5rem, 7vw, 6rem);
  line-height: .9;
  text-transform: uppercase;
}
.author-profile-bio p { max-width: 720px; color: #aaa197; line-height: 1.7; }
.author-profile-links {
  border: 1px solid #443b35;
  background: #111;
  padding: 1.2rem;
  display: grid;
  gap: .65rem;
}
.author-profile-links h2 { margin: 0 0 .4rem; font-size: 1.05rem; }
.author-profile-links a { color: #d2c7bb; text-underline-offset: .2rem; }
.author-profile-links .preview-button { border: 0; cursor: pointer; justify-self: start; }
.author-profile-links p { color: #817970; font-size: .78rem; line-height: 1.5; }
.author-books { padding-top: 3rem; }

@media (max-width: 900px) {
  .author-detail-section,
  .author-profile { grid-template-columns: 1fr; }
  .author-profile-photo { max-width: 240px; }
  .ratings-layout { grid-template-columns: 1fr; }
  .rating-summary { border-right: 0; border-bottom: 1px solid var(--line); padding-bottom: 1rem; }
}
@media (max-width: 620px) {
  .product-facts { grid-template-columns: 1fr; }
  .reviews-heading { display: block; }
  .human-review-note { text-align: left; }
  .ratings-layout { gap: 1rem; }
}


/* v0.7 storefront refinements */
.header-interest { border: 0; background: none; color: #c7bfb5; padding: 0; font: inherit; font-size: .86rem; cursor: pointer; }
.header-interest:hover, .header-interest:focus-visible { color: #fff; text-decoration: underline; text-underline-offset: .2rem; }
.author-control-three { display: grid; gap: 1px; padding: 0 !important; background: #302a26 !important; }
.author-control-three article { background: #151111; padding: 1.25rem 1.4rem; }
.author-control-three article strong { color: #eee3d8; display: block; margin-bottom: .35rem; }
.author-control-three article p { margin: 0; }
.reviews-two-col { display: grid; grid-template-columns: minmax(300px,.72fr) minmax(0,1.55fr); gap: 2rem; align-items: start; margin-top: 1.5rem; }
.reviews-summary-column { border-right: 1px solid var(--line); padding-right: 2rem; }
.reviews-summary-column .rating-summary { border-right: 0; padding-bottom: 1.25rem; }
.reviews-summary-column .rating-bars { margin-top: .5rem; }
.rating-track { position: relative; height: 10px; border-radius: 999px; background: #e4e4e8; overflow: hidden; border: 1px solid #b8b8bf; }
.rating-track i { display: block; height: 100%; background: #c11212; }
.reviews-two-col .review-list { margin: 0; }
@media (max-width: 850px) {
  .reviews-two-col { grid-template-columns: 1fr; }
  .reviews-summary-column { border-right: 0; border-bottom: 1px solid var(--line); padding: 0 0 1.5rem; }
}


.cross-site-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding: .65rem .9rem;
  background: var(--red);
  border: 1px solid var(--red);
  color: #fff;
  text-decoration: none;
  text-transform: uppercase;
  font-size: .72rem;
  font-weight: 900;
  letter-spacing: .08em;
  white-space: nowrap;
}
.cross-site-cta:hover,
.cross-site-cta:focus-visible { background: #d31919; border-color: #d31919; }

.book-retailers {
  padding: 2.75rem 0 1rem;
  border-bottom: 1px solid var(--line);
}
.retailer-intro {
  max-width: 760px;
  color: var(--muted);
  margin: .4rem 0 1.3rem;
}
.retailer-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 1rem;
}
.retailer-card {
  border: 1px solid #3c3531;
  background: #0f0f0f;
  padding: 1.1rem;
  display: grid;
  gap: .45rem;
}
.retailer-card strong { color: #ece3d8; font-size: 1rem; }
.retailer-card span { color: #898178; font-size: .82rem; }
.retailer-card a { color: #c7bdb2; font-size: .82rem; text-underline-offset: .2rem; }

@media (max-width: 1050px) {
  .store-header-main { grid-template-columns: 1fr auto; }
  .cross-site-cta { grid-column: 2; grid-row: 1; }
  .search-shell { grid-column: 1 / -1; grid-row: 2; }
  .header-links { grid-column: 1; grid-row: 1; justify-self: end; }
}
@media (max-width: 760px) {
  .store-header-main { grid-template-columns: 1fr auto; }
  .cross-site-cta { grid-column: 2; grid-row: 1; }
  .search-shell { grid-column: 1 / -1; grid-row: 2; }
  .header-links { display: none; }
  .retailer-grid { grid-template-columns: 1fr; }
}

.bookstore-hero{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(260px,.6fr);gap:2rem;align-items:center;padding:clamp(2.5rem,6vw,5rem) 0 3rem;border-bottom:1px solid var(--line)}
.bookstore-hero h1{margin:.35rem 0 1rem;font-family:Impact,Haettenschweiler,"Arial Narrow Bold",sans-serif;font-size:clamp(3.5rem,7vw,6.6rem);line-height:.9;text-transform:uppercase;max-width:12ch}.bookstore-hero p{max-width:800px;color:var(--muted);line-height:1.65}
.bookstore-access-card{border:1px solid #493d37;background:#121010;padding:1.2rem;display:grid;gap:.6rem}.bookstore-access-card span{color:#8f877f;font-size:.82rem;border-top:1px solid #302925;padding-top:.55rem}
.wholesale-checkout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:2rem;padding:3rem 0}.wholesale-items{border-top:1px solid var(--line)}.wholesale-item{display:grid;grid-template-columns:86px minmax(0,1fr) minmax(170px,.55fr) 78px;gap:1rem;align-items:center;padding:1rem 0;border-bottom:1px solid var(--line)}
.wholesale-cover{aspect-ratio:2/3;background:linear-gradient(160deg,#4b1111,#0a0808 72%);border:1px solid #443934;display:grid;align-content:end;padding:.5rem;font-family:Impact,Haettenschweiler,"Arial Narrow Bold",sans-serif;font-size:.95rem;line-height:.9}.alt-cover{background:linear-gradient(160deg,#252525,#080808 72%)}.third-cover{background:linear-gradient(160deg,#351010,#080808 72%)}
.wholesale-item h3{margin:0 0 .25rem}.wholesale-item p{margin:0;color:#8f877f;font-size:.82rem}.fulfillment-cell{display:grid;gap:.18rem}.fulfillment-cell small{color:#756e67;text-transform:uppercase;letter-spacing:.08em}.fulfillment-cell strong{color:#ded4c9}.fulfillment-cell span{color:#827a72;font-size:.76rem}.wholesale-item label{display:grid;gap:.3rem;color:#817970;font-size:.75rem}.wholesale-item input{width:68px;border:1px solid #433b36;background:#0d0d0d;color:#eee5da;padding:.55rem}
.wholesale-summary{border:1px solid #433a35;background:#101010;padding:1.2rem;align-self:start;position:sticky;top:1rem}.wholesale-summary>div{display:flex;justify-content:space-between;gap:1rem;padding:.6rem 0;color:#a49b92;font-size:.85rem}.wholesale-summary strong{color:#e4dbd0;text-align:right}.wholesale-summary hr{border:0;border-top:1px solid var(--line)}
.bookstore-principles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line);margin-bottom:4rem}.bookstore-principles>div{background:#0f0f0f;padding:1.3rem;display:grid;gap:.35rem}.bookstore-principles span{color:#847c74;font-size:.82rem;line-height:1.5}
@media(max-width:900px){.bookstore-hero,.wholesale-checkout{grid-template-columns:1fr}.wholesale-summary{position:static}.wholesale-item{grid-template-columns:76px minmax(0,1fr)}.fulfillment-cell,.wholesale-item label{grid-column:2}.bookstore-principles{grid-template-columns:1fr}}


/* v0.12 shared preview responsive controls */
.preview-page-loader {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: grid;
  place-items: center;
  background: #080808;
  transition: opacity .18s ease;
}
.preview-page-loader::after {
  content: "";
  width: 32px;
  height: 32px;
  border: 2px solid #3b302c;
  border-top-color: #c11212;
  border-radius: 50%;
  animation: preview-spin .8s linear infinite;
}
html.preview-ready .preview-page-loader {
  opacity: 0;
  pointer-events: none;
}
html:not(.preview-ready) body > :not(.preview-page-loader) {
  visibility: hidden !important;
}
@keyframes preview-spin { to { transform: rotate(360deg); } }

.preview-footer {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: .5rem 1rem;
  flex-wrap: wrap;
}
@media (max-width: 760px) {
  .store-header-main {
    grid-template-columns: 1fr auto !important;
    gap: .75rem !important;
  }
  .header-links {
    display: none !important;
  }
  .cross-site-cta {
    grid-column: 2 !important;
    grid-row: 1 !important;
    width: auto !important;
    min-width: 0 !important;
    white-space: nowrap;
  }
  .search-shell {
    grid-column: 1 / -1 !important;
    grid-row: 2 !important;
    width: 100% !important;
  }
  .preview-button,
  .author-actions .preview-button,
  .author-profile-links .preview-button {
    width: 100% !important;
    justify-content: center !important;
    text-align: center !important;
  }
  .author-actions {
    display: grid !important;
    grid-template-columns: 1fr !important;
    width: 100%;
  }
  .preview-footer {
    flex-direction: column;
    align-items: center;
    gap: .5rem;
    padding: 1.25rem 1rem 2rem !important;
    text-align: center;
  }
  .preview-footer a {
    display: inline-block;
  }
}


/* v0.14 preview layout normalization */
.store-header-main,
.category-nav,
.store-main {
  width: min(calc(100% - 4rem), var(--max));
  margin-left: auto;
  margin-right: auto;
}

.cross-site-cta {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
}

@media (max-width: 760px) {
  .store-header-main,
  .category-nav,
  .store-main {
    width: calc(100% - 1.5rem) !important;
  }
}
