/* ============================================================
   Marketing Classics Press — shared scoped styles
   Signature accent: classic oxblood/burgundy (book-spine red).
   Loaded on all MCP pages (catalog, book, author, authors).
   Relies on global tokens from style.css (--sans/--serif/--display,
   --navy, --ink-soft, --line, --line-soft, --paper-deep,
   --paper-card, --shadow-sm/md).
   ============================================================ */
:root{
  --mcp:#8a3a44; --mcp-deep:#6d2933; --mcp-ink:#4c1f27;
  --mcp-soft:rgba(138,58,68,.09); --mcp-line:rgba(138,58,68,.22);
}

/* ---- Hero ---- */
.mcp-hero{
  background:linear-gradient(rgba(38,18,22,.8),rgba(48,22,28,.88)),
    url('/assets/uploads/mcp/hero-library.jpg'),
    radial-gradient(120% 140% at 80% -10%, #7d2f3a 0%, #4c1f27 55%, #3a161c 100%);
  background-size:cover; background-position:center 40%; background-repeat:no-repeat;
  color:#f3e7e9; padding:66px 0 54px;
}
.mcp-hero .mcp-mark{ display:block; width:100%; max-width:340px; height:auto; margin:0 0 22px; }
/* small colored logo above a section heading (on light backgrounds) */
.mcp-mark-sm{ display:block; width:300px; max-width:80%; height:auto; margin:0 0 18px; }
.mcp-hero .back{ font-family:var(--sans); font-size:.84rem; color:#e2b9c0; display:inline-flex; gap:7px; margin-bottom:20px; }
.mcp-hero .back:hover{ color:#fff; }
.mcp-hero .eyebrow{ color:#e0a9b2; }
.mcp-hero h1{ color:#fff; margin:0 0 .28em; }
.mcp-hero p{ color:#eccfd4; max-width:62ch; font-size:1.12rem; }
.mcp-hero .est{ font-family:var(--sans); font-size:.72rem; letter-spacing:.16em; text-transform:uppercase; color:#e0a9b2; margin-top:20px; }

/* ---- Sticky sub-nav ---- */
.subbar{ position:sticky; top:78px; z-index:40; background:rgba(248,245,239,.94); backdrop-filter:saturate(150%) blur(8px); border-bottom:1px solid var(--line); }
.subbar .wrap{ display:flex; gap:6px; align-items:center; overflow-x:auto; }
.subbar a{ font-family:var(--sans); font-size:.85rem; font-weight:500; color:var(--ink-soft); padding:15px 14px; white-space:nowrap; border-bottom:3px solid transparent; margin-bottom:-1px; cursor:pointer; }
.subbar a:hover{ color:var(--mcp-deep); }
.subbar a.active{ color:var(--mcp-deep); border-color:var(--mcp); }
.subbar .spacer{ flex:1; }
.subbar .cartlink{ display:inline-flex; align-items:center; gap:7px; color:var(--mcp-deep); font-weight:600; }
.subbar .cartlink .badge{ background:var(--mcp); color:#fff; border-radius:11px; font-size:.72rem; padding:1px 7px; min-width:18px; text-align:center; }

/* ---- Sections ---- */
.mcp-sec{ padding:52px 0; scroll-margin-top:140px; }
.mcp-sec.alt{ background:var(--paper-deep); }
.mcp-head{ margin-bottom:26px; max-width:72ch; }
.mcp-head .eyebrow{ color:var(--mcp); }
.mcp-head h2{ font-size:clamp(1.6rem,3vw,2.2rem); }
.mcp-lede{ font-size:1.14rem; color:var(--ink-soft); line-height:1.65; }

/* ---- Filter bar ---- */
.mcp-filters{ display:flex; flex-wrap:wrap; gap:12px; align-items:center; margin:0 0 8px; }
.mcp-filters .fld{ position:relative; }
.mcp-filters input[type=search], .mcp-filters select{
  font-family:var(--sans); font-size:.9rem; color:var(--navy);
  background:var(--paper-card); border:1px solid var(--line); border-radius:8px;
  padding:9px 12px; min-width:170px; appearance:none;
}
.mcp-filters input[type=search]{ min-width:240px; }
.mcp-filters select{ padding-right:30px; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%238a3a44' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:right 10px center; }
.mcp-count{ font-family:var(--sans); font-size:.85rem; color:var(--ink-soft); margin:6px 0 22px; }
.mcp-count b{ color:var(--navy); }
.mcp-clear{ font-family:var(--sans); font-size:.82rem; font-weight:600; color:var(--mcp-deep); cursor:pointer; background:none; border:none; }
.mcp-clear:hover{ text-decoration:underline; }

/* ---- Book grid + card ---- */
.mcp-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:26px; }
.bkcard{ display:flex; flex-direction:column; }
.bkcard .cov{ position:relative; aspect-ratio:2/3; background:#efe8dd; border:1px solid var(--line-soft); border-radius:6px; overflow:hidden; box-shadow:var(--shadow-sm); transition:.2s; }
.bkcard a.covlink{ display:block; height:100%; }
.bkcard:hover .cov{ box-shadow:var(--shadow-md); transform:translateY(-3px); }
.bkcard .cov img{ width:100%; height:100%; object-fit:cover; display:block; }
.bkcard h3{ font-family:var(--serif); font-weight:600; font-size:.98rem; line-height:1.32; margin:12px 0 3px; }
.bkcard h3 a{ color:var(--navy); }
.bkcard h3 a:hover{ color:var(--mcp-deep); }
.bkcard .by{ font-family:var(--sans); font-size:.8rem; color:var(--ink-soft); margin:0 0 8px; line-height:1.4; }
.bkcard .by a{ color:var(--ink-soft); }
.bkcard .by a:hover{ color:var(--mcp-deep); text-decoration:underline; }
.bkcard .row{ display:flex; align-items:center; justify-content:space-between; gap:8px; margin-top:auto; }
.bkcard .price{ font-family:var(--display); font-size:1.05rem; color:var(--navy); font-weight:600; }
.bkcard .free{ color:var(--mcp-deep); }

/* ---- Add-to-cart button ---- */
.addbtn{ font-family:var(--sans); font-size:.78rem; font-weight:600; color:#fff; background:var(--mcp); border:1px solid var(--mcp); border-radius:22px; padding:7px 14px; cursor:pointer; transition:.15s; white-space:nowrap; }
.addbtn:hover{ background:var(--mcp-deep); border-color:var(--mcp-deep); }
.addbtn.in{ background:#fff; color:var(--mcp-deep); }
.addbtn.in::before{ content:"✓ "; }

/* category pills */
.cat-pills{ display:flex; flex-wrap:wrap; gap:9px; }
.cat-pill{ font-family:var(--sans); font-size:.83rem; color:var(--mcp-deep); background:var(--mcp-soft); border:1px solid var(--mcp-line); border-radius:20px; padding:6px 14px; cursor:pointer; transition:.15s; }
.cat-pill:hover, .cat-pill.on{ background:var(--mcp); color:#fff; border-color:var(--mcp); }
.cat-desc-grid{ display:grid; grid-template-columns:1fr 1fr; gap:18px 30px; margin-top:8px; }
.cat-desc{ border-left:3px solid var(--mcp-line); padding:2px 0 2px 16px; }
.cat-desc h4{ font-family:var(--serif); font-weight:600; font-size:1.02rem; color:var(--navy); margin:0 0 3px; }
.cat-desc h4 a{ color:var(--navy); } .cat-desc h4 a:hover{ color:var(--mcp-deep); }
.cat-desc p{ font-family:var(--sans); font-size:.85rem; color:var(--ink-soft); line-height:1.5; margin:0; }

/* founding authors */
.founders{ display:grid; grid-template-columns:repeat(3,1fr); gap:10px 30px; }
.founder-item{ font-family:var(--serif); color:var(--navy); padding:10px 0; border-bottom:1px solid var(--line-soft); }
.founder-item .aff{ display:block; font-family:var(--sans); font-size:.8rem; color:var(--ink-soft); margin-top:2px; }

/* ---- Book detail ---- */
.mcp-detail{ display:grid; grid-template-columns:300px 1fr; gap:46px; align-items:start; }
.mcp-detail .cover{ position:sticky; top:110px; }
.mcp-detail .cover img{ width:100%; border-radius:8px; box-shadow:var(--shadow-md); background:#efe8dd; }
.mcp-detail .buybox{ margin-top:20px; background:var(--paper-card); border:1px solid var(--line-soft); border-radius:10px; padding:18px; text-align:center; }
.mcp-detail .buybox .price{ font-family:var(--display); font-size:1.9rem; color:var(--navy); font-weight:600; display:block; }
.mcp-detail .buybox .fmt{ font-family:var(--sans); font-size:.76rem; letter-spacing:.06em; text-transform:uppercase; color:var(--ink-soft); margin-bottom:12px; display:block; }
.mcp-detail .addbtn.big{ font-size:.95rem; padding:12px 24px; width:100%; border-radius:26px; }
.mcp-detail .eyebrow{ color:var(--mcp); }
.mcp-detail h1{ font-size:clamp(1.7rem,3.4vw,2.5rem); margin:.1em 0 .25em; }
.mcp-detail .byline{ font-family:var(--serif); font-size:1.12rem; color:var(--ink-soft); margin:0 0 18px; }
.mcp-detail .byline a{ color:var(--mcp-deep); } .mcp-detail .byline a:hover{ text-decoration:underline; }
.mcp-detail .facts{ display:flex; flex-wrap:wrap; gap:8px 20px; font-family:var(--sans); font-size:.84rem; color:var(--ink-soft); margin:0 0 22px; padding:14px 0; border-top:1px solid var(--line-soft); border-bottom:1px solid var(--line-soft); }
.mcp-detail .facts b{ color:var(--navy); font-weight:600; }
.mcp-detail .desc{ font-size:1.06rem; line-height:1.75; color:#2b3138; }
.mcp-detail .desc p{ margin:0 0 1em; }
.mcp-detail .cats{ margin-top:26px; }
.mcp-detail .cats .lbl{ font-family:var(--sans); font-size:.74rem; letter-spacing:.12em; text-transform:uppercase; color:var(--ink-soft); display:block; margin-bottom:8px; }

/* ---- Author pages ---- */
.auth-hero{ display:grid; grid-template-columns:150px 1fr; gap:30px; align-items:center; }
.auth-hero .photo{ width:150px; height:150px; border-radius:50%; object-fit:cover; box-shadow:var(--shadow-md); background:var(--mcp-soft); }
.auth-hero .mono{ width:150px; height:150px; border-radius:50%; display:flex; align-items:center; justify-content:center; background:var(--mcp-soft); color:var(--mcp-deep); font-family:var(--display); font-size:2.6rem; box-shadow:var(--shadow-sm); }
.auth-bio{ max-width:70ch; font-size:1.04rem; line-height:1.7; color:#2b3138; margin-top:8px; }
.auth-bio p{ margin:0 0 1em; }
.auth-index{ column-count:3; column-gap:34px; }
.auth-index .a{ break-inside:avoid; display:flex; align-items:center; gap:11px; padding:8px 0; border-bottom:1px solid var(--line-soft); }
.auth-index .a img, .auth-index .a .m{ width:38px; height:38px; border-radius:50%; object-fit:cover; flex:none; background:var(--mcp-soft); }
.auth-index .a .m{ display:flex; align-items:center; justify-content:center; font-family:var(--display); color:var(--mcp-deep); font-size:.95rem; }
.auth-index .a a{ font-family:var(--serif); color:var(--navy); font-size:.98rem; }
.auth-index .a a:hover{ color:var(--mcp-deep); }
.auth-index .a .n{ font-family:var(--sans); font-size:.76rem; color:var(--ink-soft); margin-left:auto; }
.auth-letter{ font-family:var(--display); font-size:1.3rem; color:var(--mcp); border-bottom:2px solid var(--mcp-line); margin:18px 0 6px; break-after:avoid; }

/* ---- Cart drawer ---- */
.cart-fab{ position:fixed; right:20px; bottom:20px; z-index:60; background:var(--mcp); color:#fff; border:none; border-radius:30px; padding:13px 20px; font-family:var(--sans); font-weight:600; font-size:.9rem; box-shadow:var(--shadow-md); cursor:pointer; display:inline-flex; align-items:center; gap:9px; transition:.15s; }
.cart-fab:hover{ background:var(--mcp-deep); }
.cart-fab .badge{ background:#fff; color:var(--mcp-deep); border-radius:12px; font-size:.76rem; padding:1px 8px; min-width:20px; text-align:center; }
.cart-fab[hidden]{ display:none; }
.cart-overlay{ position:fixed; inset:0; background:rgba(20,12,14,.45); z-index:70; opacity:0; pointer-events:none; transition:.2s; }
.cart-overlay.open{ opacity:1; pointer-events:auto; }
.cart-drawer{ position:fixed; top:0; right:0; height:100%; width:min(420px,92vw); background:var(--paper-card); z-index:71; box-shadow:-8px 0 30px rgba(0,0,0,.18); transform:translateX(100%); transition:transform .24s ease; display:flex; flex-direction:column; }
.cart-drawer.open{ transform:none; }
.cart-drawer header{ display:flex; align-items:center; justify-content:space-between; padding:18px 20px; border-bottom:1px solid var(--line); }
.cart-drawer header h3{ font-family:var(--display); font-size:1.2rem; margin:0; color:var(--navy); }
.cart-drawer .x{ background:none; border:none; font-size:1.5rem; line-height:1; color:var(--ink-soft); cursor:pointer; }
.cart-body{ flex:1; overflow-y:auto; padding:8px 20px; }
.cart-item{ display:flex; gap:12px; padding:14px 0; border-bottom:1px solid var(--line-soft); }
.cart-item img{ width:44px; height:64px; object-fit:cover; border-radius:4px; background:#efe8dd; flex:none; }
.cart-item .ci-t{ font-family:var(--serif); font-size:.9rem; color:var(--navy); line-height:1.3; }
.cart-item .ci-p{ font-family:var(--sans); font-size:.82rem; color:var(--ink-soft); margin-top:3px; }
.cart-item .rm{ background:none; border:none; color:var(--mcp-deep); font-size:.76rem; cursor:pointer; margin-top:6px; padding:0; }
.cart-item .rm:hover{ text-decoration:underline; }
.cart-empty{ text-align:center; color:var(--ink-soft); font-family:var(--sans); font-size:.92rem; padding:50px 20px; }
.cart-foot{ border-top:1px solid var(--line); padding:16px 20px 22px; }
.cart-foot .tot{ display:flex; justify-content:space-between; font-family:var(--serif); font-size:1.05rem; color:var(--navy); margin-bottom:6px; }
.cart-foot .tot b{ font-family:var(--display); font-size:1.3rem; }
.cart-foot .note{ font-family:var(--sans); font-size:.78rem; color:var(--ink-soft); margin:0 0 12px; }
#mcp-paypal{ min-height:46px; }
.cart-msg{ font-family:var(--sans); font-size:.85rem; border-radius:8px; padding:12px 14px; margin-top:10px; display:none; }
.cart-msg.err{ display:block; background:#fbe9ea; color:#8a2a2a; }
.cart-msg.ok{ display:block; background:#e9f4ec; color:#1f6b3a; }
.cart-downloads a{ display:block; font-family:var(--sans); font-size:.9rem; font-weight:600; color:var(--mcp-deep); padding:7px 0; }
.cart-downloads a:hover{ text-decoration:underline; }

@media(max-width:900px){
  .mcp-grid{ grid-template-columns:repeat(3,1fr); }
  .mcp-detail{ grid-template-columns:220px 1fr; gap:30px; }
  .founders,.cat-desc-grid{ grid-template-columns:1fr 1fr; }
  .auth-index{ column-count:2; }
}
@media(max-width:600px){
  .subbar{ top:60px; }
  .mcp-grid{ grid-template-columns:repeat(2,1fr); gap:18px; }
  .mcp-detail{ grid-template-columns:1fr; }
  .mcp-detail .cover{ position:static; max-width:240px; margin:0 auto; }
  .auth-hero{ grid-template-columns:1fr; text-align:center; justify-items:center; }
  .founders,.cat-desc-grid,.auth-index{ grid-template-columns:1fr; column-count:1; }
}
