/*
Theme Name: GoodClaude Grocery v2
Theme URI: https://example.com
Author: Cipherology
Description: Full WooCommerce grocery storefront — mega-menu header, hero, category grid, deals/bestseller tabs, promo banners, shop page with filter sidebar, single product page with gallery + tabs, and footer. Signature motif: a "grocery receipt" aesthetic — monospace pricing, dashed dividers, ticket-notch badges.
Version: 2.0.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: goodclaude
*/

@import url('https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,400;9..144,500;9..144,600;9..144,700&family=Inter:wght@400;500;600;700&family=IBM+Plex+Mono:wght@400;500;600&display=swap');

:root{
  /* Color */
  --gc-cream: #FBF7F0;
  --gc-cream-deep: #F3ECDE;
  --gc-forest: #1F3D2B;
  --gc-forest-light: #2F5B3F;
  --gc-forest-pale: #E7EEE5;
  --gc-tomato: #C9462C;
  --gc-tomato-pale: #FBE8E2;
  --gc-gold: #D9A441;
  --gc-charcoal: #23231F;
  --gc-ink-soft: #6B6559;
  --gc-line: #E4DDD0;
  --gc-white: #FFFFFF;

  /* Type */
  --gc-display: 'Fraunces', Georgia, serif;
  --gc-body: 'Inter', -apple-system, sans-serif;
  --gc-mono: 'IBM Plex Mono', ui-monospace, monospace;

  --gc-radius: 10px;
  --gc-max-width: 1320px;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  font-family:var(--gc-body);
  color:var(--gc-charcoal);
  background:var(--gc-cream);
  -webkit-font-smoothing:antialiased;
}
a{color:inherit; text-decoration:none;}
img{max-width:100%; display:block;}
button{cursor:pointer; font-family:inherit;}
:focus-visible{outline:2px solid var(--gc-forest); outline-offset:2px;}
h1,h2,h3,h4{font-family:var(--gc-display); font-weight:600; margin:0; color:var(--gc-forest);}
.gc-container{max-width:var(--gc-max-width); margin:0 auto; padding:0 28px;}
.gc-mono{font-family:var(--gc-mono);}

@media (prefers-reduced-motion: reduce){
  *{animation:none !important; transition:none !important;}
}

/* ---------- Announcement bar ---------- */
.gc-announce{
  background:var(--gc-forest); color:var(--gc-cream); font-size:13px; font-family:var(--gc-mono);
  text-align:center; padding:8px 16px; letter-spacing:0.02em;
}

/* ---------- Top bar ---------- */
.gc-topbar{
  display:flex; align-items:center; justify-content:space-between; gap:28px;
  padding:20px 0; max-width:var(--gc-max-width); margin:0 auto; padding-left:28px; padding-right:28px;
}
.gc-logo{font-family:var(--gc-display); font-size:28px; font-weight:700; color:var(--gc-forest); letter-spacing:-0.3px;}
.gc-delivery{display:flex; flex-direction:column; font-size:13px; line-height:1.3; white-space:nowrap; color:var(--gc-ink-soft);}
.gc-delivery .location{display:flex; align-items:center; gap:4px; font-weight:600; color:var(--gc-charcoal);}
.gc-search{flex:1; max-width:560px; position:relative;}
.gc-search input{
  width:100%; padding:12px 46px 12px 18px; border:1.5px solid var(--gc-line);
  border-radius:999px; font-size:14px; background:var(--gc-white);
}
.gc-search input:focus{border-color:var(--gc-forest);}
.gc-search button{position:absolute; right:6px; top:6px; bottom:6px; width:38px; background:var(--gc-forest); border:none; border-radius:50%; color:var(--gc-cream); display:flex; align-items:center; justify-content:center;}
.gc-account{font-size:13px; text-align:right; line-height:1.3;}
.gc-account .title{font-weight:700;}
.gc-account .sub{color:var(--gc-ink-soft);}
.gc-cart{display:flex; align-items:center; gap:8px; position:relative;}
.gc-cart .count{
  position:absolute; top:-8px; left:14px; background:var(--gc-tomato);
  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; font-family:var(--gc-mono);}

