/* Shop archive reset: the market landing page replaces WooCommerce's native category/product archive. */
.p2gse-market-page #content .entry-title,
.p2gse-market-page #content .page-title,
.p2gse-market-page .woocommerce-products-header__title { display:none !important; }

.p2gse-market-shop-archive .woocommerce-result-count,
.p2gse-market-shop-archive .woocommerce-ordering,
.p2gse-market-shop-archive ul.products,
.p2gse-market-shop-archive .products,
.p2gse-market-shop-archive .woocommerce-pagination,
.p2gse-market-shop-archive .woocommerce-info,
.p2gse-market-shop-archive .term-description { display:none !important; }

/* The Shop landing page is its own front door; remove the store sidebar only here. */
.p2gse-market-shop-archive #sidebar,
.p2gse-market-shop-archive #secondary,
.p2gse-market-shop-archive .sidebar,
.p2gse-market-shop-archive .widget-area,
.p2gse-market-shop-archive aside[role="complementary"] { display:none !important; }

.p2gse-market-shop-archive #primary,
.p2gse-market-shop-archive #mid,
.p2gse-market-shop-archive .content-area,
.p2gse-market-shop-archive .site-main,
.p2gse-market-shop-archive .woocommerce-content,
.p2gse-market-shop-archive .main-content {
  width:100% !important;
  max-width:none !important;
  float:none !important;
  margin-left:0 !important;
  margin-right:0 !important;
}

.p2gse-market {
  box-sizing:border-box;
  color:var(--p2gse-text);
  width:min(1480px, calc(100% - 64px));
  margin:42px auto 70px;
  padding:0;
}
.p2gse-market *, .p2gse-market *::before, .p2gse-market *::after { box-sizing:border-box; }

.p2gse-welcome {
  border:1px solid var(--p2gse-border);
  border-top:4px solid var(--p2gse-accent);
  background:var(--p2gse-cream);
  padding:42px 42px 38px;
  margin:0 0 48px;
  text-align:center;
}
.p2gse-eyebrow { color:var(--p2gse-accent); text-transform:uppercase; letter-spacing:.18em; font-size:12px; font-weight:700; margin-bottom:10px; }
.p2gse-welcome h1 { margin:0; color:var(--p2gse-accent); font-size:clamp(34px,4vw,58px); line-height:1.12; font-weight:500; }
.p2gse-intro { max-width:var(--p2gse-intro-width,1000px); margin:18px auto 0; font-size:var(--p2gse-intro-size,18px); line-height:1.7; }
.p2gse-notice { max-width:1000px; margin:25px auto 0; padding:17px 18px; border-top:1px solid var(--p2gse-border); border-bottom:1px solid var(--p2gse-border); font-size:var(--p2gse-notice-size,17px); line-height:1.55; }
.p2gse-notice strong { color:var(--p2gse-accent); }

.p2gse-section-heading { text-align:center; margin:0 0 28px; }
.p2gse-section-heading span { display:block; color:var(--p2gse-accent); text-transform:uppercase; letter-spacing:.18em; font-size:12px; font-weight:700; margin-bottom:7px; }
.p2gse-section-heading h2 { margin:0; font-size:clamp(30px,3vw,44px); font-weight:500; color:var(--p2gse-text); }

