/* ============================================================
   OVID PUBLISHING GROUP — Shared Stylesheet
   Import on every page: <link rel="stylesheet" href="../ovid.css"/>
   (adjust path depth as needed)
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,600;1,400;1,600&family=Cormorant+Garamond:ital,opsz,wght@0,8..144,300;0,8..144,400;1,8..144,300;1,8..144,400&family=Inter:wght@300;400;500&display=swap');

/* ── TOKENS ── */
:root {
  --ink:       #0d0c0a;
  --cream:     #f5f0e8;
  --gold:      #b8924a;
  --gold-light:#d4ae6e;
  --gold-dim:  rgba(184,146,74,0.15);
  --warm:      #1a1612;
  --warm2:     #221e19;
  --muted:     #8a857a;
  --border:    rgba(184,146,74,0.2);
  --text-dim:  rgba(245,240,232,0.65);
}

/* ── RESET ── */
*, *::before, *::after { box-sizing:border-box; margin:0; padding:0; }
html { scroll-behavior:smooth; }
body { background:var(--ink); color:var(--cream); font-family:'Inter',sans-serif; overflow-x:hidden; }

/* ── NAV ── */
nav {
  position:fixed; top:0; left:0; right:0; z-index:100;
  display:flex; align-items:center; justify-content:space-between;
  padding:1.25rem 3rem;
  border-bottom:1px solid var(--border);
  background:rgba(13,12,10,0.88);
  backdrop-filter:blur(12px);
}
.nav-logo {
  font-family:'Cormorant Garamond',serif;
  font-size:1.15rem; font-weight:300; letter-spacing:0.15em;
  color:var(--gold-light); text-decoration:none; text-transform:uppercase;
}
.nav-links { display:flex; gap:2rem; align-items:center; }
.nav-links a {
  font-size:0.78rem; letter-spacing:0.12em; text-transform:uppercase;
  color:var(--muted); text-decoration:none; transition:color 0.3s;
}
.nav-links a:hover { color:var(--cream); }
.nav-back {
  display:flex; align-items:center; gap:0.4rem;
  font-size:0.72rem; letter-spacing:0.1em; text-transform:uppercase;
  color:var(--muted); text-decoration:none; transition:color 0.3s;
}
.nav-back:hover { color:var(--gold); }
.nav-back svg { width:14px; height:14px; stroke:currentColor; fill:none; stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round; }

/* ── MARQUEE ── */
.marquee-wrap {
  overflow:hidden;
  border-top:1px solid var(--border); border-bottom:1px solid var(--border);
  padding:0.9rem 0; background:var(--warm);
}
.marquee-inner {
  display:flex; gap:0; white-space:nowrap;
  animation:marquee 28s linear infinite;
}
.marquee-inner span {
  font-family:'Cormorant Garamond',serif; font-size:0.85rem; font-weight:300;
  letter-spacing:0.2em; text-transform:uppercase; color:var(--muted);
  padding:0 2rem;
}
.marquee-inner span strong { color:var(--gold); font-weight:400; }
@keyframes marquee { from{transform:translateX(0)} to{transform:translateX(-50%)} }

/* ── BOOK HERO ── */
.book-hero {
  min-height:100vh;
  display:grid; grid-template-columns:1fr 1fr;
  padding-top:80px;
  position:relative; overflow:hidden;
}
.hero-left {
  display:flex; align-items:center; justify-content:flex-end;
  padding:5rem 4rem 5rem 3rem; position:relative;
}
.hero-left::before {
  content:''; position:absolute; right:0; top:0; bottom:0; width:1px;
  background:linear-gradient(to bottom,transparent,var(--border) 30%,var(--border) 70%,transparent);
}
.cover-wrap { position:relative; max-width:340px; width:100%; }
.cover-wrap img {
  width:100%; display:block;
  box-shadow:0 40px 80px rgba(0,0,0,0.7),0 0 0 1px rgba(184,146,74,0.12);
  animation:coverIn 1s cubic-bezier(0.16,1,0.3,1) both;
}
.cover-glow {
  position:absolute; inset:-30px; z-index:-1;
  background:radial-gradient(ellipse at center,rgba(184,146,74,0.12) 0%,transparent 70%);
  animation:glowPulse 4s ease-in-out infinite;
}
.editor-badge {
  position:absolute; top:-14px; right:-14px;
  width:80px; height:80px; border-radius:50%;
  background:var(--gold);
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  font-size:0.52rem; letter-spacing:0.12em; text-transform:uppercase;
  color:var(--ink); font-weight:500; text-align:center; line-height:1.4;
  box-shadow:0 4px 20px rgba(184,146,74,0.4);
  animation:coverIn 1s 0.2s cubic-bezier(0.16,1,0.3,1) both;
}
@keyframes coverIn { from{opacity:0;transform:translateY(30px) scale(0.97)} to{opacity:1;transform:translateY(0) scale(1)} }
@keyframes glowPulse { 0%,100%{opacity:0.6} 50%{opacity:1} }

