.cj-shop{padding:48px 0 var(--sp-lg);}
.cj-shop .page-title{font-family:var(--font-heading);font-size:2rem;margin-bottom:28px;}

/* Shop grid -> reuse card look */
ul.products{display:grid !important;grid-template-columns:repeat(3,1fr);gap:24px;list-style:none;margin:0;padding:0;}
ul.products li.product{background:var(--surface);border-radius:var(--r-md);overflow:hidden;box-shadow:0 14px 30px -18px rgba(21,52,49,.35);transition:transform .2s ease;position:relative;}
ul.products li.product:hover{transform:translateY(-4px);}
ul.products li.product a.woocommerce-LoopProduct-link{display:block;padding:0;color:inherit;}
ul.products li.product img{aspect-ratio:1/1;object-fit:cover;width:100%;border-radius:0;}
ul.products li.product .woocommerce-loop-product__title{font-family:var(--font-heading);font-weight:700;font-size:1rem;padding:16px 18px 4px;margin:0;}
ul.products li.product .price{color:var(--accent);font-family:var(--font-heading);font-weight:700;padding:0 18px 18px;display:block;}
ul.products li.product .price del{opacity:.5;font-weight:400;color:var(--ink);}
ul.products li.product .onsale{position:absolute;top:14px;left:14px;background:var(--accent);color:var(--ink);font-family:var(--font-heading);font-weight:700;font-size:0.7rem;text-transform:uppercase;padding:4px 10px;border-radius:var(--r-pill);min-width:0;height:auto;line-height:1.6;}
ul.products li.product a.add_to_cart_button{margin:0 18px 18px;display:inline-flex;padding:10px 20px;border-radius:var(--r-pill);background:var(--ink);color:var(--bg) !important;font-family:var(--font-heading);font-weight:700;font-size:0.85rem;border:none;}
ul.products li.product a.add_to_cart_button:hover{background:var(--support);}

.woocommerce-result-count,.woocommerce-ordering{font-family:var(--font-body);}

/* Onglets de tri : Nouveautes / Meilleures ventes */
.cj-sort-tabs{display:flex;gap:10px;margin-bottom:28px;}
.cj-sort-tab{font-family:var(--font-heading);font-weight:700;font-size:0.9rem;color:var(--ink);background:var(--surface);border:1.5px solid rgba(21,52,49,.15);border-radius:var(--r-pill);padding:11px 22px;}
.cj-sort-tab:hover{border-color:var(--support);}
.cj-sort-tab.is-active{background:var(--ink);border-color:var(--ink);color:var(--bg);}
@media (max-width:600px){.cj-sort-tabs{flex-wrap:wrap;}.cj-sort-tab{flex:1 1 auto;text-align:center;}}
.woocommerce-ordering select{border-radius:var(--r-sm);border:1px solid rgba(21,52,49,.2);padding:8px 12px;font-family:var(--font-body);background:var(--surface);}

/* Filter bar */
.cj-filters{background:var(--surface);border-radius:var(--r-md);padding:20px 24px;margin-bottom:32px;box-shadow:0 14px 30px -20px rgba(21,52,49,.3);}
.cj-filters__form{display:flex;flex-wrap:wrap;align-items:flex-end;gap:18px;}
.cj-filters__field{display:flex;flex-direction:column;gap:6px;min-width:150px;}
.cj-filters__field label{font-family:var(--font-heading);font-size:0.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--support);}
.cj-filters__field select{border-radius:var(--r-sm);border:1px solid rgba(21,52,49,.18);padding:10px 12px;font-family:var(--font-body);background:var(--bg);color:var(--ink);min-width:150px;}
.cj-filters__price-inputs{display:flex;align-items:center;gap:8px;}
.cj-filters__price-inputs input{width:72px;border-radius:var(--r-sm);border:1px solid rgba(21,52,49,.18);padding:10px 10px;font-family:var(--font-body);background:var(--bg);color:var(--ink);}
.cj-filters__price-inputs span{opacity:.5;}
.cj-filters__actions{display:flex;align-items:center;gap:14px;margin-left:auto;}
.cj-filters__apply{padding:10px 24px;font-size:0.85rem;}
.cj-filters__reset{font-size:0.85rem;font-weight:600;color:var(--support);text-decoration:underline;}
@media (max-width:900px){.cj-filters__form{flex-direction:column;align-items:stretch;}.cj-filters__field,.cj-filters__field select{min-width:0;width:100%;}.cj-filters__actions{margin-left:0;justify-content:space-between;}}