.p2gse-departments { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.p2gse-department { margin:0 !important; border:1px solid var(--p2gse-border); background:#fff; overflow:hidden; transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease; }
.p2gse-department:hover { transform:translateY(-3px); border-color:var(--p2gse-accent); box-shadow:0 10px 24px rgba(60,35,20,.08); }
.p2gse-card-link { display:block; height:100%; color:inherit !important; text-decoration:none !important; }
.p2gse-image-wrap { aspect-ratio:4/3; overflow:hidden; background:#faf8f4; display:flex; align-items:center; justify-content:center; }
.p2gse-image-wrap img { width:100% !important; height:100% !important; object-fit:cover; margin:0 !important; transition:transform .35s ease; }
.p2gse-department:hover .p2gse-image-wrap img { transform:scale(1.025); }
.p2gse-image-placeholder { color:var(--p2gse-accent); border:1px solid var(--p2gse-border); padding:18px; letter-spacing:.15em; font-weight:700; }
.p2gse-card-copy { padding:22px 24px 24px; }
.p2gse-card-copy h3 { margin:0; color:var(--p2gse-text); font-size:23px; line-height:1.25; font-weight:600; }
.p2gse-card-copy p { margin:8px 0 18px; font-size:14px; color:#77706b; letter-spacing:.05em; }
.p2gse-browse { display:flex; align-items:center; justify-content:space-between; padding-top:14px; border-top:1px solid var(--p2gse-border); color:var(--p2gse-accent); text-transform:uppercase; letter-spacing:.11em; font-size:12px; font-weight:700; }
.p2gse-browse span { font-size:24px; line-height:.7; transition:transform .2s ease; }
.p2gse-department:hover .p2gse-browse span { transform:translateX(4px); }
.p2gse-message { padding:18px; background:var(--p2gse-cream); border:1px solid var(--p2gse-border); }

@media (max-width:1100px) {
  .p2gse-market { width:min(100% - 40px, 1180px); }
  .p2gse-departments { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:700px) {
  .p2gse-market { width:calc(100% - 28px); margin:24px auto 44px; }
  .p2gse-welcome { padding:28px 20px 26px; margin-bottom:34px; }
  .p2gse-intro { font-size:16px; }
  .p2gse-notice { text-align:left; font-size:14px; }
  .p2gse-departments { grid-template-columns:1fr; gap:16px; }
  .p2gse-card-link { display:grid; grid-template-columns:42% 58%; }
  .p2gse-image-wrap { aspect-ratio:1/1; }
  .p2gse-card-copy { padding:18px; display:flex; flex-direction:column; justify-content:center; }
  .p2gse-card-copy h3 { font-size:20px; }
  .p2gse-browse { margin-top:auto; }
}
@media (max-width:430px) {
  .p2gse-card-link { grid-template-columns:38% 62%; }
  .p2gse-card-copy { padding:14px; }
  .p2gse-card-copy p { margin:6px 0 12px; }
  .p2gse-browse { font-size:10px; letter-spacing:.07em; }
}


.p2gse-all-products { margin:34px auto 0; text-align:center; }
.p2gse-all-products a {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  min-width:280px;
  padding:17px 24px;
  border-top:1px solid var(--p2gse-border);
  border-bottom:1px solid var(--p2gse-border);
  color:var(--p2gse-accent) !important;
  text-decoration:none !important;
  text-transform:uppercase;
  letter-spacing:.12em;
  font-size:13px;
  font-weight:700;
  transition:background .2s ease,color .2s ease,border-color .2s ease;
}
.p2gse-all-products a small {
  color:var(--p2gse-text);
  font-size:12px;
  font-weight:500;
  letter-spacing:.05em;
  text-transform:none;
}
.p2gse-all-products a b {
  font-size:19px;
  line-height:1;
  transition:transform .2s ease;
}
.p2gse-all-products a:hover {
  background:var(--p2gse-cream);
  border-color:var(--p2gse-accent);
}
.p2gse-all-products a:hover b { transform:translateX(4px); }

@media (max-width:700px) {
  .p2gse-all-products a {
    width:100%;
    min-width:0;
    flex-wrap:wrap;
  }
}

/* Full catalog mode: restore WooCommerce's native archive when View All Products is selected. */
.p2gse-catalog-view .p2gse-market { display:none !important; }
.p2gse-catalog-view .woocommerce-result-count,
.p2gse-catalog-view .woocommerce-ordering,
.p2gse-catalog-view ul.products,
.p2gse-catalog-view .products,
.p2gse-catalog-view .woocommerce-pagination,
.p2gse-catalog-view .woocommerce-info { display:revert !important; }

/* Catalog utility view: insist on a product catalog rather than the theme's category directory. */
.p2gse-catalog-view .woocommerce-products-header__title { display:none !important; }
.p2gse-catalog-view .product-category { display:none !important; }
.p2gse-catalog-view ul.products li.product:not(.product-category) { display:block; }
