/*
Theme Name: Rooted and Found
Theme URI: 
Author: 
Author URI: 
Description: A cozy mercantile theme featuring thrifted clothing, crafts, plants, and sourdough.
Version: 2.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: rooted-and-found
*/

:root{
    --cream:#F5F0E8;
    --terracotta:#B5622A;
    --terracotta-light:#D4845A;
    --terracotta-dark:#7A3D18;
    --sage:#6B8C6E;
    --sage-light:#8FAF92;
    --sage-dark:#3D5C40;
    --brown:#3D2B1F;
    --brown-mid:#6B4C3B;
    --warm-white:#FAF7F2;
    --border:#D4C9B8;
    --radius:4px;
}

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

body{font-family:Georgia,serif;background:var(--warm-white);color:var(--brown);min-height:100vh;line-height:1.7}

.container{max-width:1100px;margin:0 auto;padding:0 2rem}

a{text-decoration:none;color:inherit}

/* NAV */
nav{background:var(--cream);border-bottom:1px solid var(--border);padding:0 2rem;display:flex;align-items:center;justify-content:space-between;height:64px;position:sticky;top:0;z-index:100}
.nav-logo{font-size:1.1rem;font-weight:700;letter-spacing:0.04em;color:var(--brown);display:flex;align-items:center}
.nav-logo span{color:var(--terracotta)}
.nav-logo img{max-height:50px;width:auto}
.nav-links{display:flex;gap:2rem;list-style:none}
.nav-links a{color:var(--brown-mid);font-family:'Arial',sans-serif;font-size:0.85rem;letter-spacing:0.08em;text-transform:uppercase;transition:color 0.2s}
.nav-links a:hover{color:var(--terracotta)}
.nav-toggle{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:5px}
.nav-toggle span{display:block;width:24px;height:2px;background:var(--brown);transition:transform 0.2s}

@media(max-width:600px){
    .nav-toggle{display:flex}
    .nav-links{position:fixed;top:64px;left:0;right:0;background:var(--cream);flex-direction:column;gap:0;padding:0;max-height:0;overflow:hidden;transition:max-height 0.3s ease;border-bottom:1px solid var(--border)}
    .nav-links.active{max-height:300px}
    .nav-links li{border-bottom:1px solid var(--border)}
    .nav-links a{display:block;padding:1rem 2rem}
    .nav-toggle.active span:nth-child(1){transform:rotate(45deg) translate(5px,5px)}
    .nav-toggle.active span:nth-child(2){opacity:0}
    .nav-toggle.active span:nth-child(3){transform:rotate(-45deg) translate(5px,-5px)}
}

/* HERO */
.hero{background:var(--cream);padding:5rem 2rem;text-align:center;border-bottom:1px solid var(--border)}
.hero-eyebrow{font-family:'Arial',sans-serif;font-size:0.75rem;letter-spacing:0.18em;text-transform:uppercase;color:var(--sage-dark);margin-bottom:1.2rem}
.hero h1{font-size:clamp(2.2rem,5vw,3.8rem);font-weight:700;color:var(--brown);line-height:1.15;margin-bottom:1rem}
.hero h1 em{color:var(--terracotta);font-style:italic}
.hero .custom-logo-link{display:inline-block}
.hero .custom-logo{max-height:120px;width:auto}
.hero-sub{font-size:1.05rem;color:var(--brown-mid);max-width:520px;margin:0 auto 2rem;line-height:1.8}

.btn{display:inline-block;padding:0.75rem 2rem;border:1.5px solid var(--terracotta);color:var(--terracotta);background:transparent;font-family:'Arial',sans-serif;font-size:0.82rem;letter-spacing:0.1em;text-transform:uppercase;cursor:pointer;transition:all 0.2s;border-radius:2px}
.btn:hover{background:var(--terracotta);color:var(--warm-white)}
.btn-sage{border-color:var(--sage-dark);color:var(--sage-dark)}
.btn-sage:hover{background:var(--sage-dark);color:var(--warm-white)}