.hero-right {
  display:flex; flex-direction:column; justify-content:center;
  padding:5rem 3rem 5rem 4.5rem;
  animation:fadeUp 1s ease 0.3s both;
}
@keyframes fadeUp { from{opacity:0;transform:translateY(24px)} to{opacity:1;transform:translateY(0)} }

.book-eyebrow {
  font-size:0.68rem; letter-spacing:0.3em; text-transform:uppercase;
  color:var(--gold); margin-bottom:1rem;
  display:flex; align-items:center; gap:0.75rem;
}
.book-eyebrow::before { content:''; width:24px; height:1px; background:var(--gold); }
.book-title {
  font-family:'Playfair Display',serif;
  font-size:clamp(2.5rem,4.5vw,4rem); font-weight:400; line-height:1.1;
  margin-bottom:0.5rem;
}
.book-title em { font-style:italic; color:var(--gold-light); }
.book-author {
  font-family:'Cormorant Garamond',serif; font-size:1.2rem; font-weight:300;
  letter-spacing:0.1em; color:var(--muted); margin-bottom:2rem;
}
.book-author span { color:var(--gold-light); }
.book-tagline {
  font-family:'Cormorant Garamond',serif; font-size:1.15rem; font-weight:400;
  line-height:1.7; color:var(--text-dim);
  border-left:2px solid var(--gold); padding-left:1.25rem;
  margin-bottom:2.5rem; font-style:italic;
}

/* buy panel */
.buy-panel {
  background:var(--warm2); border:1px solid var(--border);
  padding:1.75rem; margin-bottom:2rem;
}
.buy-panel-label {
  font-size:0.65rem; letter-spacing:0.25em; text-transform:uppercase;
  color:var(--gold); margin-bottom:1.25rem;
}
.buy-links { display:flex; flex-direction:column; gap:0; }
.buy-link {
  display:flex; align-items:center; justify-content:space-between;
  padding:0.75rem 0; border-bottom:1px solid var(--border);
  text-decoration:none; color:var(--cream); font-size:0.83rem;
  letter-spacing:0.02em; transition:all 0.25s;
}
.buy-link:last-child { border-bottom:none; padding-bottom:0; }
.buy-link:first-child { padding-top:0; }
.buy-link:hover { color:var(--gold); }
.buy-link-arrow { color:var(--muted); transition:transform 0.25s,color 0.25s; font-size:0.9rem; }
.buy-link:hover .buy-link-arrow { transform:translateX(4px); color:var(--gold); }

.book-meta { display:flex; gap:2rem; flex-wrap:wrap; }
.meta-item { display:flex; flex-direction:column; gap:0.2rem; }
.meta-label { font-size:0.6rem; letter-spacing:0.2em; text-transform:uppercase; color:var(--muted); }
.meta-value { font-family:'Cormorant Garamond',serif; font-size:1rem; color:var(--cream); }

