/*
Theme Name: HomeNest Decor
Theme URI: https://homenestdecor.org/
Author: HomeNest Decor
Description: Custom home decor magazine theme for HomeNest Decor, built to fix category linking and footer layout.
Version: 1.0
Requires at least: 5.9
Requires PHP: 7.4
Text Domain: homenest-decor
*/

:root{
	--ink:#2b2620;
	--ivory:#faf7f2;
	--ivory-deep:#f3ede3;
	--accent:#b9895a;
	--radius-m:16px;
	--radius-s:8px;
}
*{ box-sizing:border-box; }
body{
	margin:0;
	font-family:'Inter', sans-serif;
	color:var(--ink);
	background:var(--ivory);
}
h1,h2,h3{ font-family:'Fraunces', serif; margin:0 0 .5rem; }
a{ color:inherit; }
img{ max-width:100%; }
.container{ max-width:1200px; margin:0 auto; padding:0 1.5rem; }
.skip-link{ position:absolute; left:-9999px; }

/* Top bar + header */
.top-bar{ background:var(--ink); color:#fff; text-align:center; padding:.5rem 1rem; font-size:.85rem; }
.site-header{ background:var(--ivory); border-bottom:1px solid #eee; position:sticky; top:0; z-index:100; }
.header-inner{ display:flex; align-items:center; justify-content:space-between; padding:1rem 1.5rem; }
.logo{ font-family:'Fraunces', serif; font-size:1.4rem; text-decoration:none; color:var(--ink); }
.logo span{ color:var(--accent); }
.main-nav{ overflow-x:auto; scrollbar-width:none; }
.main-nav::-webkit-scrollbar{ display:none; }
.main-nav ul{ display:flex; align-items:center; gap:1.1rem; list-style:none; margin:0; padding:0; flex-wrap:nowrap; }
.main-nav a{ text-decoration:none; color:var(--ink); font-size:.88rem; white-space:nowrap; }
.main-nav a:hover{ color:var(--accent); }
.hamburger{ display:none; background:none; border:none; cursor:pointer; }
.mobile-nav ul{ list-style:none; padding:1rem 1.5rem; margin:0; display:none; flex-direction:column; gap:.75rem; }
.mobile-nav.open ul{ display:flex; }
@media (max-width:860px){
	.main-nav{ display:none; }
	.hamburger{ display:block; }
}

/* Hero */
.hero{ padding:3rem 1.5rem; }
.hero-grid{ display:grid; grid-template-columns:1fr 1fr; gap:2rem; align-items:center; }
.eyebrow{ color:var(--accent); font-weight:600; text-transform:uppercase; font-size:.8rem; letter-spacing:.05em; }
.hero-copy h1{ font-size:2.5rem; line-height:1.15; margin:.5rem 0 1rem; }
.hero-cta-row{ display:flex; align-items:center; gap:1.5rem; margin-top:1.5rem; flex-wrap:wrap; }
.btn{ background:var(--ink); color:#fff; padding:.8rem 1.5rem; border-radius:999px; text-decoration:none; display:inline-flex; align-items:center; gap:.5rem; border:none; cursor:pointer; font-size:.95rem; }
.hero-trust{ font-size:.85rem; color:#777; }
.hero-media{ position:relative; border-radius:var(--radius-m); overflow:hidden; }
.hero-media img{ width:100%; height:100%; object-fit:cover; display:block; }
.editor-tag{ position:absolute; bottom:1rem; left:1rem; background:#fff; padding:.4rem .8rem; border-radius:999px; font-size:.8rem; }
@media (max-width:860px){ .hero-grid{ grid-template-columns:1fr; } }

/* Sections */
.section{ padding:3rem 1.5rem; }
.alt-bg{ background:var(--ivory-deep); border-radius:var(--radius-m); }
.section-head{ display:flex; justify-content:space-between; align-items:baseline; margin-bottom:1.5rem; }
.view-all{ text-decoration:none; color:var(--accent); font-weight:600; font-size:.9rem; }

/* Card grids */
.card-grid{ display:grid; gap:1.5rem; }
.card-grid.cols-4{ grid-template-columns:repeat(4,1fr); }
.card-grid.cols-3{ grid-template-columns:repeat(3,1fr); }
@media (max-width:960px){ .card-grid.cols-4, .card-grid.cols-3{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:640px){ .card-grid.cols-4, .card-grid.cols-3{ grid-template-columns:1fr; } }

.article-card{ background:#fff; border-radius:var(--radius-m); overflow:hidden; box-shadow:0 1px 4px rgba(0,0,0,.05); }
.article-card .thumb img{ width:100%; aspect-ratio:4/3; object-fit:cover; display:block; }
.article-card .card-category{ display:inline-block; margin:.8rem 1rem 0; font-size:.75rem; text-transform:uppercase; letter-spacing:.04em; color:var(--accent); font-weight:600; }
.article-card h3{ margin:.5rem 1rem; font-size:1.05rem; }
.article-card h3 a{ color:var(--ink); text-decoration:none; }
.article-card p{ margin:0 1rem 1rem; color:#666; font-size:.9rem; }
.article-card .read-more{ margin:0 1rem 1rem; display:inline-flex; align-items:center; gap:.3rem; color:var(--accent); text-decoration:none; font-weight:600; font-size:.85rem; }
.meta-row{ display:flex; align-items:center; gap:.5rem; margin:.8rem 1rem 0; font-size:.8rem; color:#888; }
.meta-row .dot{ width:4px; height:4px; background:#ccc; border-radius:50%; }

/* Category grid */
.category-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:1.25rem; }
@media (max-width:860px){ .category-grid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:560px){ .category-grid{ grid-template-columns:1fr; } }
.category-card{ position:relative; display:block; border-radius:var(--radius-m); overflow:hidden; text-decoration:none; aspect-ratio:7/8; }
.category-card img{ width:100%; height:100%; object-fit:cover; display:block; transition:transform .3s ease; }
.category-card:hover img{ transform:scale(1.05); }
.category-overlay{ position:absolute; inset:0; background:linear-gradient(to top, rgba(0,0,0,.75), rgba(0,0,0,0) 60%); color:#fff; display:flex; flex-direction:column; justify-content:flex-end; padding:1.25rem; }
.category-overlay h3{ color:#fff; margin:0 0 .3rem; }
.category-overlay p{ margin:0 0 .6rem; font-size:.85rem; opacity:.9; }
.explore-link{ font-size:.8rem; font-weight:600; text-decoration:underline; }

/* Newsletter */
.newsletter{ text-align:center; max-width:600px; margin:0 auto; }
.newsletter-form{ display:flex; gap:.75rem; margin:1.5rem 0 .5rem; flex-wrap:wrap; justify-content:center; }
.newsletter-form input{ flex:1; min-width:220px; padding:.8rem 1rem; border-radius:999px; border:1px solid #ddd; }
.form-note{ font-size:.8rem; color:#888; }

/* Footer — About Us / Popular Posts / Contact Us layout */
.site-footer{ background:var(--ivory-deep); color:var(--ink); padding:3rem 1.5rem 0; margin-top:2rem; }
.footer-grid-3{ display:grid; grid-template-columns:1.2fr 1.4fr 1fr; gap:2.5rem; padding-bottom:2rem; }
@media (max-width:860px){ .footer-grid-3{ grid-template-columns:1fr 1fr; } }
@media (max-width:560px){ .footer-grid-3{ grid-template-columns:1fr; } }
.footer-col h3{ font-size:1rem; text-transform:uppercase; letter-spacing:.04em; margin-bottom:1rem; }
.footer-col p{ color:#5a5348; font-size:.92rem; line-height:1.6; margin:0 0 .8rem; }
.footer-col a{ color:var(--ink); text-decoration:none; }
.footer-col a:hover{ color:var(--accent); }
.popular-posts-list{ list-style:none; margin:0; padding:0; }
.popular-posts-list li{ position:relative; padding-left:1.2rem; margin-bottom:.9rem; font-weight:600; font-size:.92rem; line-height:1.4; }
.popular-posts-list li::before{ content:"+"; position:absolute; left:0; color:var(--accent); font-weight:700; }
.footer-bottom{ border-top:1px solid rgba(0,0,0,.08); padding:1.25rem 1.5rem; display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:1rem; font-size:.85rem; color:#777; }
.footer-links{ display:flex; gap:1.25rem; flex-wrap:wrap; }
.footer-links a{ color:#777; }
.footer-links a:hover{ color:var(--accent); }