/* SECTIONS */
.section{padding:4rem 2rem;max-width:1100px;margin:0 auto}
.section-label{font-family:'Arial',sans-serif;font-size:0.72rem;letter-spacing:0.18em;text-transform:uppercase;color:var(--terracotta);margin-bottom:0.5rem}
.section-title{font-size:1.9rem;font-weight:700;color:var(--brown);margin-bottom:0.6rem}
.section-sub{color:var(--brown-mid);font-size:0.97rem;line-height:1.75;max-width:560px;margin-bottom:2.5rem}

.divider{border:none;border-top:1px solid var(--border);margin:0 2rem}

/* CATEGORY CARDS */
.categories{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem;margin-top:2rem}
.cat-card{background:var(--cream);border:1px solid var(--border);border-radius:var(--radius);padding:2rem 1.5rem;text-align:center;cursor:pointer;transition:border-color 0.2s,transform 0.2s,box-shadow 0.2s}
.cat-card:hover{border-color:var(--terracotta);transform:translateY(-2px);box-shadow:0 4px 12px rgba(196,93,43,0.15)}
.cat-card a{text-decoration:none;color:inherit}
.cat-card img{max-height:100px;object-fit:cover;margin-bottom:1rem;border-radius:var(--radius)}
.cat-icon{font-size:2.2rem;margin-bottom:1rem;display:block;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
.cat-card h3{font-size:1.05rem;font-weight:700;color:var(--brown);margin-bottom:0.4rem}
.cat-card p{font-size:0.85rem;color:var(--brown-mid);font-family:'Arial',sans-serif;line-height:1.6}

/* PRODUCT GRID */
.featured-grid,.products-grid,.shop-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1.5rem;margin-top:2rem}
.item-card{display:block;text-decoration:none;background:var(--warm-white);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;transition:border-color 0.2s,transform 0.2s,box-shadow 0.2s}
.item-card:hover{border-color:var(--terracotta);transform:translateY(-2px);box-shadow:0 4px 12px rgba(196,93,43,0.15)}
.item-img{aspect-ratio:3/4;height:auto;display:flex;align-items:center;justify-content:center;font-size:3rem;background:var(--cream);overflow:hidden;position:relative}
.item-img-bg{position:absolute;inset:0;background-size:cover;background-position:center;opacity:0.1;z-index:0}
.item-img-front{position:relative;z-index:1;object-fit:contain;max-width:100%}
.item-info{padding:1rem}
.item-tag{font-family:'Arial',sans-serif;font-size:0.68rem;letter-spacing:0.12em;text-transform:uppercase;color:var(--sage-dark);margin-bottom:0.4rem}
.item-info h4{font-size:1rem;font-weight:700;color:var(--brown);margin-bottom:0.3rem}
.item-info p{font-size:0.82rem;color:var(--brown-mid);font-family:'Arial',sans-serif;line-height:1.5}
.item-link{display:inline-block;margin-top:0.8rem;font-family:'Arial',sans-serif;font-size:0.75rem;letter-spacing:0.08em;text-transform:uppercase;color:var(--terracotta)}
.item-link:hover{text-decoration:underline}

.view-all-bar{text-align:center;padding:2.5rem 0 0}

/* FILTERS */
.filter-row{display:flex;gap:0.75rem;flex-wrap:wrap;margin-bottom:0.5rem}
.filter-btn{font-family:'Arial',sans-serif;font-size:0.75rem;letter-spacing:0.07em;text-transform:uppercase;padding:0.4rem 1rem;border:1px solid var(--border);background:transparent;color:var(--brown-mid);cursor:pointer;border-radius:2px;transition:all 0.2s}
.filter-btn.active,.filter-btn:hover{background:var(--terracotta);color:var(--warm-white);border-color:var(--terracotta)}

