/* Precision catalog: one quiet surface, aligned specifications, native Woo filters. */
.egb-shop { padding-block:28px 64px; }
.egb-shop > :is(.woocommerce-breadcrumb,.wp-block-woocommerce-breadcrumbs,.wp-block-query-title,.wp-block-term-description,.wp-block-woocommerce-product-collection) { width:100%; max-width:1424px!important; margin-inline:auto; box-sizing:border-box; }
.egb-shop .woocommerce-breadcrumb { max-width:none; font-size:14px; color:var(--wp--preset--color--graphite); margin-block:0 20px; }
.egb-shop > h1 { font-size:34px; line-height:1.2; letter-spacing:-.035em; margin-block:0 28px; }
.egb-shop .egb-catalog-layout { display:grid!important; grid-template-columns:240px minmax(0,1fr); gap:32px; align-items:start; margin-top:0; }
.egb-shop .egb-catalog-layout > .wp-block-column { min-width:0; }
.egb-shop .egb-catalog-filters { padding-right:20px; border-right:1px solid var(--wp--preset--color--line); }
.egb-shop .egb-catalog-filters h3 { font:700 16px/1.4 var(--wp--preset--font-family--body); margin:0 0 12px; }
.egb-shop .wc-block-product-filters__overlay-content > div:not([hidden]) { padding-block:20px; border-bottom:1px solid var(--wp--preset--color--line); margin:0; }
.egb-shop .wc-block-product-filters__overlay-content > div:first-child { padding-top:0; }
.egb-shop .wc-block-product-filter-checkbox-list__label { min-height:40px; align-items:center; font-size:15px; line-height:1.4; }
.egb-shop .wc-block-product-filter-checkbox-list input { width:18px; height:18px; flex-shrink:0; }
.egb-shop .egb-catalog-toolbar { min-height:48px; margin:0 0 20px; gap:12px; align-items:center; }
.egb-shop .egb-catalog-toolbar > * { margin:0; }
.egb-shop .woocommerce-ordering { max-width:100%; }
.egb-shop .woocommerce-ordering select { width:360px; max-width:100%; border:1px solid var(--wp--preset--color--line); border-radius:6px; padding:10px 32px 10px 12px; background:#fff; color:var(--wp--preset--color--carbon); font-size:15px; }
.egb-shop .wc-block-product-template { display:grid!important; grid-template-columns:repeat(3,minmax(0,1fr))!important; gap:24px!important; padding:0; margin:0; }
.egb-shop .wc-block-product-template > li { box-sizing:border-box; display:flex; flex-direction:column; width:auto!important; min-width:0; gap:12px; padding:16px; border:1px solid var(--wp--preset--color--line); border-radius:6px; background:#fff; overflow:visible; }
.egb-shop .wc-block-product-template > li:hover { border-color:#b5c6df; }
.egb-shop .wc-block-product-template > li > :is(.egb-card-media,.wp-block-woocommerce-product-image) { margin:-16px -16px 4px; width:calc(100% + 32px); }
.egb-shop .wc-block-product-template .wp-block-woocommerce-product-image img { width:100%; height:auto; aspect-ratio:1; object-fit:contain; }
.egb-demo-media { margin:0; background:#fff; }
.egb-demo-media img { display:block; width:100%; height:auto; aspect-ratio:1; object-fit:contain; }
.egb-shop .egb-demo-media img { height:clamp(190px,21vw,300px); aspect-ratio:auto; }
.egb-demo-media figcaption { padding:0 12px 12px; color:var(--wp--preset--color--graphite); font-size:12px; text-align:center; }
.egb-photo-pending { display:grid; place-items:center; aspect-ratio:1; margin:0; padding:24px; box-sizing:border-box; background:var(--wp--preset--color--mist); }
.egb-photo-pending figcaption { font-size:16px; font-weight:600; text-align:center; }
.egb-photo-pending span { display:block; margin-top:8px; font-size:13px; font-weight:400; color:var(--wp--preset--color--graphite); }
.egb-shop .wc-block-product-template h2 { font:600 19px/1.4 var(--wp--preset--font-family--display); letter-spacing:-.025em; overflow-wrap:anywhere; }
.egb-shop .egb-demo-label { font-size:12px; color:var(--wp--preset--color--graphite); }
.egb-shop .egb-product-facts { display:grid; grid-template-columns:1fr; gap:0; border:1px solid var(--wp--preset--color--line); border-radius:4px; }
.egb-shop .egb-product-facts > div { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,.8fr); gap:8px; padding:9px 10px; border:0; border-bottom:1px solid var(--wp--preset--color--line); align-items:center; }
.egb-shop .egb-product-facts > div:nth-child(2) { border-bottom:0; }
.egb-shop .egb-product-facts > div:nth-child(n+3) { display:none; }
.egb-shop .egb-product-facts dt { font-size:13px; line-height:1.35; }
.egb-shop .egb-product-facts dd { font:600 14px/1.35 var(--wp--preset--font-family--body); text-align:right; margin:0; }
.egb-shop .wc-block-product-template .wp-block-woocommerce-product-price { margin-top:auto; padding-top:12px; font:700 25px/1.25 var(--wp--preset--font-family--display); letter-spacing:-.03em; }
.egb-shop .egb-card-availability { font-size:14px; }
.egb-shop .wc-block-product-template .wp-block-button__link { display:flex; justify-content:center; align-items:center; min-height:46px; padding:10px 12px; font-size:15px; border-radius:5px; }
.egb-shop .egb-compare-select { width:100%; min-height:44px; text-align:left; font:400 14px/1.4 var(--wp--preset--font-family--body); border:0; padding:8px 0; border-radius:0; background:transparent; }
.egb-shop .egb-compare-select[aria-pressed="true"] { font-weight:600; text-decoration:underline; text-underline-offset:4px; }
.egb-shop .wp-block-query-pagination { gap:12px; margin-block:32px; }
.egb-shop .wp-block-query-pagination a,.egb-shop .wp-block-query-pagination .current { display:inline-flex; align-items:center; justify-content:center; min-height:44px; min-width:44px; }
.egb-shop .wp-block-woocommerce-product-filter-active .wp-block-woocommerce-product-filter-clear-button button { min-height:44px; padding:10px 12px; border:1px solid var(--wp--preset--color--line); border-radius:5px; color:var(--wp--preset--color--signal); background:#fff; font:600 14px/1.4 var(--wp--preset--font-family--body); }
.egb-product .egb-demo-media { max-width:640px; margin-inline:auto; }
@media (max-width:1199px) and (min-width:768px) {
  .egb-shop .egb-catalog-layout { grid-template-columns:210px minmax(0,1fr); gap:24px; }
  .egb-shop .wc-block-product-template { grid-template-columns:repeat(2,minmax(0,1fr))!important; gap:16px!important; }
}
@media (max-width:767px) {
  .egb-shop { padding-top:20px; }
  .egb-shop > h1 { font-size:28px; margin-bottom:20px; }
  .egb-shop .egb-catalog-layout { grid-template-columns:minmax(0,1fr); gap:16px; }
  .egb-shop .egb-catalog-filters { padding:0; border:0; }
  .egb-shop .wc-block-product-filters__open-overlay { width:100%; min-height:48px; justify-content:center; gap:8px; border:1px solid var(--wp--preset--color--line); border-radius:6px; background:#fff; font:600 16px/1.4 var(--wp--preset--font-family--body); }
  .egb-shop .wc-block-product-filters__overlay { z-index:100000; }
  .egb-shop .wc-block-product-filters__overlay-dialog { max-width:100%; box-sizing:border-box; }
  .egb-shop .wc-block-product-filters__close-overlay { min-height:44px; }
  .egb-shop .wc-block-product-template { grid-template-columns:repeat(2,minmax(0,1fr))!important; gap:12px!important; }
  .egb-shop .wc-block-product-template > li { padding:12px; gap:10px; }
  .egb-shop .wc-block-product-template > li > :is(.egb-card-media,.wp-block-woocommerce-product-image) { margin:-12px -12px 2px; width:calc(100% + 24px); }
  .egb-shop .wc-block-product-template h2 { font-size:16px; }
  .egb-shop .egb-product-facts > div { grid-template-columns:1fr; gap:3px; padding:8px; }
  .egb-shop .egb-product-facts dd { text-align:left; }
  .egb-shop .wc-block-product-template .wp-block-woocommerce-product-price { font-size:22px; }
  .egb-shop .egb-catalog-toolbar { font-size:14px; }
  .egb-shop .woocommerce-ordering { flex:1 1 220px; }
  .egb-shop .woocommerce-ordering select { width:100%; max-width:100%; }
  .egb-demo-media figcaption { font-size:11px; padding:0 6px 8px; }
  .egb-shop .egb-demo-media img { height:auto; aspect-ratio:1; }
}
@media (max-width:359px) {
  .egb-shop .wc-block-product-template { grid-template-columns:minmax(0,1fr)!important; }
}
