/*
Theme Name: Haven Starter Pro 236
Author: Jamie Web
Description: A clean and lightweight WordPress starter theme.
Version: 4.12.6
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Requires at least: 5.9
Text Domain: haven-starter-pro-236
License: GNU General Public License v3 or later
Tested up to: 6.4
Tags: translation-ready, sticky-post, left-sidebar, custom-menu
*/

:root{
  --cream:#FBF5EC; --sand:#F1E5D3; --paper:#FFFDF8;
  --clay:#C26B45; --clay-d:#A4542F; --sage:#7E9A6E; --leaf:#5F7B52;
  --bark:#4A3A2B; --ink:#3A2E22; --muted:#7A6B58;
  --line:#E3D5BF; --shadow:0 10px 30px rgba(74,58,43,.10);
  --radius:15px; --radius-s:12px;
  --serif:"Hoefler Text","Iowan Old Style","Palatino Linotype",Palatino,"Book Antiqua",Georgia,serif;
  --sans:"Optima","Segoe UI","Gill Sans MT","Trebuchet MS","Lucida Grande",sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
html,body{overflow-x:hidden}
body{font-family:var(--sans);color:var(--ink);background:var(--cream);line-height:1.72;font-size:18px}
.container{width:min(1080px,92vw);margin:0 auto}
a{color:var(--clay-d);text-decoration:none;transition:color .2s}
a:hover,a:focus{color:var(--clay);text-decoration:underline}
h1,h2,h3{font-family:var(--serif);color:var(--bark);line-height:1.22;font-weight:600}
h1{font-size:clamp(2.1rem,5vw,3.2rem);margin:.2em 0 .5em;letter-spacing:.2px}
h2{font-size:clamp(1.5rem,3vw,2.1rem);margin:1.7em 0 .55em}
h3{font-size:1.22rem;margin:1.3em 0 .4em}
p{margin:0 0 1.05em}
img{max-width:100%;height:auto;display:block;border-radius:var(--radius)}
section{margin:2.2em 0}

/* masthead */
.site-head{background:var(--paper);border-bottom:4px double var(--clay);padding:30px 0 22px;text-align:center}
.masthead a.brand{font-family:var(--serif);font-size:clamp(2.2rem,6vw,3.4rem);font-weight:700;color:var(--bark);letter-spacing:2px;display:inline-block}
.masthead .m-tag{font-style:italic;color:var(--muted);margin-top:.3em;font-family:var(--serif);font-size:1.05rem}
.m-rule{border:none;border-top:1px solid var(--line);width:min(1080px,92vw);margin:18px auto 0}
.m-nav{margin-top:14px;display:flex;flex-wrap:wrap;justify-content:center;gap:26px}
.m-nav a{font-size:.82rem;text-transform:uppercase;letter-spacing:2px;color:var(--muted)}
.m-nav a:hover{color:var(--clay-d)}

/* hero / front */
.front .container,.article-shell{padding:34px 0 50px}
.hero{display:flex;flex-wrap:wrap;gap:34px;align-items:center;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:34px;box-shadow:var(--shadow);margin-bottom:30px}
.hero-copy{flex:1 1 320px}
.hero-art{flex:1 1 320px}
.hero-art img{border-radius:var(--radius);box-shadow:var(--shadow)}
.kicker{display:inline-block;background:var(--sage);color:#fff;font-size:.72rem;letter-spacing:3px;text-transform:uppercase;padding:6px 14px;border-radius:999px;margin-bottom:14px}
.hero-tag{font-family:var(--serif);font-size:1.3rem;color:var(--bark);font-style:italic;margin-bottom:22px}
.cta-pill{display:inline-block;background:var(--clay);color:#fff;font-weight:600;padding:15px 30px;border-radius:999px;box-shadow:var(--shadow);font-size:1.02rem}
.cta-pill:hover,.cta-pill:focus{background:var(--clay-d);color:#fff;text-decoration:none;transform:translateY(-2px)}
.updated{font-size:.86rem;color:var(--muted);border-left:3px solid var(--sage);padding-left:14px;margin:0 0 1.6em}
.lede{font-size:1.18rem;color:var(--bark)}

blockquote{font-family:var(--serif);font-size:1.32rem;font-style:italic;color:var(--clay-d);border-left:4px solid var(--sage);background:var(--sand);padding:22px 26px;border-radius:0 var(--radius) var(--radius) 0;margin:1.8em 0}
.tick{list-style:none;margin:1.1em 0;padding:0}
.tick li{position:relative;padding:6px 0 6px 30px}
.tick li::before{content:"";position:absolute;left:4px;top:14px;width:9px;height:9px;background:var(--sage);border-radius:50%}
.callout{background:var(--sand);border:1px solid var(--line);border-radius:var(--radius);padding:22px 26px;margin:1.8em 0}
.callout h3{margin-top:0;color:var(--clay-d)}
.note-card{background:#F6EEDF;border:1px dashed var(--clay);border-radius:var(--radius);padding:18px 22px;margin:2em 0;font-size:.93rem;color:var(--muted)}

.post-figure{margin:1.8em 0}
.post-figure .cap{font-size:.84rem;color:var(--muted);font-style:italic;margin-top:.5em;text-align:center}

/* cards */
.card-row{display:flex;flex-wrap:wrap;gap:20px}
.mini-card{flex:1 1 250px;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:22px;display:flex;flex-direction:column;gap:8px;box-shadow:var(--shadow)}
.mini-card:hover{transform:translateY(-3px);text-decoration:none}
.mc-tag{align-self:flex-start;background:var(--sage);color:#fff;font-size:.68rem;letter-spacing:2px;text-transform:uppercase;padding:4px 11px;border-radius:999px}
.mini-card strong{font-family:var(--serif);font-size:1.12rem;color:var(--bark)}
.mini-card em{color:var(--muted);font-style:normal;font-size:.92rem}

.about-strip{background:var(--sand);border-radius:var(--radius);padding:26px 30px}
.read-also{border-top:1px solid var(--line);padding-top:22px}
.ra-list{list-style:none;display:flex;flex-wrap:wrap;gap:14px;padding:0}
.ra-list li{flex:1 1 240px;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-s);padding:14px 18px}

/* faq */
.faq .qa{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-s);margin-bottom:12px;overflow:hidden}
.faq summary{cursor:pointer;padding:16px 20px;font-family:var(--serif);font-size:1.05rem;color:var(--bark);list-style:none}
.faq summary::-webkit-details-marker{display:none}
.faq summary::before{content:"+";color:var(--clay);font-weight:700;margin-right:12px}
.faq details[open] summary::before{content:"–"}
.qa-body{padding:0 20px 18px;color:var(--muted)}

/* forms */
.join,.contact-form-wrap{background:var(--bark);color:var(--cream);border-radius:var(--radius);padding:36px;margin:2.4em 0}
.join h2,.contact-form-wrap h2{color:var(--cream)}
.join p{color:#E7DAC4}
.join-form{display:flex;flex-wrap:wrap;gap:14px;margin-top:18px}
.join-form label{flex:1 1 200px;display:flex;flex-direction:column;font-size:.82rem;letter-spacing:1px;text-transform:uppercase;color:#D8C8AC;gap:7px}
.join-form input,.join-form textarea{font-family:var(--sans);font-size:1rem;padding:13px 15px;border:1px solid #6A5942;border-radius:var(--radius-s);background:var(--paper);color:var(--ink)}
.join-form textarea{flex-basis:100%}
.join-form button{flex:1 1 100%;background:var(--clay);color:#fff;border:none;padding:15px;border-radius:999px;font-size:1.02rem;font-weight:600;cursor:pointer;transition:background .2s}
.join-form button:hover{background:var(--clay-d)}
.contact-form-wrap label{color:#D8C8AC}

/* static pages */
.contact-grid{display:flex;flex-wrap:wrap;gap:20px;margin:1.6em 0}
.contact-card{flex:1 1 240px;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:24px}
.page-cta{background:var(--sand);border-radius:var(--radius);padding:26px 30px;text-align:center;margin:2.4em 0}
.page-cta p{font-family:var(--serif);font-size:1.2rem;color:var(--bark);margin-bottom:16px}
.success-wrap{text-align:center;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:60px 30px;box-shadow:var(--shadow)}
.success-sub{font-size:1.25rem;color:var(--bark);margin-bottom:1em}

/* single layout */
.article-shell{display:flex;flex-wrap:wrap;gap:40px;align-items:flex-start}
.toc-rail{flex:0 1 200px;position:sticky;top:24px;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:20px}
.toc-rail h4{font-family:var(--serif);font-size:.78rem;letter-spacing:2px;text-transform:uppercase;color:var(--muted);margin-bottom:12px}
.toc-rail ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:9px}
.toc-rail a{font-size:.9rem;color:var(--bark)}
.toc-rail a:hover{color:var(--clay)}
.article-main{flex:1 1 640px;min-width:0}
.crumb{font-size:.82rem;color:var(--muted);margin-bottom:6px}
.crumb a{color:var(--muted)}
.author-box{background:var(--sand);border-radius:var(--radius);padding:22px 26px}

/* footer */
.site-foot{background:var(--cream);border-top:3px solid var(--clay);margin-top:50px;padding:46px 0 26px}
.foot-cols{display:flex;flex-wrap:wrap;gap:34px}
.foot-cols>div{flex:1 1 240px}
.site-foot h4{font-family:var(--serif);color:var(--bark);margin-bottom:14px;font-size:1.1rem}
.site-foot .f-tag{font-style:italic;color:var(--muted)}
.foot-links{list-style:none;padding:0;display:flex;flex-direction:column;gap:8px}
.foot-links a{color:var(--ink);font-size:.95rem}
.foot-bottom{border-top:1px solid var(--line);margin-top:30px;padding-top:18px;font-size:.84rem;color:var(--muted);text-align:center}

/* cookie */
.ck-bar{position:fixed;left:0;right:0;bottom:0;background:var(--bark);color:var(--cream);padding:18px;z-index:60;display:none}
.ck-bar.show{display:block}
.ck-inner{width:min(1080px,92vw);margin:0 auto;display:flex;flex-wrap:wrap;gap:16px;align-items:center;justify-content:space-between}
.ck-inner p{margin:0;flex:1 1 280px;font-size:.92rem;color:#E7DAC4}
.ck-btns{display:flex;flex-wrap:wrap;gap:10px}
.ck-btns button{flex:1 1 130px;border:none;padding:12px 18px;border-radius:999px;font-size:.9rem;font-weight:600;cursor:pointer}
.ck-acc{background:var(--clay);color:#fff}
.ck-cust{background:var(--sage);color:#fff}
.ck-rej{background:#6A5942;color:#fff}
.ck-modal{position:fixed;inset:0;background:rgba(58,46,34,.6);z-index:70;display:none;align-items:center;justify-content:center;padding:20px}
.ck-modal.show{display:flex}
.ck-card{background:var(--paper);border-radius:var(--radius);padding:30px;width:min(520px,94vw);max-height:88vh;overflow:auto}
.ck-card h3{margin-top:0}
.ck-row{display:flex;justify-content:space-between;align-items:center;gap:16px;border:1px solid var(--line);border-radius:var(--radius-s);padding:14px 16px;margin:12px 0}
.ck-row small{color:var(--muted);display:block;margin-top:4px}
.switch{position:relative;width:46px;height:26px;flex:0 0 auto}
.switch input{opacity:0;width:0;height:0}
.slider{position:absolute;inset:0;background:#C9BBA3;border-radius:999px;transition:.2s;cursor:pointer}
.slider::before{content:"";position:absolute;height:20px;width:20px;left:3px;top:3px;background:#fff;border-radius:50%;transition:.2s}
.switch input:checked+.slider{background:var(--sage)}
.switch input:checked+.slider::before{transform:translateX(20px)}
.switch input:disabled+.slider{opacity:.6;cursor:not-allowed}
.ck-save{background:var(--clay);color:#fff;border:none;padding:13px;border-radius:999px;width:100%;font-weight:600;cursor:pointer;margin-top:10px}

@media(max-width:760px){
  body{font-size:17px}
  .hero{padding:24px}
  .toc-rail{position:static;flex-basis:100%}
  .join,.contact-form-wrap{padding:24px}
}