/* ---------- Mega menu nav ---------- */
.gc-nav{background:var(--gc-forest); position:relative; z-index:40;}
.gc-nav-inner{max-width:var(--gc-max-width); margin:0 auto; padding:0 28px; display:flex; align-items:center; gap:6px;}
.gc-nav ul.gc-menu{display:flex; list-style:none; margin:0; padding:0; gap:2px;}
.gc-nav > .gc-nav-inner > ul.gc-menu > li{position:relative;}
.gc-nav > .gc-nav-inner > ul.gc-menu > li > a{
  display:block; padding:14px 18px; color:var(--gc-cream); font-size:14px; font-weight:600;
}
.gc-nav > .gc-nav-inner > ul.gc-menu > li:hover > a,
.gc-nav > .gc-nav-inner > ul.gc-menu > li.gc-mega-open > a{background:var(--gc-forest-light);}
.gc-nav li.gc-deals > a{color:#F4C77A;}

.gc-mega{
  display:none; position:absolute; top:100%; left:0; background:var(--gc-white);
  min-width:640px; box-shadow:0 18px 40px rgba(31,61,43,0.18); border-radius:0 0 12px 12px;
  padding:28px; grid-template-columns:repeat(3, 1fr); gap:24px; z-index:50;
}
.gc-nav li.gc-mega-open .gc-mega{display:grid;}
.gc-mega-col h4{font-size:13px; text-transform:uppercase; letter-spacing:0.05em; color:var(--gc-ink-soft); font-family:var(--gc-body); font-weight:700; margin-bottom:10px;}
.gc-mega-col ul{list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:8px;}
.gc-mega-col a{font-size:14px; color:var(--gc-charcoal);}
.gc-mega-col a:hover{color:var(--gc-forest); text-decoration:underline;}

.gc-mobile-toggle{display:none; background:none; border:none; color:var(--gc-cream); padding:14px;}

@media (max-width: 900px){
  .gc-search{display:none;}
  .gc-nav-inner{overflow-x:auto;}
  .gc-mega{position:static; box-shadow:none; grid-template-columns:1fr; min-width:0; display:none;}
  .gc-nav li.gc-mega-open .gc-mega{display:grid;}
}

/* ---------- Hero ---------- */
.gc-hero{position:relative; overflow:hidden; background:var(--gc-forest-pale); margin:28px; border-radius:20px; max-width:calc(var(--gc-max-width) - 56px); margin-left:auto; margin-right:auto;}
.gc-hero-slide{display:flex; align-items:center; justify-content:space-between; min-height:440px;}
.gc-hero-text{padding:56px; max-width:480px;}
.gc-hero-eyebrow{
  display:inline-flex; align-items:center; gap:8px; font-family:var(--gc-mono); font-size:12px;
  color:var(--gc-forest); background:var(--gc-white); border:1px dashed var(--gc-forest);
  padding:6px 12px; border-radius:999px; margin-bottom:18px;
}
.gc-hero-text h1{font-size:46px; line-height:1.1; margin-bottom:16px;}
.gc-hero-text p{color:var(--gc-ink-soft); font-size:16px; margin-bottom:28px; max-width:380px;}
.gc-btn{
  display:inline-flex; align-items:center; gap:8px; background:var(--gc-forest); color:var(--gc-cream); padding:14px 30px;
  border-radius:999px; font-weight:700; border:none; font-size:15px;
}
.gc-btn:hover{background:var(--gc-forest-light);}
.gc-btn.gc-btn-outline{background:transparent; color:var(--gc-forest); border:1.5px solid var(--gc-forest);}
.gc-hero-image{flex:1; align-self:stretch; position:relative; min-height:440px;}
.gc-hero-image img{width:100%; height:100%; object-fit:cover;}
.gc-hero-dots{position:absolute; bottom:24px; left:56px; display:flex; gap:6px;}
.gc-hero-dots span{width:8px; height:8px; border-radius:50%; background:rgba(31,61,43,0.25); cursor:pointer;}
.gc-hero-dots span.active{background:var(--gc-forest); width:22px; border-radius:5px;}

/* ---------- Trust strip ---------- */
.gc-trust{background:var(--gc-white); border-top:1px solid var(--gc-line); border-bottom:1px solid var(--gc-line);}
.gc-trust-inner{max-width:var(--gc-max-width); margin:0 auto; padding:22px 28px; display:grid; grid-template-columns:repeat(4,1fr); gap:20px;}
.gc-trust-item{display:flex; align-items:center; gap:12px; font-size:14px;}
.gc-trust-item svg{flex-shrink:0; color:var(--gc-forest);}
.gc-trust-item .t{font-weight:700;}
.gc-trust-item .s{color:var(--gc-ink-soft); font-size:12px;}
@media (max-width:900px){.gc-trust-inner{grid-template-columns:repeat(2,1fr);}}

/* ---------- Section heading ---------- */
.gc-section{max-width:var(--gc-max-width); margin:0 auto; padding:48px 28px;}
.gc-section-head{display:flex; align-items:flex-end; justify-content:space-between; margin-bottom:24px; gap:20px;}
.gc-section-head .eyebrow{font-family:var(--gc-mono); font-size:12px; color:var(--gc-tomato); text-transform:uppercase; letter-spacing:0.06em; margin-bottom:6px; display:block;}
.gc-section-head h2{font-size:28px;}
.gc-section-head .view-all{color:var(--gc-forest); font-weight:700; font-size:14px; white-space:nowrap; border-bottom:1.5px dashed var(--gc-forest); padding-bottom:2px;}

/* ---------- Tabs (bestsellers/new/top rated) ---------- */
.gc-tabs{display:flex; gap:8px; margin-bottom:28px; flex-wrap:wrap;}
.gc-tab-btn{
  padding:10px 20px; border-radius:999px; border:1.5px solid var(--gc-line); background:var(--gc-white);
  font-weight:600; font-size:14px; color:var(--gc-ink-soft);
}
.gc-tab-btn.active{background:var(--gc-forest); color:var(--gc-cream); border-color:var(--gc-forest);}
.gc-tab-panel{display:none;}
.gc-tab-panel.active{display:block;}

/* ---------- Product grid & card ---------- */
.gc-product-grid{display:grid; grid-template-columns:repeat(5, 1fr); gap:20px;}
@media (max-width:1100px){.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-line); border-radius:var(--gc-radius); background:var(--gc-white);
  padding:16px; position:relative; transition:box-shadow .2s, transform .2s;
}
.gc-product-card:hover{box-shadow:0 14px 30px rgba(31,61,43,0.1); transform:translateY(-2px);}
.gc-product-card .badge{
  position:absolute; top:14px; left:14px; background:var(--gc-tomato); color:#fff; font-family:var(--gc-mono);
  font-size:11px; padding:4px 10px; border-radius:4px; z-index:2;
  clip-path:polygon(0 0,100% 0,100% 100%,6px 100%,0 calc(100% - 6px));
}
.gc-product-card .wishlist{
  position:absolute; top:14px; right:14px; background:var(--gc-white); border:1px solid var(--gc-line);
  border-radius:50%; width:32px; height:32px; display:flex; align-items:center; justify-content:center; z-index:2;
}
.gc-product-card .thumb{display:block; width:100%; aspect-ratio:1/1; overflow:hidden; border-radius:6px; margin-bottom:14px; background:var(--gc-cream-deep);}
.gc-product-card .thumb img{width:100%; height:100%; object-fit:cover;}
.gc-product-card h3{font-family:var(--gc-body); font-weight:600; color:var(--gc-charcoal); font-size:15px; margin:0 0 4px;}
.gc-product-card .unit{color:var(--gc-ink-soft); font-size:13px; margin-bottom:8px;}
.gc-product-card .price-row{display:flex; align-items:baseline; gap:8px; font-family:var(--gc-mono); margin-bottom:12px; border-top:1px dashed var(--gc-line); padding-top:10px;}
.gc-product-card .price{font-weight:600; font-size:17px; color:var(--gc-forest);}
.gc-product-card .price-was{text-decoration:line-through; color:var(--gc-ink-soft); font-size:13px;}
.gc-product-card .price-per{color:var(--gc-ink-soft); font-size:11px;}