/* ABOUT */
.about-layout{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center}
@media(max-width:700px){.about-layout{grid-template-columns:1fr}}
.about-accent{background:var(--cream);border-radius:var(--radius);padding:3rem 2.5rem;border:1px solid var(--border)}
.about-accent blockquote{font-size:1.3rem;font-style:italic;color:var(--terracotta-dark);line-height:1.7;margin-bottom:1rem}
.about-accent cite{font-family:'Arial',sans-serif;font-size:0.78rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--sage-dark)}

/* CONTACT */
.contact-layout{display:grid;grid-template-columns:1fr 1fr;gap:3rem;max-width:800px}
@media(max-width:700px){.contact-layout{grid-template-columns:1fr}}
.contact-item{margin-bottom:1.5rem}
.contact-label{font-family:'Arial',sans-serif;font-size:0.72rem;letter-spacing:0.15em;text-transform:uppercase;color:var(--terracotta);margin-bottom:0.3rem}
.contact-val{font-size:1rem;color:var(--brown)}
.contact-form input,.contact-form textarea{width:100%;padding:0.7rem 1rem;border:1px solid var(--border);background:var(--cream);font-family:Georgia,serif;font-size:0.95rem;color:var(--brown);border-radius:2px;margin-bottom:1rem;outline:none}
.contact-form input:focus,.contact-form textarea:focus{border-color:var(--terracotta-light)}
.contact-form textarea{height:120px;resize:vertical}

/* PRODUCT DETAIL */
.detail-layout{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:start;max-width:900px;padding:3rem 2rem;margin:0 auto}
@media(max-width:700px){.detail-layout{grid-template-columns:1fr}}
.detail-img{background:var(--cream);border:1px solid var(--border);border-radius:var(--radius);min-height:300px;display:flex;align-items:center;justify-content:center;font-size:6rem}
.detail-img img{max-width:100%;max-height:500px;object-fit:contain;border-radius:var(--radius)}
.detail-img-container{display:flex;flex-direction:column;gap:0.75rem}
.detail-main-img{background:var(--cream);border:1px solid var(--border);border-radius:var(--radius);min-height:300px;display:flex;align-items:center;justify-content:center;overflow:hidden;transition:border-color 0.2s,transform 0.2s,box-shadow 0.2s}
.detail-main-img:hover{border-color:var(--terracotta);transform:translateY(-2px);box-shadow:0 4px 12px rgba(196,93,43,0.15);cursor: zoom-in;}
.detail-main-img img{max-width:100%;max-height:500px;object-fit:contain}
.detail-thumbnails{display:grid;grid-template-columns:repeat(4, 1fr);gap:0.5rem}
.detail-thumbnails img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:var(--radius);cursor:pointer;border:1px solid var(--border);transition:border-color 0.2s,transform 0.2s}
.detail-thumbnails img:hover,.detail-thumbnails img.active{border-color:var(--terracotta);transform:translateY(-2px);cursor: zoom-in;}
.detail-tag{font-family:'Arial',sans-serif;font-size:0.72rem;letter-spacing:0.15em;text-transform:uppercase;color:var(--sage-dark);margin-bottom:0.5rem}
.detail-title{font-size:1.9rem;font-weight:700;color:var(--brown);}
.detail-price{font-size:1.5rem;font-weight:700;color:var(--terracotta);margin-bottom:1rem}
.detail-desc{font-size:0.97rem;color:var(--brown-mid);line-height:1.85;margin-bottom:1.5rem}
.detail-desc p + p {margin-top:1rem}
.detail-badge{display:inline-block;background:var(--cream);border:1px solid var(--border);border-radius:2px;font-family:'Arial',sans-serif;font-size:0.72rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--terracotta);padding:0.3rem 0.8rem;margin-bottom:1.5rem}
.back-link{font-family:'Arial',sans-serif;font-size:0.75rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--brown-mid);cursor:pointer;display:inline-flex;align-items:center;gap:0.4rem;margin:1.5rem 2rem;text-decoration:none}
.back-link:hover{color:var(--terracotta)}

