/*
Theme Name: Bespoke Media Publishing — Cozy Editorial
Theme URI: https://example.com/
Author: Bespoke Media Publishing
Description: A warm, editorial WordPress theme created for Bespoke Media Publishing. Includes a complete book catalog, author and series archives, a cozy library homepage, news, contact form, and editable publishing details.
Version: 2.4.0
Requires at least: 6.2
Requires PHP: 7.4
Text Domain: bespoke-media-publishing
License: GPL-2.0-or-later
*/

:root{
  --bmp-black:#0d0c0a;
  --bmp-ink:#1b1814;
  --bmp-brown:#2a2118;
  --bmp-cream:#f7f1e6;
  --bmp-paper:#fbf8f1;
  --bmp-gold:#d3ad63;
  --bmp-gold-deep:#a77f3a;
  --bmp-line:#dfd2bc;
  --bmp-muted:#746a5e;
  --bmp-white:#fffdf8;
  --bmp-serif: Georgia, "Times New Roman", Times, serif;
  --bmp-sans: "Helvetica Neue", Arial, sans-serif;
  --bmp-max: 1320px;
  --bmp-shadow: 0 18px 45px rgba(38,28,18,.16);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bmp-paper);color:var(--bmp-ink);font:16px/1.65 var(--bmp-sans);-webkit-font-smoothing:antialiased}
body.admin-bar .site-header{top:32px}
img{max-width:100%;height:auto}
a{color:inherit}
a:hover{color:var(--bmp-gold-deep)}
h1,h2,h3,h4{font-family:var(--bmp-serif);font-weight:400;line-height:1.08}
h1{font-size:clamp(3.1rem,6.6vw,6.25rem)}
h2{font-size:clamp(2.15rem,4vw,4rem)}
h3{font-size:1.55rem}
p{margin:0 0 1.2em}
input,textarea,select,button{font:inherit}
button{cursor:pointer}
::selection{background:var(--bmp-gold);color:var(--bmp-black)}

