/*
Theme Name: Peppermint Grove
Theme URI: https://peppermintgrove.com
Author: Peppermint Grove
Description: Botanical organic WooCommerce theme for Peppermint Grove — peppermint sprays, essential oils, teas and more.
Version: 1.0.0
Text Domain: peppermint
*/

:root{
  --cream:#FBF7EE;          /* page bg */
  --cream-2:#F4EEDF;        /* alt section bg */
  --sage:#8C9B79;           /* sage green */
  --sage-soft:#C9D3BC;
  --forest:#3B4A33;         /* deep forest green */
  --forest-2:#2C3727;
  --terracotta:#C0693C;     /* warm accent */
  --ink:#2E2B24;            /* body text */
  --muted:#736C5C;          /* muted text */
  --line:#E4DCC9;
  --serif:'Cormorant Garamond', Georgia, serif;
  --sans:'Mulish', -apple-system, 'Segoe UI', sans-serif;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:var(--sans);color:var(--ink);background:var(--cream);line-height:1.65;font-size:16px;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:var(--forest);text-decoration:none;transition:color .2s}
a:hover{color:var(--terracotta)}
h1,h2,h3,h4{font-family:var(--serif);font-weight:600;color:var(--forest);line-height:1.12;letter-spacing:.2px}
.container{max-width:1180px;margin:0 auto;padding:0 24px}
.btn{display:inline-block;background:var(--forest);color:var(--cream);font-family:var(--sans);font-weight:700;font-size:.82rem;letter-spacing:.12em;text-transform:uppercase;padding:15px 34px;border-radius:2px;border:1px solid var(--forest);transition:all .25s;cursor:pointer}
.btn:hover{background:transparent;color:var(--forest)}
.btn-outline{background:transparent;color:var(--forest)}
.btn-outline:hover{background:var(--forest);color:var(--cream)}
.eyebrow{font-family:var(--sans);font-size:.74rem;font-weight:700;letter-spacing:.28em;text-transform:uppercase;color:var(--sage)}

/* ---------- announcement bar ---------- */
.topbar{background:var(--forest-2);color:var(--cream);text-align:center;font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;padding:9px 16px;font-weight:600}
.topbar .leaf{color:var(--sage-soft)}

/* ---------- header ---------- */
.site-header{background:var(--cream);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:1000}
.header-inner{display:flex;align-items:center;justify-content:space-between;height:84px;gap:16px}
.brand{display:flex;align-items:center;gap:10px;flex-shrink:0}
.brand .mark{width:34px;height:34px;flex-shrink:0}
.brand .name{font-family:var(--serif);font-size:1.7rem;font-weight:600;color:var(--forest);line-height:1;letter-spacing:.5px}
.brand .name small{display:block;font-family:var(--sans);font-size:.56rem;letter-spacing:.34em;text-transform:uppercase;color:var(--sage);font-weight:700;margin-top:3px}
.main-nav ul{display:flex;gap:30px;list-style:none}
.main-nav a{font-family:var(--sans);font-size:.82rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--ink)}
.main-nav a:hover,.main-nav .current-menu-item a{color:var(--terracotta)}
.header-actions{display:flex;align-items:center;gap:18px;flex-shrink:0}
.header-cart{position:relative;color:var(--forest);font-size:1.3rem;line-height:1}
.header-cart .count{position:absolute;top:-8px;right:-10px;background:var(--terracotta);color:#fff;font-family:var(--sans);font-size:.62rem;font-weight:800;min-width:17px;height:17px;border-radius:50%;display:flex;align-items:center;justify-content:center;padding:0 4px}
.nav-toggle{display:none;flex-direction:column;gap:5px;width:42px;height:42px;background:none;border:none;cursor:pointer;padding:10px}
.nav-toggle span{display:block;height:2px;background:var(--forest);border-radius:2px;transition:.25s}

/* ---------- hero ---------- */
.hero{position:relative;background:var(--cream-2)}
.hero-grid{display:grid;grid-template-columns:1fr 1fr;align-items:center;min-height:560px}
.hero-text{padding:70px 60px 70px 0}
.hero-text h1{font-size:4rem;margin:18px 0 20px;font-weight:600}
.hero-text p{font-size:1.12rem;color:var(--muted);max-width:460px;margin-bottom:34px}
.hero-img{height:100%;min-height:560px;background-size:cover;background-position:center}
.hero-cta-row{display:flex;gap:16px;flex-wrap:wrap}

/* ---------- value strip ---------- */
.values{background:var(--forest);color:var(--cream);padding:30px 0}
.values-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;text-align:center}
.values-grid .v-ico{font-size:1.4rem;margin-bottom:6px}
.values-grid h4{color:var(--cream);font-family:var(--sans);font-size:.82rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;margin-bottom:2px}
.values-grid p{font-size:.8rem;color:var(--sage-soft)}