.gc-qty-stepper{display:flex; align-items:center; border:1px solid var(--gc-line); border-radius:6px; overflow:hidden; margin-bottom:10px;}
.gc-qty-stepper button{background:var(--gc-cream-deep); border:none; width:34px; height:34px; font-size:16px; color:var(--gc-forest);}
.gc-qty-stepper input{flex:1; border:none; text-align:center; width:100%; font-size:14px; font-family:var(--gc-mono); -moz-appearance:textfield; background:transparent;}
.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-forest); color:var(--gc-cream); border:none; padding:11px; border-radius:6px; font-weight:700; font-size:14px;}
.gc-add-to-cart:hover{background:var(--gc-forest-light);}
.gc-add-to-cart.added{background:var(--gc-forest-light);}

/* ---------- Category grid ---------- */
.gc-cat-grid{display:grid; grid-template-columns:repeat(6, 1fr); gap:18px;}
@media (max-width:900px){.gc-cat-grid{grid-template-columns:repeat(3,1fr);}}
@media (max-width:560px){.gc-cat-grid{grid-template-columns:repeat(2,1fr);}}
.gc-cat-tile{text-align:center; background:var(--gc-white); border:1px solid var(--gc-line); border-radius:var(--gc-radius); padding:20px 12px; transition:border-color .2s;}
.gc-cat-tile:hover{border-color:var(--gc-forest);}
.gc-cat-tile .img{border-radius:50%; overflow:hidden; aspect-ratio:1/1; background:var(--gc-forest-pale); margin:0 auto 12px; width:72px;}
.gc-cat-tile .img img{width:100%; height:100%; object-fit:cover;}
.gc-cat-tile span{font-weight:600; font-size:14px;}

