/*
Theme Name: PD Studios
Description: Publisher theme for Perspective Detective Studios.
Version: 1.0
Text Domain: pd-studios
*/

:root{--espresso:#2a1a12; --cream:#f7f1e6; --ink:#2a1a12; --soft:#6b5a4c; --gold:#c9962e; --rule:#e2d6c2; --card:#fffdf8;}
*{box-sizing:border-box;}
body{margin:0; background:var(--cream); color:var(--ink); font-family:Georgia,"Times New Roman",serif; line-height:1.6; font-size:17px;}
a{color:var(--espresso);}
.top{background:var(--espresso); color:var(--cream); padding:14px 18px; display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:10px;}
.top .brand{color:var(--cream); text-decoration:none; font-weight:bold; font-size:1.05rem;}
.top nav a{color:var(--cream); text-decoration:none; margin-left:14px; font-size:.95rem;}
.top nav a.on{color:var(--gold); border-bottom:2px solid var(--gold);}
main{max-width:900px; margin:0 auto; padding:24px 18px;}
.hero{padding:28px 0 12px;}
.kicker{color:var(--gold); letter-spacing:.12em; text-transform:uppercase; font-size:.85rem; margin:0 0 8px;}
h1{font-size:2rem; line-height:1.2; margin:.2em 0 .4em;}
h2{font-size:1.25rem; margin:1.4em 0 .5em;}
.lead{font-size:1.1rem; color:var(--soft);}
.btn{display:inline-block; background:var(--gold); color:var(--espresso); padding:10px 18px; border-radius:6px; text-decoration:none; margin:4px 6px 4px 0; font-weight:bold;}
.btn.ghost{background:transparent; border:1px solid var(--gold); color:var(--espresso);}
.cards{display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:14px; margin:20px 0;}
.card{background:var(--card); border:1px solid var(--rule); border-radius:10px; padding:16px; text-decoration:none; color:var(--ink);}
.card h2{margin-top:0;}
.placeholder{border:2px dashed var(--rule); border-radius:10px; padding:28px; text-align:center; color:var(--soft); background:var(--card); margin:12px 0;}
.list li{margin:.3em 0;}
.note{color:var(--soft); font-size:.92rem;}
.prose p{margin:.7em 0;}
.foot{background:var(--espresso); color:var(--cream); padding:22px 18px;}
.signup{max-width:560px; margin:0 auto 18px;}
.signup h2{margin-top:0; color:var(--gold);}
.signup-form{display:grid; gap:8px;}
.signup-form input[type=email]{padding:10px; font:inherit; border-radius:6px; border:1px solid var(--rule);}
.signup-form button{background:var(--gold); color:var(--espresso); border:0; padding:11px; font:inherit; font-weight:bold; border-radius:6px; cursor:pointer;}
.consent{font-size:.92rem; display:flex; gap:8px; align-items:flex-start;}
.foot-links{display:flex; flex-wrap:wrap; gap:14px; justify-content:center; font-size:.9rem; margin-top:14px;}
.foot-links a{color:var(--cream);}
.social{text-align:center; font-size:.88rem; margin-top:12px; color:var(--rule);}
@media (max-width:600px){h1{font-size:1.6rem;} .top nav a{margin-left:10px;}}
.hero-art{margin:18px 0 6px; min-height:180px; display:flex; align-items:center; justify-content:center;}
.shelf{margin-top:18px;}
.ladder{display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:12px;}
.rung{display:flex; flex-direction:column; gap:4px; background:var(--card); border:1px solid var(--rule); border-radius:10px; padding:14px; text-decoration:none; color:var(--ink);}
.rung span{color:var(--gold); font-size:.85rem; letter-spacing:.08em; text-transform:uppercase;}
.new{margin-top:20px;}
.sample-download{margin:12px 0;}

.hero-split{display:grid; grid-template-columns:1fr; gap:24px; align-items:center;}
.hero-split img{max-width:100%; height:auto; border-radius:6px; box-shadow:0 6px 18px rgba(42,26,18,.25);}
@media (min-width:700px){.hero-split{grid-template-columns:1.1fr 1fr;}}
.covers{display:flex; flex-wrap:wrap; gap:14px; align-items:flex-start;}
.covers img{width:120px; height:auto; border-radius:4px; box-shadow:0 4px 12px rgba(42,26,18,.2);}
.rung-art{display:flex; gap:12px; align-items:center;}
.rung-art img{width:64px; height:auto; border-radius:4px; flex:0 0 auto;}
.blurb-box{background:var(--card); border:1px solid var(--rule); border-radius:10px; padding:16px; margin:14px 0;}
.feature-art{width:100%; max-width:360px; height:auto; border-radius:6px; display:block; margin:0 auto;}
.card img{width:100%; height:auto; border-radius:6px; margin-bottom:8px;}
.hero-split img{max-height:460px; width:auto; max-width:100%; object-fit:contain; margin:0 auto; display:block;}
.card img{max-height:180px; width:100%; object-fit:contain; background:#fff;}
.feature-art{max-height:420px; width:auto; max-width:100%; object-fit:contain;}
.rung-art img{width:64px; height:88px; object-fit:cover;}
.covers img, .ladder img{max-width:100%;}
.rung-art{display:flex; flex-direction:column; align-items:flex-start; gap:10px;}
.rung-art img{width:100%; max-width:170px; height:auto; aspect-ratio:auto; object-fit:contain; background:#fff; border-radius:4px;}
.rung-art > div{display:flex; flex-direction:column; gap:2px;}
.cards .card img{width:100%; height:auto; max-height:none; object-fit:contain; background:#fff; border-radius:6px; margin-bottom:10px;}
.rung em{font-style:normal; font-size:.85rem; color:var(--soft);}
.rung-art.covers-row{flex-direction:row; flex-wrap:wrap;}
.rung-art.covers-row img{width:70px; max-width:70px; height:auto;}
.rung-art.covers-row > div{flex-basis:100%;}
.cast{margin:0 -18px; display:flex; flex-direction:column;}
.cast-top{position:relative; background:#2a1a12; display:flex; justify-content:center; align-items:flex-end; min-height:260px; overflow:hidden; padding-top:24px;}
.cast-glow{position:absolute; left:50%; top:45%; width:340px; height:340px; transform:translate(-50%,-50%); border-radius:50%; background:radial-gradient(circle, rgba(232,192,96,.55) 0%, rgba(232,192,96,0) 70%); pointer-events:none;}
.cast-mature{position:relative; height:300px; width:auto; max-width:60%; object-fit:contain;}
.cast-body{background:#f7f1e6; display:grid; grid-template-columns:1fr; gap:14px; align-items:center; padding:20px 18px 30px;}
.cast-side{display:none; height:auto;}
.cast-copy{text-align:center;}
.cast-copy h1{font-size:1.9rem;}
@media (min-width:700px){
  .cast-body{grid-template-columns:260px 1fr 260px; gap:24px;}
  .cast-side{display:block; width:100%; max-height:420px; object-fit:contain;}
  .cast-copy{text-align:left;}
}
.top{align-items:center;}
.nav-mature{height:96px; width:auto; margin:-14px 0 -10px 0; filter:drop-shadow(0 0 10px rgba(232,192,96,.55));}
.cast-top{display:none;}
.nav-mature{height:110px; margin:-18px 0 -12px 0; padding:8px 6px; border-radius:50%; background:radial-gradient(circle at 50% 45%, #f7f1e6 55%, rgba(247,241,230,0) 74%); filter:drop-shadow(0 0 8px rgba(232,192,96,.9));}
.top{padding-top:0; padding-bottom:0;}
.nav-mature{height:170px; width:auto; margin:-40px 0 -30px 0; padding:0; border-radius:0; background:none; filter:drop-shadow(0 0 2px #f7f1e6) drop-shadow(0 0 10px rgba(232,192,96,.8));}
.top .brand{font-family:"Fraunces", Georgia, serif; font-size:2.1rem; font-weight:700; letter-spacing:.01em; line-height:1; color:var(--cream); text-decoration:none;}
@media (max-width:600px){.top .brand{font-size:1.6rem;}}
.top .brand{font-family:"Fraunces", Georgia, serif; font-size:2.1rem; font-weight:700; letter-spacing:.01em; line-height:1; color:var(--cream); text-decoration:none;}
@media (max-width:600px){.top .brand{font-size:1.6rem;}}
.start{margin-top:26px;}
.start h2{text-align:center;}
.start-grid{display:grid; grid-template-columns:1fr; gap:14px;}
.start-card{background:var(--card); border:1px solid var(--rule); border-radius:12px; padding:14px; text-decoration:none; color:var(--ink); display:flex; flex-direction:column; gap:6px; text-align:center;}
.start-card img{width:100%; max-height:220px; object-fit:contain; border-radius:6px;}
.start-card h3{margin:6px 0 0; font-size:1.1rem;}
.start-card p{margin:0; color:var(--soft); font-size:.95rem;}
@media (min-width:700px){.start-grid{grid-template-columns:repeat(3,1fr);}}
.motto{display:grid; grid-template-columns:1fr; gap:10px; margin:26px 0; text-align:center; border-top:1px solid var(--rule); border-bottom:1px solid var(--rule); padding:18px 0;}
.motto-item b{display:block; font-family:"Fraunces",Georgia,serif; color:var(--gold); font-size:1.2rem; letter-spacing:.06em; text-transform:uppercase;}
.motto-item span{color:var(--soft); font-size:.95rem;}
@media (min-width:700px){.motto{grid-template-columns:repeat(3,1fr);}}
.preview{margin:26px 0;}
.preview h2{text-align:center;}
.preview-row{display:grid; grid-template-columns:1fr 1fr; gap:12px; align-items:start;}
.preview-row img{width:100%; height:auto; border-radius:6px; box-shadow:0 4px 14px rgba(42,26,18,.2); background:#fff;}
.about-band{display:grid; grid-template-columns:1fr; gap:16px; align-items:center; background:#2a1a12; color:#f7f1e6; padding:22px 18px; border-radius:12px; margin:26px 0;}
.about-band h2{color:var(--gold); margin-top:0;}
.about-band p{color:#f7f1e6;}
.about-band img{max-height:260px; width:auto; margin:0 auto; object-fit:contain;}
.about-band .btn.ghost{color:#f7f1e6; border-color:var(--gold);}
@media (min-width:700px){.about-band{grid-template-columns:260px 1fr;}}
/* homepage length: smaller images, tighter spacing */
.cast-side{max-height:260px !important;}
.cast-mature{height:200px !important;}
.start-card img{max-height:140px !important;}
.start{margin-top:14px !important;}
.motto{margin:14px 0 !important; padding:12px 0 !important;}
.shelf{margin-top:14px !important;}
.rung-art img{max-width:110px !important; height:auto !important;}
.rung-art.covers-row img{width:52px !important; max-width:52px !important;}
.preview{margin:14px 0 !important;}
.preview-row img{max-height:240px; width:auto; margin:0 auto; object-fit:contain;}
.about-band{margin:14px 0 !important; padding:16px 14px !important;}
.about-band img{max-height:170px !important;}
/* motto: large, bold, proud */
.motto{background:#2a1a12; color:#f7f1e6; border:0 !important; border-radius:12px; padding:26px 16px !important; margin:18px 0 !important;}
.motto-item b{font-size:2.2rem !important; font-weight:700; color:#e8c060 !important; letter-spacing:.08em !important; line-height:1.1;}
.motto-item span{color:#f7f1e6 !important; font-size:1.05rem !important; font-weight:700;}
@media (max-width:600px){.motto-item b{font-size:1.8rem !important;}}
/* side rails: motto down both sides of the homepage */
.home-wrap{display:block;}
.home-main{min-width:0;}
.rail{display:none;}
@media (min-width:1100px){
  .home-wrap{display:grid; grid-template-columns:130px minmax(0,1fr) 130px; gap:18px; max-width:1300px; margin:0 auto;}
  .rail{display:flex; flex-direction:column; justify-content:space-around; align-items:center; background:#2a1a12; color:#e8c060; padding:24px 0; border-radius:10px; position:sticky; top:12px; align-self:start; height:calc(100vh - 24px); min-height:520px;}
  .rail span{writing-mode:vertical-rl; font-family:"Fraunces",Georgia,serif; font-weight:700; font-size:1.7rem; letter-spacing:.14em; line-height:1;}
  .rail-left span{transform:rotate(180deg);}
  .home-main{max-width:900px;}
}
.brand-stack{display:flex; flex-direction:column; gap:2px;}
.nav-motto{color:#e8c060; font-family:"Fraunces",Georgia,serif; font-weight:700; font-size:.95rem; letter-spacing:.08em; text-transform:uppercase;}
/* books page: clear separation between each book */
.book-entry{display:flex; gap:18px; align-items:flex-start; padding:20px 0 22px; margin:0 !important; border-top:1px solid var(--rule);}
.book-entry:first-of-type{border-top:0;}
.book-entry img{width:140px; height:auto; border-radius:4px; flex:0 0 auto; box-shadow:0 4px 12px rgba(42,26,18,.18);}
.book-entry > div{flex:1; min-width:0;}
.book-entry .blurb{margin:8px 0 0; color:var(--soft); font-style:italic;}
.book-entry p{margin:0 0 6px;}
@media (max-width:600px){.book-entry{flex-direction:column; gap:10px;} .book-entry img{width:110px;}}
/* books page: each book is its own card */
.book-entry{background:var(--card) !important; border:1px solid var(--rule) !important; border-radius:12px !important; padding:18px !important; margin:0 0 22px !important; box-shadow:0 4px 14px rgba(42,26,18,.10) !important; border-top:1px solid var(--rule) !important;}
.book-entry:first-of-type{border-top:1px solid var(--rule) !important;}
.page .prose h2, .prose h2{margin-top:1.8em;}