/* ---------- sections ---------- */
.section{padding:84px 0}
.section--alt{background:var(--cream-2)}
.section-head{text-align:center;max-width:600px;margin:0 auto 50px}
.section-head h2{font-size:2.9rem;margin:10px 0}
.section-head p{color:var(--muted)}

/* category tiles */
.cat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.cat-card{position:relative;border-radius:4px;overflow:hidden;aspect-ratio:1/1;display:block;background:var(--sage-soft)}
.cat-card img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.cat-card:hover img{transform:scale(1.06)}
.cat-card .cap{position:absolute;inset:0;background:linear-gradient(to top,rgba(43,55,39,.7),rgba(43,55,39,0) 55%);display:flex;align-items:flex-end;padding:24px}
.cat-card .cap h3{color:var(--cream);font-size:1.7rem}

/* product grid (shared by shortcode + shop) */
ul.products{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:30px;margin:0!important;padding:0}
ul.products li.product{text-align:center;position:relative}
ul.products li.product a img{border-radius:4px;background:#fff;margin-bottom:16px;border:1px solid var(--line)}
ul.products li.product .woocommerce-loop-product__title{font-family:var(--serif)!important;font-size:1.35rem!important;font-weight:600;color:var(--forest);padding:0 0 6px!important}
ul.products li.product .price{color:var(--ink)!important;font-family:var(--sans);font-weight:700;font-size:1rem}
ul.products li.product .price del{color:var(--muted);font-weight:400;margin-right:6px}
ul.products li.product .button{margin-top:14px!important;background:var(--forest)!important;color:var(--cream)!important;font-family:var(--sans)!important;font-weight:700!important;font-size:.74rem!important;letter-spacing:.12em;text-transform:uppercase;padding:12px 22px!important;border-radius:2px!important;border:1px solid var(--forest)!important;display:inline-block;transition:all .25s}
ul.products li.product .button:hover{background:transparent!important;color:var(--forest)!important}
.woocommerce-loop-product__link{display:block}

/* story */
.story{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.story-img{border-radius:4px;overflow:hidden;aspect-ratio:4/3}
.story-img img{width:100%;height:100%;object-fit:cover}
.story h2{font-size:2.7rem;margin-bottom:18px}
.story p{color:var(--muted);margin-bottom:16px}

/* newsletter */
.newsletter{background:var(--forest);color:var(--cream);text-align:center;padding:74px 0}
.newsletter h2{color:var(--cream);font-size:2.6rem;margin-bottom:12px}
.newsletter p{color:var(--sage-soft);max-width:480px;margin:0 auto 28px}
.news-form{display:flex;gap:10px;max-width:440px;margin:0 auto}
.news-form input{flex:1;padding:14px 18px;border:1px solid var(--sage);background:var(--cream);border-radius:2px;font-family:var(--sans);font-size:.95rem;outline:none}
.news-form button{background:var(--terracotta);color:#fff;border:none}
.news-form button:hover{background:#a8572f}

/* ---------- footer ---------- */
.site-footer{background:var(--forest-2);color:var(--sage-soft);padding:64px 0 28px}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:40px;margin-bottom:44px}
.site-footer .brand .name{color:var(--cream)}
.site-footer p{font-size:.9rem;color:var(--sage-soft);margin-top:16px;max-width:280px}
.site-footer h4{color:var(--cream);font-family:var(--sans);font-size:.82rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;margin-bottom:16px}
.site-footer ul{list-style:none}
.site-footer ul li{margin-bottom:9px}
.site-footer ul a{color:var(--sage-soft);font-size:.92rem}
.site-footer ul a:hover{color:var(--cream)}
.footer-bottom{border-top:1px solid rgba(201,211,188,.18);padding-top:22px;text-align:center;font-size:.82rem;color:var(--sage)}

/* ---------- WooCommerce pages ---------- */
.woocommerce .page-title,.woocommerce-products-header__title{font-family:var(--serif);font-size:2.8rem;text-align:center;margin:50px 0 10px;color:var(--forest)}
.term-description,.woocommerce-result-count{text-align:center;color:var(--muted)}
.woocommerce .woocommerce-ordering{text-align:center;margin-bottom:30px;float:none}
.shop-wrap{padding:30px 0 80px}
.woocommerce-breadcrumb{max-width:1180px;margin:24px auto 0;padding:0 24px;font-size:.8rem;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}
/* single product */
.single-product div.product{display:grid;grid-template-columns:1fr 1fr;gap:56px;padding:50px 0 70px}
.single-product .product_title{font-size:2.8rem;margin-bottom:12px}
.single-product .woocommerce-product-gallery{margin:0}
.single-product .price{font-family:var(--sans);font-size:1.5rem;font-weight:700;color:var(--ink);margin-bottom:20px}
.single-product .woocommerce-product-details__short-description{color:var(--muted);margin-bottom:26px}
.single-product .quantity input{padding:12px;border:1px solid var(--line);width:70px;border-radius:2px}
.single-product .single_add_to_cart_button{background:var(--forest)!important;color:var(--cream)!important;border:1px solid var(--forest)!important;border-radius:2px!important;font-family:var(--sans)!important;font-weight:700!important;letter-spacing:.12em;text-transform:uppercase;padding:14px 30px!important}
.single-product .single_add_to_cart_button:hover{background:transparent!important;color:var(--forest)!important}
.single-product .product_meta{margin-top:24px;font-size:.85rem;color:var(--muted)}
.woocommerce-tabs{grid-column:1 / -1}
.woocommerce-tabs ul.tabs li{background:var(--cream-2)!important;border-color:var(--line)!important}
.related.products,.up-sells{grid-column:1 / -1;padding-top:30px}
.related.products>h2,.up-sells>h2{font-size:2.2rem;text-align:center;margin-bottom:34px}
/* buttons general */
.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.woocommerce #respond input#submit{background:var(--forest);color:var(--cream);border-radius:2px;font-family:var(--sans);font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.woocommerce a.button:hover,.woocommerce button.button:hover{background:var(--forest-2);color:var(--cream)}
.woocommerce .woocommerce-message,.woocommerce .woocommerce-info{border-top-color:var(--sage)}
.woocommerce-message::before,.woocommerce-info::before{color:var(--sage)}
/* cart / checkout */
.woocommerce table.shop_table{border-radius:4px;border-color:var(--line)}
.woocommerce .cart-collaterals .cart_totals,.woocommerce-checkout #order_review{background:var(--cream-2);padding:24px;border-radius:4px}
#add_payment_method .wc-proceed-to-checkout a.checkout-button,.woocommerce-cart .wc-proceed-to-checkout a.checkout-button{background:var(--forest);color:var(--cream);font-size:.95rem}

/* ---------- responsive ---------- */
@media(max-width:1024px){
  .hero-text h1{font-size:3.2rem}
  ul.products{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:860px){
  .nav-toggle{display:flex}
  .main-nav{position:absolute;top:100%;left:0;right:0;background:var(--cream);border-bottom:1px solid var(--line);box-shadow:0 14px 26px rgba(0,0,0,.08);max-height:0;overflow:hidden;transition:max-height .3s}
  .site-header.nav-open .main-nav{max-height:80vh}
  .main-nav ul{flex-direction:column;gap:0;padding:6px 0}
  .main-nav li{width:100%}
  .main-nav a{display:block;padding:15px 24px;border-bottom:1px solid var(--line)}
  .site-header.nav-open .nav-toggle span:nth-child(1){transform:translateY(7px) rotate(45deg)}
  .site-header.nav-open .nav-toggle span:nth-child(2){opacity:0}
  .site-header.nav-open .nav-toggle span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
  .hero-grid{grid-template-columns:1fr}
  .hero-text{padding:54px 0;text-align:center}
  .hero-text p{margin-left:auto;margin-right:auto}
  .hero-cta-row{justify-content:center}
  .hero-img{min-height:300px;order:-1}
  .values-grid{grid-template-columns:repeat(2,1fr);gap:20px}
  .cat-grid{grid-template-columns:repeat(2,1fr)}
  .story{grid-template-columns:1fr;gap:30px}
  .single-product div.product{grid-template-columns:1fr;gap:28px}
  .footer-grid{grid-template-columns:1fr 1fr;gap:28px}
  .section{padding:58px 0}
  .section-head h2{font-size:2.2rem}
}
@media(max-width:560px){
  ul.products{grid-template-columns:repeat(2,1fr);gap:16px}
  ul.products li.product .woocommerce-loop-product__title{font-size:1.1rem!important}
  ul.products li.product .button{font-size:.66rem!important;padding:10px 12px!important}
  .hero-text h1{font-size:2.5rem}
  .values-grid{grid-template-columns:1fr 1fr}
  .footer-grid{grid-template-columns:1fr}
  .news-form{flex-direction:column}
}

/* Fix: WooCommerce clearfix pseudo-elements become stray grid items */
ul.products::before, ul.products::after{content:none!important;display:none!important}
.woocommerce ul.products li.product{margin:0!important;width:auto!important;float:none!important}