/* ---------- Promo banners ---------- */
.gc-banner-row{display:grid; grid-template-columns:repeat(3,1fr); gap:20px;}
@media (max-width:900px){.gc-banner-row{grid-template-columns:1fr;}}
.gc-banner{
  position:relative; border-radius:var(--gc-radius); overflow:hidden; min-height:220px; display:flex;
  align-items:flex-end; padding:24px; background:var(--gc-forest-pale);
}
.gc-banner img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:0;}
.gc-banner .content{position:relative; z-index:1;}
.gc-banner .content .tag{font-family:var(--gc-mono); font-size:11px; background:var(--gc-white); padding:4px 10px; border-radius:4px; display:inline-block; margin-bottom:8px;}
.gc-banner .content h3{font-size:22px; color:var(--gc-white); margin-bottom:4px;}
.gc-banner .content a{color:var(--gc-white); font-weight:700; font-size:13px; border-bottom:1.5px solid var(--gc-white);}

/* ---------- Testimonials ---------- */
.gc-testimonials{background:var(--gc-forest); color:var(--gc-cream);}
.gc-testimonial-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:24px;}
@media (max-width:900px){.gc-testimonial-grid{grid-template-columns:1fr;}}
.gc-testimonial{background:rgba(255,255,255,0.06); border:1px solid rgba(255,255,255,0.15); border-radius:var(--gc-radius); padding:24px;}
.gc-testimonial .stars{color:var(--gc-gold); margin-bottom:12px; font-size:14px;}
.gc-testimonial p.quote{font-family:var(--gc-display); font-size:16px; line-height:1.5; margin-bottom:16px;}
.gc-testimonial .who{font-family:var(--gc-mono); font-size:12px; opacity:0.8;}

