/*
Theme Name: Haven Starter Kit
Author: Lee Works
Description: Custom starter theme with responsive design.
Version: 2.4.0
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: haven-starter-kit
License: GPL-2.0-or-later
Requires PHP: 8.2
*/

@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,600;0,700;1,400&family=Lora:ital,wght@0,400;0,500;1,400&display=swap');
:root{--dark:#1a1a2e;--cream:#f5f0ea;--accent:#c4956a;--text:#2c2c2c;--light:#e8e0d5;--white:#ffffff;--font-h:'Playfair Display',Georgia,serif;--font-b:'Lora',Georgia,serif;}
html{scroll-behavior:smooth;}html,body{overflow-x:hidden;margin:0;padding:0;}*{box-sizing:border-box;}
body{font-family:var(--font-b);color:var(--text);background:var(--cream);line-height:1.8;font-size:1.0625rem;}
h1,h2,h3,h4{font-family:var(--font-h);line-height:1.3;color:var(--dark);}
h1{font-size:2.4rem;margin-bottom:1rem;}h2{font-size:1.7rem;margin:2.5rem 0 1rem;}h3{font-size:1.3rem;margin:2rem 0 .75rem;}
p{margin-bottom:1.4rem;}a{color:var(--accent);text-decoration:none;}a:hover{text-decoration:underline;}
img{max-width:100%;height:auto;display:block;}
.site-header{background:var(--dark);box-shadow:0 2px 12px rgba(0,0,0,.4);position:sticky;top:0;z-index:100;}
.header-inner{max-width:1200px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;padding:0 2rem;height:64px;}
.site-logo{color:var(--white);font-family:var(--font-h);font-size:1.4rem;font-weight:700;letter-spacing:.02em;text-decoration:none;}
.site-logo:hover{opacity:.85;text-decoration:none;}
.main-nav ul{list-style:none;display:flex;gap:2rem;margin:0;padding:0;}
.main-nav a{color:var(--white);font-size:.85rem;letter-spacing:.12em;text-transform:uppercase;text-decoration:none;opacity:.85;transition:opacity .2s;}
.main-nav a:hover{opacity:1;text-decoration:none;}
.site-footer{background:var(--light);border-top:1px solid #d4c8b8;padding:3rem 2rem 1.5rem;}
.footer-inner{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr 1fr;gap:2.5rem;padding-bottom:2rem;}
.footer-brand .brand-name{font-family:var(--font-h);font-size:1.3rem;font-weight:700;color:var(--dark);margin-bottom:.5rem;}
.footer-brand p{font-size:.9rem;color:#6b6060;line-height:1.6;}
.footer-links h4,.footer-contact h4{font-family:var(--font-h);font-size:1rem;color:var(--dark);margin-bottom:1rem;text-transform:uppercase;letter-spacing:.08em;}
.footer-links ul{list-style:none;padding:0;}.footer-links li{margin-bottom:.4rem;}
.footer-links a,.footer-contact a{color:#6b6060;font-size:.9rem;text-decoration:none;}
.footer-links a:hover,.footer-contact a:hover{color:var(--accent);}
.footer-contact p{font-size:.9rem;color:#6b6060;margin-bottom:.4rem;}
.footer-bottom{border-top:1px solid #d4c8b8;padding-top:1.2rem;text-align:center;font-size:.82rem;color:#9c9090;}
.article-container{max-width:800px;margin:3rem auto;padding:0 2rem;position:relative;}
.article-meta{display:flex;flex-wrap:wrap;gap:1rem;align-items:center;font-size:.85rem;color:#8a7e76;margin-bottom:2rem;padding-bottom:1rem;border-bottom:1px solid var(--light);}
.article-meta .author{font-weight:500;color:var(--accent);}
.article-category{display:inline-block;background:var(--accent);color:var(--white);font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;padding:.2rem .7rem;border-radius:2px;}
.updated-block{background:var(--light);border-left:3px solid var(--accent);padding:.8rem 1.2rem;margin-bottom:2rem;font-size:.88rem;color:#7a6e66;}
.updated-block strong{color:var(--dark);}
.pull-quote{float:right;width:42%;margin:0 -5rem 1.5rem 2rem;background:var(--light);border-top:2px solid var(--accent);padding:1.2rem 1.5rem;font-family:var(--font-h);font-style:italic;font-size:1.1rem;color:var(--dark);line-height:1.5;}
.steps-block{background:var(--dark);color:var(--white);padding:2.5rem;margin:2.5rem 0;border-radius:4px;}
.steps-block h3{color:var(--accent);font-size:1.3rem;margin-bottom:1.5rem;margin-top:0;}
.steps-block ol{padding-left:1.5rem;}.steps-block li{margin-bottom:.75rem;line-height:1.7;color:#e8e0d5;}
.faq-section{margin:2.5rem 0;}.faq-section h3{margin-bottom:1.2rem;}
.faq-item{border-bottom:1px solid var(--light);padding:1.2rem 0;}
.faq-q{font-family:var(--font-h);font-weight:600;color:var(--dark);margin-bottom:.5rem;}
.faq-a{color:#5a5050;line-height:1.7;font-size:.95rem;}
.subscribe-section{background:var(--dark);color:var(--white);padding:3rem 2.5rem;margin:3rem 0;border-radius:4px;}
.subscribe-section h2,.subscribe-section h3{color:var(--accent);margin-top:0;margin-bottom:.5rem;}
.subscribe-section p{color:#d8d0c8;margin-bottom:1.5rem;font-size:.95rem;}
.sub-form{display:grid;grid-template-columns:1fr 1fr;gap:1rem;}
.sub-form .full{grid-column:1/-1;}
.sub-form input{width:100%;padding:.75rem 1rem;border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.08);color:var(--white);font-family:var(--font-b);font-size:.95rem;border-radius:2px;}
.sub-form input::placeholder{color:rgba(255,255,255,.4);}
.sub-form input:focus{outline:none;border-color:var(--accent);}
.btn-subscribe{grid-column:1/-1;background:var(--accent);color:var(--white);border:none;padding:.9rem 2rem;font-family:var(--font-b);font-size:1rem;letter-spacing:.05em;cursor:pointer;border-radius:2px;transition:background .2s;}
.btn-subscribe:hover{background:#b3844f;}
.disclaimer{background:#f0ebe4;border:1px solid #d4c8b8;border-radius:3px;padding:1.2rem 1.5rem;margin:2.5rem 0;font-size:.82rem;color:#7a6e66;line-height:1.6;}
.disclaimer strong{color:var(--dark);}
.breadcrumb{max-width:800px;margin:1.5rem auto 0;padding:0 2rem;font-size:.82rem;color:#9c9090;}
.breadcrumb a{color:var(--accent);}
.share-sidebar{position:fixed;left:calc(50% - 470px);top:50%;transform:translateY(-50%);display:flex;flex-direction:column;gap:.5rem;z-index:50;}
.share-btn{width:40px;height:40px;background:var(--dark);color:var(--white);display:flex;align-items:center;justify-content:center;font-size:.75rem;border-radius:2px;text-decoration:none;opacity:.7;transition:opacity .2s;cursor:pointer;}
.share-btn:hover{opacity:1;text-decoration:none;}
.tag-list{display:flex;flex-wrap:wrap;gap:.5rem;margin:2rem 0;}
.tag{background:var(--light);color:#6b6060;padding:.25rem .75rem;font-size:.8rem;border-radius:2px;text-decoration:none;}
.tag:hover{background:var(--accent);color:var(--white);text-decoration:none;}
.read-also{margin:3rem 0;}.read-also h3{font-size:1.2rem;margin-bottom:1.5rem;}
.cards-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;}
.card{background:var(--white);border:1px solid var(--light);padding:1.5rem;transition:border-color .2s,transform .2s;text-decoration:none;display:block;}
.card:hover{border-color:var(--accent);transform:translateY(-2px);text-decoration:none;}
.card-cat{font-size:.72rem;text-transform:uppercase;letter-spacing:.1em;color:var(--accent);margin-bottom:.5rem;}
.card h4{font-family:var(--font-h);font-size:1rem;color:var(--dark);margin-bottom:.5rem;margin-top:0;}
.card p{font-size:.88rem;color:#8a7e76;margin-bottom:0;}
.hero-split{display:grid;grid-template-columns:1fr 1fr;min-height:75vh;}
.hero-text{background:var(--dark);color:var(--white);display:flex;flex-direction:column;justify-content:center;padding:4rem 3rem 4rem 4rem;}
.hero-text .category-badge{font-size:.75rem;letter-spacing:.15em;text-transform:uppercase;color:var(--accent);margin-bottom:1.2rem;}
.hero-text h1{color:var(--white);font-size:2.6rem;margin-bottom:1.2rem;}
.hero-text p{color:rgba(255,255,255,.75);font-size:1.05rem;margin-bottom:2rem;max-width:440px;}
.btn-hero{display:inline-block;background:var(--accent);color:var(--white);padding:.9rem 2.2rem;font-family:var(--font-b);font-size:.95rem;letter-spacing:.04em;text-decoration:none;border-radius:2px;transition:background .2s;align-self:flex-start;}
.btn-hero:hover{background:#b3844f;text-decoration:none;}
.hero-image{overflow:hidden;position:relative;}
.hero-image img{width:100%;height:100%;object-fit:cover;}
.section-home-content{max-width:800px;margin:0 auto;padding:3rem 2rem;}
.home-cards-section{padding:1rem 0 3rem;}
.home-cards-section h2{text-align:center;margin-bottom:2rem;font-size:1.5rem;padding:0 2rem;}
.home-cards-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;max-width:1200px;margin:0 auto;padding:0 2rem;}
.about-section{background:var(--light);padding:3rem 2rem;text-align:center;}
.about-section h2{margin-bottom:1rem;}
.about-section p{max-width:600px;margin:0 auto 1.5rem;color:#5a5050;}
.btn-outline{display:inline-block;border:2px solid var(--dark);color:var(--dark);padding:.7rem 1.8rem;font-size:.9rem;letter-spacing:.05em;text-decoration:none;transition:all .2s;border-radius:2px;}
.btn-outline:hover{background:var(--dark);color:var(--white);text-decoration:none;}
.page-container{max-width:800px;margin:3rem auto;padding:0 2rem 4rem;}
.page-container h1{margin-bottom:1.5rem;}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:3rem;margin-top:2rem;}
.contact-form input,.contact-form textarea{width:100%;padding:.75rem 1rem;border:1px solid var(--light);background:var(--white);font-family:var(--font-b);font-size:.95rem;margin-bottom:1rem;border-radius:2px;}
.contact-form textarea{min-height:140px;resize:vertical;}
.contact-form input:focus,.contact-form textarea:focus{outline:none;border-color:var(--accent);}
.btn-send{background:var(--dark);color:var(--white);border:none;padding:.85rem 2rem;font-family:var(--font-b);font-size:.95rem;cursor:pointer;border-radius:2px;transition:background .2s;}
.btn-send:hover{background:var(--accent);}
.contact-info h3{font-size:1.1rem;margin-bottom:1rem;}
.contact-info p{font-size:.93rem;color:#6b6060;margin-bottom:.6rem;}
.success-page{min-height:60vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:4rem 2rem;}
.success-page h1{font-size:3rem;margin-bottom:1rem;}
.success-page p{font-size:1.1rem;color:#6b6060;margin-bottom:2rem;max-width:500px;}
.btn-home{display:inline-block;background:var(--accent);color:var(--white);padding:.9rem 2.2rem;text-decoration:none;border-radius:2px;font-size:1rem;transition:background .2s;}
.btn-home:hover{background:#b3844f;text-decoration:none;}
.author-bio{background:var(--light);border-left:3px solid var(--accent);padding:1.5rem 2rem;margin:2.5rem 0;font-size:.92rem;}
.author-bio .bio-name{font-family:var(--font-h);font-weight:700;color:var(--dark);margin-bottom:.4rem;}
.author-bio p{margin-bottom:0;color:#5a5050;}
.legal-content{max-width:800px;margin:3rem auto;padding:0 2rem 4rem;}
.legal-content h1{margin-bottom:1.5rem;}
.legal-content h2{font-size:1.3rem;margin:2rem 0 .75rem;}
.legal-content p,.legal-content li{font-size:.95rem;line-height:1.8;color:#4a4040;}
.legal-content ul,.legal-content ol{padding-left:1.8rem;margin-bottom:1.4rem;}
.legal-content li{margin-bottom:.5rem;}
#cookie-banner{position:fixed;bottom:0;left:0;right:0;background:var(--dark);color:var(--white);padding:1.2rem 2rem;display:flex;align-items:center;justify-content:space-between;gap:1.5rem;z-index:9999;transform:translateY(100%);transition:transform .3s;}
#cookie-banner.show{transform:translateY(0);}
#cookie-banner p{font-size:.88rem;color:rgba(255,255,255,.8);margin:0;}
.cookie-btns{display:flex;gap:.75rem;flex-shrink:0;}
.cookie-btn{padding:.55rem 1.1rem;border:none;cursor:pointer;font-family:var(--font-b);font-size:.85rem;border-radius:2px;white-space:nowrap;transition:all .2s;}
.cookie-btn.accept{background:var(--accent);color:var(--white);}
.cookie-btn.customize{background:rgba(255,255,255,.15);color:var(--white);border:1px solid rgba(255,255,255,.3);}
.cookie-btn.reject{background:transparent;color:rgba(255,255,255,.6);border:1px solid rgba(255,255,255,.2);}
.cookie-btn:hover{opacity:.85;}
#cookie-modal{position:fixed;inset:0;background:rgba(0,0,0,.5);display:none;align-items:center;justify-content:center;z-index:10000;}
#cookie-modal.show{display:flex;}
.modal-box{background:var(--white);max-width:520px;width:90%;padding:2.5rem;border-radius:4px;}
.modal-box h3{margin-bottom:1.5rem;font-size:1.3rem;}
.cookie-cat{display:flex;justify-content:space-between;align-items:flex-start;padding:1rem 0;border-bottom:1px solid var(--light);}
.cookie-cat-info p{font-size:.85rem;color:#6b6060;margin:.2rem 0 0;}
.toggle{position:relative;width:44px;height:24px;background:#ccc;border-radius:12px;cursor:pointer;transition:background .2s;flex-shrink:0;margin-top:4px;}
.toggle.on{background:var(--accent);}.toggle.locked{background:var(--accent);cursor:not-allowed;opacity:.7;}
.toggle::after{content:'';position:absolute;width:18px;height:18px;background:var(--white);border-radius:50%;top:3px;left:3px;transition:left .2s;}
.toggle.on::after,.toggle.locked::after{left:23px;}
.btn-save-pref{width:100%;margin-top:1.5rem;padding:.85rem;background:var(--dark);color:var(--white);border:none;cursor:pointer;font-family:var(--font-b);font-size:.95rem;border-radius:2px;transition:background .2s;}
.btn-save-pref:hover{background:var(--accent);}
@media(max-width:900px){.pull-quote{float:none;width:100%;margin:1.5rem 0;}.share-sidebar{display:none;}.footer-inner{grid-template-columns:1fr 1fr;}.hero-split{grid-template-columns:1fr;}.hero-image{min-height:300px;}.home-cards-grid{grid-template-columns:1fr 1fr;}.contact-grid{grid-template-columns:1fr;}}
@media(max-width:600px){h1{font-size:1.8rem;}h2{font-size:1.4rem;}.header-inner{padding:0 1rem;}.main-nav ul{gap:1rem;}.main-nav a{font-size:.75rem;}.sub-form{grid-template-columns:1fr;}.sub-form .full{grid-column:1;}.cards-grid{grid-template-columns:1fr;}.home-cards-grid{grid-template-columns:1fr;}.footer-inner{grid-template-columns:1fr;}#cookie-banner{flex-direction:column;}}
