/*
Theme Name: GoodClaude Grocery
Theme URI: https://example.com
Author: Cipherology
Description: Custom WooCommerce grocery storefront theme matching the GoodClaude mockup — header with delivery location, live search, mini cart, category navigation, hero banner, product grids with quantity steppers, and shop-by-aisle tiles.
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: goodclaude
*/

:root{
  --gc-green: #2e5e34;
  --gc-green-dark: #1f4425;
  --gc-green-light: #e8f0e6;
  --gc-red: #d0362e;
  --gc-text: #1a1a1a;
  --gc-text-light: #6b6b6b;
  --gc-border: #e5e5e5;
  --gc-bg: #ffffff;
  --gc-radius: 8px;
  --gc-max-width: 1280px;
}

*{box-sizing:border-box;}
body{
  margin:0;
  font-family: -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  color: var(--gc-text);
  background:#fafafa;
}
a{color:inherit; text-decoration:none;}
img{max-width:100%; display:block;}
.gc-container{max-width:var(--gc-max-width); margin:0 auto; padding:0 24px;}
button{cursor:pointer; font-family:inherit;}

/* ---------- Top bar ---------- */
.gc-topbar{
  display:flex; align-items:center; justify-content:space-between;
  padding:14px 24px; max-width:var(--gc-max-width); margin:0 auto; gap:24px;
}
.gc-logo{font-size:26px; font-weight:800; color:var(--gc-green); letter-spacing:-0.5px;}
.gc-delivery{display:flex; flex-direction:column; font-size:13px; line-height:1.3; white-space:nowrap;}
.gc-delivery span.label{color:var(--gc-text-light);}
.gc-delivery .location{display:flex; align-items:center; gap:4px; font-weight:600;}
.gc-search{flex:1; max-width:520px; position:relative;}
.gc-search input{
  width:100%; padding:10px 44px 10px 16px; border:1px solid var(--gc-border);
  border-radius:6px; font-size:14px;
}
.gc-search button{
  position:absolute; right:0; top:0; bottom:0; width:44px; background:none; border:none;
}
.gc-account{font-size:13px; text-align:right; line-height:1.3;}
.gc-account .title{font-weight:700;}
.gc-account .sub{color:var(--gc-text-light);}
.gc-cart{display:flex; align-items:center; gap:8px; position:relative;}
.gc-cart .count{
  position:absolute; top:-8px; left:14px; background:var(--gc-green);
  color:#fff; font-size:11px; border-radius:50%; width:18px; height:18px;
  display:flex; align-items:center; justify-content:center; font-weight:700;
}
.gc-cart .total{font-weight:700;}

/* ---------- Category nav ---------- */
.gc-nav{border-top:1px solid var(--gc-border); border-bottom:1px solid var(--gc-border);}
.gc-nav ul{
  display:flex; gap:28px; list-style:none; margin:0; padding:14px 24px;
  max-width:var(--gc-max-width); margin:0 auto; overflow-x:auto; font-size:14px; font-weight:600;
}
.gc-nav a{white-space:nowrap;}
.gc-nav li.gc-deals a{color:var(--gc-red);}
.gc-nav a:hover{color:var(--gc-green);}