/* ---------- Newsletter ---------- */
.gc-newsletter{background:var(--gc-cream-deep); border-top:1px dashed var(--gc-line); border-bottom:1px dashed var(--gc-line);}
.gc-newsletter-inner{max-width:640px; margin:0 auto; padding:48px 28px; text-align:center;}
.gc-newsletter-inner h2{margin-bottom:8px;}
.gc-newsletter-inner p{color:var(--gc-ink-soft); margin-bottom:24px;}
.gc-newsletter-form{display:flex; gap:10px; max-width:420px; margin:0 auto;}
.gc-newsletter-form input{flex:1; padding:13px 18px; border-radius:999px; border:1.5px solid var(--gc-line); font-size:14px;}
.gc-newsletter-form button{padding:13px 24px;}

/* ---------- Footer ---------- */
.gc-footer{background:var(--gc-forest); color:var(--gc-cream); margin-top:0;}
.gc-footer-grid{max-width:var(--gc-max-width); margin:0 auto; padding:56px 28px 28px; display:grid; grid-template-columns:2fr 1fr 1fr 1fr; gap:32px;}
@media (max-width:900px){.gc-footer-grid{grid-template-columns:1fr 1fr;}}
.gc-footer h4{color:var(--gc-cream); font-family:var(--gc-body); font-size:13px; text-transform:uppercase; letter-spacing:0.05em; margin-bottom:16px; opacity:0.85;}
.gc-footer ul{list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:10px;}
.gc-footer a{font-size:14px; opacity:0.85;}
.gc-footer a:hover{opacity:1; text-decoration:underline;}
.gc-footer .logo{font-family:var(--gc-display); font-size:24px; font-weight:700; margin-bottom:12px;}
.gc-footer .about{opacity:0.75; font-size:14px; line-height:1.6; max-width:320px;}
.gc-footer-bottom{border-top:1px dashed rgba(255,255,255,0.2); padding:20px 28px; text-align:center; font-size:13px; opacity:0.7; font-family:var(--gc-mono);}

.gc-shop-sidebar .product-categories{list-style:none; margin:0; padding:0;}
.gc-shop-sidebar .product-categories > li{margin-bottom:4px;}
.gc-shop-sidebar .product-categories ul.children{list-style:none; margin:4px 0 8px; padding-left:16px; border-left:1.5px dashed var(--gc-line);}
.gc-shop-sidebar .product-categories a{
  display:inline-block; padding:8px 10px; border-radius:6px; font-size:14px; color:var(--gc-charcoal);
  transition:background .15s, color .15s;
}
.gc-shop-sidebar .product-categories > li > a{font-weight:700; font-size:14px;}
.gc-shop-sidebar .product-categories ul.children a{font-weight:500; font-size:13.5px; color:var(--gc-ink-soft);}
.gc-shop-sidebar .product-categories ul.children ul.children a{font-size:13px;}
.gc-shop-sidebar .product-categories a:hover{background:var(--gc-forest-pale); color:var(--gc-forest);}
.gc-shop-sidebar .product-categories .count{
  float:right; font-family:var(--gc-mono); font-size:11px; color:var(--gc-ink-soft);
  background:var(--gc-cream-deep); border-radius:999px; padding:3px 9px; margin-top:8px;
}
.gc-shop-sidebar .product-categories ul.children{clear:both;}
.gc-shop-sidebar .price_slider_amount{display:flex; justify-content:space-between; align-items:center; font-family:var(--gc-mono); font-size:13px; margin-top:12px;}
.gc-shop-sidebar .price_slider_amount .button{background:var(--gc-forest); color:var(--gc-cream); border:none; padding:8px 16px; border-radius:6px; font-weight:700; font-size:13px;}
.gc-shop-sidebar .star-rating{color:var(--gc-gold);}
.gc-shop-sidebar .wc-layered-nav-rating{list-style:none; margin:0; padding:0;}
.gc-shop-sidebar .wc-layered-nav-rating li{margin-bottom:8px; font-size:14px;}

