:root{
  --bg:#0f0c0a;
  --bg2:#050304;
  --card:#1a1512;
  --accent:#d2b38a;
  --accent-soft:#c29c70;
  --text:#f5f1ea;
  --muted:#c9c0b3;
  --radius:18px;
  --shadow:0 24px 60px rgba(0,0,0,.60);
}

*{box-sizing:border-box;margin:0;padding:0}

body{
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color: var(--text);
  min-height:100vh;

  background:
    linear-gradient(180deg, rgba(15,12,10,.92), rgba(5,3,4,.96)),
    url("/images/bg-texture.png");

  background-repeat:no-repeat, repeat;
  background-size:cover, 1200px auto;
  background-position:center, top left;
  background-attachment:fixed, fixed;
  background-blend-mode:multiply;
}

.page{
  max-width:1020px;
  margin:0 auto;
  padding:2.2rem 1.5rem 3rem;
}

header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  margin-bottom:1.8rem;
}

.brand{display:flex;align-items:center;gap:.9rem}
.brand img{width:210px;filter:drop-shadow(0 10px 26px rgba(0,0,0,.65))}
.brand-kicker{
  letter-spacing:.18em;
  text-transform:uppercase;
  font-size:.72rem;
  color:var(--accent-soft)
}
.brand-tagline{font-size:.92rem;color:var(--muted)}

nav{display:flex;gap:.45rem;flex-wrap:wrap}
.navlink{
  font-size:.86rem;
  color:var(--accent);
  text-decoration:none;
  padding:.45rem .85rem;
  border-radius:999px;
  border:1px solid rgba(210,179,138,.35);
  background:rgba(0,0,0,.22)
}

.card{
  border-radius:var(--radius);
  background:linear-gradient(135deg, rgba(210,179,138,.07), rgba(0,0,0,.7));
  box-shadow:var(--shadow);
  border:1px solid rgba(255,255,255,.05);
  padding:1.4rem;
  margin-top:1.4rem;
}

h1,h2{margin-bottom:.6rem}
p{color:var(--muted);line-height:1.7;font-size:.96rem}

.btn{
  border-radius:999px;
  padding:.65rem 1.2rem;
  font-size:.9rem;
  text-decoration:none;
  display:inline-flex;
  gap:.4rem;
  margin-top:.8rem;
}

.btn-primary{
  background:var(--accent);
  color:#201711;
  font-weight:600
}

footer{
  border-top:1px solid rgba(255,255,255,.06);
  padding:1.2rem;
  font-size:.8rem;
  color:var(--muted);
  text-align:center;
}
.book-row{
  display:grid;
  grid-template-columns: 1.2fr 0.8fr;
  gap:1.4rem;
  align-items:center;
}

@media (max-width: 900px){
  .book-row{
    grid-template-columns:1fr;
  }
}

.book-cover{
  justify-self:center;
  width:220px;
  max-width:100%;
  aspect-ratio:2 / 3;
  border-radius:12px;
  background:#000;
  box-shadow:
    0 18px 40px rgba(0,0,0,.8),
    0 0 0 1px rgba(210,179,138,.25);
  overflow:hidden;
}

.book-cover img{
  width:100%;
  height:100%;
  object-fit:contain;
  display:block;
}
/* === BOOKCASE === */

.bookcase{
  display:grid;
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  gap:1.6rem;
  margin-top:1.6rem;
}

.bookcase-item{
  text-decoration:none;
  color:var(--text);
  display:flex;
  flex-direction:column;
  gap:.7rem;
  transition: transform .2s ease, box-shadow .2s ease;
}

.bookcase-item:hover{
  transform: translateY(-4px);
}

.bookcase-cover{
  aspect-ratio:2 / 3;
  border-radius:12px;
  background:#000;
  box-shadow:
    0 18px 40px rgba(0,0,0,.75),
    0 0 0 1px rgba(210,179,138,.25);
  overflow:hidden;
}

.bookcase-cover img{
  width:100%;
  height:100%;
  object-fit:contain;
  display:block;
}

.bookcase-meta h3{
  font-size:1rem;
  margin-bottom:.15rem;
}

.bookcase-meta span{
  font-size:.78rem;
  text-transform:uppercase;
  letter-spacing:.12em;
  color:var(--accent-soft);
}
.book-group{
  margin-top:2.2rem;
}

.book-group-title{
  font-size:0.95rem;
  text-transform:uppercase;
  letter-spacing:.18em;
  color:var(--accent-soft);
  margin-bottom:1rem;
}
.bookcase-item.newest{
  position:relative;
  transform: translateY(-2px);
}

