/* EduPassion Shop 0.1.3 — classic WooCommerce archives, responsive. */
/* WooCommerce archive pages have `woocommerce` on BODY, not necessarily on an inner wrapper.
   All styles are scoped to body.eps-shop-page, not to an assumed child .woocommerce. */
body.eps-shop-page{--eps-teal:#266570;--eps-ink:#22333a;--eps-muted:#687e81;--eps-line:#dce7e4;--eps-bg:#fcfaf7;background:var(--eps-bg);color:var(--eps-ink)}
body.eps-shop-page .site-content .ast-container{max-width:1244px!important;display:block!important;margin:0 auto!important;padding:0 24px!important}
body.eps-shop-page .site-content #primary{width:100%!important;float:none!important;margin:0!important;padding:0!important;border:0!important;max-width:none!important}
body.eps-shop-page .site-content #secondary{display:none!important}
body.eps-shop-page .site-content .woocommerce{font-family:Nunito,Arial,sans-serif}
body.eps-shop-page .woocommerce-products-header__title.page-title{display:none!important}
body.eps-shop-page .woocommerce-products-header .term-description{font-size:14px;line-height:1.7;color:var(--eps-muted);margin:0 0 20px}
body.eps-shop-page .woocommerce-breadcrumb{color:#7b9091;font-size:12px;padding:21px 0 0;margin-bottom:12px}
body.eps-shop-page .woocommerce-breadcrumb a{color:var(--eps-teal)}
body.eps-shop-page .eps-archive-intro{margin:12px 0 25px}
body.eps-shop-page .eps-eyebrow{display:block;color:var(--eps-teal);font-size:11px;font-weight:900;letter-spacing:1.3px;text-transform:uppercase;line-height:1.5}
body.eps-shop-page .eps-archive-intro h1{color:var(--eps-ink);font-family:Nunito,Arial,sans-serif;font-size:clamp(29px,3.3vw,43px)!important;line-height:1.15;font-weight:900!important;letter-spacing:-1.2px;margin:8px 0!important}
body.eps-shop-page .eps-archive-intro p{color:var(--eps-muted);font-size:15px;max-width:720px;line-height:1.6;margin:0}
/* Discover categories: exact V3 labels and order. */
body.eps-shop-page .eps-category-discovery{background:linear-gradient(118deg,#f1f8f6,#fff 76%);border:1px solid #d9e9e4;border-radius:23px;padding:28px 26px;margin:16px 0 28px;box-shadow:0 8px 26px rgba(38,101,112,.04)}
body.eps-shop-page .eps-category-head h2{font:900 clamp(23px,2.5vw,29px)/1.2 Nunito,Arial,sans-serif;color:var(--eps-ink);letter-spacing:-.6px;margin:6px 0 7px}
body.eps-shop-page .eps-category-head p{font-size:14px;line-height:1.55;color:var(--eps-muted);margin:0 0 20px}
body.eps-shop-page .eps-tiles{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:11px}
body.eps-shop-page .eps-tile{min-width:0;display:flex;align-items:center;gap:10px;min-height:85px;padding:12px 10px;border:1px solid #dce6e4;background:#fff;border-radius:16px;text-decoration:none;color:var(--eps-ink);box-shadow:0 3px 10px rgba(38,101,112,.02);transition:border-color .15s,transform .15s,box-shadow .15s}
body.eps-shop-page .eps-tile:hover,body.eps-shop-page .eps-tile:focus-visible{border-color:#78aba3;box-shadow:0 9px 22px rgba(38,101,112,.1);transform:translateY(-2px);color:var(--eps-teal)}
body.eps-shop-page .eps-tile-icon{width:42px;height:42px;border-radius:11px;background:#e9f3ef;display:grid;place-items:center;flex:0 0 42px;font-size:24px}
body.eps-shop-page .eps-tile-text{min-width:0}
body.eps-shop-page .eps-tile strong{display:block;font:850 13px/1.35 Nunito,Arial,sans-serif;overflow-wrap:anywhere}
body.eps-shop-page .eps-tile small{display:block;color:var(--eps-muted);font:600 11px/1.35 Nunito,Arial,sans-serif;margin-top:4px}
/* Collection filter bar */
body.eps-shop-page .eps-filter-panel{background:linear-gradient(115deg,#eef6f4,#fff 80%);border:1px solid #d4e6e1;border-radius:22px;padding:25px 27px;margin:15px 0 27px;scroll-margin-top:170px}
body.eps-shop-page .eps-filter-panel h2{font:900 clamp(21px,2.4vw,28px)/1.22 Nunito,Arial,sans-serif;color:var(--eps-ink);margin:6px 0 6px;letter-spacing:-.5px}
body.eps-shop-page .eps-filter-panel p{font-size:14px;color:var(--eps-muted);margin:0 0 17px}
body.eps-shop-page .eps-filter-buttons{display:flex;flex-wrap:wrap;gap:9px}
body.eps-shop-page .eps-filter-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;padding:10px 14px;border:1.5px solid #c9deda;border-radius:12px;background:#fff;text-decoration:none;color:var(--eps-teal);font:800 13px/1.3 Nunito,Arial,sans-serif;transition:.15s;text-align:center}
body.eps-shop-page .eps-filter-button:hover,body.eps-shop-page .eps-filter-button:focus-visible{border-color:var(--eps-teal);background:#f4f9f7;color:var(--eps-teal);box-shadow:0 0 0 3px rgba(38,101,112,.08)}
body.eps-shop-page .eps-filter-button.is-active{color:#fff;background:var(--eps-teal);border-color:var(--eps-teal)}
/* Shop results and sidebar: native WooCommerce loop, sortable and paginated. */
body.eps-shop-page .eps-shop-layout{display:grid;grid-template-columns:252px minmax(0,1fr);gap:22px;align-items:start;margin:12px 0 70px;clear:both}
body.eps-shop-page .eps-shop-sidebar{min-width:0;background:#fff;border:1px solid var(--eps-line);border-radius:19px;overflow:hidden;box-shadow:0 7px 18px rgba(16,49,54,.025)}
body.eps-shop-page .eps-sidebar-heading{display:flex;align-items:center;justify-content:space-between;padding:20px;border-bottom:1px solid #edf2f0;color:var(--eps-ink);font-size:16px}
body.eps-shop-page .eps-sidebar-heading strong{font-weight:900}
body.eps-shop-page .eps-sidebar-close{display:none}
body.eps-shop-page .eps-sidebar-body{padding:18px 19px 19px}
body.eps-shop-page .eps-sidebar-body h3{font:850 13px/1.3 Nunito,Arial,sans-serif;color:#30474a;margin:0 0 12px}
body.eps-shop-page .eps-sidebar-cats{display:flex;flex-direction:column;gap:3px}
body.eps-shop-page .eps-sidebar-cat{font:700 13px/1.35 Nunito,Arial,sans-serif;padding:10px 11px;display:block;color:#516b6d;border-radius:10px;text-decoration:none}
body.eps-shop-page .eps-sidebar-cat:hover{color:var(--eps-teal);background:#f1f7f5}
body.eps-shop-page .eps-sidebar-cat.is-current{color:var(--eps-teal);background:#e9f3f0;font-weight:900}
body.eps-shop-page .eps-extra-category{display:none}
body.eps-shop-page .eps-sidebar-cats.is-expanded .eps-extra-category{display:block}
body.eps-shop-page .eps-sidebar-expand{appearance:none;border:0!important;background:transparent!important;color:var(--eps-teal)!important;font:800 12px/1.4 Nunito,Arial,sans-serif;padding:10px 4px;cursor:pointer;text-align:left}
body.eps-shop-page .eps-sidebar-offer{margin:17px 0 8px;padding:16px 0 6px;border-top:1px solid #e9efed}
body.eps-shop-page .eps-sale-toggle{display:flex;align-items:center;gap:9px;font:700 13px/1.35 Nunito,Arial,sans-serif;color:#516b6d;text-decoration:none}
body.eps-shop-page .eps-sale-toggle .eps-toggle-mark{display:grid;place-items:center;width:18px;height:18px;flex:0 0 18px;border-radius:5px;border:1px solid #cddcd8;color:#fff;font-size:12px}
body.eps-shop-page .eps-sale-toggle.is-active .eps-toggle-mark{background:var(--eps-teal);border-color:var(--eps-teal)}
body.eps-shop-page .eps-clear{display:block;text-align:center;font:800 12px/1.4 Nunito,Arial,sans-serif;color:var(--eps-teal);background:#fff;border:1px solid #d5e1df;border-radius:11px;padding:11px 8px;margin-top:17px;text-decoration:none}
body.eps-shop-page .eps-clear:hover{background:#f1f8f6}
body.eps-shop-page .eps-shop-results{min-width:0;position:relative}
body.eps-shop-page .eps-mobile-filters{display:none}
body.eps-shop-page .woocommerce-result-count{float:none!important;display:inline-flex;align-items:center;min-height:48px;margin:0 0 17px!important;color:#667d80;font-size:13px!important}
body.eps-shop-page .woocommerce-ordering{float:right!important;display:flex;align-items:center;min-height:48px;margin:0 0 17px!important}
body.eps-shop-page .woocommerce-ordering select{border:1px solid #d6e1de;border-radius:10px;background:#fff;min-height:39px;max-width:240px;width:auto;font:700 12px/1.4 Nunito,Arial,sans-serif;color:#365053;padding:8px 30px 8px 11px;box-shadow:none}
body.eps-shop-page .eps-shop-results>ul.products{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:15px!important;clear:both;float:none!important;width:100%!important;margin:0!important;padding:0!important}
body.eps-shop-page .eps-shop-results>ul.products::before,body.eps-shop-page .eps-shop-results>ul.products::after{display:none!important}
body.eps-shop-page .eps-shop-results>ul.products>li.product{display:flex!important;flex-direction:column;min-width:0;float:none!important;width:100%!important;max-width:none!important;clear:none!important;margin:0!important;padding:0 0 15px!important;background:#fff;border:1px solid #e1e8e5;border-radius:18px;overflow:hidden;box-shadow:none;text-align:left;transition:border-color .15s,box-shadow .15s}
body.eps-shop-page .eps-shop-results>ul.products>li.product:hover{border-color:#afcbc4;box-shadow:0 12px 28px rgba(27,65,73,.09)}
body.eps-shop-page .eps-shop-results>ul.products>li.product a.woocommerce-LoopProduct-link{display:flex;flex-direction:column;min-width:0;flex:1;text-decoration:none;color:inherit}
body.eps-shop-page .eps-shop-results>ul.products>li.product a.woocommerce-LoopProduct-link .eps-product-thumb{display:flex;align-items:center;justify-content:center;background:#f4f8f6;aspect-ratio:3/2;min-height:0;width:100%;padding:8px}
body.eps-shop-page .eps-shop-results>ul.products>li.product .eps-product-image,
body.eps-shop-page .eps-shop-results>ul.products>li.product .eps-product-thumb img{display:block!important;object-fit:contain!important;width:100%!important;height:100%!important;max-width:100%!important;max-height:100%!important;aspect-ratio:auto!important;margin:0!important;border:0;box-shadow:none}
body.eps-shop-page .eps-shop-results>ul.products>li.product h2.woocommerce-loop-product__title,
body.eps-shop-page .eps-shop-results>ul.products>li.product h3.woocommerce-loop-product__title{font:800 16px/1.42 Nunito,Arial,sans-serif!important;letter-spacing:0!important;color:var(--eps-ink)!important;padding:13px 14px 0!important;margin:0 0 12px!important;text-transform:none!important}
body.eps-shop-page .eps-shop-results>ul.products>li.product .price{display:block!important;color:var(--eps-ink)!important;font:900 16px/1.35 Nunito,Arial,sans-serif!important;margin:auto 14px 15px!important;padding:0!important}
body.eps-shop-page .eps-shop-results>ul.products>li.product .price del{font-size:12px;color:#a9b2b1;opacity:1}
body.eps-shop-page .eps-shop-results>ul.products>li.product .price ins{text-decoration:none}
body.eps-shop-page .eps-shop-results>ul.products>li.product>a.button{display:flex;align-items:center;justify-content:center;min-height:43px;margin:0 13px!important;padding:11px 8px!important;border:0!important;border-radius:10px!important;background:var(--eps-teal)!important;color:#fff!important;font:850 12px/1.3 Nunito,Arial,sans-serif!important;text-align:center;text-decoration:none}
body.eps-shop-page .eps-shop-results>ul.products>li.product>a.button:hover{background:#1e525b!important}
body.eps-shop-page .eps-shop-results>ul.products>li.product>a.added_to_cart{display:block;padding:6px 13px!important;color:var(--eps-teal)!important;font:800 12px/1.4 Nunito,Arial,sans-serif;text-align:center}
body.eps-shop-page .eps-shop-results>ul.products>li.product .onsale{font:900 11px/1.3 Nunito,Arial,sans-serif!important;background:var(--eps-teal)!important;color:#fff!important;min-width:0;min-height:0;padding:6px 9px;border-radius:10px;top:9px!important;left:9px!important;right:auto!important;z-index:3}
body.eps-shop-page .eps-shop-results nav.woocommerce-pagination{padding:27px 0;clear:both}
body.eps-shop-page .eps-shop-results nav.woocommerce-pagination ul{border:0;display:flex;gap:6px;justify-content:center}
body.eps-shop-page .eps-shop-results nav.woocommerce-pagination ul li{border:0}
body.eps-shop-page .eps-shop-results nav.woocommerce-pagination ul li a,
body.eps-shop-page .eps-shop-results nav.woocommerce-pagination ul li span{border:1px solid var(--eps-line);background:white;border-radius:10px;color:var(--eps-teal);font-weight:800;min-width:38px;min-height:38px;display:grid;place-items:center}
body.eps-shop-page .eps-shop-results nav.woocommerce-pagination ul li span.current{color:#fff;background:var(--eps-teal);border-color:var(--eps-teal)}
body.eps-shop-page .woocommerce-info{border-top-color:var(--eps-teal)}
/* Shared header from Homepage — no duplicate Astra masthead on shop archives. */
body.eps-shop-page.eph-homepage-page #masthead{display:none!important}
body.eps-shop-page .eps-header-wrap{position:sticky;top:0;z-index:900;width:100%;background:#fff}
body.eps-shop-page .eps-header-wrap>.eph-custom-header{position:relative!important;top:auto!important}
@media(min-width:783px){body.admin-bar.eps-shop-page .eps-header-wrap{top:32px}}
@media(max-width:782px){body.admin-bar.eps-shop-page .eps-header-wrap{top:46px}}
@media(max-width:1100px){body.eps-shop-page .eps-tiles{grid-template-columns:repeat(3,minmax(0,1fr))}body.eps-shop-page .eps-shop-layout{grid-template-columns:215px minmax(0,1fr)}body.eps-shop-page .eps-shop-results>ul.products{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:767px){
 body.eps-shop-page .site-content .ast-container{padding:0 16px!important}
 body.eps-shop-page .eps-archive-intro{margin-top:6px}
 body.eps-shop-page .eps-archive-intro h1{font-size:30px!important}
 body.eps-shop-page .eps-category-discovery{padding:20px 16px;border-radius:18px}
 body.eps-shop-page .eps-tiles{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
 body.eps-shop-page .eps-tile{min-height:74px;gap:8px;padding:10px 8px}
 body.eps-shop-page .eps-tile-icon{width:37px;height:37px;flex-basis:37px;font-size:22px}
 body.eps-shop-page .eps-tile strong{font-size:12px}
 body.eps-shop-page .eps-tile small{font-size:10px}
 body.eps-shop-page .eps-filter-panel{padding:20px 16px;border-radius:18px}
 body.eps-shop-page .eps-filter-buttons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
 body.eps-shop-page .eps-filter-button{font-size:12px;padding:9px 8px}
 body.eps-shop-page .eps-filter-button:first-child{grid-column:1/-1}
 body.eps-shop-page .eps-shop-layout{display:block;position:relative}
 body.eps-shop-page .eps-mobile-filters{display:inline-flex;align-items:center;padding:10px 12px;min-height:42px;margin:0 0 14px;border:1px solid var(--eps-line);border-radius:11px;background:#fff;color:var(--eps-teal);font:800 13px/1.3 Nunito,Arial,sans-serif}
 body.eps-shop-page .eps-shop-sidebar{display:none;position:fixed;z-index:10020;inset:8px 8px 8px auto;width:min(330px,calc(100vw - 16px));max-height:calc(100dvh - 16px);overflow:auto;box-shadow:0 0 0 150vmax rgba(20,42,47,.38)}
 body.eps-shop-page .eps-shop-sidebar.is-open{display:block}
 body.eps-shop-page .eps-sidebar-close{display:block;color:var(--eps-teal);font-size:24px;background:transparent;border:0;cursor:pointer;line-height:1}
 body.eps-shop-page .woocommerce-result-count,body.eps-shop-page .woocommerce-ordering{min-height:38px;font-size:12px}
 body.eps-shop-page .eps-shop-results>ul.products{gap:10px!important}
 body.eps-shop-page .eps-shop-results>ul.products>li.product h2.woocommerce-loop-product__title{font-size:14px!important;padding:11px 10px 0!important}
 body.eps-shop-page .eps-shop-results>ul.products>li.product .price{font-size:14px!important;margin:8px 10px 12px!important}
 body.eps-shop-page .eps-shop-results>ul.products>li.product>a.button{margin:0 10px!important;font-size:11px!important;min-height:41px}
}
@media(max-width:390px){body.eps-shop-page .eps-shop-results>ul.products{grid-template-columns:repeat(2,minmax(0,1fr))!important}body.eps-shop-page .woocommerce-ordering select{max-width:155px}}
@media(prefers-reduced-motion:reduce){body.eps-shop-page .eps-tile{transition:none}}

/* Parent categories (especially Kolekcje): preserve clear discovery of child topics. */
body.eps-shop-page .eps-subcategory-panel{margin:17px 0 26px;background:#fff;border:1px solid var(--eps-line);border-radius:19px;padding:22px 24px}
body.eps-shop-page .eps-subcategory-panel h2{font:900 24px/1.2 Nunito,Arial,sans-serif;color:var(--eps-ink);letter-spacing:-.5px;margin:7px 0 16px}
body.eps-shop-page .eps-subcategory-links{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}
body.eps-shop-page .eps-subcategory-links a{display:flex;align-items:center;gap:9px;color:var(--eps-ink);text-decoration:none;border:1px solid #e2ece9;background:#f9fcfb;padding:11px;border-radius:11px;font:800 12px/1.3 Nunito,Arial,sans-serif;min-height:49px;overflow-wrap:anywhere}
body.eps-shop-page .eps-subcategory-links a:hover{background:#ecf6f3;color:var(--eps-teal);border-color:#a9cdc4}
@media(max-width:900px){body.eps-shop-page .eps-subcategory-links{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:600px){body.eps-shop-page .eps-subcategory-panel{padding:18px 14px}body.eps-shop-page .eps-subcategory-links{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* 0.1.2 — standard WooCommerce archive template hardening. */
body.eps-shop-page .eps-shop-results > ul.products > li.product .woocommerce-loop-product__title,
body.eps-shop-page .eps-shop-results > ul.products > li.product .woocommerce-loop-product__title a {
  font-family:Nunito,Arial,sans-serif!important;font-size:16px!important;font-weight:800!important;line-height:1.4!important;
  white-space:normal!important;overflow-wrap:anywhere!important;text-align:left!important;
}
body.eps-shop-page .eps-shop-results > ul.products > li.product img {object-fit:contain!important}
body.eps-shop-page .eps-tiles a,
body.eps-shop-page .eps-sidebar a,
body.eps-shop-page .eps-filter-buttons a {text-decoration:none!important}
body.eps-shop-page .eps-archive-intro,
body.eps-shop-page .eps-category-discovery,
body.eps-shop-page .eps-filter-panel,
body.eps-shop-page .eps-shop-layout {width:100%;max-width:100%;min-width:0;box-sizing:border-box}
body.eps-shop-page .eps-tiles > a {box-sizing:border-box}
body.eps-shop-page .eps-tiles > a strong {font-family:Nunito,Arial,sans-serif;font-size:13px;font-weight:850;line-height:1.35}
@media(max-width:767px){body.eps-shop-page .eps-shop-results > ul.products > li.product .woocommerce-loop-product__title,body.eps-shop-page .eps-shop-results > ul.products > li.product .woocommerce-loop-product__title a{font-size:14px!important}}

/* Hide duplicate theme archive titles; EduPassion supplies its own intro H1. */
body.eps-shop-page .woocommerce-products-header > h1.woocommerce-products-header__title,
body.eps-shop-page .ast-archive-description > h1.ast-archive-title,
body.eps-shop-page .site-content header.entry-header > h1.entry-title,
body.eps-shop-page .site-content header.page-header > h1.page-title {display:none!important}

/* 0.1.3 — WooCommerce category media and ordered collection galleries. */
body.eps-shop-page .eps-tile-image,
body.eps-shop-page .eps-tile-icon{width:55px;height:55px;flex:0 0 55px;border-radius:12px;background:#f3f8f7;display:flex;align-items:center;justify-content:center;overflow:hidden}
body.eps-shop-page .eps-tile-image img{width:100%!important;height:100%!important;max-width:100%!important;object-fit:contain!important;display:block!important;padding:3px;margin:0!important}
body.eps-shop-page .eps-subcategory-panel .eps-subcategory-links{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px}
body.eps-shop-page .eps-subcategory-panel .eps-subcategory-links a.eps-child-category-card{display:flex;flex-direction:column;align-items:stretch;gap:0;overflow:hidden;min-width:0;min-height:unset;padding:0;background:#fff;border:1px solid #dce7e4;border-radius:17px;text-decoration:none;box-shadow:0 4px 12px rgba(38,101,112,.04);color:var(--eps-ink)}
body.eps-shop-page .eps-subcategory-panel .eps-subcategory-links a.eps-child-category-card:hover,
body.eps-shop-page .eps-subcategory-panel .eps-subcategory-links a.eps-child-category-card:focus-visible{border-color:#76aaa2;background:#fff;box-shadow:0 12px 26px rgba(38,101,112,.13);transform:translateY(-2px)}
body.eps-shop-page .eps-child-category-image,
body.eps-shop-page .eps-child-category-placeholder{display:flex;align-items:center;justify-content:center;width:100%;aspect-ratio:3 / 2;background:#f2f8f6;overflow:hidden}
body.eps-shop-page .eps-child-category-image img{display:block!important;width:100%!important;height:100%!important;max-width:100%!important;object-fit:contain!important;margin:0!important;padding:7px;border:0!important;box-shadow:none!important}
body.eps-shop-page .eps-child-category-placeholder{font-size:55px}
body.eps-shop-page .eps-child-category-name{display:block;padding:14px 13px 16px;min-height:67px;font:800 14px/1.42 Nunito,Arial,sans-serif;color:var(--eps-ink);text-align:center;overflow-wrap:anywhere}
body.eps-shop-page .eps-collections-gallery{margin:15px 0 65px;padding:26px 26px 30px}
body.eps-shop-page .eps-collections-gallery h2{margin-bottom:20px}
@media(max-width:1100px){body.eps-shop-page .eps-subcategory-panel .eps-subcategory-links{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:767px){body.eps-shop-page .eps-tile-image,body.eps-shop-page .eps-tile-icon{width:40px;height:40px;flex-basis:40px}body.eps-shop-page .eps-subcategory-panel .eps-subcategory-links{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}body.eps-shop-page .eps-child-category-name{font-size:12px;padding:11px 8px 13px;min-height:55px}body.eps-shop-page .eps-collections-gallery{padding:18px 13px 22px}}


/* 0.1.4: common shop sidebar also on the collections-only landing page. */
body.eps-shop-page .eps-categories-only-layout .eps-collections-gallery{margin:0 0 20px}
body.eps-shop-page .eps-categories-only-layout .eps-subcategory-panel .eps-subcategory-links{grid-template-columns:repeat(3,minmax(0,1fr))}
body.eps-shop-page .eps-categories-only-layout .eps-shop-results{min-width:0}
@media(max-width:1100px){body.eps-shop-page .eps-categories-only-layout .eps-subcategory-panel .eps-subcategory-links{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:767px){body.eps-shop-page .eps-categories-only-layout .eps-collections-gallery{margin-bottom:24px}}

/* 0.1.7: two-zone sticky sidebar. Keep the heading visible and scroll the
   filter content INSIDE the panel, not by scrolling the product page. */
@media(min-width:768px){
 body.eps-shop-page .eps-shop-layout>.eps-shop-sidebar{
   position:sticky;top:var(--eps-sidebar-top,112px);align-self:start;
   display:flex;flex-direction:column;min-height:0;
   max-height:calc(100vh - var(--eps-sidebar-top,112px) - 14px);
   max-height:calc(100dvh - var(--eps-sidebar-top,112px) - 14px);
   overflow:hidden;
 }
 body.eps-shop-page .eps-shop-layout>.eps-shop-sidebar>.eps-sidebar-heading{
   flex:0 0 auto;
 }
 body.eps-shop-page .eps-shop-layout>.eps-shop-sidebar>.eps-sidebar-body{
   flex:1 1 auto;min-height:0;overflow-x:hidden;overflow-y:auto;
   overscroll-behavior:contain;scrollbar-gutter:stable;
   scrollbar-width:thin;scrollbar-color:#adc9c2 #f3f8f6;
 }
 body.eps-shop-page .eps-shop-layout>.eps-shop-sidebar>.eps-sidebar-body::-webkit-scrollbar{width:9px}
 body.eps-shop-page .eps-shop-layout>.eps-shop-sidebar>.eps-sidebar-body::-webkit-scrollbar-thumb{background:#adc9c2;border-radius:9px;border:2px solid #fff}
 body.eps-shop-page .eps-shop-layout>.eps-shop-sidebar>.eps-sidebar-body::-webkit-scrollbar-track{background:#f3f8f6}
}
body.eps-shop-page .eps-sidebar-types{margin-top:10px;padding-top:15px;border-top:1px solid #e9efed}
body.eps-shop-page .eps-sidebar-types h3{margin-bottom:12px}
body.eps-shop-page .eps-sidebar-type-options{display:flex;flex-direction:column;gap:3px}
body.eps-shop-page .eps-type-toggle{display:flex;align-items:center;gap:9px;padding:9px 1px;font:700 13px/1.4 Nunito,Arial,sans-serif;color:#516b6d;text-decoration:none}
body.eps-shop-page .eps-type-toggle:hover,body.eps-shop-page .eps-sale-toggle:hover{color:var(--eps-teal)}
body.eps-shop-page .eps-type-toggle .eps-toggle-mark{display:grid;place-items:center;width:18px;height:18px;flex:0 0 18px;border-radius:5px;border:1px solid #cddcd8;color:#fff;font-size:12px}
body.eps-shop-page .eps-type-toggle.is-active .eps-toggle-mark{background:var(--eps-teal);border-color:var(--eps-teal)}
body.eps-shop-page .eps-type-toggle.is-active{color:var(--eps-teal);font-weight:900}
body.eps-shop-page .eps-collections-heading-link:hover{text-decoration:underline}

/* 0.1.8: Astra category name (e.g. "Biologia") under product title.
   Hidden in catalog cards only; this also removes its vertical space. */
body.eps-shop-page .eps-shop-results ul.products li.product .ast-woo-product-category {
  display:none!important;
  margin:0!important;
  padding:0!important;
}

/* 0.1.9 – full-bleed add-to-cart footer aligned to the bottom of every product card.
   Scoped to catalog/archive cards; does not change the single product page.
   Account for either a direct WooCommerce button or Astra's summary wrapper. */
body.eps-shop-page .eps-shop-results > ul.products > li.product {
    padding-bottom: 0 !important;
}
/* Some Astra setups place title/price/button inside this summary container. */
body.eps-shop-page .eps-shop-results > ul.products > li.product > .astra-shop-summary-wrap {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    width: 100%;
    min-width: 0;
}
body.eps-shop-page .eps-shop-results > ul.products > li.product > a.button,
body.eps-shop-page .eps-shop-results > ul.products > li.product > .astra-shop-summary-wrap > a.button,
body.eps-shop-page .eps-shop-results > ul.products > li.product > .astra-shop-summary-wrap > .button {
    box-sizing: border-box !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    align-self: stretch !important;
    flex: 0 0 auto !important;
    width: 100% !important;
    max-width: none !important;
    min-height: 46px;
    margin: auto 0 0 !important;
    padding: 12px 10px !important;
    border-radius: 0 !important;
    text-align: center !important;
    line-height: 1.35 !important;
}
/* Keep compact, comfortably tappable full-width buttons on mobile too. */
@media (max-width: 767px) {
    body.eps-shop-page .eps-shop-results > ul.products > li.product > a.button,
    body.eps-shop-page .eps-shop-results > ul.products > li.product > .astra-shop-summary-wrap > a.button,
    body.eps-shop-page .eps-shop-results > ul.products > li.product > .astra-shop-summary-wrap > .button {
        min-height: 44px;
        padding: 11px 8px !important;
        margin: auto 0 0 !important;
    }
}

/* 0.1.10: Hide the redundant product-search widget/block appearing above
   the shop catalog. This scope does NOT include the custom Live Search
   in EduPassion's header, which is rendered outside .site-content. */
body.eps-shop-page .site-content .widget_product_search,
body.eps-shop-page .site-content .wp-block-woocommerce-product-search,
body.eps-shop-page .site-content .wc-block-product-search,
body.eps-shop-page .site-content .wp-block-search,
body.eps-shop-page .site-content form.woocommerce-product-search,
body.eps-shop-page .site-content form[role="search"] {
    display: none !important;
}


/* 0.1.11 — persistent mobile category/filter drawer trigger.
   The shared EduPassion Homepage header is sticky above this bar. JS sets
   --eps-sidebar-top based on the measured header (and WP admin bar), so the
   trigger never covers the header or gets hidden underneath it. */
@media (max-width: 767px) {
  body.eps-shop-page .eps-shop-results > .eps-mobile-filters {
    display: flex !important;
    position: sticky !important;
    top: var(--eps-sidebar-top, 0px) !important;
    z-index: 850;
    box-sizing: border-box;
    width: 100%;
    min-height: 48px;
    justify-content: center;
    gap: 8px;
    margin: 0 0 14px !important;
    padding: 12px 16px;
    background: #fff;
    border: 1px solid #d4e5e0;
    border-radius: 12px;
    color: var(--eps-teal);
    box-shadow: 0 5px 17px rgba(25,65,69,.13);
    cursor: pointer;
    touch-action: manipulation;
    -webkit-tap-highlight-color: transparent;
  }
  body.eps-shop-page .eps-shop-results > .eps-mobile-filters:focus-visible {
    outline: 3px solid #91c2b8;
    outline-offset: 2px;
  }
  /* Drawer remains above the sticky trigger when opened. */
  body.eps-shop-page .eps-shop-layout > .eps-shop-sidebar.is-open {
    z-index: 10020;
  }
}

/* 0.1.13 — product-search results use EduPassion’s own single H1.
   Astra’s search-header container (not just its text) left a blank area. */
body.search.eps-shop-page .site-content .ast-archive-description {
    display: none !important;
}
body.search.eps-shop-page .site-content .eps-search-intro {
    margin-top: 20px;
    margin-bottom: 22px;
}
body.search.eps-shop-page .site-content .eps-search-intro h1 {
    margin: 0 !important;
}


/* 0.1.14 — square category/collection photos: compact square cards.
   The old three-column collection layout gave each photo a 3:2 slot;
   a square image then had wide empty strips on its left and right.
   A ~150px square card preserves the photo's previous displayed height
   on the three-column collections landing page (3:2 x ~225px ≈ 150px),
   but leaves the same 7px inset on every side of the image. */
body.eps-shop-page .eps-subcategory-panel .eps-subcategory-links,
body.eps-shop-page .eps-categories-only-layout .eps-subcategory-panel .eps-subcategory-links {
  grid-template-columns: repeat(auto-fit, 150px);
  gap: 15px;
  justify-content: center;
}
body.eps-shop-page .eps-subcategory-panel .eps-subcategory-links a.eps-child-category-card {
  width: 100%;
}
body.eps-shop-page .eps-subcategory-panel .eps-child-category-image,
body.eps-shop-page .eps-subcategory-panel .eps-child-category-placeholder {
  aspect-ratio: 1 / 1;
  box-sizing: border-box;
}
body.eps-shop-page .eps-subcategory-panel .eps-child-category-image {
  padding: 7px;
}
body.eps-shop-page .eps-subcategory-panel .eps-child-category-image img {
  box-sizing: border-box !important;
  padding: 0 !important;
  object-fit: contain !important;
}
body.eps-shop-page .eps-subcategory-panel .eps-child-category-name {
  font-size: 14px;
  line-height: 1.35;
  padding: 11px 7px 13px;
  min-height: 78px;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media (max-width: 767px) {
  body.eps-shop-page .eps-subcategory-panel .eps-subcategory-links,
  body.eps-shop-page .eps-categories-only-layout .eps-subcategory-panel .eps-subcategory-links {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
  }
  body.eps-shop-page .eps-subcategory-panel .eps-child-category-name {
    font-size: 13px;
    min-height: 70px;
    padding: 10px 7px 12px;
  }
}

/* 0.1.15 — center the fixed-width square collections/categories grid
   (equal free space at both sides) and improve name readability.
   No change to source images or product cards. */

/* 0.1.16 — center only the Collections landing gallery.
   Ordinary subcategories use the same compact 150px square cards,
   but start at the left edge of their container instead of being centered.
   Collections retain the centered layout from 0.1.15. */
body.eps-shop-page .eps-subcategory-panel:not(.eps-collections-gallery) .eps-subcategory-links {
  justify-content: start;
}