/* ---------- WooCommerce Blocks (Cart/Checkout blocks - newer default) ---------- */
.gc-wc-page .wc-block-components-button,
.gc-wc-page .wp-element-button,
.gc-wc-page .wc-block-cart__submit-button,
.gc-wc-page .wc-block-cart__submit-container .wc-block-components-button,
.gc-wc-page .wc-block-checkout__actions .wc-block-components-button,
.gc-wc-page .wc-block-components-checkout-place-order-button {
  background:var(--gc-forest) !important;
  color:var(--gc-cream) !important;
  border:none !important;
  border-radius:999px !important;
  padding:14px 28px !important;
  font-weight:700 !important;
  font-size:14px !important;
  font-family:var(--gc-body) !important;
  box-shadow:none !important;
}
.gc-wc-page .wc-block-components-button:hover,
.gc-wc-page .wp-element-button:hover,
.gc-wc-page .wc-block-cart__submit-button:hover,
.gc-wc-page .wc-block-components-checkout-place-order-button:hover {
  background:var(--gc-forest-light) !important;
}
.gc-wc-page .wc-block-cart-item__product-name,
.gc-wc-page .wc-block-components-product-name{font-weight:600; color:var(--gc-charcoal);}
.gc-wc-page .wc-block-components-totals-item__value,
.gc-wc-page .wc-block-components-totals-footer-item .wc-block-components-totals-item__value{
  font-family:var(--gc-mono); color:var(--gc-forest); font-weight:600;
}
.gc-wc-page .wc-block-components-panel,
.gc-wc-page .wc-block-cart,
.gc-wc-page .wc-block-checkout__main,
.gc-wc-page .wc-block-checkout__sidebar,
.gc-wc-page .wc-block-components-order-summary,
.gc-wc-page .wc-block-components-totals-wrapper{
  background:var(--gc-white); border:1px solid var(--gc-line) !important; border-radius:var(--gc-radius) !important;
}
.gc-wc-page .wc-block-components-text-input input,
.gc-wc-page .wc-block-components-combobox input,
.gc-wc-page .wc-block-components-select select{
  border:1px solid var(--gc-line) !important; border-radius:6px !important; padding:11px 14px !important;
}
.gc-wc-page .wc-block-components-quantity-selector{border:1px solid var(--gc-line) !important; border-radius:6px !important;}
.gc-wc-page .wc-block-components-quantity-selector__button{background:var(--gc-cream-deep) !important;}

