/*
Theme Name: The Fine Roots
Theme URI: https://example.com/the-fine-roots
Author: The Fine Roots
Description: An editorial botanical WordPress theme for stories, reflections, and a digital shop.
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: the-fine-roots
License: GPL-2.0-or-later
*/
:root{--cream:#fcfaf2;--paper:#f4f0e7;--green:#455542;--ink:#2f322c;--muted:#76756d;--line:#e4dfd5}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:Georgia,'Times New Roman',serif;font-size:16px;line-height:1.65}a{color:inherit;text-decoration:none}a:hover{color:#667d5b}img{max-width:100%;height:auto}button,input{font:inherit}button{cursor:pointer}.container{max-width:1370px;margin:auto;padding:0 34px}.site-header{background:#fdfbf7;border-bottom:1px solid var(--line);position:relative;z-index:10}.header-inner{display:flex;justify-content:space-between;align-items:center;gap:24px;min-height:84px}.brand{display:flex;align-items:center;gap:12px}.brand-mark{font-size:42px;color:var(--green);line-height:1}.brand-name{font-size:33px;letter-spacing:-1.4px;line-height:1.1}.brand-tag{font:10px Arial,sans-serif;letter-spacing:3px}.main-nav{display:flex;gap:28px;align-items:center}.main-nav a{font-size:14px}.nav-toggle{display:none;background:none;border:1px solid var(--line);padding:7px 12px}.header-actions{display:flex;gap:16px;align-items:center}.cart-link{font-size:14px}.hero{min-height:420px;display:flex;align-items:center;background:linear-gradient(90deg,rgba(252,250,242,.97) 0%,rgba(252,250,242,.78) 33%,rgba(252,250,242,.08) 75%),url('assets/hero-forest.jpg') center 56%/cover}.hero-inner{width:100%;padding-top:42px;padding-bottom:42px}.hero-copy{max-width:520px}.hero h1{font-size:clamp(40px,4.3vw,67px);font-weight:400;line-height:1.07;letter-spacing:-1.5px;margin:0 0 13px}.hero-kicker{letter-spacing:5px;font-size:14px}.hero p{font-size:18px;line-height:1.6;margin:18px 0 24px}.btn,.button,.wp-block-button__link,.woocommerce a.button,.woocommerce button.button,.woocommerce input.button{display:inline-block;border:1px solid var(--green);background:var(--green);color:#fff!important;border-radius:24px;padding:11px 23px;font-size:14px;transition:.2s}.btn:hover,.button:hover{background:#344333;color:#fff}.btn-outline{background:transparent;color:var(--ink)!important;border:1px solid #6c7467}.btn-outline:hover{background:#e8e8dc;color:var(--ink)!important}.hero-buttons{display:flex;flex-wrap:wrap;gap:14px}.feature-strip{background:#f8f6f0;border-bottom:1px solid var(--line)}.features{display:grid;grid-template-columns:repeat(4,1fr);padding-top:18px;padding-bottom:18px}.feature{display:flex;align-items:center;gap:15px;padding:0 22px;border-right:1px solid #ded9ce}.feature:first-child{padding-left:0}.feature:last-child{border-right:0}.feature-symbol{font-size:33px;color:#73775f}.feature-title{font-size:16px;line-height:1.2}.feature-sub{font-size:12px;color:var(--muted);line-height:1.4;margin-top:3px}.section{padding-top:43px;padding-bottom:44px}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:18px;margin-bottom:19px}.section h2,.page-title{font-size:34px;line-height:1.2;font-weight:400;margin:0}.small-link{font-size:14px;white-space:nowrap}.story-layout{display:grid;grid-template-columns:minmax(0,3fr) minmax(270px,1fr);gap:30px}.story-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.story-card,.product-card{border:1px solid var(--line);background:#fdfbf8;border-radius:5px;overflow:hidden}.story-card img{width:100%;height:170px;object-fit:cover;display:block}.story-card-body{padding:15px 17px 19px}.eyebrow{font:10px Arial,sans-serif;text-transform:uppercase;letter-spacing:1.5px;color:#77796d}.story-card h3,.product-card h3{font-size:21px;line-height:1.2;font-weight:400;margin:9px 0 5px}.story-card p,.product-card p{font-size:14px;line-height:1.5;color:#67665f;margin:5px 0}.read-link{font-size:13px;text-decoration:underline;text-underline-offset:4px}.newsletter{background:#f1ede4;border:1px solid var(--line);padding:40px 22px;text-align:center;border-radius:4px}.newsletter-flower{font-size:38px;color:#66715c}.newsletter h2{font-size:27px;margin:8px 0}.newsletter p{font-size:15px;color:#6e6c64}.newsletter-form{display:flex;gap:8px;margin-top:18px}.newsletter input{width:100%;min-width:0;padding:10px;border:1px solid #c9c7bf;background:#fff}.newsletter button{border-radius:6px;padding:9px 15px}.newsletter-note{font:11px Arial,sans-serif;color:#817d74;margin-top:12px}.product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}.product-card{display:flex;gap:15px;padding:9px}.product-card img{width:38%;height:132px;object-fit:cover;border-radius:3px}.product-card-body{flex:1;min-width:0}.product-card h3{font-size:18px;margin:3px 0}.price{font-size:16px;color:#252a22;margin:8px 0}.product-card .btn{padding:6px 13px;border-radius:5px;font-size:12px}.page-intro{padding:50px 0 30px;text-align:center;background:var(--paper)}.page-intro p{max-width:620px;margin:12px auto;color:#6f6e64}.library-search{display:flex;gap:10px;margin-bottom:20px}.library-search input{width:100%;padding:12px 15px;background:#fff;border:1px solid var(--line)}.filter-list{display:flex;gap:9px;flex-wrap:wrap;margin:0 0 24px}.filter-list a{font:13px Arial,sans-serif;border:1px solid #d7d8cf;padding:8px 13px;border-radius:20px}.filter-list a.active{background:var(--green);color:#fff}.library-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.reading{max-width:750px;margin:auto;padding:50px 25px 80px}.reading h1{font-size:48px;line-height:1.15;font-weight:400}.reading .entry-content{font-size:19px;line-height:1.95}.reading .entry-content p{margin-bottom:1.3em}.reading .featured-image{width:100%;max-height:370px;object-fit:cover;margin:18px 0 24px}.page-content{max-width:820px;margin:0 auto;padding:55px 24px 90px}.page-content h1{font-size:42px;font-weight:400}.empty{padding:40px;text-align:center;color:var(--muted)}.site-footer{background:#465342;color:#f3f0e8;text-align:center;padding:36px 20px}.footer-logo{font-size:28px}.footer-note{font:12px Arial,sans-serif;opacity:.8;margin-top:10px}.footer-menu{display:flex;justify-content:center;flex-wrap:wrap;gap:20px;margin-top:20px;font-size:13px}.woocommerce .products li.product{background:#fff;padding:10px;border:1px solid var(--line)}.woocommerce div.product{padding:40px 0}.skip-link{position:absolute;left:-9999px}.skip-link:focus{left:15px;top:15px;background:white;padding:10px;z-index:99}@media(max-width:1050px){.main-nav{gap:13px}.main-nav a{font-size:13px}.brand-name{font-size:27px}.story-layout{grid-template-columns:1fr}.story-grid{grid-template-columns:repeat(3,1fr)}.features{grid-template-columns:repeat(2,1fr);gap:15px}.feature:nth-child(2){border-right:0}.product-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:720px){.container{padding-left:18px;padding-right:18px}.header-inner{min-height:73px;flex-wrap:wrap}.brand-name{font-size:25px}.brand-tag{font-size:8px}.brand-mark{font-size:31px}.nav-toggle{display:block}.main-nav{display:none;width:100%;order:4;flex-direction:column;align-items:flex-start;padding:0 0 16px}.main-nav.open{display:flex}.hero{min-height:440px;background:linear-gradient(90deg,rgba(252,250,242,.95),rgba(252,250,242,.48)),url('assets/hero-forest.jpg') 58% center/cover}.hero h1{font-size:42px}.hero p{font-size:16px}.features{grid-template-columns:1fr 1fr}.feature{padding:0 5px;gap:8px}.feature-symbol{font-size:24px}.feature-title{font-size:13px}.feature-sub{font-size:11px}.section h2{font-size:27px}.story-grid,.library-grid,.product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.story-card img{height:120px}.story-card-body{padding:11px}.story-card h3{font-size:17px}.product-card{display:block}.product-card img{width:100%;height:125px}.newsletter-form{flex-direction:column}.reading h1{font-size:36px}}@media(max-width:430px){.story-grid,.library-grid,.product-grid{grid-template-columns:1fr}.story-card img{height:210px}.product-card{display:flex}.product-card img{width:38%;height:135px}.section-heading{align-items:start}.small-link{font-size:12px}}