/* Single product */
.single-product .cj-shop{padding-top:40px;}
div.product .woocommerce-product-gallery{border-radius:var(--r-md);overflow:hidden;background:var(--surface);}
div.product .summary{padding-top:8px;}
div.product .product_title{font-family:var(--font-heading);font-size:2rem;}
div.product p.price{color:var(--accent);font-family:var(--font-heading);font-size:1.4rem;font-weight:700;}
div.product .woocommerce-product-details__short-description{color:rgba(21,52,49,.8);}
div.product form.cart .button{background:var(--accent);color:var(--ink);border-radius:var(--r-pill);padding:14px 34px;font-family:var(--font-heading);font-weight:700;border:none;cursor:pointer;}
div.product form.cart .button:hover{transform:translateY(-2px);}
div.product .quantity input{border-radius:var(--r-sm);border:1px solid rgba(21,52,49,.25);padding:10px;font-family:var(--font-body);}
.woocommerce-tabs ul.tabs li a{font-family:var(--font-heading);font-weight:700;}
.woocommerce-tabs ul.tabs li.active a{color:var(--accent);}
div.product .woocommerce-product-attributes{border-radius:var(--r-md);overflow:hidden;}
div.product .woocommerce-product-attributes th{background:var(--bg);font-family:var(--font-heading);}

/* Cart & Checkout */
.woocommerce-cart table.cart, .woocommerce-checkout table.shop_table{border-radius:var(--r-md);overflow:hidden;background:var(--surface);border-collapse:collapse;width:100%;}
.woocommerce-cart table.cart th, .woocommerce-checkout table.shop_table th{background:var(--ink);color:var(--bg);font-family:var(--font-heading);padding:14px;text-align:left;}
.woocommerce-cart table.cart td, .woocommerce-checkout table.shop_table td{padding:14px;border-bottom:1px solid rgba(21,52,49,.08);}
.cart-collaterals .cart_totals{background:var(--surface);border-radius:var(--r-md);padding:24px;}
.cart_totals .amount{color:var(--accent);font-weight:700;}
#place_order, .checkout-button, .woocommerce-cart .checkout-button{background:var(--accent) !important;color:var(--ink) !important;border-radius:var(--r-pill) !important;font-family:var(--font-heading);font-weight:700;padding:14px 30px !important;border:none;}
.woocommerce-checkout input.input-text, .woocommerce-checkout select{border-radius:var(--r-sm);border:1px solid rgba(21,52,49,.2);padding:10px 12px;font-family:var(--font-body);background:var(--surface);}
.woocommerce-checkout-review-order-table{background:var(--surface);border-radius:var(--r-md);}

/* My account */
.woocommerce-MyAccount-navigation ul{background:var(--surface);border-radius:var(--r-md);overflow:hidden;}
.woocommerce-MyAccount-navigation li{border-bottom:1px solid rgba(21,52,49,.08);}
.woocommerce-MyAccount-navigation li a{display:block;padding:14px 18px;font-weight:500;}
.woocommerce-MyAccount-navigation li.is-active a{color:var(--accent);font-weight:700;}

/* Notices */
.woocommerce-message, .woocommerce-info{border-top-color:var(--accent) !important;background:var(--surface);border-radius:var(--r-sm);}
.woocommerce-message a.button, .woocommerce-info a.button{background:var(--ink);color:var(--bg);border-radius:var(--r-pill);padding:10px 20px;}