/* ---------- Cart / Checkout / My Account (WooCommerce native markup, restyled) ---------- */
.gc-wc-page table.shop_table{width:100%; border-collapse:collapse; margin-bottom:24px;}
.gc-wc-page table.shop_table th{text-align:left; font-family:var(--gc-mono); font-size:12px; text-transform:uppercase; letter-spacing:0.04em; color:var(--gc-ink-soft); padding:12px 10px; border-bottom:1px solid var(--gc-line);}
.gc-wc-page table.shop_table td{padding:16px 10px; border-bottom:1px dashed var(--gc-line); vertical-align:middle;}
.gc-wc-page table.shop_table td.product-name a{font-weight:600;}
.gc-wc-page table.shop_table .product-thumbnail img{width:64px; border-radius:8px;}
.gc-wc-page .quantity input.qty{width:60px; padding:8px; border:1px solid var(--gc-line); border-radius:6px; font-family:var(--gc-mono);}
.gc-wc-page .actions .button, .gc-wc-page input.button, .gc-wc-page button.button,
.gc-wc-page .wc-proceed-to-checkout .checkout-button, .gc-wc-page #place_order {
  background:var(--gc-forest) !important; color:var(--gc-cream) !important; border:none !important;
  padding:13px 26px !important; border-radius:999px !important; font-weight:700 !important;
  font-size:14px !important; display:inline-block;
}
.gc-wc-page .actions .button:hover, .gc-wc-page input.button:hover, .gc-wc-page #place_order:hover{background:var(--gc-forest-light) !important;}
.gc-wc-page .cart-collaterals .cart_totals{background:var(--gc-white); border:1px solid var(--gc-line); border-radius:var(--gc-radius); padding:24px; max-width:400px; margin-left:auto;}
.gc-wc-page .cart_totals table{border:none;}
.gc-wc-page .cart_totals .order-total .amount{font-family:var(--gc-mono); font-size:20px; color:var(--gc-forest); font-weight:600;}
.gc-wc-page #customer_details, .gc-wc-page #order_review{background:var(--gc-white); border:1px solid var(--gc-line); border-radius:var(--gc-radius); padding:24px; margin-bottom:20px;}
.gc-wc-page .woocommerce-input-wrapper input, .gc-wc-page select{width:100%; padding:11px 14px; border:1px solid var(--gc-line); border-radius:6px; font-size:14px; margin-bottom:14px;}
.gc-wc-page .woocommerce-form-row label{font-weight:600; font-size:13px; margin-bottom:6px; display:block;}
.gc-wc-page .woocommerce-MyAccount-navigation ul{list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:6px; border:1px solid var(--gc-line); border-radius:var(--gc-radius); padding:16px; background:var(--gc-white);}
.gc-wc-page .woocommerce-MyAccount-navigation a{display:block; padding:8px 12px; border-radius:6px; font-weight:600; font-size:14px;}
.gc-wc-page .woocommerce-MyAccount-navigation li.is-active a{background:var(--gc-forest-pale); color:var(--gc-forest);}
.gc-wc-page .woocommerce-MyAccount-content{background:var(--gc-white); border:1px solid var(--gc-line); border-radius:var(--gc-radius); padding:28px; margin-top:20px;}
.gc-wc-page .woocommerce-message, .gc-wc-page .woocommerce-info, .gc-wc-page .woocommerce-error{
  background:var(--gc-forest-pale); border-left:3px solid var(--gc-forest); padding:14px 18px; border-radius:6px;
  list-style:none; margin-bottom:20px; font-size:14px;
}
.gc-wc-page .woocommerce-error{background:var(--gc-tomato-pale); border-left-color:var(--gc-tomato);}

/* ---------- Breadcrumb ---------- */
.gc-breadcrumb{font-size:13px; color:var(--gc-ink-soft); padding:18px 0;}
.gc-breadcrumb a{color:var(--gc-forest);}

/* ---------- Shop / archive page ---------- */
.gc-shop-layout{display:grid; grid-template-columns:260px 1fr; gap:32px; align-items:flex-start;}
@media (max-width:900px){.gc-shop-layout{grid-template-columns:1fr;}}
.gc-shop-sidebar{background:var(--gc-white); border:1px solid var(--gc-line); border-radius:var(--gc-radius); padding:22px;}
.gc-filter-block{border-bottom:1px dashed var(--gc-line); padding-bottom:18px; margin-bottom:18px;}
.gc-filter-block:last-child{border-bottom:none;}
.gc-filter-block h4{font-family:var(--gc-body); font-size:13px; text-transform:uppercase; letter-spacing:0.04em; margin-bottom:12px; color:var(--gc-forest);}
.gc-filter-block label{display:flex; align-items:center; gap:8px; font-size:14px; margin-bottom:8px; cursor:pointer;}
.gc-filter-block input[type=range]{width:100%;}
.gc-price-values{display:flex; justify-content:space-between; font-family:var(--gc-mono); font-size:12px; color:var(--gc-ink-soft);}