/* ── CONTENT ── */
.content-wrap { max-width:960px; margin:0 auto; padding:0 3rem; }
.section { padding:5rem 0; border-bottom:1px solid var(--border); }
.section:last-of-type { border-bottom:none; }
.section-eyebrow {
  font-size:0.65rem; letter-spacing:0.3em; text-transform:uppercase;
  color:var(--gold); margin-bottom:1rem;
}
.section-heading {
  font-family:'Playfair Display',serif; font-size:1.9rem; font-weight:400;
  margin-bottom:2rem; color:var(--cream);
}
.banner-img {
  width:100%; max-height:420px; object-fit:cover; display:block;
  margin-bottom:3rem; filter:brightness(0.85) sepia(0.1);
}
.prose {
  font-family:'Cormorant Garamond',serif; font-size:1.2rem; line-height:1.85;
  color:var(--text-dim);
}
.prose p+p { margin-top:1.25rem; }
.prose strong { color:var(--cream); font-weight:400; }
.prose em { font-style:italic; }

/* edition grid */
.edition-grid {
  display:grid; grid-template-columns:1fr 1fr; gap:0;
  border:1px solid var(--border); margin-bottom:3rem;
}
.edition-item {
  padding:1.25rem 1.5rem; border-bottom:1px solid var(--border);
  border-right:1px solid var(--border);
  display:flex; align-items:flex-start; gap:0.75rem;
}
.edition-item:nth-child(even) { border-right:none; }
.edition-item:nth-last-child(-n+2) { border-bottom:none; }
.edition-icon { color:var(--gold); font-size:0.9rem; margin-top:0.1rem; flex-shrink:0; }
.edition-text { font-family:'Cormorant Garamond',serif; font-size:1rem; color:var(--text-dim); line-height:1.4; }

/* essays / story list */
.item-list { display:flex; flex-direction:column; gap:0; border:1px solid var(--border); }
.list-item {
  padding:1.5rem; border-bottom:1px solid var(--border);
  display:grid; grid-template-columns:2rem 1fr; gap:1rem; align-items:start;
}
.list-item:last-child { border-bottom:none; }
.list-num {
  font-family:'Playfair Display',serif; font-size:1.1rem;
  color:var(--gold); font-style:italic; line-height:1; padding-top:0.1rem;
}
.list-title {
  font-family:'Cormorant Garamond',serif; font-size:1.1rem;
  color:var(--cream); line-height:1.5;
}
.list-title em { font-style:italic; }

/* pull quote */
.pull-quote {
  border-top:1px solid var(--border); border-bottom:1px solid var(--border);
  padding:3rem 0; margin:4rem 0; text-align:center;
}
.pull-quote-text {
  font-family:'Playfair Display',serif;
  font-size:clamp(1.4rem,2.5vw,2rem); font-style:italic; font-weight:400; line-height:1.5;
  color:var(--cream); max-width:700px; margin:0 auto 1rem;
}
.pull-quote-attr { font-size:0.68rem; letter-spacing:0.2em; text-transform:uppercase; color:var(--gold); }

/* author block */
.author-block { display:grid; grid-template-columns:220px 1fr; gap:3.5rem; align-items:start; }
.author-img-wrap { position:relative; }
.author-img {
  width:100%; display:block;
  filter:brightness(0.85) sepia(0.2) grayscale(0.2);
  border:1px solid var(--border);
}
.author-img-caption {
  margin-top:0.75rem; font-size:0.65rem; letter-spacing:0.15em;
  text-transform:uppercase; color:var(--muted); text-align:center;
}
.author-name {
  font-family:'Playfair Display',serif; font-size:1.6rem; font-weight:400;
  margin-bottom:0.35rem; color:var(--cream);
}
.author-dates { font-family:'Cormorant Garamond',serif; font-size:0.95rem; color:var(--gold); letter-spacing:0.1em; margin-bottom:1.5rem; }

