/*
Theme Name: Sage Starter 910
Author: Jamie Web
Description: Custom starter theme with responsive design.
Version: 2.14.5
Requires PHP: 8.1
Tags: featured-images, portfolio, translation-ready, sticky-post
Text Domain: sage-starter-910
Tested up to: 6.5
*/

:root{
  --cream:#f6efe1;
  --ink:#1c1a17;
  --rule:#1c1a17;
  --accent:#8a2b1f;
  --muted:#6b5a44;
  --paper:#fbf6ea;
  --shadow:0 1px 0 rgba(28,26,23,.08);
}
@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:wght@700;900&family=PT+Serif:wght@400;700&family=Old+Standard+TT:wght@400;700&display=swap');
html{scroll-behavior:smooth;}
html,body{overflow-x:hidden;}
*{box-sizing:border-box;}
body{
  margin:0;
  background:var(--cream);
  color:var(--ink);
  font-family:"PT Serif","Old Standard TT",Georgia,serif;
  font-size:18px;
  line-height:1.7;
}
a{color:var(--accent);text-decoration:none;border-bottom:1px solid rgba(138,43,31,.35);}
a:hover{border-bottom-color:var(--accent);}
h1,h2,h3,h4{font-family:"Playfair Display","Old Standard TT",Georgia,serif;color:var(--ink);line-height:1.2;}
h1{font-size:clamp(2rem,4.6vw,3.4rem);font-weight:900;margin:.4em 0;letter-spacing:.005em;}
h2{font-size:1.7rem;margin:1.4em 0 .5em;border-bottom:1px solid var(--rule);padding-bottom:.25em;}
h3{font-size:1.3rem;margin:1.1em 0 .4em;}
p{margin:0 0 1.1em;}
img{width:100%;}
.container{max-width:1180px;margin:0 auto;padding:0 24px;}
.rubric{
  display:inline-block;
  font-family:"Old Standard TT",serif;
  text-transform:uppercase;
  letter-spacing:.22em;
  font-size:.78rem;
  color:var(--accent);
  border-top:1px solid var(--rule);
  border-bottom:1px solid var(--rule);
  padding:4px 10px;
  margin:8px 0;
}
.byline{font-style:italic;color:var(--muted);font-size:.95rem;margin-bottom:1.4em;}

