/*
Theme Name: MJTunney Creations
Theme URI: https://mjtunney.com
Author: Your Studio Name
Description: Custom author-site theme for MJTunney.com, built to match the client-provided creative direction. Editable via the WordPress Customizer, Menus, and the Book/Event post types without touching code.
Version: 1.0.0
Requires PHP: 7.4
Text Domain: mjtunney
*/

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

:root{
  --ink:#15120d;
  --ink-soft:#1d1811;
  --wood:#2b2019;
  --paper:#f3eee2;
  --paper-dim:#eae3d3;
  --gold:#c6a05c;
  --gold-bright:#dab876;
  --gold-deep:#8f6f38;
  --cream:#efe8d8;
  --cream-dim:#c9c0ab;
  --line: rgba(198,160,92,0.35);
  --max: 1180px;
}

*{box-sizing:border-box; margin:0; padding:0;}
html{scroll-behavior:smooth;}
body{
  background:var(--ink);
  color:var(--cream);
  font-family:'Lora', serif;
  font-size:16px;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%; display:block;}
a{color:inherit; text-decoration:none;}
::selection{background:var(--gold-deep); color:var(--paper);}

.eyebrow{
  font-family:'Jost', sans-serif;
  font-size:12px;
  letter-spacing:0.22em;
  text-transform:uppercase;
  color:var(--gold);
  font-weight:500;
}
h1,h2,h3{font-family:'Cormorant Garamond', serif; font-weight:500; letter-spacing:0.01em;}

.btn{
  display:inline-flex;
  align-items:center;
  gap:10px;
  font-family:'Jost', sans-serif;
  font-size:12.5px;
  letter-spacing:0.16em;
  text-transform:uppercase;
  font-weight:500;
  padding:15px 30px;
  border:1px solid var(--gold);
  color:var(--cream);
  position:relative;
  overflow:hidden;
  transition:color .35s ease;
  cursor:pointer;
  background:none;
}
.btn::before{
  content:"";
  position:absolute; inset:0;
  background:var(--gold);
  transform:translateX(-101%);
  transition:transform .4s cubic-bezier(.65,0,.35,1);
  z-index:0;
}
.btn span{position:relative; z-index:1;}
.btn:hover{color:var(--ink);}
.btn:hover::before{transform:translateX(0);}
.btn.dark{border-color:var(--wood); color:var(--wood);}
.btn.dark::before{background:var(--wood);}
.btn.dark:hover{color:var(--paper);}

.wrap{max-width:var(--max); margin:0 auto; padding:0 44px;}

/* ---------- header ---------- */
#site-header{
  position:fixed; top:0; left:0; right:0; z-index:100;
  background:linear-gradient(to bottom, rgba(21,18,13,0.92), rgba(21,18,13,0));
  padding:26px 0 40px;
  transition:background .3s ease, padding .3s ease;
}
#site-header.scrolled{background:rgba(21,18,13,0.96); padding:16px 0; backdrop-filter:blur(6px); border-bottom:1px solid var(--line);}
.nav{display:flex; align-items:center; justify-content:space-between;}
.brand{display:flex; align-items:center; gap:16px;}
.brand-mark{width:46px; height:46px; flex:none;}
.brand-name{font-family:'Cormorant Garamond', serif; font-size:24px; letter-spacing:0.22em;}
.brand-sub{font-family:'Jost',sans-serif; font-size:9.5px; letter-spacing:0.32em; color:var(--gold); text-transform:uppercase; margin-top:2px;}
.primary-menu{display:flex; align-items:center; gap:38px; list-style:none;}
.primary-menu a{font-family:'Jost',sans-serif; font-size:12.5px; letter-spacing:0.14em; text-transform:uppercase; color:var(--cream-dim); position:relative; padding-bottom:4px;}
.primary-menu a::after{content:""; position:absolute; left:0; bottom:0; width:0; height:1px; background:var(--gold); transition:width .3s ease;}
.primary-menu a:hover{color:var(--cream);}
.primary-menu a:hover::after{width:100%;}
.nav-cta{font-family:'Jost',sans-serif; font-size:11.5px; letter-spacing:0.16em; text-transform:uppercase; border:1px solid var(--gold); padding:11px 20px; color:var(--gold);}
.menu-btn{display:none; flex-direction:column; gap:5px; background:none; border:0; cursor:pointer;}
.menu-btn span{width:24px; height:1px; background:var(--cream); display:block;}