.bmp-shell{width:min(calc(100% - 48px),var(--bmp-max));margin-inline:auto}
.bmp-narrow{width:min(calc(100% - 48px),840px);margin-inline:auto}
.bmp-kicker{margin:0 0 14px;font-size:.72rem;font-weight:700;letter-spacing:.28em;text-transform:uppercase}
.bmp-gold-rule{width:82px;height:2px;background:var(--bmp-gold);margin:20px 0}
.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.screen-reader-text:focus{clip:auto!important;width:auto;height:auto;margin:10px;padding:12px 16px;z-index:100000;background:#fff;color:#000}

.bmp-button{
  display:inline-flex;align-items:center;gap:14px;min-height:50px;padding:13px 28px;
  border:1px solid var(--bmp-gold);background:var(--bmp-gold);color:#17120c;
  font-size:.74rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;text-decoration:none;
  transition:.2s ease;
}
.bmp-button:hover{background:#e0bd78;color:#17120c;transform:translateY(-1px)}
.bmp-button--outline{background:transparent;color:var(--bmp-gold)}
.bmp-button--outline:hover{background:var(--bmp-gold);color:#17120c}
.bmp-button--ink{background:var(--bmp-black);border-color:var(--bmp-black);color:var(--bmp-cream)}
.bmp-button--ink:hover{background:#2c251c;color:#fff}
.bmp-text-link{font-size:.72rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;text-decoration:none}
.bmp-text-link::after{content:" →";margin-left:8px;color:var(--bmp-gold-deep)}

/* Top bar + header */
.bmp-topbar{background:var(--bmp-cream);color:#443b31;border-bottom:1px solid rgba(110,91,63,.16)}
.bmp-topbar__inner{min-height:34px;display:flex;align-items:center;justify-content:center;position:relative;font:600 .62rem/1.3 var(--bmp-sans);letter-spacing:.22em;text-transform:uppercase}
.bmp-topbar__mail{position:absolute;right:0;font:italic 400 .76rem/1 var(--bmp-serif);letter-spacing:0;text-transform:none;text-decoration:none}
.site-header{position:sticky;top:0;z-index:50;background:rgba(13,12,10,.98);color:var(--bmp-cream);box-shadow:0 9px 30px rgba(0,0,0,.16)}
.site-header__inner{min-height:116px;display:grid;grid-template-columns:minmax(260px,390px) 1fr auto;align-items:center;gap:34px}
.site-branding img{display:block;width:min(100%,360px);max-height:86px;object-fit:contain;object-position:left center}
.site-title{font:400 2rem var(--bmp-serif);color:var(--bmp-gold);text-decoration:none}
.site-nav ul{display:flex;align-items:center;justify-content:center;gap:34px;list-style:none;margin:0;padding:0}
.site-nav a{position:relative;color:#f6efe3;text-decoration:none;font:400 .94rem var(--bmp-serif)}
.site-nav a:hover,.site-nav .current-menu-item>a{color:var(--bmp-gold)}
.site-nav .current-menu-item>a::after{content:"";position:absolute;left:0;right:0;bottom:-15px;height:2px;background:var(--bmp-gold)}
.site-header__actions{display:flex;align-items:center;gap:20px}
.bmp-search-toggle,.bmp-menu-toggle{border:0;background:transparent;color:var(--bmp-cream);padding:8px}
.bmp-search-toggle svg,.bmp-menu-toggle svg{display:block}
.bmp-menu-toggle{display:none}
.bmp-header-cta{white-space:nowrap}
.bmp-search-panel{display:none;background:#15120e;border-top:1px solid rgba(211,173,99,.28)}
.bmp-search-panel.is-open{display:block}
.bmp-search-panel form{display:flex;gap:10px;padding:18px 0}
.bmp-search-panel input{flex:1;min-width:0;background:#211b14;color:#fff;border:1px solid #5f4f39;padding:12px 14px}

/* Hero */
.bmp-hero{
  position:relative;min-height:590px;display:flex;align-items:center;color:#fff;
  background-color:#20170f;background-size:cover;background-position:center;
  overflow:hidden;
}
.bmp-hero::before{
  content:"";position:absolute;inset:0;
  background:
    linear-gradient(90deg,rgba(8,7,5,.93) 0%,rgba(8,7,5,.82) 30%,rgba(8,7,5,.42) 54%,rgba(8,7,5,.08) 76%,rgba(8,7,5,.18) 100%),
    linear-gradient(0deg,rgba(7,5,3,.28),rgba(7,5,3,0) 45%);
}
.bmp-hero__inner{position:relative;z-index:1;padding:74px 0 78px}
.bmp-hero__content{max-width:650px}
.bmp-hero h1{margin:0;color:#fff;letter-spacing:-.035em;text-wrap:balance}
.bmp-hero__intro{max-width:610px;margin:0;font:400 clamp(1.1rem,1.7vw,1.42rem)/1.45 var(--bmp-serif);color:#f4eee5}
.bmp-hero__actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}
.bmp-hero__quote{position:absolute;right:0;bottom:34px;width:min(410px,36%);text-align:right;color:#eee4d4;font:italic 1.05rem/1.4 var(--bmp-serif)}
.bmp-hero__quote small{display:block;margin-top:6px;font:600 .65rem var(--bmp-sans);letter-spacing:.14em;text-transform:uppercase;color:var(--bmp-gold)}

/* Featured books */
.bmp-home-books{padding:58px 0 62px;background:var(--bmp-paper)}
.bmp-home-books__top{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:26px}
.bmp-home-books__title{display:flex;align-items:center;gap:18px}
.bmp-home-books__title .bmp-kicker{margin:0}
.bmp-home-books__title::after{content:"";width:120px;height:1px;background:var(--bmp-gold)}
.bmp-home-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr)) minmax(270px,1.2fr);gap:32px;align-items:start}
.bmp-home-grid__philosophy{border-left:1px solid var(--bmp-line);padding:20px 0 20px 38px;min-height:100%}
.bmp-home-grid__philosophy h2{font-size:1rem;line-height:1.55;letter-spacing:.28em;text-transform:uppercase;margin:0 0 24px}
.bmp-home-grid__philosophy p{font:400 1.35rem/1.45 var(--bmp-serif);margin-bottom:28px}
.bmp-book-card{min-width:0;text-align:center}
.bmp-book-card__cover{
  display:block;aspect-ratio:2/3;overflow:hidden;background:#e8ddca;
  box-shadow:0 12px 28px rgba(50,36,20,.18);margin-bottom:15px;
}
.bmp-book-card__cover img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease}
.bmp-book-card:hover .bmp-book-card__cover img{transform:scale(1.025)}
.bmp-book-card__placeholder{
  height:100%;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:28px;
  background:
    radial-gradient(circle at 30% 20%,rgba(211,173,99,.22),transparent 28%),
    linear-gradient(150deg,#efe4d1,#c9b08a);
  border:1px solid rgba(126,93,49,.22);color:#3d2b18;font-family:var(--bmp-serif)
}
.bmp-book-card__placeholder span{display:block;font-size:1.45rem;line-height:1.08}
.bmp-book-card__placeholder small{display:block;margin-top:16px;font:700 .58rem var(--bmp-sans);letter-spacing:.18em;text-transform:uppercase}
.bmp-book-card h3{font-size:1.12rem;margin:0 0 4px}
.bmp-book-card h3 a{text-decoration:none}
.bmp-book-card__author,.bmp-book-meta{font:italic .93rem/1.35 var(--bmp-serif);color:#5f554a;margin:0}
.bmp-book-card__series{font:700 .62rem var(--bmp-sans);letter-spacing:.13em;text-transform:uppercase;color:var(--bmp-gold-deep);margin-top:7px}

/* Quote + editorial bands */
.bmp-quote-band{
  color:#efe6d8;text-align:center;padding:34px 0 38px;
  background:
    radial-gradient(circle at 25% 50%,rgba(116,76,33,.22),transparent 30%),
    linear-gradient(115deg,#0b0a08,#22180f 48%,#0d0b09);
  border-top:1px solid rgba(211,173,99,.22)
}
.bmp-quote-band blockquote{margin:0 auto;max-width:940px;font:italic clamp(1.25rem,2.2vw,1.75rem)/1.45 var(--bmp-serif)}
.bmp-quote-band .bmp-gold-rule{margin:18px auto 0;width:50px}
.bmp-philosophy{padding:88px 0;background:#16120e;color:#f2eadf}
.bmp-philosophy__grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:80px;align-items:start}
.bmp-philosophy h2{margin:0}
.bmp-philosophy p{color:#d6cbbc}
.bmp-principles{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#4a3b2c;border:1px solid #4a3b2c}
.bmp-principle{background:#18130e;padding:34px 28px}
.bmp-principle span{color:var(--bmp-gold);font-size:.67rem;letter-spacing:.18em;text-transform:uppercase}
.bmp-principle h3{margin:12px 0 12px;color:#fff}
.bmp-principle p{margin:0;font-size:.93rem}

/* Interior */
.bmp-page-hero{
  color:#f6efe5;padding:78px 0 66px;
  background:
    radial-gradient(circle at 80% 30%,rgba(178,126,53,.16),transparent 34%),
    linear-gradient(115deg,#100e0b,#2b2015);
  border-bottom:1px solid rgba(211,173,99,.3)
}
.bmp-page-hero h1{margin:0;font-size:clamp(3rem,6vw,5.3rem)}
.bmp-page-hero p{max-width:760px;margin:18px 0 0;font:400 1.25rem/1.55 var(--bmp-serif);color:#ddd1c1}
.bmp-content{padding:72px 0 100px}
.bmp-content h2,.bmp-content h3{margin-top:1.6em}
.bmp-prose{font-size:1.05rem}
.bmp-prose>p:first-child{font:400 1.35rem/1.55 var(--bmp-serif)}

.bmp-catalog-toolbar{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:38px}
.bmp-catalog-toolbar p{margin:0;color:var(--bmp-muted)}
.bmp-books{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:44px 30px}
.pagination,.nav-links{margin-top:50px}
.nav-links{display:flex;flex-wrap:wrap;gap:8px}
.page-numbers{display:inline-flex;min-width:38px;height:38px;align-items:center;justify-content:center;border:1px solid var(--bmp-line);text-decoration:none}
.page-numbers.current{background:var(--bmp-black);color:#fff;border-color:var(--bmp-black)}

.bmp-book-single{padding:74px 0 110px}
.bmp-book-single__grid{display:grid;grid-template-columns:minmax(250px,390px) minmax(0,1fr);gap:clamp(48px,7vw,105px);align-items:start}
.bmp-book-single__cover{aspect-ratio:2/3;overflow:hidden;background:#e4d5bd;box-shadow:var(--bmp-shadow)}
.bmp-book-single__cover img{width:100%;height:100%;object-fit:cover}
.bmp-book-single h1{font-size:clamp(3rem,6vw,5.2rem);margin:0 0 8px}
.bmp-book-single__subtitle{font:italic 1.4rem/1.45 var(--bmp-serif);color:var(--bmp-muted)}
.bmp-book-single__byline{margin:20px 0 26px;font:.78rem var(--bmp-sans);font-weight:700;letter-spacing:.16em;text-transform:uppercase}
.bmp-book-single__excerpt{font:400 1.3rem/1.55 var(--bmp-serif)}
.bmp-book-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--bmp-line);border:1px solid var(--bmp-line);margin:30px 0}
.bmp-book-fact{background:var(--bmp-paper);padding:15px 18px}
.bmp-book-fact small{display:block;color:var(--bmp-muted);font-size:.62rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;margin-bottom:3px}
.bmp-buy-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:30px}

.bmp-author-list{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.bmp-author-card{padding:30px;border:1px solid var(--bmp-line);background:#fffaf2;text-decoration:none;transition:.2s ease}
.bmp-author-card:hover{transform:translateY(-2px);box-shadow:0 12px 30px rgba(54,39,22,.08);color:inherit}
.bmp-author-card__initial{width:54px;height:54px;border:1px solid var(--bmp-gold);display:grid;place-items:center;margin-bottom:18px;font:400 1.6rem var(--bmp-serif);color:var(--bmp-gold-deep)}
.bmp-author-card h2{font-size:1.7rem;margin:0 0 8px}
.bmp-author-card p{margin:0;color:var(--bmp-muted)}

.bmp-contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:75px}
.bmp-contact-aside{padding-right:30px}
.bmp-contact-aside h2{margin-top:0}
.bmp-form label{display:block;margin:0 0 18px;font-size:.69rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase}
.bmp-form input,.bmp-form textarea,.bmp-form select{
  width:100%;margin-top:7px;border:1px solid #cdbfa9;background:#fffdf9;color:var(--bmp-ink);padding:13px 14px;border-radius:0
}
.bmp-form textarea{min-height:190px;resize:vertical}
.bmp-form__hp{position:absolute!important;left:-10000px!important}
.bmp-notice{padding:14px 16px;border-left:3px solid var(--bmp-gold);background:#f0e4d2;margin-bottom:24px}
.bmp-post-list{display:grid;gap:32px}
.bmp-post-card{padding-bottom:32px;border-bottom:1px solid var(--bmp-line)}
.bmp-post-card h2{font-size:2rem;margin:7px 0 10px}
.bmp-post-card h2 a{text-decoration:none}
.bmp-post-meta{font-size:.69rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:var(--bmp-muted)}

.search-results .bmp-post-card{padding-bottom:28px}

/* Footer */
.site-footer{background:#0c0b09;color:#d9cdbd;border-top:1px solid rgba(211,173,99,.25);padding:54px 0 28px}
.site-footer__grid{display:grid;grid-template-columns:1.25fr .7fr .8fr;gap:55px}
.site-footer__logo{width:min(360px,100%);margin-bottom:20px}
.site-footer__brand p{max-width:520px;color:#c9bdad}
.site-footer h3{font:.68rem var(--bmp-sans);font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--bmp-gold)}
.site-footer ul{list-style:none;margin:0;padding:0}
.site-footer li{margin:7px 0}
.site-footer a{text-decoration:none;color:#e7dfd2}
.site-footer a:hover{color:var(--bmp-gold)}
.site-footer__bottom{display:flex;justify-content:space-between;gap:24px;margin-top:42px;padding-top:22px;border-top:1px solid #30281f;font-size:.75rem;color:#9e9284}
.site-footer__bottom a{color:#b8aa99}

/* Responsive */
@media (max-width:1120px){
  .site-header__inner{grid-template-columns:minmax(230px,330px) 1fr auto}
  .site-nav ul{gap:22px}
  .bmp-header-cta{display:none}
  .bmp-home-grid{grid-template-columns:repeat(4,1fr)}
  .bmp-home-grid__philosophy{grid-column:1/-1;border-left:0;border-top:1px solid var(--bmp-line);padding:34px 0 0;display:grid;grid-template-columns:.8fr 1.2fr;gap:40px}
  .bmp-books{grid-template-columns:repeat(3,1fr)}
}
@media (max-width:900px){
  body.admin-bar .site-header{top:46px}
  .bmp-topbar__inner{justify-content:flex-start}
  .bmp-topbar__mail{right:0}
  .site-header__inner{min-height:88px;grid-template-columns:1fr auto}
  .site-branding img{width:min(300px,66vw);max-height:70px}
  .bmp-menu-toggle{display:block}
  .site-nav{display:none;position:absolute;left:0;right:0;top:88px;background:#0d0c0a;border-top:1px solid #3b3024;padding:24px}
  .site-nav.is-open{display:block}
  .site-nav ul{flex-direction:column;align-items:flex-start;gap:18px}
  .site-nav .current-menu-item>a::after{bottom:-6px}
  .site-header__actions{gap:4px}
  .bmp-search-toggle{display:none}
  .bmp-hero{min-height:560px;background-position:58% center}
  .bmp-hero::before{background:linear-gradient(90deg,rgba(7,6,4,.94),rgba(7,6,4,.76) 58%,rgba(7,6,4,.28))}
  .bmp-hero__quote{display:none}
  .bmp-home-grid{grid-template-columns:repeat(2,1fr)}
  .bmp-home-grid__philosophy{grid-template-columns:1fr}
  .bmp-philosophy__grid,.bmp-contact-grid,.bmp-book-single__grid{grid-template-columns:1fr}
  .bmp-principles{grid-template-columns:1fr}
  .bmp-books{grid-template-columns:repeat(2,1fr)}
  .bmp-author-list{grid-template-columns:repeat(2,1fr)}
  .site-footer__grid{grid-template-columns:1fr 1fr}
  .site-footer__brand{grid-column:1/-1}
}
@media (max-width:600px){
  .bmp-shell,.bmp-narrow{width:min(calc(100% - 28px),var(--bmp-max))}
  .bmp-topbar__inner{min-height:38px;font-size:.54rem;letter-spacing:.12em}
  .bmp-topbar__mail{display:none}
  .site-header__inner{min-height:76px}
  .site-nav{top:76px}
  .site-branding img{width:min(250px,70vw)}
  .bmp-hero{min-height:590px;background-position:62% center}
  .bmp-hero__inner{padding:66px 0}
  .bmp-hero h1{font-size:clamp(3.2rem,15vw,4.7rem)}
  .bmp-hero__intro{font-size:1.14rem}
  .bmp-home-books{padding-top:44px}
  .bmp-home-books__top{align-items:flex-start}
  .bmp-home-books__title::after{display:none}
  .bmp-home-grid,.bmp-books,.bmp-author-list{grid-template-columns:1fr 1fr;gap:30px 18px}
  .bmp-home-grid__philosophy{grid-column:1/-1}
  .bmp-book-card h3{font-size:1rem}
  .bmp-page-hero{padding:58px 0 48px}
  .bmp-book-facts{grid-template-columns:1fr}
  .site-footer__grid{grid-template-columns:1fr}
  .site-footer__brand{grid-column:auto}
  .site-footer__bottom{display:block}
  .site-footer__bottom span{display:block;margin-top:6px}
}
@media (max-width:390px){
  .bmp-home-grid,.bmp-books,.bmp-author-list{grid-template-columns:1fr}
}