/* ---------- Hero ---------- */
.gc-hero{
  background:var(--gc-green-light); border-radius:12px; margin:24px; overflow:hidden;
  display:flex; align-items:center; justify-content:space-between; max-width:calc(var(--gc-max-width) - 48px);
  margin-left:auto; margin-right:auto; margin-top:24px; margin-bottom:24px;
}
.gc-hero-text{padding:48px; max-width:460px;}
.gc-hero-eyebrow{color:var(--gc-green); font-weight:700; font-size:13px; text-transform:uppercase; letter-spacing:0.5px;}
.gc-hero-text h1{font-size:38px; line-height:1.15; margin:12px 0;}
.gc-hero-text p{color:var(--gc-text-light); margin-bottom:24px;}
.gc-btn{
  display:inline-block; background:var(--gc-green); color:#fff; padding:12px 28px;
  border-radius:6px; font-weight:700; border:none; font-size:15px;
}
.gc-btn:hover{background:var(--gc-green-dark);}
.gc-hero-image{flex:1; align-self:stretch;}
.gc-hero-image img{width:100%; height:100%; object-fit:cover;}
.gc-hero-dots{display:flex; gap:6px; padding:0 48px 24px;}
.gc-hero-dots span{width:8px; height:8px; border-radius:50%; background:#c9d6c8;}
.gc-hero-dots span.active{background:var(--gc-green);}

/* ---------- Section heading ---------- */
.gc-section{max-width:var(--gc-max-width); margin:0 auto; padding:32px 24px;}
.gc-section-head{display:flex; align-items:baseline; justify-content:space-between; margin-bottom:16px;}
.gc-section-head h2{font-size:22px; margin:0;}
.gc-section-head .count{color:var(--gc-text-light); font-size:14px; margin-left:8px;}
.gc-section-head .view-all{color:var(--gc-green); font-weight:600; font-size:14px;}

/* ---------- Product grid ---------- */
.gc-product-grid{
  display:grid; grid-template-columns:repeat(5, 1fr); gap:20px;
}
@media (max-width:1024px){ .gc-product-grid{grid-template-columns:repeat(3,1fr);} }
@media (max-width:640px){ .gc-product-grid{grid-template-columns:repeat(2,1fr);} }

.gc-product-card{
  border:1px solid var(--gc-border); border-radius:var(--gc-radius); background:#fff;
  padding:14px; position:relative;
}
.gc-product-card .wishlist{
  position:absolute; top:14px; right:14px; background:#fff; border:1px solid var(--gc-border);
  border-radius:50%; width:32px; height:32px; display:flex; align-items:center; justify-content:center;
}
.gc-product-card .thumb{aspect-ratio:1/1; overflow:hidden; border-radius:6px; margin-bottom:12px;}
.gc-product-card .thumb img{width:100%; height:100%; object-fit:cover;}
.gc-product-card h3{font-size:15px; margin:0 0 2px;}
.gc-product-card .unit{color:var(--gc-text-light); font-size:13px; margin-bottom:6px;}
.gc-product-card .price{font-weight:700; font-size:16px;}
.gc-product-card .price-per{color:var(--gc-text-light); font-size:12px; margin-bottom:10px;}

.gc-qty-stepper{
  display:flex; align-items:center; border:1px solid var(--gc-border); border-radius:6px;
  overflow:hidden; margin-bottom:10px;
}
.gc-qty-stepper button{background:#fff; border:none; width:36px; height:34px; font-size:16px;}
.gc-qty-stepper input{
  flex:1; border:none; text-align:center; width:100%; font-size:14px; -moz-appearance:textfield;
}
.gc-qty-stepper input::-webkit-outer-spin-button,
.gc-qty-stepper input::-webkit-inner-spin-button{-webkit-appearance:none; margin:0;}

.gc-add-to-cart{
  width:100%; background:var(--gc-green); color:#fff; border:none; padding:10px;
  border-radius:6px; font-weight:700; font-size:14px;
}
.gc-add-to-cart:hover{background:var(--gc-green-dark);}
.gc-add-to-cart.added{background:var(--gc-green-dark);}

/* ---------- Shop by aisle ---------- */
.gc-aisle-grid{
  display:grid; grid-template-columns:repeat(6, 1fr); gap:16px; position:relative;
}
@media (max-width:900px){ .gc-aisle-grid{grid-template-columns:repeat(3,1fr);} }
@media (max-width:560px){ .gc-aisle-grid{grid-template-columns:repeat(2,1fr);} }
.gc-aisle-tile{text-align:center;}
.gc-aisle-tile .img{
  border-radius:10px; overflow:hidden; aspect-ratio:1/1; background:#f0f0f0; margin-bottom:8px;
}
.gc-aisle-tile .img img{width:100%; height:100%; object-fit:cover;}
.gc-aisle-tile span{font-weight:600; font-size:14px;}

/* ---------- Footer ---------- */
.gc-footer{border-top:1px solid var(--gc-border); margin-top:48px; padding:32px 24px; color:var(--gc-text-light); font-size:13px; text-align:center;}