.gc-shop-toolbar{
  display:flex; align-items:center; justify-content:space-between; margin-bottom:24px; flex-wrap:wrap; gap:12px;
  background:var(--gc-white); border:1px solid var(--gc-line); border-radius:var(--gc-radius); padding:14px 20px;
}
.gc-shop-toolbar .count{font-family:var(--gc-mono); font-size:13px; color:var(--gc-ink-soft);}
.gc-shop-toolbar select{padding:8px 14px; border-radius:6px; border:1px solid var(--gc-line); font-size:14px; background:var(--gc-cream-deep); font-weight:600; cursor:pointer;}
.gc-pagination{display:flex; justify-content:center; gap:8px; margin-top:36px;}
.gc-pagination a, .gc-pagination span{padding:8px 14px; border:1px solid var(--gc-line); border-radius:6px; font-size:14px; font-family:var(--gc-mono);}
.gc-pagination .current{background:var(--gc-forest); color:var(--gc-cream); border-color:var(--gc-forest);}

/* ---------- Single product ---------- */
.gc-product-single{display:grid; grid-template-columns:1fr 1fr; gap:48px; padding:40px 0;}
@media (max-width:900px){.gc-product-single{grid-template-columns:1fr;}}
.gc-gallery-main{aspect-ratio:1/1; border-radius:var(--gc-radius); overflow:hidden; background:var(--gc-cream-deep); margin-bottom:14px;}
.gc-gallery-main img{width:100%; height:100%; object-fit:cover;}
.gc-gallery-thumbs{display:flex; gap:10px;}
.gc-gallery-thumbs button{width:70px; height:70px; border-radius:8px; overflow:hidden; border:2px solid transparent; padding:0; background:var(--gc-cream-deep);}
.gc-gallery-thumbs button.active{border-color:var(--gc-forest);}
.gc-gallery-thumbs img{width:100%; height:100%; object-fit:cover;}

.gc-product-info .rating{color:var(--gc-gold); font-size:14px; margin-bottom:10px;}
.gc-product-info h1{font-size:30px; margin-bottom:10px;}
.gc-product-info .price-row{font-family:var(--gc-mono); font-size:24px; color:var(--gc-forest); border-top:1px dashed var(--gc-line); border-bottom:1px dashed var(--gc-line); padding:16px 0; margin-bottom:20px; display:flex; align-items:baseline; gap:12px;}
.gc-product-info .price-was{font-size:16px; text-decoration:line-through; color:var(--gc-ink-soft);}
.gc-product-info .short-desc{color:var(--gc-ink-soft); line-height:1.6; margin-bottom:24px;}
.gc-product-info .add-row{display:flex; gap:14px; margin-bottom:24px;}
.gc-product-info .add-row .gc-qty-stepper{width:130px;}
.gc-product-info .add-row .gc-add-to-cart{flex:1;}
.gc-meta-list{font-size:13px; color:var(--gc-ink-soft); display:flex; flex-direction:column; gap:6px;}
.gc-meta-list span.label{font-weight:700; color:var(--gc-charcoal); font-family:var(--gc-mono); margin-right:8px;}

.gc-product-tabs{border-top:1px solid var(--gc-line); padding-top:8px;}
.gc-product-tabs .gc-tabs{border-bottom:1px solid var(--gc-line); margin-bottom:28px; padding-bottom:0;}
.gc-product-tabs .gc-tab-btn{border-radius:0; border:none; border-bottom:2px solid transparent; background:none; padding:12px 4px; margin-right:24px;}
.gc-product-tabs .gc-tab-btn.active{border-bottom-color:var(--gc-forest); color:var(--gc-forest); background:none;}
.gc-related{padding-top:20px;}