/* ---------- hero ---------- */
.hero{
  min-height:100vh;
  display:flex; align-items:center;
  padding:150px 0 90px;
  background:
    radial-gradient(ellipse 900px 500px at 18% 20%, rgba(198,160,92,0.08), transparent 60%),
    linear-gradient(180deg, var(--ink) 0%, var(--ink-soft) 100%);
  position:relative;
  overflow:hidden;
}
.hero-grid{display:grid; grid-template-columns:1.05fr 0.95fr; gap:70px; align-items:center;}
.hero-copy .eyebrow{margin-bottom:22px; display:block;}
.hero-copy h1{font-size:clamp(40px,5.6vw,66px); line-height:1.06; font-style:italic; font-weight:400; color:var(--cream);}
.hero-copy h1 em{font-style:italic; color:var(--gold-bright);}
.hero-copy p.lede{
  font-family:'Lora',serif; font-size:17px; color:var(--cream-dim); max-width:420px;
  margin:26px 0 36px; padding-top:26px; border-top:1px solid var(--line);
}
.hero-visual{position:relative; display:flex; justify-content:center;}
.book-frame{
  width:100%; max-width:340px; aspect-ratio:2/3;
  background:
    linear-gradient(160deg, #2a2420, #100d0a),
    repeating-linear-gradient(115deg, rgba(255,255,255,0.02) 0 2px, transparent 2px 6px);
  border:1px solid var(--line);
  box-shadow:0 40px 80px -20px rgba(0,0,0,0.6), 0 0 0 1px rgba(0,0,0,0.4);
  display:flex; flex-direction:column; justify-content:space-between;
  padding:36px 28px; position:relative;
  background-size:cover; background-position:center;
}
.book-frame .book-title{font-family:'Cormorant Garamond',serif; font-size:29px; text-align:center; line-height:1.15; color:var(--paper);}
.book-frame .book-sub{font-family:'Jost',sans-serif; font-size:10px; letter-spacing:0.3em; text-align:center; color:var(--gold); margin-top:12px;}
.book-frame .book-author{font-family:'Jost',sans-serif; font-size:13px; letter-spacing:0.24em; text-align:center; color:var(--paper); text-transform:uppercase;}
.book-frame .book-art{flex:1; margin:26px 0; position:relative; opacity:0.9;}
.book-frame.has-cover .book-title,
.book-frame.has-cover .book-sub,
.book-frame.has-cover .book-author{ background:rgba(15,12,9,0.55); padding:6px 10px; }

/* ---------- about ---------- */
.about{background:var(--paper); color:var(--wood); padding:120px 0;}
.about-grid{display:grid; grid-template-columns:0.8fr 1fr 0.9fr; gap:60px; align-items:start;}
.about-photo{aspect-ratio:4/5; background:linear-gradient(160deg,#3a2c20,#1c140d) center/cover no-repeat; position:relative; overflow:hidden;}
.about-photo.placeholder::after{content:"Author photo not set. Add one under Customize > Author Photo."; position:absolute; inset:0; display:flex; align-items:center; justify-content:center; text-align:center; padding:20px; font-family:'Jost',sans-serif; font-size:10px; letter-spacing:0.1em; color:rgba(239,232,216,0.4); text-transform:uppercase;}
.about-body .eyebrow{color:var(--gold-deep); margin-bottom:14px; display:block;}
.about-body h2{font-size:38px; margin-bottom:18px; font-style:italic;}
.about-body p{color:#4a3d30; margin-bottom:24px; max-width:440px;}
.quote-block{border-left:1px solid var(--gold-deep); padding-left:34px; position:relative;}
.quote-block .qmark{font-family:'Cormorant Garamond',serif; font-size:64px; color:var(--gold-deep); line-height:0.6; display:block; margin-bottom:6px;}
.quote-block p{font-style:italic; font-size:19px; line-height:1.5; color:var(--wood); margin-bottom:14px;}
.quote-block .attr{font-family:'Jost',sans-serif; font-size:11px; letter-spacing:0.2em; color:var(--gold-deep); text-transform:uppercase;}

/* ---------- section shell ---------- */
.section-dark{padding:120px 0; position:relative;}
.section-head{display:flex; justify-content:space-between; align-items:flex-end; margin-bottom:56px; gap:30px; flex-wrap:wrap;}
.section-head h1, .section-head h2{font-size:40px; font-style:italic; color:var(--cream);}
.section-head .eyebrow{margin-bottom:12px; display:block;}
.section-head p{color:var(--cream-dim); max-width:380px;}
.page-hero{padding:170px 0 60px;}

/* ---------- books ---------- */
.books-section{background:var(--ink-soft);}
.book-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:36px;}
.book-card{border:1px solid var(--line); padding:30px; display:flex; flex-direction:column; gap:20px; transition:border-color .3s ease, transform .3s ease;}
.book-card:hover{border-color:var(--gold); transform:translateY(-4px);}
.book-card .mini-cover{aspect-ratio:2/3; background:linear-gradient(150deg,#241c15,#100d0a) center/cover no-repeat; display:flex; align-items:center; justify-content:center; padding:20px;}
.book-card .mini-cover span{font-family:'Cormorant Garamond',serif; font-style:italic; font-size:16px; color:var(--cream-dim); text-align:center;}
.book-card.is-featured .mini-cover span{color:var(--gold-bright); font-size:18px;}
.book-card h3{font-size:22px; font-style:italic; color:var(--cream);}
.book-card .status{font-family:'Jost',sans-serif; font-size:10.5px; letter-spacing:0.18em; text-transform:uppercase; color:var(--gold);}
.book-card.is-upcoming{opacity:0.55; border-style:dashed;}
.book-card.is-upcoming .status{color:var(--cream-dim);}
.retailer-row{display:flex; gap:10px; flex-wrap:wrap; margin-top:auto;}
.retailer-row a{font-family:'Jost',sans-serif; font-size:11px; letter-spacing:0.1em; text-transform:uppercase; border:1px solid var(--line); padding:9px 14px; color:var(--cream-dim);}
.retailer-row a:hover{border-color:var(--gold); color:var(--gold);}

/* ---------- journal ---------- */
.journal-section{background:var(--paper); color:var(--wood);}
.journal-section .section-head h1, .journal-section .section-head h2{color:var(--wood);}
.journal-section .section-head p{color:#6b5c47;}
.journal-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:44px;}
.post-card .post-img{aspect-ratio:16/10; background:linear-gradient(150deg,#e4d9c2,#cfc0a0) center/cover no-repeat; margin-bottom:20px; position:relative;}
.post-card .date{font-family:'Jost',sans-serif; font-size:10.5px; letter-spacing:0.18em; color:var(--gold-deep); text-transform:uppercase; margin-bottom:10px; display:block;}
.post-card h3{font-size:22px; margin-bottom:10px; font-style:italic;}
.post-card p{color:#6b5c47; font-size:14.5px; margin-bottom:14px;}
.post-card .read{font-family:'Jost',sans-serif; font-size:11px; letter-spacing:0.14em; text-transform:uppercase; color:var(--wood); border-bottom:1px solid var(--wood); padding-bottom:3px;}
.journal-single{background:var(--paper); color:var(--wood); padding:170px 0 120px;}
.journal-single .entry-content{max-width:720px; margin:0 auto; font-size:17px; line-height:1.8;}
.journal-single .entry-content p{margin-bottom:22px;}
.journal-single .entry-title{font-size:44px; font-style:italic; max-width:720px; margin:0 auto 18px;}
.journal-single .entry-meta{max-width:720px; margin:0 auto 40px; font-family:'Jost',sans-serif; font-size:11px; letter-spacing:0.14em; text-transform:uppercase; color:var(--gold-deep);}

/* ---------- events ---------- */
.events-section{background:var(--ink-soft);}
.event-list{border-top:1px solid var(--line);}
.event-row{display:grid; grid-template-columns:140px 1fr auto; gap:30px; align-items:center; padding:28px 0; border-bottom:1px solid var(--line);}
.event-row .date-block{font-family:'Jost',sans-serif;}
.event-row .date-block .day{font-family:'Cormorant Garamond',serif; font-size:34px; color:var(--gold-bright); line-height:1;}
.event-row .date-block .month{font-size:11px; letter-spacing:0.18em; text-transform:uppercase; color:var(--cream-dim);}
.event-row .details h3{font-size:20px; font-style:italic; color:var(--cream); margin-bottom:6px;}
.event-row .details p{font-size:14px; color:var(--cream-dim);}
.event-row .tag{font-family:'Jost',sans-serif; font-size:10.5px; letter-spacing:0.16em; text-transform:uppercase; color:var(--gold); border:1px solid var(--gold); padding:8px 16px; white-space:nowrap;}

/* ---------- contact ---------- */
.contact-section{background:var(--paper); color:var(--wood);}
.contact-grid{display:grid; grid-template-columns:0.9fr 1.1fr; gap:70px;}
.contact-info h1, .contact-info h2{font-size:38px; font-style:italic; margin-bottom:20px;}
.contact-info p{color:#4a3d30; margin-bottom:30px; max-width:380px;}
.contact-info .info-line{font-family:'Jost',sans-serif; font-size:13px; letter-spacing:0.05em; color:#4a3d30; margin-bottom:10px;}
.contact-info .info-line b{color:var(--wood); font-weight:600;}
.contact-form-wrap form{display:flex; flex-direction:column; gap:20px;}
.contact-form-wrap .form-row{display:grid; grid-template-columns:1fr 1fr; gap:20px;}
.contact-form-wrap label{display:block; font-family:'Jost',sans-serif; font-size:10.5px; letter-spacing:0.14em; text-transform:uppercase; color:#6b5c47; margin-bottom:8px;}
.contact-form-wrap input[type="text"],
.contact-form-wrap input[type="email"],
.contact-form-wrap textarea{
  width:100%; background:transparent; border:none; border-bottom:1px solid #b9ab8d;
  padding:10px 2px; font-family:'Lora',serif; font-size:15px; color:var(--wood); outline:none;
  transition:border-color .3s ease;
}
.contact-form-wrap input:focus, .contact-form-wrap textarea:focus{border-color:var(--gold-deep);}
.contact-form-wrap textarea{resize:vertical; min-height:90px;}
.contact-form-wrap input[type="submit"]{
  align-self:flex-start; font-family:'Jost',sans-serif; font-size:12.5px; letter-spacing:0.16em; text-transform:uppercase;
  padding:15px 30px; border:1px solid var(--wood); background:none; color:var(--wood); cursor:pointer; transition:.3s;
}
.contact-form-wrap input[type="submit"]:hover{background:var(--wood); color:var(--paper);}

/* ---------- footer / newsletter ---------- */
#site-footer{background:var(--ink); padding:90px 0 40px; border-top:1px solid var(--line);}
.footer-top{display:grid; grid-template-columns:1fr 1.2fr 1fr; gap:50px; padding-bottom:70px; border-bottom:1px solid var(--line);}
.footer-brand .brand-name{margin-bottom:16px;}
.footer-brand p{color:var(--cream-dim); font-size:13.5px; margin-top:18px; max-width:220px;}
.footer-verse{text-align:center; display:flex; flex-direction:column; justify-content:center; align-items:center;}
.footer-verse p{font-family:'Cormorant Garamond',serif; font-style:italic; font-size:19px; color:var(--cream); line-height:1.5; margin-bottom:14px;}
.footer-verse .attr{font-family:'Jost',sans-serif; font-size:11px; letter-spacing:0.22em; color:var(--gold); text-transform:uppercase;}
.footer-news .eyebrow{margin-bottom:14px; display:block;}
.footer-news p{color:var(--cream-dim); font-size:14px; margin-bottom:22px; max-width:280px;}
.footer-news .newsletter-embed{border:1px solid var(--line); padding:14px 16px; font-family:'Jost',sans-serif; font-size:12px; color:var(--cream-dim);}
.footer-bottom{display:flex; justify-content:space-between; align-items:center; padding-top:34px; flex-wrap:wrap; gap:20px;}
.footer-bottom p{font-size:12.5px; color:var(--cream-dim);}
.social-row{display:flex; gap:18px; list-style:none;}
.social-row a{width:36px; height:36px; border:1px solid var(--line); border-radius:50%; display:flex; align-items:center; justify-content:center; font-family:'Jost',sans-serif; font-size:12px; color:var(--cream-dim); transition:.3s;}
.social-row a:hover{border-color:var(--gold); color:var(--gold);}

@media (max-width:980px){
  .hero-grid{grid-template-columns:1fr; text-align:center;}
  .hero-copy p.lede{margin-left:auto; margin-right:auto;}
  .hero-copy .eyebrow{text-align:center;}
  .about-grid{grid-template-columns:1fr; gap:44px;}
  .book-grid, .journal-grid{grid-template-columns:1fr 1fr;}
  .contact-grid{grid-template-columns:1fr;}
  .footer-top{grid-template-columns:1fr; text-align:center; gap:40px;}
  .footer-verse{order:-1;}
  .primary-menu{display:none;}
  .menu-btn{display:flex;}
}
@media (max-width:620px){
  .wrap{padding:0 24px;}
  .book-grid, .journal-grid{grid-template-columns:1fr;}
  .event-row{grid-template-columns:1fr; text-align:left; gap:12px;}
  .contact-form-wrap .form-row{grid-template-columns:1fr;}
  .footer-bottom{flex-direction:column; align-items:flex-start;}
}
