
:root{
  --v6-bg:#f7f3ec;
  --v6-card:#ffffff;
  --v6-ink:#171513;
  --v6-muted:#b2aa9f;
  --v6-gold:#aa7827;
  --v6-border:#e7ded2;
  --v6-radius:14px;
}

body.pcgv14-canvas,
body.pcgv14-favorites-body{
  background:var(--v6-bg)!important;
}

/* HERO */
.pcgv14-hero{
  max-width:1420px;
  margin:12px auto 16px;
  padding:26px 18px 18px;
  background:linear-gradient(180deg,#fbf8f3 0%,#f4eee5 100%);
  border-radius:18px;
  text-align:center;
}
.pcgv14-eyebrow{
  margin-bottom:8px;
  font-size:12px;
  letter-spacing:.32em;
  text-transform:uppercase;
  font-weight:700;
  color:#7c6b58;
}
.pcgv14-title{
  margin:0;
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(44px,6.2vw,78px);
  line-height:1;
  font-weight:500;
  letter-spacing:-.035em;
  color:var(--v6-ink);
}
.pcgv14-subtitle{
  margin:10px 0 17px;
  font-size:clamp(16px,1.8vw,21px);
  color:#807462;
}
.pcgv14-controls{
  display:flex;
  justify-content:center;
  gap:10px;
  flex-wrap:wrap;
}
.pcgv14-filter,
.pcgv14-favorites-link{
  min-height:38px;
  padding:8px 16px;
  border:1px solid #d9cebf;
  border-radius:999px;
  background:#fffaf4;
  color:#756a5d!important;
  text-decoration:none!important;
  font-size:14px;
  font-weight:600;
}
.pcgv14-filter.is-active{
  background:linear-gradient(180deg,#b18f5f,#9d7a49);
  color:#fff!important;
  border-color:#a47f50;
}
.pcgv14-favorites-link{
  display:inline-flex;
  align-items:center;
  gap:7px;
}

/* PRODUCT GRID - wider */
body.pcgv14-canvas.pcgv14-ready ul.products{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:14px!important;
  width:100%!important;
  max-width:1480px!important;
  margin:0 auto 30px!important;
  padding:0 8px!important;
}
body.pcgv14-canvas.pcgv14-ready ul.products::before,
body.pcgv14-canvas.pcgv14-ready ul.products::after{display:none!important}

body.pcgv14-canvas.pcgv14-ready ul.products li.product{
  position:relative!important;
  float:none!important;
  width:auto!important;
  margin:0!important;
  padding:0 0 12px!important;
  background:var(--v6-card)!important;
  border:1px solid var(--v6-border)!important;
  border-radius:var(--v6-radius)!important;
  overflow:hidden!important;
  box-shadow:0 9px 26px rgba(55,41,24,.05)!important;
}

body.pcgv14-canvas.pcgv14-ready ul.products li.product img{
  display:block!important;
  width:100%!important;
  height:clamp(350px,37vw,560px)!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  object-fit:cover!important;
  object-position:center!important;
  border-radius:0!important;
  background:#ece6de!important;
}

/* category label */
.pcgv14-category{
  display:block;
  margin:10px 16px 2px;
  font-size:12px;
  line-height:1.2;
  color:var(--v6-muted);
  font-weight:500;
}

/* title + price */
body.pcgv14-canvas.pcgv14-ready ul.products li.product .woocommerce-loop-product__title,
body.pcgv14-canvas.pcgv14-ready ul.products li.product h2,
body.pcgv14-canvas.pcgv14-ready ul.products li.product h3{
  margin:4px 16px 6px!important;
  padding:0!important;
  color:var(--v6-ink)!important;
  font-size:clamp(20px,1.65vw,25px)!important;
  line-height:1.18!important;
  font-weight:800!important;
}
body.pcgv14-canvas.pcgv14-ready ul.products li.product .price{
  display:block!important;
  margin:0 16px 8px!important;
  color:var(--v6-gold)!important;
  font-size:clamp(18px,1.45vw,22px)!important;
  line-height:1.2!important;
  font-weight:800!important;
}
body.pcgv14-canvas.pcgv14-ready ul.products li.product .price *{color:inherit!important}

/* Small CTA */
body.pcgv14-canvas.pcgv14-ready ul.products li.product .button,
body.pcgv14-canvas.pcgv14-ready ul.products li.product a.button{
  display:inline-flex!important;
  align-items:center!important;
  width:auto!important;
  min-height:auto!important;
  margin:1px 16px 0!important;
  padding:3px 0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  color:#171513!important;
  text-decoration:none!important;
  text-transform:none!important;
  font-size:14px!important;
  line-height:1.3!important;
  font-weight:700!important;
  box-shadow:none!important;
}
.pcgv14-arrow{margin-left:6px;font-size:16px;font-weight:400}

/* quick preview + favorite */
.pcgv14-zoom,
.pcgv14-heart{
  position:absolute;
  top:11px;
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  border:0;
  border-radius:50%;
  background:rgba(255,255,255,.94);
  color:#222;
  font-size:19px;
  z-index:6;
  box-shadow:0 3px 11px rgba(0,0,0,.09);
  cursor:pointer;
}
.pcgv14-zoom{left:11px}
.pcgv14-heart{right:11px}
.pcgv14-heart.is-favorite{
  background:#9f7b4a;
  color:#fff;
}

/* LIGHTBOX */
.pcgv14-lightbox{
  position:fixed;
  inset:0;
  z-index:999999;
  display:none;
  align-items:center;
  justify-content:center;
  padding:24px;
  background:rgba(18,16,14,.78);
  backdrop-filter:blur(4px);
}
.pcgv14-lightbox.is-open{display:flex}
.pcgv14-lightbox-inner{
  position:relative;
  max-width:min(1100px,94vw);
  max-height:90vh;
  background:#fff;
  border-radius:16px;
  overflow:hidden;
  box-shadow:0 24px 70px rgba(0,0,0,.35);
}
.pcgv14-lightbox-img{
  display:block;
  max-width:100%;
  max-height:76vh;
  width:auto;
  height:auto;
  object-fit:contain;
  margin:auto;
  background:#eee8e0;
}
.pcgv14-lightbox-meta{
  padding:13px 17px 15px;
}
.pcgv14-lightbox-title{
  margin:0 0 4px;
  font-size:20px;
  font-weight:800;
}
.pcgv14-lightbox-price{
  color:var(--v6-gold);
  font-weight:800;
}
.pcgv14-close{
  position:absolute;
  top:10px;
  right:10px;
  width:38px;
  height:38px;
  border:0;
  border-radius:50%;
  background:rgba(255,255,255,.95);
  font-size:25px;
  line-height:1;
  cursor:pointer;
  z-index:5;
}

/* FAVORITES PAGE */
.pcgv14-favorites-page{
  max-width:1480px;
  margin:0 auto;
  padding:24px 10px 40px;
}
.pcgv14-fav-head{
  text-align:center;
  margin:0 auto 22px;
  max-width:900px;
}
.pcgv14-back-link{
  color:#6f6254!important;
  text-decoration:none!important;
  font-weight:600;
}
.pcgv14-favorites-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}
.pcgv14-fav-card{
  overflow:hidden;
  border:1px solid var(--v6-border);
  border-radius:var(--v6-radius);
  background:#fff;
  box-shadow:0 9px 26px rgba(55,41,24,.05);
}
.pcgv14-fav-card img{
  width:100%;
  height:clamp(340px,36vw,540px);
  object-fit:cover;
  display:block;
}
.pcgv14-fav-category{
  margin:10px 16px 2px;
  font-size:12px;
  color:var(--v6-muted);
}
.pcgv14-fav-title{
  margin:4px 16px 6px;
  font-size:23px;
  font-weight:800;
}
.pcgv14-fav-price{
  margin:0 16px 8px;
  color:var(--v6-gold);
  font-size:20px;
  font-weight:800;
}
.pcgv14-fav-actions{
  display:flex;
  gap:12px;
  align-items:center;
  padding:0 16px 14px;
}
.pcgv14-fav-open,
.pcgv14-fav-remove{
  border:0;
  background:transparent;
  padding:3px 0;
  font-weight:700;
  color:#171513;
  text-decoration:none;
  cursor:pointer;
}
.pcgv14-fav-remove{color:#8d7a66}
.pcgv14-favorites-empty{
  text-align:center;
  padding:60px 20px;
  font-size:18px;
  color:#7c7062;
}

/* TABLET */
@media (max-width:900px){
  .pcgv14-hero{
    margin:10px 8px 14px;
    padding:20px 10px 14px;
  }
  .pcgv14-controls{
    justify-content:flex-start;
    flex-wrap:nowrap;
    overflow-x:auto;
    scrollbar-width:none;
    padding-bottom:5px;
  }
  .pcgv14-controls::-webkit-scrollbar{display:none}
  .pcgv14-filter,.pcgv14-favorites-link{flex:0 0 auto;white-space:nowrap}
  body.pcgv14-canvas.pcgv14-ready ul.products{
    gap:10px!important;
    padding:0 6px!important;
  }
  body.pcgv14-canvas.pcgv14-ready ul.products li.product img{
    height:44vw!important;
    min-height:240px!important;
  }
}

/* NARROW MOBILE - one column */
@media (max-width:620px){
  .pcgv14-title{font-size:42px}
  .pcgv14-subtitle{font-size:16px}
  body.pcgv14-canvas.pcgv14-ready ul.products{
    grid-template-columns:1fr!important;
    gap:14px!important;
    padding:0 6px!important;
  }
  body.pcgv14-canvas.pcgv14-ready ul.products li.product img{
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
  }
  .pcgv14-favorites-grid{grid-template-columns:1fr}
  .pcgv14-fav-card img{height:auto}
}


/* SEARCH FILTER BAR */
.pcgv14-searchbar{
  max-width:1480px;
  margin:10px auto 18px;
  padding:14px 12px;
  display:grid;
  grid-template-columns:minmax(180px,1fr) minmax(260px,1.35fr) auto;
  gap:12px;
  align-items:end;
}
.pcgv14-field{
  display:flex;
  flex-direction:column;
  gap:6px;
}
.pcgv14-field label{
  font-size:11px;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:#7d705f;
  font-weight:700;
}
.pcgv14-field select{
  width:100%;
  min-height:46px;
  padding:0 14px;
  border:1px solid #ded5c9;
  border-radius:8px;
  background:#fff;
  color:#29251f;
  font-size:14px;
}
.pcgv14-find{
  min-height:46px;
  padding:0 22px;
  border:0;
  border-radius:8px;
  background:linear-gradient(180deg,#c9a25d,#b68a3e);
  color:#fff;
  font-size:14px;
  font-weight:800;
  cursor:pointer;
}
.pcgv14-find:hover{filter:brightness(.96)}

@media (max-width:760px){
  .pcgv14-searchbar{
    grid-template-columns:1fr;
    margin:8px 8px 14px;
    padding:10px 0;
  }
}


/* V10 CATEGORY CARDS - visual separator before products */
.pcgv14-category-section{
  max-width:1480px;
  margin:2px auto 30px;
  padding:0 12px 26px;
  border-bottom:1px solid #e4dbcf;
}
.pcgv14-category-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  margin:0 0 12px;
}
.pcgv14-category-heading{
  margin:0;
  font-family:Georgia,"Times New Roman",serif;
  font-size:22px;
  font-weight:500;
  color:#554a3e;
}
.pcgv14-allcats{
  color:#a77728!important;
  text-decoration:none!important;
  font-size:13px;
  font-weight:700;
  white-space:nowrap;
}
.pcgv14-category-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
}
.pcgv14-cat-card{
  display:flex;
  align-items:center;
  gap:11px;
  min-height:68px;
  padding:9px 12px;
  border:1px solid #e4dbcf;
  border-radius:10px;
  background:#fff;
  color:#25211d!important;
  text-decoration:none!important;
  box-shadow:0 4px 14px rgba(55,41,24,.025);
  transition:transform .15s ease, box-shadow .15s ease;
}
.pcgv14-cat-card:hover{
  transform:translateY(-1px);
  box-shadow:0 7px 18px rgba(55,41,24,.06);
}
.pcgv14-cat-thumb{
  flex:0 0 48px;
  width:48px;
  height:48px;
  border-radius:50%;
  overflow:hidden;
  background:linear-gradient(145deg,#d7c4a4,#9b7a50);
  display:grid;
  place-items:center;
  color:#fff;
  font-family:Georgia,serif;
  font-size:17px;
}
.pcgv14-cat-thumb img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.pcgv14-cat-name{
  display:block;
  font-size:14px;
  line-height:1.18;
  font-weight:700;
}
.pcgv14-cat-count{
  display:block;
  margin-top:2px;
  font-size:12px;
  color:#a49a8e;
  font-weight:500;
}

/* stronger separation before catalogue title/products */
.pcgv14-hero{
  margin-top:24px!important;
}

/* On phones: compact 2-column category cards, then 1-column products */
@media (max-width:760px){
  .pcgv14-category-section{
    margin:0 8px 20px;
    padding:0 0 20px;
  }
  .pcgv14-category-heading{font-size:18px}
  .pcgv14-category-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:7px;
  }
  .pcgv14-cat-card{
    min-height:58px;
    padding:7px 8px;
    gap:8px;
  }
  .pcgv14-cat-thumb{
    flex-basis:38px;
    width:38px;
    height:38px;
    font-size:14px;
  }
  .pcgv14-cat-name{font-size:12px}
  .pcgv14-cat-count{font-size:10px}
}
@media (max-width:390px){
  .pcgv14-category-grid{grid-template-columns:1fr}
}


/* V11: remove duplicate category pills at the beginning of the product catalogue */
.pcgv14-hero .pcgv14-controls .pcgv14-filter{
  display:none!important;
}

/* Keep Favorites visible, but visually separate from categories */
.pcgv14-hero .pcgv14-controls{
  justify-content:center!important;
  margin-top:10px;
}
.pcgv14-hero .pcgv14-favorites-link{
  display:inline-flex!important;
  align-items:center;
  gap:6px;
}

/* Make the product catalogue start cleaner */
.pcgv14-hero{
  padding-bottom:14px!important;
  margin-bottom:14px!important;
}
body.pcgv14-canvas.pcgv14-ready ul.products{
  margin-top:0!important;
}

/* Category label under each individual product remains subtle */
.pcgv14-category{
  font-size:11px!important;
  color:#b2aa9f!important;
  margin-top:9px!important;
}


/* V12: real WooCommerce category thumbnails */
.pcgv14-cat-thumb{
  flex:0 0 58px!important;
  width:58px!important;
  height:58px!important;
  border-radius:10px!important;
  overflow:hidden!important;
  background:#eee7dd!important;
}
.pcgv14-cat-thumb img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  border-radius:0!important;
}
.pcgv14-cat-thumb.pcgv14-no-image{
  border-radius:50%!important;
  background:linear-gradient(145deg,#d7c4a4,#9b7a50)!important;
}

/* Give WooCommerce result count/sorting their own row so they cannot overlap the category heading */
body.pcgv14-canvas .woocommerce-result-count{
  position:static!important;
  float:none!important;
  display:block!important;
  width:auto!important;
  margin:16px 12px 10px!important;
}
body.pcgv14-canvas .woocommerce-ordering{
  position:static!important;
  float:none!important;
  display:block!important;
  width:min(360px,calc(100% - 24px))!important;
  margin:0 12px 18px auto!important;
}
.pcgv14-category-section{
  clear:both!important;
  margin-top:8px!important;
}

@media (max-width:760px){
  .pcgv14-cat-thumb{
    flex-basis:48px!important;
    width:48px!important;
    height:48px!important;
  }
  body.pcgv14-canvas .woocommerce-result-count{
    margin:12px 8px 8px!important;
  }
  body.pcgv14-canvas .woocommerce-ordering{
    width:calc(100% - 16px)!important;
    margin:0 8px 14px!important;
  }
}


/* V13 exact product category label */
.pcgv14-category{
  text-transform:none!important;
  letter-spacing:0!important;
  color:#aaa196!important;
  font-size:11px!important;
  line-height:1.25!important;
}


/* V14: category cards belong only in the upper category section.
   Hide WooCommerce category tiles from the product catalogue itself. */
body.pcgv14-canvas.pcgv14-ready ul.products li.product-category,
body.pcgv14-canvas.pcgv14-ready ul.products li.type-product_cat,
body.pcgv14-canvas.pcgv14-ready ul.products li.pcgv14-category-tile-hidden{
  display:none!important;
}

/* Ensure remaining real products fill the grid cleanly */
body.pcgv14-canvas.pcgv14-ready ul.products{
  align-items:start!important;
}