/* HEADER */
.site-header{
  background:var(--ink);
  color:#fff;
  border-bottom:3px double #fff;
}
.site-header .container{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;padding-top:14px;padding-bottom:14px;}
.brand{display:flex;align-items:center;gap:10px;color:#fff;border:none;font-family:"Playfair Display",serif;font-weight:900;font-size:1.4rem;letter-spacing:.04em;}
.brand .mark{width:32px;height:32px;background:var(--cream);color:var(--ink);display:flex;align-items:center;justify-content:center;font-family:"Old Standard TT",serif;font-weight:700;border-radius:2px;}
.main-nav{display:flex;flex-wrap:wrap;gap:22px;}
.main-nav a{color:#fff;border:none;text-transform:uppercase;letter-spacing:.16em;font-size:.82rem;font-family:"Old Standard TT",serif;}
.main-nav a:hover{color:var(--cream);}
.burger{display:none;background:none;border:1px solid #fff;color:#fff;padding:6px 10px;font-family:inherit;cursor:pointer;}

/* MASTHEAD */
.masthead{
  text-align:center;
  padding:48px 0 24px;
  border-bottom:3px double var(--ink);
  background:var(--paper);
}
.masthead .edition{font-family:"Old Standard TT",serif;text-transform:uppercase;letter-spacing:.3em;font-size:.78rem;color:var(--muted);}
.masthead h1{margin:.2em 0;}
.masthead .deck{font-style:italic;color:var(--muted);max-width:680px;margin:0 auto;}

/* ARTICLE */
.article{
  background:var(--paper);
  padding:36px 0;
}
.article main{
  max-width:720px;
  margin:0 auto;
  padding:0 20px;
}
.article p:first-of-type::first-letter{
  font-family:"Playfair Display",serif;
  font-size:3.2em;
  float:left;
  line-height:.9;
  padding:6px 10px 0 0;
  color:var(--accent);
  font-weight:900;
}
blockquote.pull{
  border-top:1px solid var(--rule);
  border-bottom:1px solid var(--rule);
  margin:1.6em 0;
  padding:1em 0;
  font-family:"Playfair Display",serif;
  font-size:1.3rem;
  font-style:italic;
  text-align:center;
  color:var(--ink);
}
ul.bul,ol.bul{padding-left:1.3em;margin:1em 0;}
ul.bul li,ol.bul li{margin-bottom:.5em;}

/* CARDS */
.cards{display:flex;flex-wrap:wrap;gap:24px;margin:32px 0;}
.card{
  flex:1 1 280px;
  background:var(--paper);
  border:1px solid var(--rule);
  padding:22px;
  transition:transform .25s ease, box-shadow .25s ease;
}
.card:hover{transform:translateY(-3px);box-shadow:0 12px 24px rgba(28,26,23,.08);}
.card h3{margin-top:0;}
.card .rubric{margin-top:0;}
.card a.more{display:inline-block;margin-top:8px;font-family:"Old Standard TT",serif;text-transform:uppercase;letter-spacing:.16em;font-size:.78rem;}

/* CTA */
.cta-block{text-align:center;margin:30px 0;}
.cta-btn{
  display:inline-block;
  background:var(--accent);
  color:#fff !important;
  font-family:"Old Standard TT",serif;
  text-transform:uppercase;
  letter-spacing:.18em;
  font-weight:700;
  padding:14px 28px;
  border:none;
  border-bottom:3px solid var(--ink);
  cursor:pointer;
  font-size:.92rem;
  transition:background .2s ease, transform .2s ease;
}
.cta-btn:hover{background:#6e211a;transform:translateY(-2px);}
.cta-large{font-size:1.05rem;padding:16px 36px;}

/* SUBSCRIBE */
.subscribe{
  background:var(--cream);
  border:1px solid var(--rule);
  padding:28px;
  margin:36px 0;
}
.subscribe h2{border:none;text-align:center;margin-top:0;}
.subscribe .sub-form{display:flex;flex-wrap:wrap;gap:14px;}
.subscribe label{flex:1 1 200px;display:flex;flex-direction:column;font-size:.85rem;text-transform:uppercase;letter-spacing:.16em;font-family:"Old Standard TT",serif;color:var(--muted);}
.subscribe input{margin-top:6px;padding:10px 12px;border:1px solid var(--ink);background:var(--paper);font-family:inherit;font-size:1rem;color:var(--ink);}
.subscribe button{flex:1 1 100%;}

/* AUTHOR CARD */
.author-card{
  display:flex;
  flex-wrap:wrap;
  gap:18px;
  align-items:center;
  background:var(--cream);
  padding:20px;
  border:1px solid var(--rule);
  margin:30px 0;
}
.author-card .avatar{
  width:80px;height:80px;border-radius:50%;
  background:var(--accent);color:#fff;
  display:flex;align-items:center;justify-content:center;
  font-family:"Playfair Display",serif;font-size:1.8rem;font-weight:900;
}
.author-card .info{flex:1 1 280px;}
.author-card .info h4{margin:0 0 4px;font-size:1.1rem;}
.author-card .info p{margin:0;font-style:italic;color:var(--muted);}

/* FAQ */
.faq details{
  border-top:1px solid var(--rule);
  padding:14px 0;
}
.faq details:last-of-type{border-bottom:1px solid var(--rule);}
.faq summary{
  cursor:pointer;
  font-family:"Playfair Display",serif;
  font-size:1.15rem;
  font-weight:700;
  list-style:none;
  display:flex;
  justify-content:space-between;
  align-items:center;
}
.faq summary::after{content:"+";font-size:1.4rem;color:var(--accent);}
.faq details[open] summary::after{content:"–";}

/* DISCLAIMER */
.disclaimer{
  background:var(--paper);
  border-left:4px solid var(--accent);
  padding:14px 18px;
  font-size:.92rem;
  color:var(--muted);
  margin:30px 0;
}

/* BREADCRUMBS */
.breadcrumbs{font-size:.85rem;color:var(--muted);margin:14px 0 24px;font-family:"Old Standard TT",serif;text-transform:uppercase;letter-spacing:.18em;}
.breadcrumbs a{color:var(--muted);border:none;}

/* DIVIDER */
.hr-orn{
  text-align:center;
  border:none;
  margin:36px 0;
  overflow:visible;
}
.hr-orn::before{
  content:"❦";
  display:inline-block;
  padding:0 16px;
  background:var(--paper);
  color:var(--accent);
  font-size:1.4rem;
  position:relative;
  top:-12px;
}
.hr-orn{border-top:1px solid var(--rule);}

/* READ-ALSO */
.read-also{margin:30px 0;}
.read-also h2{border:none;}
.read-list{display:flex;flex-wrap:wrap;gap:18px;}
.read-list .item{flex:1 1 220px;border:1px solid var(--rule);padding:14px;background:var(--paper);}
.read-list .item .thumb{
  height:90px;
  background:linear-gradient(135deg,var(--cream),var(--paper));
  border:1px solid var(--rule);
  display:flex;align-items:center;justify-content:center;
  font-family:"Playfair Display",serif;font-size:1.6rem;color:var(--accent);
  margin-bottom:10px;
}
.read-list .item h4{margin:0 0 6px;font-size:1.05rem;}
.read-list .item a{border:none;}

/* FOOTER */
.site-footer{
  background:var(--cream);
  border-top:3px double var(--ink);
  padding:40px 0 20px;
  margin-top:40px;
}
.foot-cols{display:flex;flex-wrap:wrap;gap:30px;}
.foot-cols > div{flex:1 1 240px;}
.foot-cols h4{font-family:"Playfair Display",serif;border-bottom:1px solid var(--rule);padding-bottom:6px;margin-top:0;}
.foot-cols ul{list-style:none;padding:0;margin:0;}
.foot-cols li{margin-bottom:8px;}
.foot-cols a{color:var(--ink);border:none;}
.foot-cols a:hover{color:var(--accent);}
.copyright{text-align:center;border-top:1px solid var(--rule);margin-top:30px;padding-top:14px;font-size:.85rem;color:var(--muted);}

/* COOKIE */
.cookie-bar{
  position:fixed;left:0;right:0;bottom:0;
  background:var(--ink);color:#fff;
  padding:16px;display:none;z-index:9999;
  border-top:3px double #fff;
}
.cookie-bar.show{display:block;}
.cookie-bar .cb-inner{max-width:1180px;margin:0 auto;display:flex;flex-wrap:wrap;gap:14px;align-items:center;justify-content:space-between;}
.cookie-bar p{margin:0;flex:1 1 280px;font-size:.92rem;}
.cookie-bar .cb-actions{display:flex;flex-wrap:wrap;gap:8px;}
.cookie-bar button{
  background:var(--cream);color:var(--ink);border:none;
  padding:10px 16px;font-family:"Old Standard TT",serif;
  text-transform:uppercase;letter-spacing:.16em;font-size:.78rem;font-weight:700;
  cursor:pointer;flex:1 1 auto;min-width:130px;
}
.cookie-bar button:hover{background:#fff;}

.cookie-modal{
  position:fixed;inset:0;background:rgba(28,26,23,.7);
  display:none;align-items:center;justify-content:center;z-index:10000;padding:20px;
}
.cookie-modal.show{display:flex;}
.cookie-modal .box{
  background:var(--paper);max-width:560px;width:100%;
  border:1px solid var(--rule);padding:28px;
}
.cookie-modal h3{margin-top:0;}
.cat{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between;border-top:1px solid var(--rule);padding:14px 0;}
.cat:last-of-type{border-bottom:1px solid var(--rule);margin-bottom:18px;}
.cat .info{flex:1 1 280px;}
.cat .info h4{margin:0 0 4px;}
.cat .info p{margin:0;font-size:.88rem;color:var(--muted);}
.switch{position:relative;width:46px;height:24px;}
.switch input{opacity:0;width:0;height:0;}
.slider{position:absolute;inset:0;background:#c8b89c;border-radius:24px;transition:.2s;cursor:pointer;}
.slider::before{content:"";position:absolute;width:18px;height:18px;left:3px;top:3px;background:var(--paper);border-radius:50%;transition:.2s;}
.switch input:checked + .slider{background:var(--accent);}
.switch input:checked + .slider::before{transform:translateX(22px);}
.switch input:disabled + .slider{opacity:.7;cursor:not-allowed;}

/* RESPONSIVE */
@media (max-width:760px){
  .main-nav{display:none;width:100%;flex-direction:column;gap:10px;}
  .main-nav.open{display:flex;}
  .burger{display:inline-block;}
  .article main{padding:0 16px;}
  h1{font-size:2rem;}
  h2{font-size:1.35rem;}
  .subscribe{padding:20px;}
}

/* HOVER MICRO */
.cta-btn:focus,.subscribe input:focus{outline:2px solid var(--accent);outline-offset:2px;}