/* Events / Animations */
.cj-events{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.cj-event-card{background:var(--surface);border-radius:var(--r-md);overflow:hidden;box-shadow:0 14px 30px -18px rgba(21,52,49,.35);display:flex;flex-direction:column;transition:transform .2s ease;}
.cj-event-card:hover{transform:translateY(-4px);}
.cj-event-card__img{aspect-ratio:16/10;background:#EFE8D4;overflow:hidden;}
.cj-event-card__img img{width:100%;height:100%;object-fit:cover;}
.cj-event-card__body{padding:20px 22px 24px;display:flex;flex-direction:column;gap:8px;flex:1;}
.cj-event-card__date{display:inline-flex;align-self:flex-start;background:var(--accent);color:var(--ink);font-family:var(--font-heading);font-weight:700;font-size:0.75rem;text-transform:uppercase;padding:5px 12px;border-radius:var(--r-pill);}
.cj-event-card__title{font-family:var(--font-heading);font-weight:700;font-size:1.1rem;margin:4px 0 0;}
.cj-event-card__excerpt{color:rgba(21,52,49,.75);font-size:0.92rem;margin:0;flex:1;}
.cj-event-card__link{margin-top:8px;font-weight:700;color:var(--support);}
.cj-events-empty{background:var(--surface);border-radius:var(--r-md);padding:40px;text-align:center;color:rgba(21,52,49,.6);}
.cj-event-single__date{display:inline-flex;background:var(--accent);color:var(--ink);font-family:var(--font-heading);font-weight:700;font-size:0.8rem;text-transform:uppercase;padding:6px 16px;border-radius:var(--r-pill);margin-bottom:16px;}
@media (max-width:1000px){.cj-events{grid-template-columns:repeat(2,1fr);}}
@media (max-width:640px){.cj-events{grid-template-columns:1fr;}}

@media (max-width:1000px){ul.products{grid-template-columns:repeat(2,1fr) !important;}}
@media (max-width:600px){ul.products{grid-template-columns:1fr !important;}}


/* Navigation arborescente (sidebar categories) */
.cj-shop-layout{display:grid;grid-template-columns:270px 1fr;gap:36px;align-items:start;}
.cj-sidebar{background:var(--surface);border-radius:var(--r-md);padding:22px 20px;box-shadow:0 14px 30px -20px rgba(21,52,49,.3);position:sticky;top:96px;}
.cj-sidebar__title{font-family:var(--font-heading);font-size:0.85rem;text-transform:uppercase;letter-spacing:.05em;color:var(--support);margin-bottom:14px;}
.cj-tree{border-bottom:1px solid rgba(21,52,49,.08);padding-bottom:10px;margin-bottom:10px;}
.cj-tree:last-of-type{border-bottom:none;}
.cj-tree summary,.cj-tree__node summary{cursor:pointer;list-style:none;display:flex;align-items:center;padding:6px 0;font-family:var(--font-heading);}
.cj-tree summary::-webkit-details-marker,.cj-tree__node summary::-webkit-details-marker{display:none;}
.cj-tree > summary a{font-weight:700;font-size:0.98rem;color:var(--ink);}
.cj-tree summary::before{content:'\25B8';display:inline-block;margin-right:8px;font-size:0.7rem;color:var(--accent);transition:transform .15s ease;}
.cj-tree[open] > summary::before,.cj-tree__node[open] > summary::before{transform:rotate(90deg);}
.cj-tree__list{padding-left:16px;border-left:1px solid rgba(21,52,49,.1);margin:2px 0 4px 6px;}
.cj-tree__list a{display:block;padding:5px 0;font-size:0.88rem;color:rgba(21,52,49,.8);font-weight:500;}
.cj-tree__list a:hover{color:var(--accent);}
.cj-tree__list a.is-active{color:var(--accent);font-weight:700;}
.cj-tree__node summary a{font-size:0.88rem;font-weight:600;color:var(--ink);}
.cj-tree__list--attr{border-left-style:dashed;}
.cj-tree__list--attr > li > a{font-size:0.82rem;font-weight:400;}
.cj-sidebar__all{display:block;margin-top:14px;padding-top:14px;border-top:1px solid rgba(21,52,49,.1);font-weight:700;font-size:0.85rem;color:var(--support);}

/* Bascule vers les autres espaces (Jeux de societe / Jeux de cartes / Accessoires) */
.cj-sidebar__switch{margin-top:18px;padding-top:18px;border-top:1px solid rgba(21,52,49,.1);display:flex;flex-direction:column;gap:8px;}
.cj-sidebar__switch-label{font-family:var(--font-heading);font-size:0.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--support);margin-bottom:4px;}
.cj-sidebar__switch a{display:flex;align-items:center;justify-content:space-between;gap:10px;font-family:var(--font-heading);font-size:0.95rem;font-weight:700;color:var(--ink);padding:12px 16px;border-radius:var(--r-sm);background:var(--bg);border:1.5px solid var(--support);width:100%;}
.cj-sidebar__switch a::after{content:'\2192';font-weight:700;color:var(--accent);}
.cj-sidebar__switch a:hover{background:var(--ink);border-color:var(--ink);color:var(--bg);}
.cj-sidebar__switch a:hover::after{color:var(--accent);}
@media (max-width:960px){
  .cj-shop-layout{grid-template-columns:1fr;}
  .cj-sidebar{position:static;}
}