/*
Theme Name: GardenNookCo
Theme URI: https://gardennookco.com
Author: GardenNookCo
Description: A beautiful garden and home decor blog theme with terracotta, sage green and warm sand tones.
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.7
Requires PHP: 7.4
License: GNU General Public License v2 or later
Text Domain: gardennookco
Tags: blog, garden, decor, lifestyle, custom-colors, custom-menu, featured-images
*/

:root {
  --cream: #F7F3EE;
  --sage: #7C9B76;
  --sage-light: #EAF0E8;
  --terra: #C4714F;
  --terra-dark: #A85A3A;
  --terra-light: #F5E8E2;
  --forest: #2E3B2C;
  --sand: #D4B896;
  --sand-light: #FAF5EF;
  --dark: #1A1F19;
  --muted: #7A7068;
  --border: rgba(44,37,30,0.1);
  --white: #FFFFFF;
  --font-display: 'Cormorant Garamond', Georgia, serif;
  --font-body: 'Jost', 'Helvetica Neue', sans-serif;
  --shadow-sm: 0 2px 12px rgba(44,37,30,0.06);
  --shadow-md: 0 8px 32px rgba(44,37,30,0.10);
  --shadow-lg: 0 20px 60px rgba(44,37,30,0.14);
  --transition: all 0.3s ease;
  --max-width: 1280px;
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--font-body);background:var(--cream);color:var(--dark);line-height:1.7;overflow-x:hidden;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none;transition:var(--transition)}
ul,ol{list-style:none}
button{cursor:pointer;font-family:var(--font-body);border:none}
input,textarea{font-family:var(--font-body)}

h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-weight:400;line-height:1.15;color:var(--forest)}
h1{font-size:clamp(40px,6vw,72px)}
h2{font-size:clamp(28px,4vw,48px)}
h3{font-size:clamp(20px,2.5vw,28px)}
p{margin-bottom:1.4em;color:var(--muted);font-size:15px;line-height:1.8}
p:last-child{margin-bottom:0}

.container{max-width:var(--max-width);margin:0 auto;padding:0 40px}
.container-narrow{max-width:780px;margin:0 auto;padding:0 40px}
.section{padding:80px 0}

.btn{display:inline-flex;align-items:center;gap:10px;font-family:var(--font-body);font-size:11px;font-weight:500;letter-spacing:0.12em;text-transform:uppercase;padding:14px 30px;transition:var(--transition);border:none;text-decoration:none;cursor:pointer}
.btn-primary{background:var(--terra);color:var(--white)}
.btn-primary:hover{background:var(--terra-dark);transform:translateY(-2px);box-shadow:var(--shadow-md)}
.btn-dark{background:var(--forest);color:var(--cream)}
.btn-dark:hover{background:var(--terra);transform:translateY(-2px)}
.btn-outline{background:transparent;color:var(--forest);border:1.5px solid var(--forest)}
.btn-outline:hover{background:var(--forest);color:var(--cream)}
.btn-outline-light{background:transparent;color:var(--cream);border:1.5px solid rgba(247,243,238,0.4)}
.btn-outline-light:hover{background:rgba(247,243,238,0.1);border-color:var(--cream)}
.btn-text{display:inline-flex;align-items:center;gap:8px;font-size:11px;font-weight:500;letter-spacing:0.12em;text-transform:uppercase;color:var(--sage);padding-bottom:3px;border-bottom:1px solid currentColor;transition:var(--transition)}
.btn-text:hover{color:var(--terra);gap:14px}

.eyebrow{font-size:10px;font-weight:500;letter-spacing:0.22em;text-transform:uppercase;color:var(--sage);display:block;margin-bottom:12px}
.text-terra{color:var(--terra);font-style:italic}

/* HEADER */
.site-header{position:sticky;top:0;z-index:1000;background:var(--cream);border-bottom:1px solid var(--border);height:68px;animation:fadeDown .6s ease both}
.header-inner{max-width:var(--max-width);margin:0 auto;padding:0 40px;height:100%;display:flex;align-items:center;justify-content:space-between;gap:32px}
.site-title{font-family:var(--font-display);font-size:24px;font-weight:600;color:var(--forest);letter-spacing:.02em}
.site-title span{color:var(--terra);font-style:italic}
.nav-menu{display:flex;align-items:center;gap:4px}
.nav-menu li a{font-size:11px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);padding:8px 14px;transition:var(--transition)}
.nav-menu li a:hover,.nav-menu li.current-menu-item a{color:var(--terra)}
.header-actions{display:flex;align-items:center;gap:12px;flex-shrink:0}
.search-btn{background:none;border:none;padding:8px;color:var(--muted);font-size:16px;cursor:pointer;transition:var(--transition)}
.search-btn:hover{color:var(--terra)}
.mobile-toggle{display:none;background:none;border:none;padding:8px;color:var(--forest);cursor:pointer;font-size:22px}
.mobile-nav{display:none;position:fixed;top:68px;left:0;right:0;background:var(--cream);border-bottom:1px solid var(--border);padding:20px 40px;z-index:999;flex-direction:column;gap:4px}
.mobile-nav.open{display:flex}
.mobile-nav a{font-size:13px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);padding:12px 0;border-bottom:1px solid var(--border)}
.mobile-nav a:hover{color:var(--terra)}