/* FOOTER */
footer{background:var(--brown);color:var(--cream);padding:3rem 2rem;text-align:center;margin-top:4rem}
footer h3{font-size:1.3rem;margin-bottom:0.5rem;color:var(--cream)}
footer p{font-family:'Arial',sans-serif;font-size:0.82rem;color:#B09A8A;line-height:1.8}
.footer-links{display:flex;justify-content:center;gap:1.5rem;margin:1.5rem 0;list-style:none}
.footer-links a{font-family:'Arial',sans-serif;font-size:0.75rem;letter-spacing:0.1em;text-transform:uppercase;color:#B09A8A;text-decoration:none;transition:color 0.2s}
.footer-links a:hover{color:var(--terracotta-light)}
.footer-divider{border:none;border-top:1px solid #5A3E31;margin:1.5rem auto;max-width:300px}

/* BASIC PAGE */
.page-content{padding:4rem 2rem;max-width:800px;margin:0 auto}
.page-content h1{font-size:2.2rem;margin-bottom:2rem;color:var(--brown)}
.page-content p{color:var(--brown-mid);margin-bottom:1.5rem;line-height:1.9}

/* NO RESULTS */
.no-products{grid-column:1/-1;text-align:center;padding:3rem;color:var(--brown-mid)}

/* RESPONSIVE */
@media(max-width:600px){
    nav{padding:0 1rem}
    .nav-links{gap:1rem}
    .hero,.section,.detail-layout{padding:3rem 1rem}
    .categories,.featured-grid,.products-grid,.shop-grid{grid-template-columns:1fr}
}

/* LIGHTBOX */
.lightbox{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,0.9);display:none;align-items:center;justify-content:center;z-index:1000}
.lightbox.active{display:flex}
.lightbox-img{max-width:90%;max-height:90%;object-fit:contain}
.lightbox-close{position:absolute;top:20px;right:30px;background:none;border:none;color:#fff;font-size:3rem;cursor:pointer;line-height:1}
.lightbox-prev,.lightbox-next{position:absolute;top:50%;transform:translateY(-50%);background:none;border:none;color:#fff;font-size:3rem;cursor:pointer;padding:20px}
.lightbox-prev{left:20px}
.lightbox-next{right:20px}
.lightbox-close:hover,.lightbox-prev:hover,.lightbox-next:hover{color:var(--terracotta)}

.modal{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,0.5);display:none;align-items:center;justify-content:center;z-index:1000}
.modal.active{display:flex}
.modal-content{background:var(--cream);padding:2rem;border-radius:var(--radius);max-width:400px;width:90%;position:relative}
.modal-close{position:absolute;top:10px;right:15px;background:none;border:none;font-size:1.5rem;cursor:pointer;color:var(--brown)}
.modal h3{color:var(--brown);margin-bottom:0.5rem}
.modal-product{color:var(--brown-mid);font-size:0.9rem;margin-bottom:1.5rem}
.form-group{margin-bottom:1rem}
.form-group label{display:block;font-size:0.85rem;color:var(--brown);margin-bottom:0.3rem}
.form-group input{width:100%;padding:0.6rem;border:1px solid var(--border);border-radius:var(--radius);font-size:1rem}
.form-success{text-align:center;padding:2rem 0}
.form-success p{color:var(--brown);font-size:1.1rem}

.wp-block-heading {margin:1rem 0 0 0}
.wp-block-list {list-style:disc inside;margin-left:1rem}
.section h1.wp-block-heading {color:var(--brown)}
.section p + p {margin-top:1rem}
.wp-block-separator {margin:2rem 0;border:none;border-top:1px solid var(--border)}
.wp-block-pullquote cite { opacity: 0.5; font-size: 1rem; margin-top: 0.5rem;}