.bookcase-item.newest .bookcase-cover{
  box-shadow:
    0 22px 48px rgba(0,0,0,.85),
    0 0 0 1px rgba(210,179,138,.45);
}
.ribbon{
  position:absolute;
  top:10px;
  left:-6px;
  background:rgba(210,179,138,.9);
  color:#201711;
  font-size:.65rem;
  font-weight:600;
  padding:.3rem .6rem;
  letter-spacing:.14em;
  text-transform:uppercase;
  border-radius:0 6px 6px 0;
  box-shadow:0 6px 18px rgba(0,0,0,.4);
  z-index:2;
}
.bookcase-item{
  position:relative;
  transition:
    transform .25s ease,
    box-shadow .25s ease;
}

.bookcase-item:hover{
  transform: translateY(-6px) rotate(-0.6deg);
}

.bookcase-item:hover .bookcase-cover{
  box-shadow:
    0 26px 60px rgba(0,0,0,.9),
    0 0 0 1px rgba(210,179,138,.5);
}
.bookcase.muted{
  opacity:.6;
}

.series-placeholder{
  padding:2rem;
  border:1px dashed rgba(210,179,138,.35);
  border-radius:12px;
  color:var(--muted);
  font-size:.9rem;
}
.cross-link a{
  color: var(--text);
  font-weight: 600;
  text-decoration: none;
}

.cross-link a:hover{
  opacity: .85;
}

/* =====================================================
   Mailing List – scoped to /mailing-list.php
   ===================================================== */
.mailing-page .card{
  background: linear-gradient(180deg, rgba(26, 21, 18, 0.92), rgba(26, 21, 18, 0.82));
  border: 1px solid rgba(210, 179, 138, 0.18);
  box-shadow: 0 14px 30px rgba(0, 0, 0, 0.35);
  padding: 1.6rem;
}

.mailing-page h1{
  font-family: ui-serif, Georgia, "Times New Roman", serif;
  font-size: 2rem;
  letter-spacing: 0.02em;
  margin-bottom: 0.7rem;
  color: var(--text);
}

.mailing-page .sub{
  color: var(--muted);
  margin-bottom: 1.1rem;
  max-width: 70ch;
  line-height: 1.55;
}

.mailing-page .rule{
  height: 1px;
  background: rgba(210, 179, 138, 0.18);
  margin: 1.1rem 0 1.2rem;
}

.mailing-page .formbox{
  margin-top: 0.5rem;
  padding: 16px;
  border: 1px dashed rgba(210, 179, 138, 0.35);
  border-radius: 14px;
  background: rgba(0, 0, 0, 0.18);
}

.mailing-page .note{
  color: var(--muted);
  font-size: 0.95rem;
  margin-top: 0.9rem;
}

/* Form element soft styling (for MailerLite embeds) */
.mailing-page .formbox input[type="email"],
.mailing-page .formbox input[type="text"]{
  width: 100%;
  padding: 12px 12px;
  border-radius: 12px;
  border: 1px solid rgba(210, 179, 138, 0.25);
  background: #0b0806;
  color: var(--text);
  margin-bottom: 12px;
}

.mailing-page .formbox input::placeholder{ color: #8f8678; }

.mailing-page .formbox button{
  background: var(--accent);
  color: #1a1512;
  border: 0;
  padding: 10px 16px;
  border-radius: 12px;
  cursor: pointer;
  font-weight: 600;
}

.mailing-page .formbox button:hover{ filter: brightness(1.06); }
/* MailerLite embed – force it to match site */
.mailing-page #mlb2-36559660.ml-form-embedContainer { margin: 0 !important; }

.mailing-page #mlb2-36559660 .ml-form-embedWrapper {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  max-width: 100% !important;
}

.mailing-page #mlb2-36559660 .ml-form-embedBody,
.mailing-page #mlb2-36559660 .ml-form-successBody {
  padding: 0 !important;
}

.mailing-page #mlb2-36559660 .ml-form-embedContent h4,
.mailing-page #mlb2-36559660 .ml-form-successContent h4 {
  color: var(--text) !important;
  font-family: ui-serif, Georgia, "Times New Roman", serif !important;
  font-weight: 500 !important;
}

.mailing-page #mlb2-36559660 .ml-form-embedContent p,
.mailing-page #mlb2-36559660 .ml-form-successContent p {
  color: var(--muted) !important;
}

.mailing-page #mlb2-36559660 input[type="email"] {
  background: #0b0806 !important;
  color: var(--text) !important;
  border: 1px solid rgba(210,179,138,.25) !important;
  border-radius: 12px !important;
  padding: 12px !important;
}

.mailing-page #mlb2-36559660 input[type="email"]::placeholder {
  color: #8f8678 !important;
}

.mailing-page #mlb2-36559660 .ml-form-embedSubmit button {
  background: var(--accent) !important;
  color: #1a1512 !important;
  border-radius: 12px !important;
  border: 0 !important;
  padding: 10px 16px !important;
}

.mailing-page #mlb2-36559660 .ml-form-embedPermissionsContent p,
.mailing-page #mlb2-36559660 .ml-form-embedPermissionsContent a {
  color: var(--muted) !important;
}