/* HERO */
.hero{display:grid;grid-template-columns:1fr 1fr;min-height:86vh;overflow:hidden}
.hero-content{background:var(--forest);padding:80px 72px;display:flex;flex-direction:column;justify-content:center;position:relative;overflow:hidden;animation:fadeUp .9s .2s ease both}
.hero-content::before{content:'';position:absolute;top:-100px;right:-100px;width:400px;height:400px;border-radius:50%;background:radial-gradient(circle,rgba(196,113,79,.15) 0%,transparent 70%);pointer-events:none}
.hero-badge{display:inline-flex;align-items:center;gap:8px;font-size:10px;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--sand);border:1px solid rgba(212,184,150,.3);padding:8px 18px;margin-bottom:32px;width:fit-content}
.hero-badge::before{content:'';width:6px;height:6px;border-radius:50%;background:var(--terra);flex-shrink:0}
.hero-title{font-family:var(--font-display);font-size:clamp(48px,6vw,80px);font-weight:300;color:var(--cream);line-height:1;margin-bottom:28px}
.hero-title em{color:var(--terra);font-style:italic;display:block}
.hero-desc{font-size:15px;line-height:1.85;color:rgba(247,243,238,.62);max-width:400px;margin-bottom:44px}
.hero-actions{display:flex;gap:16px;flex-wrap:wrap}
.hero-stats{display:flex;gap:40px;margin-top:56px;padding-top:40px;border-top:1px solid rgba(247,243,238,.1)}
.hero-stat-num{font-family:var(--font-display);font-size:32px;font-weight:300;color:var(--terra);line-height:1;display:block;margin-bottom:4px}
.hero-stat-label{font-size:10px;font-weight:500;letter-spacing:.15em;text-transform:uppercase;color:rgba(247,243,238,.4)}
.hero-visuals{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:3px;overflow:hidden;animation:fadeUp .9s .4s ease both}
.hero-visual{overflow:hidden;position:relative}
.hero-visual:first-child{grid-row:span 2}
.hero-visual-inner{width:100%;height:100%;min-height:220px;transition:transform 1s ease;background-size:cover;background-position:center}
.hero-visual:hover .hero-visual-inner{transform:scale(1.07)}
.vi-1{background:linear-gradient(160deg,#7C9B76 0%,#2E3B2C 60%,#1A2B18 100%)}
.vi-2{background:linear-gradient(160deg,#D4956A 0%,#C4714F 50%,#8B4513 100%)}
.vi-3{background:linear-gradient(160deg,#B8C9A8 0%,#7C9B76 50%,#4A6B45 100%)}

/* MARQUEE */
.marquee-strip{background:var(--terra);padding:14px 0;overflow:hidden}
.marquee-inner{display:flex;animation:marqueeScroll 25s linear infinite;white-space:nowrap}
.marquee-item{display:flex;align-items:center;gap:16px;padding:0 36px;font-size:10px;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:rgba(247,243,238,.9);flex-shrink:0}
.marquee-dot{width:4px;height:4px;border-radius:50%;background:rgba(247,243,238,.4);flex-shrink:0}

/* STATS */
.stats-strip{border-bottom:1px solid var(--border)}
.stats-inner{max-width:var(--max-width);margin:0 auto;padding:0 40px;display:grid;grid-template-columns:repeat(3,1fr)}
.stat-item{padding:52px 40px;text-align:center;border-right:1px solid var(--border);transition:var(--transition)}
.stat-item:last-child{border-right:none}
.stat-item:hover{background:var(--sand-light)}
.stat-number{font-family:var(--font-display);font-size:52px;font-weight:300;color:var(--terra);line-height:1;display:block;margin-bottom:8px}
.stat-label{font-size:11px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}

/* SECTION HEADER */
.section-header{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:52px;gap:24px}
.section-title{font-family:var(--font-display);font-size:clamp(30px,4vw,48px);font-weight:300;color:var(--forest);line-height:1.1}
.section-title em{color:var(--terra);font-style:italic}

/* POST CARDS */
.posts-section{padding:88px 0}
.posts-grid{display:grid;grid-template-columns:2.2fr 1fr 1fr;grid-template-rows:auto auto;gap:28px}
.post-card{background:var(--white);overflow:hidden;transition:transform .4s ease,box-shadow .4s ease;position:relative}
.post-card:hover{transform:translateY(-7px);box-shadow:var(--shadow-lg)}
.post-card.featured{grid-row:span 2}
.post-thumb{overflow:hidden;position:relative;height:240px}
.post-card.featured .post-thumb{height:380px}
.post-thumb-inner{width:100%;height:100%;background-size:cover;background-position:center;transition:transform .9s ease}
.post-card:hover .post-thumb-inner{transform:scale(1.08)}
.post-cat{position:absolute;top:18px;left:18px;background:var(--terra);color:var(--white);font-size:9px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;padding:6px 13px;z-index:1}
.post-body{padding:28px}
.post-meta{display:flex;align-items:center;gap:10px;margin-bottom:12px}
.post-date,.post-time{font-size:11px;color:var(--muted)}
.post-dot{width:3px;height:3px;border-radius:50%;background:var(--sand)}
.post-title{display:block;font-family:var(--font-display);font-size:22px;font-weight:600;color:var(--forest);line-height:1.25;margin-bottom:14px;transition:color .3s}
.post-card.featured .post-title{font-size:30px}
.post-card:hover .post-title{color:var(--terra)}
.post-excerpt{font-size:13px;line-height:1.75;color:var(--muted);margin-bottom:20px}

/* CATEGORIES */
.categories-section{background:var(--forest);padding:88px 0}
.cat-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:20px;margin-top:52px}
.cat-card{text-align:center;cursor:pointer;padding:24px 16px;border:1px solid rgba(247,243,238,.08);transition:var(--transition)}
.cat-card:hover{background:rgba(247,243,238,.05);border-color:var(--terra);transform:translateY(-8px)}
.cat-icon{width:72px;height:72px;border-radius:50%;margin:0 auto 16px;display:flex;align-items:center;justify-content:center;font-size:26px;border:1.5px solid rgba(247,243,238,.12);transition:var(--transition)}
.cat-card:hover .cat-icon{border-color:var(--terra);transform:scale(1.1)}
.ci-1{background:rgba(124,155,118,.2)} .ci-2{background:rgba(196,113,79,.2)} .ci-3{background:rgba(212,184,150,.15)} .ci-4{background:rgba(124,155,118,.15)} .ci-5{background:rgba(196,113,79,.15)} .ci-6{background:rgba(212,184,150,.1)}
.cat-name{font-size:10px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:rgba(247,243,238,.65);margin-bottom:6px;transition:color .3s}
.cat-card:hover .cat-name{color:var(--sand)}
.cat-count{font-size:10px;color:rgba(247,243,238,.3)}

/* NEWSLETTER */
.newsletter-section{background:var(--terra-light);padding:100px 0}
.newsletter-inner{max-width:var(--max-width);margin:0 auto;padding:0 40px;display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}
.newsletter-title{font-family:var(--font-display);font-size:clamp(34px,4vw,54px);font-weight:300;color:var(--forest);line-height:1.1;margin-bottom:20px}
.newsletter-title em{color:var(--terra);font-style:italic}
.newsletter-desc{font-size:15px;line-height:1.8;color:var(--muted)}
.newsletter-form{display:flex;flex-direction:column;gap:16px}
.form-field{background:var(--white);border:1px solid rgba(44,37,30,.12);padding:16px 20px;font-size:14px;color:var(--dark);outline:none;transition:border-color .3s;width:100%}
.form-field:focus{border-color:var(--terra)}
.form-field::placeholder{color:var(--muted)}
.form-note{font-size:11px;color:var(--muted)}

/* SIDEBAR */
.sidebar{display:flex;flex-direction:column;gap:36px}
.widget{background:var(--white);padding:28px;border-top:3px solid var(--terra)}
.widget-title{font-family:var(--font-display);font-size:20px;font-weight:600;color:var(--forest);margin-bottom:18px;padding-bottom:14px;border-bottom:1px solid var(--border)}
.tag-cloud{display:flex;flex-wrap:wrap;gap:8px}
.tag-item{font-size:10px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;padding:7px 14px;border:1px solid var(--border);color:var(--muted);transition:var(--transition)}
.tag-item:hover{background:var(--terra);color:var(--white);border-color:var(--terra)}

/* SINGLE POST */
.post-hero-section{background:var(--forest);padding:100px 0 80px;text-align:center}
.post-hero-section .post-cat{position:static;display:inline-block;margin-bottom:24px}
.post-hero-title{font-family:var(--font-display);font-size:clamp(34px,5vw,64px);font-weight:300;color:var(--cream);line-height:1.1;max-width:860px;margin:0 auto 28px}
.post-hero-meta{display:flex;align-items:center;justify-content:center;gap:16px;flex-wrap:wrap;font-size:12px;color:rgba(247,243,238,.55)}
.post-featured-img{width:100%;max-height:580px;overflow:hidden}
.post-featured-img img{width:100%;height:580px;object-fit:cover}
.post-layout{display:grid;grid-template-columns:1fr 320px;gap:60px;align-items:flex-start;padding:60px 0}
.entry-content p{font-size:16px;line-height:1.9;color:#444;margin-bottom:1.6em}
.entry-content h2{font-size:32px;margin:2em 0 .8em;color:var(--forest)}
.entry-content h3{font-size:24px;margin:1.8em 0 .6em;color:var(--forest)}
.entry-content ul{list-style:disc;padding-left:24px;margin-bottom:1.4em}
.entry-content ol{list-style:decimal;padding-left:24px;margin-bottom:1.4em}
.entry-content li{font-size:15px;line-height:1.8;color:#444;margin-bottom:.5em}
.entry-content blockquote{border-left:3px solid var(--terra);padding:20px 28px;margin:2em 0;background:var(--terra-light);font-family:var(--font-display);font-size:20px;font-style:italic;color:var(--forest)}
.entry-content a{color:var(--terra);border-bottom:1px solid transparent}
.entry-content a:hover{border-color:var(--terra)}
.entry-content img{border-radius:8px;margin:2em 0}

/* ARCHIVE */
.archive-header{background:var(--forest);padding:80px 0;text-align:center}
.archive-title{font-family:var(--font-display);font-size:56px;font-weight:300;color:var(--cream)}
.archive-title em{color:var(--terra);font-style:italic}
.archive-desc{color:rgba(247,243,238,.55);font-size:15px;margin-top:12px}
.archive-layout{display:grid;grid-template-columns:1fr 320px;gap:60px;padding:60px 0;align-items:flex-start}
.archive-list{display:flex;flex-direction:column;gap:36px}
.archive-card{display:grid;grid-template-columns:280px 1fr;background:var(--white);overflow:hidden;transition:var(--transition)}
.archive-card:hover{box-shadow:var(--shadow-md);transform:translateY(-4px)}
.archive-thumb{overflow:hidden;height:220px}
.archive-thumb-inner{width:100%;height:100%;background-size:cover;background-position:center;transition:transform .8s ease}
.archive-card:hover .archive-thumb-inner{transform:scale(1.07)}
.archive-body{padding:32px;display:flex;flex-direction:column;justify-content:center}

/* PAGINATION */
.pagination{display:flex;align-items:center;justify-content:center;gap:8px;padding:48px 0}
.page-num{width:44px;height:44px;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:500;color:var(--muted);border:1px solid var(--border);transition:var(--transition)}
.page-num:hover,.page-num.active{background:var(--terra);color:var(--white);border-color:var(--terra)}

/* FOOTER */
.site-footer{background:var(--dark)}
.footer-main{max-width:var(--max-width);margin:0 auto;padding:72px 40px 0;display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:56px}
.footer-logo{font-family:var(--font-display);font-size:28px;font-weight:600;color:var(--cream);margin-bottom:16px}
.footer-logo span{color:var(--terra);font-style:italic}
.footer-tagline{font-size:13px;line-height:1.8;color:rgba(247,243,238,.4);max-width:280px;margin-bottom:28px}
.footer-socials{display:flex;gap:10px}
.footer-social{font-size:9px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:rgba(247,243,238,.4);padding:8px 14px;border:1px solid rgba(247,243,238,.1);transition:var(--transition)}
.footer-social:hover{color:var(--cream);border-color:rgba(247,243,238,.3)}
.footer-col-title{font-size:9px;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--sand);margin-bottom:22px}
.footer-nav{display:flex;flex-direction:column;gap:12px}
.footer-nav a{font-size:13px;color:rgba(247,243,238,.4);transition:color .3s}
.footer-nav a:hover{color:var(--cream)}
.footer-bottom{max-width:var(--max-width);margin:0 auto;padding:28px 40px;display:flex;align-items:center;justify-content:space-between;border-top:1px solid rgba(247,243,238,.07);margin-top:56px}
.footer-copy{font-size:11px;color:rgba(247,243,238,.25);letter-spacing:.05em}
.footer-legal{display:flex;gap:24px}
.footer-legal a{font-size:11px;color:rgba(247,243,238,.25);transition:color .3s}
.footer-legal a:hover{color:var(--cream)}

/* ANIMATIONS */
@keyframes fadeDown{from{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}
@keyframes fadeUp{from{opacity:0;transform:translateY(32px)}to{opacity:1;transform:translateY(0)}}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
@keyframes marqueeScroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}

.animate-up{opacity:0;transform:translateY(32px);transition:opacity .7s ease,transform .7s ease}
.animate-up.visible{opacity:1;transform:translateY(0)}

/* RESPONSIVE */
@media(max-width:1100px){
  .posts-grid{grid-template-columns:1fr 1fr}
  .post-card.featured{grid-row:auto;grid-column:span 2}
  .cat-grid{grid-template-columns:repeat(3,1fr)}
  .footer-main{grid-template-columns:1fr 1fr;gap:40px}
}
@media(max-width:900px){
  .hero{grid-template-columns:1fr;min-height:auto}
  .hero-visuals{height:300px;grid-template-columns:1fr 1fr 1fr;grid-template-rows:1fr}
  .hero-visual:first-child{grid-row:auto}
  .newsletter-inner{grid-template-columns:1fr;gap:40px}
  .post-layout,.archive-layout{grid-template-columns:1fr}
  .sidebar{display:none}
  .archive-card{grid-template-columns:1fr}
  .stats-inner{grid-template-columns:1fr}
  .stat-item{border-right:none;border-bottom:1px solid var(--border)}
  .stat-item:last-child{border-bottom:none}
}
@media(max-width:700px){
  .container,.container-narrow{padding:0 20px}
  .header-inner{padding:0 20px}
  .main-navigation{display:none}
  .mobile-toggle{display:block}
  .hero-content{padding:52px 28px}
  .section{padding:52px 0}
  .posts-grid{grid-template-columns:1fr}
  .post-card.featured{grid-column:auto}
  .cat-grid{grid-template-columns:repeat(2,1fr)}
  .footer-main{grid-template-columns:1fr;padding:48px 20px 0}
  .footer-bottom{flex-direction:column;gap:16px;text-align:center;padding:24px 20px}
  .newsletter-inner{padding:0 20px}
  .stats-inner{padding:0 20px}
}

/* Search overlay - ALWAYS hidden until JS activates it */
.search-overlay{display:none!important;position:fixed;inset:0;z-index:2000;background:rgba(247,243,238,0.97);align-items:center;justify-content:center;opacity:0;transition:opacity .3s}
.search-overlay.active{display:flex!important;opacity:1}
.search-form-inner{width:100%;max-width:640px;padding:0 24px}
.search-form-inner input[type="search"]{width:100%;font-family:var(--font-display);font-size:clamp(24px,5vw,40px);border:none;background:transparent;border-bottom:2px solid var(--forest);padding:16px 0;color:var(--forest);outline:none}
.search-close{position:absolute;top:24px;right:24px;background:none;border:none;font-size:28px;color:var(--muted);cursor:pointer;transition:color .3s}
.search-close:hover{color:var(--terra)}

/* COMMENTS */
.comments-area{}
.comments-title{font-family:var(--font-display);font-size:28px;font-weight:300;color:var(--forest);margin-bottom:28px}
.comment-list{list-style:none;display:flex;flex-direction:column;gap:24px}
.comment-body{background:var(--white);padding:24px;border-left:3px solid var(--sage-light)}
.comment-author .fn{font-family:var(--font-display);font-size:17px;font-weight:600;color:var(--forest)}
.comment-meta{font-size:11px;color:var(--muted);margin-top:4px;margin-bottom:14px}
.comment-content p{font-size:14px;line-height:1.75;color:#444;margin-bottom:8px}
.reply a{font-size:11px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--terra);transition:color .3s}
.reply a:hover{color:var(--forest)}
.comment-respond{margin-top:40px}
.comment-reply-title{font-family:var(--font-display);font-size:24px;font-weight:300;color:var(--forest);margin-bottom:24px}
.comment-form p{margin-bottom:14px}
.comment-form input,.comment-form textarea{width:100%;padding:12px 16px;border:1px solid var(--border);font-family:var(--font-body);font-size:14px;outline:none;background:white;color:var(--dark);transition:border-color .3s}
.comment-form input:focus,.comment-form textarea:focus{border-color:var(--terra)}
.comment-form textarea{resize:vertical;min-height:120px}

/* Fix default WordPress widget styling that bleeds through */
.wp-block-latest-posts,.wp-block-archives,.wp-block-categories{list-style:none!important}