/* ── MORE SHELF ── */
.more-section { padding:5rem 0; background:var(--warm); border-top:1px solid var(--border); }
.more-header {
  display:flex; align-items:baseline; justify-content:space-between;
  padding:0 3rem; margin-bottom:2.5rem;
  border-bottom:1px solid var(--border); padding-bottom:1.25rem;
}
.more-label { font-size:0.65rem; letter-spacing:0.25em; text-transform:uppercase; color:var(--gold); margin-bottom:0.35rem; }
.more-title { font-family:'Playfair Display',serif; font-size:1.8rem; font-weight:400; color:var(--cream); }
.shelf {
  display:flex; gap:1.5rem; overflow-x:auto;
  padding:0.5rem 3rem 2rem;
  scroll-snap-type:x mandatory;
  scrollbar-width:thin; scrollbar-color:rgba(184,146,74,0.3) transparent;
}
.shelf::-webkit-scrollbar { height:3px; }
.shelf::-webkit-scrollbar-thumb { background:rgba(184,146,74,0.3); }
.shelf-card {
  flex:0 0 180px; scroll-snap-align:start;
  position:relative; overflow:hidden; cursor:pointer;
  aspect-ratio:2/3; background:var(--ink); transition:transform 0.4s ease;
}
.shelf-card:hover { transform:translateY(-6px); }
.shelf-card:hover .shelf-overlay { opacity:1; }
.shelf-card img {
  width:100%; height:100%; object-fit:cover; display:block;
  filter:brightness(0.85) sepia(0.1); transition:transform 0.5s,filter 0.5s;
}
.shelf-card:hover img { transform:scale(1.06); filter:brightness(0.65) sepia(0.2); }
.shelf-overlay {
  position:absolute; inset:0; opacity:0; transition:opacity 0.4s;
  background:linear-gradient(to top,rgba(13,12,10,0.97) 0%,rgba(13,12,10,0.4) 55%,transparent 100%);
  display:flex; flex-direction:column; justify-content:flex-end; padding:1.1rem;
}
.shelf-overlay-title { font-family:'Playfair Display',serif; font-size:0.9rem; color:var(--cream); margin-bottom:0.15rem; line-height:1.3; }
.shelf-overlay-author { font-size:0.62rem; letter-spacing:0.1em; text-transform:uppercase; color:var(--gold); margin-bottom:0.75rem; }
.shelf-overlay-btn {
  display:inline-block; padding:0.35rem 0.85rem; border:1px solid var(--gold);
  color:var(--gold); font-size:0.62rem; letter-spacing:0.08em; text-transform:uppercase;
  text-decoration:none; transition:all 0.3s; align-self:flex-start;
}
.shelf-overlay-btn:hover { background:var(--gold); color:var(--ink); }

/* ── FOOTER ── */
footer {
  background:var(--warm); border-top:1px solid var(--border);
  padding:3rem; display:flex; align-items:center; justify-content:space-between;
  flex-wrap:wrap; gap:1rem;
}
.footer-logo { font-family:'Cormorant Garamond',serif; font-size:0.9rem; letter-spacing:0.2em; text-transform:uppercase; color:var(--gold-light); }
.footer-links { display:flex; gap:2rem; flex-wrap:wrap; }
.footer-links a {
  font-size:0.72rem; letter-spacing:0.1em; text-transform:uppercase;
  color:var(--muted); text-decoration:none; transition:color 0.3s;
}
.footer-links a:hover { color:var(--cream); }
.footer-copy { font-size:0.7rem; color:rgba(138,133,122,0.6); letter-spacing:0.05em; }

/* ── RESPONSIVE ── */
@media(max-width:900px) {
  nav { padding:1rem 1.5rem; }
  .nav-links { gap:1.25rem; }
  .book-hero { grid-template-columns:1fr; min-height:auto; }
  .hero-left { justify-content:center; padding:4rem 2rem 2rem; }
  .hero-left::before { display:none; }
  .cover-wrap { max-width:240px; }
  .hero-right { padding:2rem 2rem 4rem; }
  .content-wrap { padding:0 1.5rem; }
  .edition-grid { grid-template-columns:1fr; }
  .edition-item { border-right:none; }
  .edition-item:nth-last-child(-n+2) { border-bottom:1px solid var(--border); }
  .edition-item:last-child { border-bottom:none; }
  .author-block { grid-template-columns:1fr; }
  .author-img-wrap { max-width:200px; }
  .more-header { padding:0 1.5rem; }
  .shelf { padding:0.5rem 1.5rem 2rem; }
  footer { flex-direction:column; gap:1.5rem; }
}
