/* Product category presentation: keeps WooCommerce behaviour, refines only the visual shell. */
body.tax-product_cat{--ahp-cat-ink:#102044;--ahp-cat-blue:#1768f2;--ahp-cat-line:#dce7f3;--ahp-cat-bg:#f5f9fd;background:var(--ahp-cat-bg)}
body.tax-product_cat .site-main,body.tax-product_cat .content-area{background:transparent}
body.tax-product_cat .woocommerce-products-header{display:none!important}
body.tax-product_cat .hero-section{position:relative;max-width:1130px;min-height:240px;margin:34px auto 54px;border-radius:18px;overflow:hidden;background:linear-gradient(110deg,#eaf6ff,#dcefff)}
body.tax-product_cat .hero-section>figure{position:absolute!important;top:50%!important;right:4%!important;bottom:auto!important;left:auto!important;z-index:0;display:block!important;width:29%!important;height:58%!important;margin:0!important;border-radius:12px;overflow:hidden;background-color:rgba(255,255,255,.62);background-position:right center!important;background-repeat:no-repeat!important;background-size:cover!important;transform:translateY(-50%)}
body.tax-product_cat .hero-section>figure img,body.tax-product_cat .hero-section>figure picture,body.tax-product_cat .hero-section>figure .ct-media-container{display:block;width:100%!important;height:100%!important;margin:0!important;object-fit:cover;object-position:right center}
body.tax-product_cat .hero-section:after{display:none!important;content:none}
body.tax-product_cat .hero-section .entry-header{position:relative;z-index:1;box-sizing:border-box;width:62%;max-width:none;margin:0;padding:42px 0 42px 46px;text-align:left}
body.tax-product_cat .hero-section .page-title{margin:0 0 14px;color:var(--ahp-cat-ink);font-size:42px;line-height:1.12;font-weight:800}
body.tax-product_cat .hero-section .page-title:before{display:block;margin-bottom:14px;color:var(--ahp-cat-blue);font-size:12px;line-height:1;text-transform:uppercase;letter-spacing:.12em;content:"Catégorie produits"}
body.tax-product_cat .hero-section .page-description{display:-webkit-box;max-width:650px;overflow:hidden;color:#536d8e;font-size:18px;line-height:1.5;-webkit-box-orient:vertical;-webkit-line-clamp:3}
body.tax-product_cat .hero-section .page-description p{margin:0}
body.tax-product_cat .woocommerce .woocommerce-result-count,body.tax-product_cat .woocommerce .woocommerce-ordering,body.tax-product_cat .woocommerce-result-count,body.tax-product_cat .woocommerce-ordering{margin:0 0 22px}
body.tax-product_cat .woocommerce .woocommerce-result-count,body.tax-product_cat .woocommerce-result-count{color:var(--ahp-cat-ink);font-size:18px;font-weight:800;text-transform:none;letter-spacing:0}
body.tax-product_cat .woocommerce .woocommerce-ordering,body.tax-product_cat .woocommerce-ordering{float:none!important;margin-left:auto!important;display:flex;align-items:center;justify-content:flex-end;flex-wrap:nowrap;gap:10px;min-width:270px}
body.tax-product_cat .woocommerce .woocommerce-ordering:before,body.tax-product_cat .woocommerce-ordering:before{color:#536d8e;font-size:14px;white-space:nowrap;content:"Trier par :"}
body.tax-product_cat .woocommerce .woocommerce-ordering select,body.tax-product_cat .woocommerce-ordering select{height:42px;min-width:210px;padding:0 14px;border:1px solid var(--ahp-cat-line);border-radius:9px;background:#fff;color:#506486}
body.tax-product_cat ul.products{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px;margin:0 auto 64px;padding:0;max-width:1280px;width:calc(100% - 48px)}
body.tax-product_cat ul.products:before,body.tax-product_cat ul.products:after{display:none!important}
body.tax-product_cat ul.products li.product{position:relative;display:flex;flex-direction:column;min-width:0;width:auto!important;margin:0!important;padding:0 0 16px;border:1px solid var(--ahp-cat-line);border-radius:14px;overflow:hidden;background:#fff;box-shadow:0 8px 20px rgba(15,48,85,.05)}
body.tax-product_cat ul.products li.product a.woocommerce-LoopProduct-link{display:flex;flex-direction:column;flex:1;min-width:0;padding:0 16px;text-decoration:none}
body.tax-product_cat ul.products li.product a.woocommerce-LoopProduct-link img{order:0;box-sizing:border-box;width:calc(100% + 32px);height:190px;max-width:none;margin:0 -16px 14px;padding:8px;object-fit:contain;object-position:center;background:#f8fbff;border-bottom:1px solid var(--ahp-cat-line)}
body.tax-product_cat ul.products li.product .ahp-category-product-badge{display:none!important}
body.tax-product_cat ul.products li.product .woocommerce-loop-product__title{order:2;box-sizing:border-box;height:104px;min-height:104px;margin:0 0 8px;padding:0!important;overflow:hidden;color:var(--ahp-cat-ink);font-size:17px;line-height:1.35;font-weight:700}
body.tax-product_cat ul.products li.product .ahp-runtime-badge{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;width:max-content;min-height:22px;margin:0 0 10px 16px;padding:4px 10px;border:1px solid #cfe1ff;border-radius:999px;background:#eaf3ff;color:var(--ahp-cat-blue);font-size:12px;font-weight:800;line-height:1;white-space:nowrap}
body.tax-product_cat ul.products li.product .product-category,body.tax-product_cat ul.products li.product .product-categories,body.tax-product_cat ul.products li.product .category{display:none!important}
body.tax-product_cat ul.products li.product .price{order:3;margin:0 16px 12px;color:#ff6b00!important;font-size:18px;font-weight:800}
body.tax-product_cat ul.products li.product .price .woocommerce-Price-amount,body.tax-product_cat ul.products li.product .price bdi,body.tax-product_cat ul.products li.product .price .woocommerce-Price-currencySymbol{color:#ff6b00!important}
body.tax-product_cat ul.products li.product .ahp-runtime-category{display:block;order:4;margin:0 16px 12px;color:#6c7f9c;font-size:11px;font-weight:700;line-height:1.2;text-transform:uppercase;letter-spacing:.04em}
body.tax-product_cat ul.products li.product .star-rating{order:4;margin:0 0 8px;color:#f47b20}
body.tax-product_cat ul.products li.product .button{display:block!important;order:5!important;width:calc(100% - 32px);margin:auto 16px 0;padding:13px 10px;border:0;border-radius:8px;background:var(--ahp-cat-blue);color:#fff;text-align:center;font-size:14px;font-weight:800;line-height:1.2}
body.tax-product_cat ul.products li.product>.entry-meta,body.tax-product_cat ul.products li.product>.ct-woo-card-actions{display:none!important}
body.tax-product_cat ul.products li.product .button:hover{background:#0d55d7}
body.tax-product_cat ul.products li.product .onsale{top:12px;left:12px;right:auto;background:var(--ahp-cat-blue);border-radius:18px;padding:5px 9px;font-size:12px}
body.tax-product_cat .woocommerce .woocommerce-pagination{margin:0 auto 48px;text-align:center}
body.tax-product_cat .woocommerce .woocommerce-pagination ul{border:0}
body.tax-product_cat .woocommerce .woocommerce-pagination a,body.tax-product_cat .woocommerce .woocommerce-pagination span{display:inline-grid;place-items:center;min-width:38px;height:38px;margin:0 3px;border:1px solid var(--ahp-cat-line);border-radius:8px;background:#fff;color:var(--ahp-cat-ink)}
body.tax-product_cat .woocommerce .woocommerce-pagination span.current{border-color:var(--ahp-cat-blue);background:var(--ahp-cat-blue);color:#fff}
@media(max-width:1024px){body.tax-product_cat .hero-section{margin-left:24px;margin-right:24px}body.tax-product_cat ul.products{grid-template-columns:repeat(2,minmax(0,1fr));width:calc(100% - 48px);gap:18px}}
@media(max-width:767px){body.tax-product_cat .hero-section{min-height:250px;margin:18px 12px 32px;border-radius:14px}body.tax-product_cat .hero-section>figure{top:auto!important;right:18px!important;bottom:18px!important;left:auto!important;width:42%!important;height:34%!important;transform:none}body.tax-product_cat .hero-section .entry-header{width:100%;padding:28px 20px;text-align:left}body.tax-product_cat .hero-section .page-title{font-size:29px}body.tax-product_cat .hero-section .page-description.ct-hidden-sm{display:-webkit-box!important;max-width:290px;font-size:14px;line-height:1.45;-webkit-line-clamp:4}body.tax-product_cat .woocommerce .woocommerce-result-count,body.tax-product_cat .woocommerce-result-count{margin:0 12px 12px;font-size:16px}body.tax-product_cat .woocommerce .woocommerce-ordering,body.tax-product_cat .woocommerce-ordering{float:none!important;margin:0 12px 18px!important;display:block;min-width:0}body.tax-product_cat .woocommerce .woocommerce-ordering:before,body.tax-product_cat .woocommerce-ordering:before{display:inline-block;margin:0 0 8px;font-size:13px}body.tax-product_cat .woocommerce .woocommerce-ordering select,body.tax-product_cat .woocommerce-ordering select{width:100%;height:42px}body.tax-product_cat ul.products{display:block!important;width:auto;margin:0 12px 36px}body.tax-product_cat ul.products li.product{display:grid;grid-template-columns:42% 58%;min-height:188px;margin:0 0 12px!important;padding:0;border-radius:10px}body.tax-product_cat ul.products li.product a.woocommerce-LoopProduct-link{display:block;padding:0 12px 10px}body.tax-product_cat ul.products li.product a.woocommerce-LoopProduct-link img{float:left;box-sizing:border-box;width:calc(100% + 12px);height:100%;min-height:188px;margin:0 12px 0 -12px;padding:6px;object-fit:contain;object-position:center}body.tax-product_cat ul.products li.product .ahp-runtime-badge{min-height:19px;margin:0 0 7px 12px;padding:3px 8px;font-size:10px}body.tax-product_cat ul.products li.product .woocommerce-loop-product__title{height:auto;min-height:0;margin:0 0 7px;padding:0!important;font-size:14px;line-height:1.3}body.tax-product_cat ul.products li.product .price{font-size:15px;margin:0 12px 8px}body.tax-product_cat ul.products li.product .button{grid-column:2;width:auto;margin:0 12px 12px;padding:10px 6px;font-size:11px}}

/* Mobile category layout: mirrors the stacked card composition from the approved mock-up. */
@media(max-width:767px){
body.tax-product_cat .hero-section{min-height:223px;margin:10px 8px 20px;border-radius:14px}
body.tax-product_cat .hero-section>figure{right:12px!important;bottom:17px!important;left:12px!important;width:auto!important;height:78px!important;border-radius:10px;background-position:right center!important}
body.tax-product_cat .hero-section .entry-header{padding:19px 14px 105px}
body.tax-product_cat .hero-section .page-title{margin-bottom:10px;font-size:24px}
body.tax-product_cat .hero-section .page-title:before{margin-bottom:10px;font-size:10px}
body.tax-product_cat .hero-section .page-description.ct-hidden-sm{max-width:240px;font-size:13px;line-height:1.35;-webkit-line-clamp:3}
body.tax-product_cat .woocommerce .woocommerce-result-count,body.tax-product_cat .woocommerce-result-count,body.tax-product_cat .ahp-runtime-result-count{display:block!important;margin:0 8px 8px!important;color:var(--ahp-cat-ink);font-size:16px;font-weight:800;line-height:1.25}
body.tax-product_cat .woocommerce .woocommerce-ordering,body.tax-product_cat .woocommerce-ordering{position:relative;display:block;margin:0 8px 14px!important}
body.tax-product_cat .woocommerce .woocommerce-ordering:before,body.tax-product_cat .woocommerce-ordering:before{position:absolute;top:50%;left:13px;z-index:1;display:block;margin:0;color:#536d8e;font-size:12px;line-height:1;pointer-events:none;transform:translateY(-50%)}
body.tax-product_cat .woocommerce .woocommerce-ordering select,body.tax-product_cat .woocommerce-ordering select{box-sizing:border-box;width:100%;height:36px;padding:0 12px 0 71px;font-size:12px}
body.tax-product_cat ul.products{margin:0 8px 28px}
body.tax-product_cat ul.products li.product{display:grid!important;grid-template-columns:42% 58%;grid-template-rows:1fr auto auto;min-height:128px;margin-bottom:8px!important;border-radius:8px}
body.tax-product_cat ul.products li.product a.woocommerce-LoopProduct-link{grid-column:1;grid-row:1 / span 3;display:block!important;min-width:0;padding:0!important;overflow:hidden}
body.tax-product_cat ul.products li.product a.woocommerce-LoopProduct-link img{display:block!important;float:none!important;box-sizing:border-box;width:100%!important;height:100%!important;min-height:128px!important;margin:0!important;padding:0!important;object-fit:cover;object-position:center;background:#fff;border:0}
body.tax-product_cat ul.products li.product .woocommerce-loop-product__title{grid-column:2;grid-row:1;align-self:start;min-height:0;margin:0;padding:9px 9px 3px!important;font-size:12px;line-height:1.22}
body.tax-product_cat ul.products li.product .ahp-runtime-badge{min-height:16px;margin:0 0 5px;padding:2px 7px;border-width:1px;font-size:9px}
body.tax-product_cat ul.products li.product .price{grid-column:2;grid-row:2;align-self:start;margin:0 9px 6px;font-size:14px;line-height:1.1}
body.tax-product_cat ul.products li.product .ahp-runtime-category{grid-column:2;grid-row:3;display:block;margin:0 9px 6px;color:#6c7f9c;font-size:9px;font-weight:700;line-height:1;text-transform:uppercase;letter-spacing:.04em}
body.tax-product_cat ul.products li.product .button{grid-column:2;grid-row:4;align-self:end;width:auto;margin:0 9px 9px;padding:8px 4px;border-radius:6px;font-size:10px}
}

@media(max-width:767px){
body.tax-product_cat .hero-section{height:223px!important;min-height:223px!important;margin:18px 8px 20px!important}
body.tax-product_cat ul.products li.product{grid-template-rows:1fr auto auto auto;min-height:128px!important}
body.tax-product_cat ul.products li.product a.woocommerce-LoopProduct-link{position:relative;height:100%!important;min-height:128px!important;align-self:stretch}
body.tax-product_cat ul.products li.product a.woocommerce-LoopProduct-link img{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;min-height:0!important;object-fit:cover!important}
}

/* Legacy selectors below remain for desktop-theme compatibility. */
@media(max-width:767px){
body.tax-product_cat .site-main .hero-section{display:block!important;height:223px!important;min-height:223px!important;margin:18px 8px 20px!important}
body.tax-product_cat ul.products li.product{position:relative!important;display:grid!important;grid-template-columns:42% 58%!important;grid-template-rows:1fr auto auto auto!important;min-height:128px!important;padding:0!important}
body.tax-product_cat ul.products li.product a.woocommerce-LoopProduct-link{grid-column:1!important;grid-row:1 / span 4!important;display:block!important;height:128px!important;min-height:128px!important;margin:0!important;padding:0!important;overflow:hidden}
body.tax-product_cat ul.products li.product a.woocommerce-LoopProduct-link img{position:static!important;display:block!important;float:none!important;width:100%!important;height:128px!important;min-height:128px!important;margin:0!important;padding:0!important;object-fit:cover!important;object-position:center!important}
body.tax-product_cat ul.products li.product .woocommerce-loop-product__title{grid-column:2!important;grid-row:1!important;align-self:start!important;min-height:0!important;height:auto!important;margin:0!important;padding:9px 9px 3px!important;font-size:12px!important;line-height:1.22!important}
body.tax-product_cat ul.products li.product .ahp-runtime-badge{min-height:16px!important;margin:0 0 5px!important;padding:2px 7px!important;font-size:9px!important}
body.tax-product_cat ul.products li.product .price{grid-column:2!important;grid-row:2!important;align-self:start!important;margin:0 9px 4px!important;font-size:14px!important;line-height:1.1!important}
body.tax-product_cat ul.products li.product .ahp-runtime-category{grid-column:2!important;grid-row:3!important;margin:0 9px 7px!important;font-size:9px!important;line-height:1!important}
body.tax-product_cat ul.products li.product .button{grid-column:2!important;grid-row:4!important;align-self:end!important;width:auto!important;margin:0 9px 9px!important;padding:8px 4px!important;font-size:10px!important}
}

/* Explicit mobile shell: independent of Blocksy's nested archive wrappers. */
@media(max-width:767px){
body.tax-product_cat .woo-listing-top.ahp-mobile-toolbar-source{display:none!important}
body.tax-product_cat .ahp-mobile-toolbar{display:flex!important;flex-direction:column!important;gap:0!important;margin:0 8px 14px!important;width:auto!important}
body.tax-product_cat .ahp-mobile-toolbar .woocommerce-ordering{display:flex!important;align-items:center!important;gap:4px!important;padding:0 12px!important;box-sizing:border-box!important;height:44px!important;border:1px solid var(--ahp-cat-line)!important;border-radius:8px!important;background:white!important}
body.tax-product_cat .ahp-mobile-toolbar .woocommerce-ordering:before{position:static!important;transform:none!important;flex:0 0 auto!important;font-size:14px!important;line-height:1!important;margin:0!important;content:"Trier par :"!important}
body.tax-product_cat .ahp-mobile-toolbar .woocommerce-ordering select{flex:1 1 0!important;width:0!important;min-width:0!important;height:40px!important;padding:0 20px 0 2px!important;border:0!important;box-shadow:none!important;background-color:transparent!important;font-weight:600!important}
body.tax-product_cat .ahp-mobile-toolbar .woocommerce-ordering>svg,body.tax-product_cat .ahp-mobile-toolbar .woocommerce-ordering>.ct-sort-icon{display:none!important}
body.tax-product_cat.ahp-global-shell .ahp-nav nav{display:flex!important;grid-column:1/-1!important;grid-row:2!important;flex-wrap:nowrap!important;justify-content:flex-start!important;gap:18px!important;width:100%!important;min-width:0!important;overflow-x:auto!important;padding:9px 0 3px!important;border-top:1px solid #e2e8f0;scrollbar-width:none}
body.tax-product_cat.ahp-global-shell .ahp-nav nav a{flex:0 0 auto!important;white-space:nowrap!important}
body.tax-product_cat.ahp-global-shell .ahp-nav{padding:10px 0!important;min-height:48px!important}
body.tax-product_cat .hero-section,body.tax-product_cat .site-main .hero-section{--min-height:0px;--height:auto;box-sizing:border-box!important;height:auto!important;min-height:0!important;max-height:none!important;margin:12px 8px 24px!important;padding:20px 14px 16px!important;background:linear-gradient(110deg,#eaf6ff,#dcefff)!important;display:flex!important;flex-direction:column!important;justify-content:flex-start!important;align-items:stretch!important;gap:16px!important}
body.tax-product_cat .hero-section .entry-header{position:static!important;display:block!important;flex:0 0 auto!important;width:100%!important;height:auto!important;min-height:0!important;max-height:none!important;padding:0!important;margin:0!important;transform:none!important}
body.tax-product_cat .hero-section .page-title{font-size:28px!important;line-height:1.15!important;margin:0 0 12px!important}
body.tax-product_cat .hero-section .page-description,body.tax-product_cat .hero-section .page-description.ct-hidden-sm{display:block!important;max-width:none!important;font-size:14px!important;line-height:1.45!important;overflow:visible!important}
body.tax-product_cat .hero-section>figure{position:relative!important;inset:auto!important;order:2!important;width:100%!important;height:140px!important;min-height:140px!important;transform:none!important;margin:0!important}
body.tax-product_cat .hero-section>figure img{object-fit:cover!important;object-position:right center!important}
body.tax-product_cat .woo-listing-top{display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:10px!important;margin:0 8px 14px!important;padding:0!important}
body.tax-product_cat .woocommerce-result-count,body.tax-product_cat .ahp-runtime-result-count{width:100%!important;white-space:nowrap!important;margin:0 0 10px!important;font-size:17px!important}
body.tax-product_cat .woocommerce-ordering{width:100%!important;min-width:0!important;margin:0 0 14px!important;float:none!important}
body.tax-product_cat .woocommerce-ordering select{min-width:0!important;height:44px!important;width:100%!important;font-size:14px!important}
body.tax-product_cat .woocommerce-ordering:after{display:none!important}
body.tax-product_cat ul.products{width:auto!important;margin:0 8px 28px!important;gap:12px!important}
body.tax-product_cat ul.products li.product.ahp-mobile-card{display:grid!important;grid-template-columns:42% minmax(0,1fr)!important;grid-template-rows:auto!important;min-height:0!important;height:auto!important;align-items:stretch!important;margin:0 0 12px!important;padding:0!important}
body.tax-product_cat ul.products li.product.ahp-mobile-card>:not(.ahp-mobile-media):not(.ahp-mobile-info){display:none!important}
body.tax-product_cat ul.products li.product.ahp-mobile-card .ahp-mobile-media{display:block!important;position:relative!important;grid-area:1/1!important;min-width:0!important;width:100%!important;height:auto!important;min-height:170px!important;margin:0!important;padding:0!important;overflow:hidden!important}
body.tax-product_cat ul.products li.product.ahp-mobile-card .ahp-mobile-media img{position:absolute!important;inset:0!important;display:block!important;width:100%!important;height:100%!important;max-height:none!important;max-width:none!important;object-fit:cover!important;object-position:center!important;margin:0!important;padding:0!important;aspect-ratio:auto!important}
body.tax-product_cat ul.products li.product.ahp-mobile-card .ahp-mobile-info{display:flex!important;flex-direction:column!important;justify-content:flex-start!important;align-items:stretch!important;gap:6px!important;grid-area:1/2!important;min-width:0!important;height:auto!important;min-height:0!important;padding:10px!important}
body.tax-product_cat ul.products li.product.ahp-mobile-card .ahp-mobile-info>*{flex:0 0 auto!important;position:static!important;transform:none!important;max-height:none!important}
body.tax-product_cat ul.products li.product.ahp-mobile-card .woocommerce-loop-product__title{display:block!important;order:0!important;height:auto!important;min-height:0!important;margin:0!important;padding:0!important;font-size:16px!important;line-height:1.25!important;font-weight:750!important;overflow:visible!important}
body.tax-product_cat ul.products li.product.ahp-mobile-card .woocommerce-loop-product__title a{display:block!important;flex:none!important;height:auto!important;min-height:0!important;margin:0!important;padding:0!important;font:inherit!important;color:inherit!important}
body.tax-product_cat ul.products li.product.ahp-mobile-card .ahp-runtime-badge{display:table!important;margin:0 0 7px!important;padding:3px 8px!important;font-size:10px!important}
body.tax-product_cat ul.products li.product.ahp-mobile-card .price{order:1!important;margin:0!important;padding:0!important;font-size:16px!important;line-height:1.2!important}
body.tax-product_cat ul.products li.product.ahp-mobile-card .ahp-runtime-category{order:2!important;margin:0!important;font-size:10px!important}
body.tax-product_cat ul.products li.product.ahp-mobile-card .button{order:3!important;width:100%!important;box-sizing:border-box!important;margin:4px 0 0!important;padding:10px 4px!important;font-size:12px!important;min-height:36px!important}
body.tax-product_cat .ahp-cta{margin-top:0!important;padding:24px 16px!important}
body.tax-product_cat .ahp-cta .ahp-wrap{display:flex!important;flex-direction:column!important;align-items:flex-start!important;gap:14px!important;width:100%!important}
body.tax-product_cat .ahp-cta a:first-child{background:#ff8000!important;color:white!important}
body.tax-product_cat .ahp-footer-grid{grid-template-columns:1fr 1fr!important;gap:28px 20px!important}
body.tax-product_cat .ahp-footer-grid>div:first-child{grid-column:1/-1!important}
body.tax-product_cat .ahp-footer-grid>div{border:0!important;padding:0!important}
body.tax-product_cat main{padding-bottom:0!important}
}
