/*
Theme Name: NestWick
Theme URI: https://thenestwick.com
Author: NestWick
Description: A warm, cozy home decor affiliate blog theme
Version: 1.0
License: GNU General Public License v2 or later
Text Domain: nestwick
*/

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

:root {
  --cream: #FAF7F2;
  --terracotta: #C8956C;
  --terracotta-dark: #A87350;
  --brown: #8B6F5E;
  --linen: #D4C5B2;
  --espresso: #4A3728;
  --espresso-light: #6B5344;
  --white: #FFFFFF;
  --section-bg: #F3EDE4;
}

html { scroll-behavior: smooth; }
body { font-family: 'Lato', sans-serif; background: var(--cream); color: var(--espresso); font-size: 17px; line-height: 1.8; overflow-x: hidden; }
img { max-width: 100%; height: auto; display: block; }
a { color: var(--terracotta); }

/* ── BUTTON COLOR FIX — must be global and high specificity ── */
a.nw-pc-btn, a.nw-pc-btn:link, a.nw-pc-btn:visited, a.nw-pc-btn:hover, a.nw-pc-btn:active,
a.pc-btn, a.pc-btn:link, a.pc-btn:visited, a.pc-btn:hover, a.pc-btn:active,
a.btn-primary, a.btn-primary:link, a.btn-primary:visited, a.btn-primary:hover,
a.nw-nav-cta, a.nw-nav-cta:link, a.nw-nav-cta:visited,
a.mid-cta a, a.nw-cta a,
.post-content a.nw-pc-btn,
.post-content a.nw-pc-btn:link,
.post-content a.nw-pc-btn:visited,
.post-content a.nw-pc-btn:hover,
.nw-pw a.nw-pc-btn,
.nw-pw a.nw-pc-btn:link,
.nw-pw a.nw-pc-btn:visited,
.nw-pw a.nw-pc-btn:hover { color: #FFFFFF !important; text-decoration: none !important; }

/* HEADER */
.nw-header { position: sticky; top: 0; z-index: 1000; background: var(--cream); border-bottom: 1px solid var(--linen); padding: 0 40px; height: 68px; display: flex; align-items: center; justify-content: space-between; }
.nw-logo { font-family: 'Playfair Display', serif; font-size: 24px; font-weight: 700; color: var(--espresso); text-decoration: none; letter-spacing: -0.3px; }
.nw-logo span { color: var(--terracotta); }
.nw-nav { display: flex; align-items: center; gap: 28px; }
.nw-nav a { font-size: 12px; font-weight: 400; color: var(--espresso-light); text-decoration: none; letter-spacing: 0.07em; text-transform: uppercase; transition: color 0.2s; }
.nw-nav a:hover { color: var(--terracotta); }
.nw-nav-cta { background: var(--terracotta) !important; color: #FFFFFF !important; padding: 9px 20px; border-radius: 6px; font-weight: 700 !important; transition: background 0.2s !important; }
.nw-nav-cta:hover { background: var(--terracotta-dark) !important; color: #FFFFFF !important; }
.nw-hamburger { display: none; flex-direction: column; gap: 5px; background: none; border: none; cursor: pointer; padding: 4px; }
.nw-hamburger span { display: block; width: 24px; height: 2px; background: var(--espresso); border-radius: 2px; }

/* HERO */
.hero { position: relative; min-height: 90vh; display: flex; align-items: center; justify-content: center; overflow: hidden; background: var(--brown); background-image: url('https://thenestwick.com/wp-content/uploads/2026/03/hero-image.webp'); background-size: cover; background-position: center; }
.hero-bg { position: absolute; inset: 0; background: radial-gradient(ellipse at 20% 50%, rgba(200,149,108,0.15) 0%, transparent 60%), linear-gradient(135deg, rgba(74,55,40,0.75) 0%, rgba(107,83,68,0.65) 100%); }
.hero-texture { position: absolute; inset: 0; background-image: url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23FAF7F2' fill-opacity='0.03'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E"); opacity: 0.4; }
.hero-content { position: relative; z-index: 2; text-align: center; max-width: 780px; padding: 40px 24px; animation: fadeUp 0.9s ease both; }
@keyframes fadeUp { from { opacity: 0; transform: translateY(30px); } to { opacity: 1; transform: translateY(0); } }
.hero-overline { font-size: 11px; font-weight: 700; letter-spacing: 0.2em; text-transform: uppercase; color: var(--linen); opacity: 0.8; margin-bottom: 20px; display: block; }
.hero h1 { font-family: 'Playfair Display', serif; font-size: clamp(38px, 6vw, 68px); font-weight: 400; color: var(--cream); line-height: 1.15; margin-bottom: 24px; letter-spacing: -0.5px; }
.hero h1 em { font-style: italic; color: var(--linen); }
.hero-sub { font-size: 18px; font-weight: 300; color: var(--linen); margin-bottom: 40px; line-height: 1.7; max-width: 520px; margin-left: auto; margin-right: auto; }
.hero-buttons { display: flex; gap: 14px; justify-content: center; flex-wrap: wrap; }
.btn-primary { background: var(--terracotta); color: #FFFFFF !important; padding: 15px 38px; border-radius: 6px; font-size: 14px; font-weight: 700; letter-spacing: 0.05em; text-decoration: none !important; text-transform: uppercase; transition: all 0.2s; display: inline-block; }
.btn-primary:hover { background: var(--terracotta-dark); transform: translateY(-2px); color: #FFFFFF !important; }
.btn-ghost { background: transparent; color: var(--cream) !important; padding: 15px 38px; border-radius: 6px; font-size: 14px; letter-spacing: 0.05em; text-decoration: none !important; border: 1px solid rgba(212,197,178,0.5); transition: all 0.2s; display: inline-block; }
.btn-ghost:hover { border-color: var(--linen); color: var(--cream) !important; }
.hero-scroll { position: absolute; bottom: 32px; left: 50%; transform: translateX(-50%); display: flex; flex-direction: column; align-items: center; gap: 8px; color: var(--linen); opacity: 0.5; font-size: 11px; letter-spacing: 0.1em; text-transform: uppercase; }
.scroll-line { width: 1px; height: 40px; background: var(--linen); animation: scrollPulse 2s ease-in-out infinite; }
@keyframes scrollPulse { 0%, 100% { opacity: 0.3; } 50% { opacity: 0.8; } }

/* SHARED */
.section-header { text-align: center; margin-bottom: 48px; }
.section-overline { font-size: 11px; font-weight: 700; letter-spacing: 0.2em; text-transform: uppercase; color: var(--terracotta); margin-bottom: 12px; display: block; }
.section-header h2 { font-family: 'Playfair Display', serif; font-size: clamp(28px, 3.5vw, 42px); font-weight: 400; color: var(--espresso); line-height: 1.2; }

/* CATEGORIES */
.categories { background: var(--white); padding: 72px 40px; }
.category-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; max-width: 1100px; margin: 0 auto; }
.category-card { position: relative; border-radius: 12px; overflow: hidden; aspect-ratio: 3/4; cursor: pointer; text-decoration: none; display: block; }
.category-card .cat-bg { position: absolute; inset: 0; transition: transform 0.4s ease; }
.category-card:hover .cat-bg { transform: scale(1.05); }
.cat-bg-1 { background: linear-gradient(145deg, #C8956C, #8B6F5E); }
.cat-bg-2 { background: linear-gradient(145deg, #8B6F5E, #6B5344); }
.cat-bg-3 { background: linear-gradient(145deg, #D4B896, #C8956C); }
.cat-bg-4 { background: linear-gradient(145deg, #7A8C6E, #5A6B50); }
.cat-pattern { position: absolute; inset: 0; opacity: 0.1; background-image: url("data:image/svg+xml,%3Csvg width='40' height='40' viewBox='0 0 40 40' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%23fff' fill-opacity='1' fill-rule='evenodd'%3E%3Ccircle cx='20' cy='20' r='3'/%3E%3C/g%3E%3C/svg%3E"); }
.category-card .cat-overlay { position: absolute; inset: 0; background: linear-gradient(to top, rgba(0,0,0,0.5) 0%, transparent 60%); }
.cat-label { position: absolute; bottom: 0; left: 0; right: 0; padding: 24px 20px 20px; color: white; }
.cat-label span { font-size: 10px; letter-spacing: 0.15em; text-transform: uppercase; opacity: 0.7; display: block; margin-bottom: 4px; }
.cat-label strong { font-family: 'Playfair Display', serif; font-size: 20px; font-weight: 600; display: block; }

/* FEATURED POSTS */
.featured { padding: 80px 40px; background: var(--cream); }
.featured .section-header, .featured .posts-grid { max-width: 1200px; margin-left: auto; margin-right: auto; }
.posts-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px; margin-top: 48px; }
.post-card { background: var(--white); border-radius: 12px; overflow: hidden; transition: transform 0.3s, box-shadow 0.3s; text-decoration: none; display: block; border: 1px solid var(--linen); }
.post-card:hover { transform: translateY(-6px); box-shadow: 0 20px 40px rgba(74,55,40,0.12); }
.post-img { height: 220px; position: relative; overflow: hidden; }
.post-img-inner { width: 100%; height: 100%; display: flex; align-items: center; justify-content: center; font-size: 52px; opacity: 0.3; color: white; }
.post-tag { position: absolute; top: 14px; left: 14px; background: var(--terracotta); color: white; font-size: 10px; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; padding: 4px 10px; border-radius: 4px; }
.post-body { padding: 22px 24px 26px; }
.post-meta { font-size: 11px; color: var(--brown); letter-spacing: 0.05em; margin-bottom: 10px; text-transform: uppercase; }
.post-body h3 { font-family: 'Playfair Display', serif; font-size: 19px; font-weight: 600; color: var(--espresso); line-height: 1.3; margin-bottom: 10px; }
.post-body p { font-size: 14px; color: var(--espresso-light); line-height: 1.65; margin-bottom: 16px; }
.post-link { font-size: 12px; font-weight: 700; color: var(--terracotta); letter-spacing: 0.08em; text-transform: uppercase; text-decoration: none; display: inline-block; }

/* PRODUCT CARDS — homepage */
.shop-section { background: var(--section-bg); padding: 80px 40px; }
.shop-inner { max-width: 1100px; margin: 0 auto; }
.products-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; margin-top: 48px; }
.product-card { background: var(--white); border-radius: 12px; overflow: hidden; border: 1px solid var(--linen); transition: transform 0.3s, box-shadow 0.3s; }
.product-card:hover { transform: translateY(-4px); box-shadow: 0 16px 32px rgba(74,55,40,0.1); }
.product-card-img { height: 200px; display: flex; align-items: center; justify-content: center; position: relative; }
.pc-img-1 { background: linear-gradient(135deg, #F0E6D8, #D4B896); }
.pc-img-2 { background: linear-gradient(135deg, #E8DDD0, #C8956C); }
.pc-img-3 { background: linear-gradient(135deg, #DDD0C2, #B89070); }
.pc-img-4 { background: linear-gradient(135deg, #E4D8C8, #C09070); }
.pc-img-5 { background: linear-gradient(135deg, #D8CCB8, #A87856); }
.pc-emoji { font-size: 52px; opacity: 0.25; }
.pc-badge { position: absolute; top: 12px; right: 12px; background: var(--espresso); color: white; font-size: 10px; font-weight: 700; padding: 3px 9px; border-radius: 20px; letter-spacing: 0.05em; }
.product-card-body { padding: 18px 20px 22px; display: flex; flex-direction: column; }
.pc-store { font-size: 10px; font-weight: 700; letter-spacing: 0.15em; text-transform: uppercase; color: var(--brown); margin-bottom: 6px; }
.product-card-body h4 { font-family: 'Playfair Display', serif; font-size: 17px; font-weight: 600; color: var(--espresso); margin-bottom: 8px; line-height: 1.3; }
.pc-hook { font-size: 13px; color: var(--espresso-light); line-height: 1.55; margin-bottom: 14px; }
.pc-price-row { display: flex; align-items: center; gap: 8px; margin-bottom: 14px; }
.pc-price { font-size: 22px; font-weight: 700; color: var(--terracotta); }
.pc-original { font-size: 13px; color: var(--brown); text-decoration: line-through; opacity: 0.6; }
.pc-save { font-size: 11px; font-weight: 700; background: #E8F5E9; color: #2E7D32; padding: 3px 8px; border-radius: 4px; }
.pc-btn { display: inline-block; background: var(--terracotta); color: #FFFFFF !important; padding: 11px 22px; border-radius: 6px; font-size: 12px; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; text-decoration: none !important; transition: background 0.2s; align-self: flex-start; }
.pc-btn:hover { background: var(--terracotta-dark); color: #FFFFFF !important; }

/* PRODUCT CARDS — blog post (nw- prefix) */
.nw-pc-btn { display: inline-block; background: var(--terracotta); color: #FFFFFF !important; padding: 13px 28px; border-radius: 6px; font-size: 13px; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; text-decoration: none !important; transition: background 0.2s; align-self: flex-start; }
.nw-pc-btn:link { color: #FFFFFF !important; text-decoration: none !important; }
.nw-pc-btn:visited { color: #FFFFFF !important; text-decoration: none !important; }
.nw-pc-btn:hover { background: var(--terracotta-dark); color: #FFFFFF !important; text-decoration: none !important; }
.nw-pc-btn:active { color: #FFFFFF !important; }

/* EMAIL */
.email-section { background: var(--espresso); padding: 80px 40px; text-align: center; position: relative; overflow: hidden; }
.email-bg { position: absolute; inset: 0; background: radial-gradient(ellipse at center, rgba(200,149,108,0.15) 0%, transparent 70%); }
.email-inner { position: relative; z-index: 2; max-width: 560px; margin: 0 auto; }
.email-section .section-overline { color: var(--terracotta); }
.email-section h2 { font-family: 'Playfair Display', serif; font-size: clamp(28px, 3.5vw, 42px); font-weight: 400; color: var(--cream); margin-bottom: 14px; line-height: 1.2; }
.email-section p { font-size: 16px; color: var(--linen); opacity: 0.8; margin-bottom: 36px; line-height: 1.6; }
.email-form { display: flex; max-width: 460px; margin: 0 auto 16px; border-radius: 8px; overflow: hidden; box-shadow: 0 4px 24px rgba(0,0,0,0.2); }
.email-form input { flex: 1; padding: 16px 20px; border: none; background: var(--cream); font-family: 'Lato', sans-serif; font-size: 14px; color: var(--espresso); outline: none; }
.email-form button { background: var(--terracotta); color: white; border: none; padding: 16px 28px; font-family: 'Lato', sans-serif; font-size: 13px; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; cursor: pointer; transition: background 0.2s; white-space: nowrap; }
.email-form button:hover { background: var(--terracotta-dark); }
.email-note { font-size: 12px; color: var(--linen); opacity: 0.5; }

/* FOOTER */
.nw-footer { background: #2E1F15; padding: 56px 40px 32px; }
.nw-footer-inner { max-width: 1100px; margin: 0 auto; display: grid; grid-template-columns: 1.5fr 1fr 1fr 1fr; gap: 40px; padding-bottom: 40px; border-bottom: 1px solid rgba(212,197,178,0.1); }
.nw-footer-brand .nw-logo { color: var(--cream); font-size: 22px; }
.nw-footer-brand p { font-size: 13px; color: var(--linen); opacity: 0.6; margin-top: 12px; line-height: 1.6; }
.nw-footer-col h5 { font-size: 11px; font-weight: 700; letter-spacing: 0.15em; text-transform: uppercase; color: var(--terracotta); margin-bottom: 16px; }
.nw-footer-col a { display: block; font-size: 13px; color: var(--linen); opacity: 0.6; text-decoration: none; margin-bottom: 8px; transition: opacity 0.2s; }
.nw-footer-col a:hover { opacity: 1; }
.nw-footer-bottom { max-width: 1100px; margin: 24px auto 0; display: flex; align-items: center; justify-content: space-between; gap: 20px; flex-wrap: wrap; }
.nw-footer-bottom p { font-size: 11px; color: var(--linen); opacity: 0.4; line-height: 1.6; }
.nw-footer-bottom p a { color: inherit; text-decoration: underline; }
.nw-social { display: flex; gap: 12px; }
.nw-social a { width: 36px; height: 36px; border-radius: 50%; border: 1px solid rgba(212,197,178,0.2); display: flex; align-items: center; justify-content: center; color: var(--linen); opacity: 0.5; font-size: 13px; text-decoration: none; transition: all 0.2s; }
.nw-social a:hover { opacity: 1; border-color: var(--terracotta); color: var(--terracotta); }

/* BLOG PAGE */
.nw-blog-hero { background: #8B6F5E; background-image: radial-gradient(ellipse at 30% 50%, rgba(200,149,108,0.3) 0%, transparent 60%), linear-gradient(135deg, #6B5344 0%, #8B6F5E 60%, #7A6050 100%); padding: 80px 40px; text-align: center; }
.nw-blog-hero-inner { max-width: 680px; margin: 0 auto; }
.nw-blog-hero h1 { font-family: 'Playfair Display', serif; font-size: clamp(32px, 5vw, 52px); font-weight: 400; color: var(--cream); line-height: 1.2; margin: 12px 0; }
.nw-blog-hero p { font-size: 17px; color: var(--linen); opacity: 0.85; line-height: 1.6; }
.nw-cat-filter { background: var(--white); border-bottom: 1px solid var(--linen); padding: 20px 40px; position: sticky; top: 68px; z-index: 50; }
.nw-cat-filter-inner { max-width: 1200px; margin: 0 auto; display: flex; gap: 10px; flex-wrap: wrap; }
.nw-cat-btn { font-size: 12px; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: var(--brown); text-decoration: none; padding: 7px 18px; border-radius: 30px; border: 1px solid var(--linen); transition: all 0.2s; background: transparent; }
.nw-cat-btn:hover, .nw-cat-btn.active { background: var(--terracotta); color: white !important; border-color: var(--terracotta); }
.nw-blog-grid-wrap { max-width: 1200px; margin: 0 auto; padding: 60px 40px 80px; }
.nw-blog-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px; }
.nw-post-card { background: var(--white); border-radius: 12px; overflow: hidden; border: 1px solid var(--linen); text-decoration: none; display: block; transition: transform 0.3s, box-shadow 0.3s; }
.nw-post-card:hover { transform: translateY(-6px); box-shadow: 0 20px 40px rgba(74,55,40,0.12); }
.nw-post-img { height: 220px; position: relative; overflow: hidden; background: linear-gradient(135deg, #E8D5C4, #C8956C); }
.nw-post-img-icon { width: 100%; height: 100%; display: flex; align-items: center; justify-content: center; font-size: 52px; opacity: 0.25; }
.nw-post-tag { position: absolute; top: 14px; left: 14px; background: var(--terracotta); color: white; font-size: 10px; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; padding: 4px 10px; border-radius: 4px; }
.nw-post-body { padding: 22px 24px 26px; }
.nw-post-meta { font-size: 11px; color: var(--brown); letter-spacing: 0.05em; margin-bottom: 10px; text-transform: uppercase; display: flex; align-items: center; gap: 6px; }
.nw-dot { opacity: 0.4; }
.nw-post-body h3 { font-family: 'Playfair Display', serif; font-size: 19px; font-weight: 600; color: var(--espresso); line-height: 1.3; margin-bottom: 10px; }
.nw-post-body p { font-size: 14px; color: var(--espresso-light); line-height: 1.65; margin-bottom: 16px; }
.nw-read-more { font-size: 12px; font-weight: 700; color: var(--terracotta); letter-spacing: 0.08em; text-transform: uppercase; text-decoration: none; }
.nw-pagination { display: flex; justify-content: center; gap: 8px; margin-top: 60px; flex-wrap: wrap; }
.nw-pagination .page-numbers { display: inline-flex; align-items: center; justify-content: center; min-width: 40px; height: 40px; padding: 0 12px; border-radius: 8px; border: 1px solid var(--linen); color: var(--brown); text-decoration: none; font-size: 14px; transition: all 0.2s; background: white; }
.nw-pagination .page-numbers.current, .nw-pagination .page-numbers:hover { background: var(--terracotta); color: white !important; border-color: var(--terracotta); }
.nw-no-posts { text-align: center; padding: 80px 20px; color: var(--brown); font-size: 18px; }

/* SINGLE POST */
.post-hero { background: #8B6F5E; background-image: radial-gradient(ellipse at 30% 50%, rgba(200,149,108,0.25) 0%, transparent 60%), linear-gradient(135deg, #5A4035 0%, #8B6F5E 60%, #7A6050 100%); padding: 70px 40px 60px; text-align: center; }
.post-hero-inner { max-width: 820px; margin: 0 auto; }
.post-category { display: inline-block; background: var(--terracotta); color: white !important; font-size: 11px; font-weight: 700; letter-spacing: 0.15em; text-transform: uppercase; padding: 5px 16px; border-radius: 4px; margin-bottom: 24px; text-decoration: none !important; }
.post-hero h1 { font-family: 'Playfair Display', serif; font-size: clamp(28px, 4.5vw, 52px); font-weight: 700; color: var(--cream); line-height: 1.15; margin-bottom: 20px; letter-spacing: -0.3px; }
.post-hero-meta { font-size: 13px; color: var(--linen); opacity: 0.7; display: flex; align-items: center; justify-content: center; gap: 10px; flex-wrap: wrap; }
.meta-dot { opacity: 0.4; }
.post-wrap { max-width: 900px; margin: 0 auto; padding: 0 40px 80px; }
.disclosure { background: #FFF8F0; border-left: 3px solid var(--terracotta); border-radius: 0 8px 8px 0; padding: 14px 20px; margin: 40px 0 36px; font-size: 13px; color: var(--brown); line-height: 1.6; }

/* Post content — normal links stay terracotta, buttons are white */
.post-content { color: var(--espresso); }
.post-content p { font-size: 17px; line-height: 1.85; margin-bottom: 26px; }
.post-content h2 { font-family: 'Playfair Display', serif; font-size: 30px; font-weight: 700; color: var(--espresso); margin: 52px 0 18px; line-height: 1.2; }
.post-content h3 { font-family: 'Playfair Display', serif; font-size: 22px; font-weight: 600; color: var(--espresso); margin: 36px 0 14px; }
.post-content a { color: var(--terracotta); }
.post-content ul, .post-content ol { margin: 0 0 24px 24px; }
.post-content li { font-size: 17px; line-height: 1.7; margin-bottom: 8px; }
.post-content img { border-radius: 12px; margin: 32px 0; width: 100%; height: 400px; object-fit: cover; }
.post-content blockquote { border-left: 3px solid var(--terracotta); padding: 16px 24px; margin: 32px 0; background: var(--section-bg); border-radius: 0 8px 8px 0; font-style: italic; }

/* Inline post elements */
.highlight-box { background: var(--section-bg); border-left: 4px solid var(--terracotta); border-radius: 0 10px 10px 0; padding: 20px 24px; margin: 32px 0; }
.highlight-box p { margin: 0 !important; font-size: 16px; font-style: italic; color: var(--espresso); }
.pros-cons { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin: 32px 0; }
.pros, .cons { background: var(--white); border: 1px solid var(--linen); border-radius: 10px; padding: 20px; }
.pros h5 { font-size: 12px; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: #2E7D32; margin-bottom: 12px; }
.cons h5 { font-size: 12px; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: #C62828; margin-bottom: 12px; }
.pros ul, .cons ul { list-style: none; display: flex; flex-direction: column; gap: 8px; padding: 0; margin: 0; }
.pros ul li::before { content: '✓ '; color: #2E7D32; font-weight: 700; }
.cons ul li::before { content: '✗ '; color: #C62828; font-weight: 700; }
.pros ul li, .cons ul li { font-size: 14px; color: var(--espresso-light); line-height: 1.5; }
.mid-cta { background: var(--espresso); border-radius: 14px; padding: 36px 40px; margin: 48px 0; text-align: center; position: relative; overflow: hidden; }
.mid-cta::before { content: ''; position: absolute; inset: 0; background: radial-gradient(ellipse at center, rgba(200,149,108,0.15) 0%, transparent 70%); }
.mid-cta-inner { position: relative; z-index: 1; }
.mid-cta h3 { font-family: 'Playfair Display', serif; font-size: 24px; color: var(--cream); margin: 0 0 10px; font-weight: 400; }
.mid-cta p { font-size: 15px; color: var(--linen); opacity: 0.8; margin-bottom: 20px; }
.mid-cta a { display: inline-block; background: var(--terracotta); color: #FFFFFF !important; padding: 13px 32px; border-radius: 6px; font-size: 13px; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; text-decoration: none !important; transition: background 0.2s; }
.mid-cta a:hover { background: var(--terracotta-dark); color: #FFFFFF !important; }
.pinterest-strip { background: #E60023; border-radius: 10px; padding: 16px 24px; margin: 40px 0; display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.pinterest-strip p { color: white; font-size: 14px; font-weight: 500; margin: 0; }
.pinterest-strip a { display: inline-flex; align-items: center; gap: 8px; background: white; color: #E60023 !important; padding: 10px 20px; border-radius: 6px; font-size: 13px; font-weight: 700; text-decoration: none !important; white-space: nowrap; }
.post-email { background: var(--espresso); border-radius: 14px; padding: 48px 40px; margin: 48px 0; text-align: center; position: relative; overflow: hidden; }
.post-email::before { content: ''; position: absolute; inset: 0; background: radial-gradient(ellipse at center, rgba(200,149,108,0.12) 0%, transparent 70%); }
.post-email-inner { position: relative; z-index: 1; }
.post-email span { font-size: 11px; font-weight: 700; letter-spacing: 0.2em; text-transform: uppercase; color: var(--terracotta); display: block; margin-bottom: 12px; }
.post-email h3 { font-family: 'Playfair Display', serif; font-size: 26px; color: var(--cream); margin: 0 0 10px; font-weight: 400; }
.post-email p { font-size: 15px; color: var(--linen); opacity: 0.8; margin-bottom: 24px; max-width: 420px; margin-left: auto; margin-right: auto; }
.post-email-form { display: flex; max-width: 420px; margin: 0 auto 12px; border-radius: 8px; overflow: hidden; box-shadow: 0 4px 20px rgba(0,0,0,0.2); }
.post-email-form input { flex: 1; padding: 14px 18px; border: none; background: var(--cream); font-family: 'Lato', sans-serif; font-size: 14px; color: var(--espresso); outline: none; }
.post-email-form button { background: var(--terracotta); color: white; border: none; padding: 14px 22px; font-family: 'Lato', sans-serif; font-size: 13px; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; cursor: pointer; transition: background 0.2s; white-space: nowrap; }
.post-email-form button:hover { background: var(--terracotta-dark); }
.post-email-note { font-size: 11px; color: var(--linen); opacity: 0.4; margin: 0; }
.related-posts { margin: 48px 0 0; }
.related-posts h3 { font-family: 'Playfair Display', serif; font-size: 24px; color: var(--espresso); margin-bottom: 24px; font-weight: 600; }
.related-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.related-card { background: var(--white); border-radius: 10px; overflow: hidden; border: 1px solid var(--linen); text-decoration: none; display: block; transition: transform 0.3s; }
.related-card:hover { transform: translateY(-4px); }
.related-img { height: 160px; position: relative; overflow: hidden; background: linear-gradient(135deg,#E8D5C4,#C8956C); }
.related-body { padding: 16px 18px 18px; }
.related-body h4 { font-family: 'Playfair Display', serif; font-size: 16px; font-weight: 600; color: var(--espresso); line-height: 1.3; margin-bottom: 10px; }

/* ABOUT */
.about-hero { background: #8B6F5E; background-image: radial-gradient(ellipse at 30% 50%, rgba(200,149,108,0.25) 0%, transparent 60%), linear-gradient(135deg, #5A4035 0%, #8B6F5E 60%, #7A6050 100%); padding: 80px 40px; text-align: center; }
.about-hero-inner { max-width: 680px; margin: 0 auto; }
.about-hero h1 { font-family: 'Playfair Display', serif; font-size: clamp(30px, 4.5vw, 52px); font-weight: 400; color: var(--cream); line-height: 1.2; margin-top: 12px; }
.about-hero h1 em { font-style: italic; color: var(--linen); }
.about-wrap { max-width: 820px; margin: 0 auto; padding: 60px 40px 80px; }
.about-content p { font-size: 17px; line-height: 1.85; color: var(--espresso); margin-bottom: 24px; }
.about-lead { font-size: 20px; font-weight: 300; color: var(--espresso); line-height: 1.7; margin-bottom: 32px; }
.about-content h2 { font-family: 'Playfair Display', serif; font-size: 28px; font-weight: 700; color: var(--espresso); margin: 48px 0 18px; }
.about-values { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; margin: 36px 0; }
.about-value { background: var(--white); border: 1px solid var(--linen); border-radius: 12px; padding: 24px; text-align: center; }
.about-value-icon { font-size: 32px; margin-bottom: 12px; }
.about-value h4 { font-family: 'Playfair Display', serif; font-size: 17px; font-weight: 600; color: var(--espresso); margin-bottom: 8px; }
.about-value p { font-size: 13px; color: var(--espresso-light); line-height: 1.6; margin: 0; }
.about-email { background: var(--espresso); border-radius: 14px; padding: 48px 40px; margin-top: 48px; text-align: center; position: relative; overflow: hidden; }
.about-email::before { content: ''; position: absolute; inset: 0; background: radial-gradient(ellipse at center, rgba(200,149,108,0.12) 0%, transparent 70%); }

/* RESPONSIVE */
@media (max-width: 900px) {
  .nw-header { padding: 0 20px; }
  .nw-nav { display: none; }
  .nw-nav.open { display: flex; flex-direction: column; position: absolute; top: 68px; left: 0; right: 0; background: var(--cream); border-bottom: 1px solid var(--linen); padding: 20px; gap: 16px; z-index: 999; }
  .nw-hamburger { display: flex; }
  .category-grid { grid-template-columns: repeat(2, 1fr); }
  .posts-grid, .nw-blog-grid, .products-grid { grid-template-columns: repeat(2, 1fr); }
  .nw-footer-inner { grid-template-columns: 1fr 1fr; }
  .pros-cons, .about-values { grid-template-columns: 1fr; }
  .related-grid { grid-template-columns: repeat(2, 1fr); }
  .post-wrap, .about-wrap { padding: 0 20px 60px; }
  .categories, .featured, .shop-section, .email-section { padding: 60px 20px; }
  .nw-footer { padding: 40px 20px 24px; }
  .nw-blog-grid-wrap { padding: 40px 20px 60px; }
  .nw-cat-filter { padding: 16px 20px; top: 68px; }
}

@media (max-width: 600px) {
  .posts-grid, .nw-blog-grid, .products-grid, .related-grid { grid-template-columns: 1fr; }
  .email-form, .post-email-form { flex-direction: column; }
  .email-form input, .email-form button, .post-email-form input, .post-email-form button { border-radius: 6px; width: 100%; }
  .pinterest-strip { flex-direction: column; text-align: center; }
  .mid-cta { padding: 28px 20px; }
  .post-email { padding: 36px 20px; }
  .post-hero { padding: 50px 20px 40px; }
  .nw-pc { grid-template-columns: 1fr; }
}

/* ── PAGE TEMPLATE (About, Disclosure, Privacy etc) ── */
/* Clean wrapper — no overrides, pages control their own styles */
.nw-page-wrap { width: 100%; }
.nw-page-content { width: 100%; }
.nw-page-content p { font-size: 17px; line-height: 1.85; color: #4A3728; margin-bottom: 24px; }
.nw-page-content h1 { font-family: 'Playfair Display', serif; font-size: clamp(28px,4vw,46px); font-weight: 700; color: #4A3728; margin-bottom: 20px; }
.nw-page-content h2 { font-family: 'Playfair Display', serif; font-size: 24px; font-weight: 700; color: #4A3728; margin: 44px 0 16px; }
.nw-page-content ul { margin: 0 0 24px 24px; }
.nw-page-content li { font-size: 17px; line-height: 1.7; margin-bottom: 8px; color: #4A3728; }
.nw-page-content a { color: #C8956C; }
