/* ==========================================================================
   KA.JI.JI — WooCommerce : boutique, fiche produit, panier, commande, compte
   Chargé uniquement sur les pages WooCommerce. Les styles natifs de WooCommerce
   restent actifs (formulaires, étoiles, extensions) et sont surchargés ici.
   ========================================================================== */

/* Notifications */
.kjj .woocommerce-message,.kjj .woocommerce-info,.kjj .woocommerce-error,.kjj .woocommerce-notice{border:0!important;border-radius:16px;background:var(--lilas-2);color:var(--violet-2);padding:16px 20px 16px 52px!important;margin:0 0 20px!important;font-weight:600;list-style:none;position:relative;display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between}
.kjj .woocommerce-message{background:#e9f7ee;color:var(--vert-ok)}
.kjj .woocommerce-error{background:#fdecea;color:#a12d1a}
.kjj .woocommerce-message::before,.kjj .woocommerce-info::before,.kjj .woocommerce-error::before{top:50%!important;left:20px!important;transform:translateY(-50%);color:inherit!important}
.kjj .woocommerce-message .button,.kjj .woocommerce-info .button{order:2;float:none!important;padding:8px 16px;font-size:.88rem;background:var(--violet);color:#fff}
.kjj .woocommerce-error li{margin:0}
.kjj-notice{background:var(--jaune-soft);border-radius:14px;padding:12px 16px;font-size:.86rem;color:var(--violet-2);margin:14px 0}

/* Étapes */
.kjj-steps{display:flex;align-items:center;gap:10px;margin:6px 0 30px;padding:0;list-style:none;flex-wrap:wrap;grid-column:1/-1}
.kjj-step{display:flex;align-items:center;gap:10px;font:700 .92rem var(--font-h);color:var(--muted)}
.kjj-step:not(:last-child)::after{content:"";width:40px;height:2px;background:var(--line);margin-left:4px}
.kjj-step i{width:32px;height:32px;border-radius:50%;border:2px solid var(--line);display:grid;place-items:center;font-style:normal;background:#fff}
.kjj-step.on{color:var(--violet)}.kjj-step.on i{background:var(--violet);border-color:var(--violet);color:#fff}
.kjj-step.done{color:var(--violet-3)}.kjj-step.done i{background:var(--jaune);border-color:var(--jaune);color:var(--violet)}

/* Champs génériques WooCommerce */
.kjj .woocommerce form .form-row{padding:0;margin:0 0 14px}
.kjj .woocommerce form .form-row label{font-weight:700;font-size:.86rem;color:var(--violet-2);margin-bottom:6px;display:block;line-height:1.4}
.kjj .woocommerce form .form-row .required{color:var(--corail);text-decoration:none}
.kjj .woocommerce form .form-row input.input-text,.kjj .woocommerce form .form-row textarea,.kjj .woocommerce form .form-row select,.kjj .woocommerce .input-text,.kjj .woocommerce select{width:100%;border:1.5px solid var(--line);border-radius:14px;padding:13px 15px;background:#fff;outline:0;transition:border .15s,box-shadow .15s;line-height:1.3;min-height:50px}
.kjj .woocommerce form .form-row textarea{min-height:110px}
.kjj .woocommerce .input-text:focus,.kjj .woocommerce select:focus,.kjj .woocommerce textarea:focus{border-color:var(--violet);box-shadow:0 0 0 4px var(--lilas)}
.kjj .woocommerce form .form-row.woocommerce-invalid input.input-text{border-color:var(--corail)}
.kjj .select2-container--default .select2-selection--single{height:50px;border:1.5px solid var(--line);border-radius:14px}
.kjj .select2-container--default .select2-selection--single .select2-selection__rendered{line-height:47px;padding-left:15px;color:var(--ink)}
.kjj .select2-container--default .select2-selection--single .select2-selection__arrow{height:48px;right:8px}
.kjj .select2-dropdown{border:1.5px solid var(--line);border-radius:14px;overflow:hidden}
.kjj .woocommerce input[type=checkbox],.kjj .woocommerce input[type=radio]{accent-color:var(--violet)}

/* ---------- Boutique ---------- */
.kjj-shop{display:grid;grid-template-columns:280px minmax(0,1fr);gap:36px;align-items:start;padding-top:10px;padding-bottom:80px}
.kjj-shop-desc{color:var(--muted);max-width:760px}
.kjj-shop-desc p:last-child{margin:0}
.kjj-filters{position:sticky;top:110px;background:#fff;border:1px solid var(--line);border-radius:22px;padding:6px 20px 20px;max-height:calc(100vh - 130px);overflow:auto;scrollbar-width:thin}
.kjj-filters-hd{display:none;justify-content:space-between;align-items:center;padding:14px 0}
.kjj-filters-hd h2{margin:0;font-size:1.3rem}
.kjj-filters-close{background:none;border:0;color:var(--violet);padding:4px}
.kjj-fgroup{border-bottom:1px solid var(--line);padding:18px 0}
.kjj-fgroup h3{font-size:.95rem;margin:0 0 12px}
.kjj-filters .kjj-fsearch{margin:0}
.kjj-chk{display:flex;align-items:center;gap:10px;padding:6px 0;cursor:pointer;font-size:.93rem;line-height:1.3}
.kjj-chk input{appearance:none;-webkit-appearance:none;width:19px;height:19px;border-radius:6px;border:2px solid #cfc6e0;display:grid;place-items:center;flex:none;transition:.15s;margin:0;background:#fff}
.kjj-chk input:checked{background:var(--violet);border-color:var(--violet)}
.kjj-chk input:checked::after{content:"";width:5px;height:9px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg) translate(-1px,-1px)}
.kjj-chk .ct{margin-left:auto;font-size:.78rem;color:var(--muted);background:var(--lilas-2);border-radius:999px;padding:1px 8px;font-weight:700}
.kjj-chk.is-off{display:none}
.kjj-uni-pills{display:flex;flex-wrap:wrap;gap:6px}
.kjj-uni-pills button{padding:7px 12px;border-radius:999px;background:var(--lilas-2);font-weight:700;font-size:.82rem;color:var(--violet-2);border:1.5px solid transparent}
.kjj-uni-pills button.on{background:var(--violet);color:#fff}
.kjj-colors{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.kjj-colors button{display:flex;flex-direction:column;align-items:center;gap:6px;padding:8px 4px;border-radius:12px;border:1.5px solid transparent;font-size:.75rem;font-weight:700;color:var(--muted);background:none}
.kjj-colors button i{width:28px;height:28px;border-radius:50%;box-shadow:inset 0 0 0 2px #fff,0 0 0 1px var(--line);display:block}
.kjj-colors button[aria-pressed="true"]{border-color:var(--violet);color:var(--violet);background:var(--lilas-2)}
.kjj-range{position:relative;height:30px;margin-top:6px}
.kjj-range input{position:absolute;left:0;width:100%;pointer-events:none;-webkit-appearance:none;appearance:none;background:none;height:30px;margin:0}
.kjj-range input::-webkit-slider-thumb{pointer-events:auto;-webkit-appearance:none;width:20px;height:20px;border-radius:50%;background:#fff;border:3px solid var(--violet);cursor:pointer;box-shadow:var(--shadow)}
.kjj-range input::-moz-range-thumb{pointer-events:auto;width:16px;height:16px;border-radius:50%;background:#fff;border:3px solid var(--violet);cursor:pointer}
.kjj-range input::-moz-range-track{background:none}
.kjj-range .track{position:absolute;left:0;right:0;top:13px;height:4px;border-radius:4px;background:var(--line)}
.kjj-range .fill{position:absolute;top:13px;height:4px;border-radius:4px;background:var(--violet);left:0;right:0}
.kjj-prange{display:flex;justify-content:space-between;font-weight:800;color:var(--violet);font-size:.9rem;margin-top:6px}
.kjj-switch{display:flex;align-items:center;justify-content:space-between;padding:7px 0;font-size:.93rem;cursor:pointer}
.kjj-switch input{-webkit-appearance:none;appearance:none;width:40px;height:23px;border-radius:999px;background:#d9d2e6;position:relative;transition:.2s;flex:none;margin:0;cursor:pointer}
.kjj-switch input::after{content:"";position:absolute;width:17px;height:17px;border-radius:50%;background:#fff;left:3px;top:3px;transition:.2s}
.kjj-switch input:checked{background:var(--violet)}
.kjj-switch input:checked::after{left:20px}
.kjj-filters-ft{padding-top:16px;display:grid;gap:8px}
.kjj-filters-apply,.kjj-filters-open{display:none!important}
.kjj-toolbar{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:16px}
.kjj-count{font-weight:700;color:var(--violet-2)}
.kjj-sp{flex:1}
.kjj-sel{position:relative;display:inline-block}
.kjj-sel select{-webkit-appearance:none;appearance:none;border:1.5px solid var(--line);border-radius:999px;padding:10px 40px 10px 16px;background:#fff;font-weight:700;color:var(--violet-2);cursor:pointer;min-height:0;width:auto}
.kjj-sel::after{content:"";position:absolute;right:16px;top:50%;width:7px;height:7px;border:solid var(--violet);border-width:0 2px 2px 0;transform:translateY(-70%) rotate(45deg);pointer-events:none}
.kjj-view{display:flex;border:1.5px solid var(--line);border-radius:999px;overflow:hidden;background:#fff}
.kjj-view button{padding:9px 12px;color:var(--muted);background:none;border:0;display:grid;place-items:center}
.kjj-view button.on{background:var(--violet);color:#fff}
.kjj-active-f{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:22px}
.kjj-active-f:empty{display:none}
.kjj-af{display:inline-flex;align-items:center;gap:8px;background:var(--jaune-soft);color:var(--violet);border-radius:999px;padding:6px 8px 6px 14px;font-weight:700;font-size:.85rem}
.kjj-af button{width:20px;height:20px;border-radius:50%;background:var(--violet);color:#fff;display:grid;place-items:center;font-size:.72rem;line-height:1;border:0;padding:0}
.kjj-af-clear{font-weight:800;color:var(--corail);font-size:.85rem;padding:6px 8px;background:none;border:0}
.kjj-grid-p .kjj-pcard.is-hidden{display:none}
.kjj .woocommerce-no-products-found .woocommerce-info{justify-content:center}
.kjj-filters-bg{position:fixed;inset:0;background:rgba(37,4,83,.45);z-index:205}

/* ---------- Fiche produit ---------- */
.kjj-product-page{padding:26px 0 30px}
.kjj-product-page div.product{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:56px;align-items:start;margin-top:4px}
.kjj-product-page div.product::before,.kjj-product-page div.product::after{display:none}
.kjj-product-page div.product>*{grid-column:1/-1;min-width:0}
.kjj-product-page div.product>div.images,.kjj-product-page div.product>.woocommerce-product-gallery{grid-column:1;float:none!important;width:auto!important;margin:0!important;position:sticky;top:110px}
.kjj-product-page div.product>div.summary{grid-column:2;float:none!important;width:auto!important;margin:0!important;padding:0}
.kjj-product-page .woocommerce-product-gallery{display:grid;grid-template-columns:84px minmax(0,1fr);gap:14px;opacity:1!important}
.kjj-product-page .woocommerce-product-gallery>*{grid-column:2;grid-row:1}
.kjj-product-page .woocommerce-product-gallery:not(:has(.flex-control-thumbs))>*{grid-column:1/-1}
.kjj-product-page .woocommerce-product-gallery .flex-viewport,.kjj-product-page .woocommerce-product-gallery__wrapper{border-radius:26px;overflow:hidden;background:var(--lilas-2)}
.kjj-product-page .woocommerce-product-gallery__image img{width:100%;height:auto;display:block}
.kjj-product-page .woocommerce-product-gallery .flex-control-thumbs{grid-column:1;grid-row:1;display:flex;flex-direction:column;gap:10px;margin:0!important;padding:0;list-style:none;max-height:620px;overflow:auto;scrollbar-width:none}
.kjj-product-page .woocommerce-product-gallery .flex-control-thumbs li{width:100%!important;float:none!important;margin:0!important;flex:none}
.kjj-product-page .woocommerce-product-gallery .flex-control-thumbs img{border-radius:14px;opacity:.55;border:2px solid transparent;aspect-ratio:1;object-fit:cover;width:100%;transition:.2s;background:var(--lilas-2)}
.kjj-product-page .woocommerce-product-gallery .flex-control-thumbs img.flex-active,.kjj-product-page .woocommerce-product-gallery .flex-control-thumbs img:hover{opacity:1;border-color:var(--violet)}
.kjj-product-page .woocommerce-product-gallery__trigger{position:absolute;top:16px;right:16px;z-index:9;width:44px!important;height:44px!important;border-radius:50%!important;background:rgba(255,255,255,.92)!important;box-shadow:var(--shadow);display:grid;place-items:center;font-size:0!important}
.kjj-product-page .woocommerce-product-gallery__trigger::before{border-color:var(--violet)!important}
.kjj-product-page .woocommerce-product-gallery__trigger::after{background:var(--violet)!important}
.kjj-pcat{display:inline-flex}
.kjj-product-page .product_title{font:700 clamp(1.6rem,2.6vw,2.2rem)/1.15 var(--font-h);color:var(--violet);margin:0 0 14px}
.kjj-product-page .woocommerce-product-rating{margin:-4px 0 12px;display:flex;gap:8px;align-items:center;font-size:.88rem}
.kjj-product-page .star-rating{color:var(--jaune-2)}
.kjj-pricerow{display:flex;align-items:center;gap:14px;margin-bottom:18px;flex-wrap:wrap}
.kjj-product-page .summary .price,.kjj-pricerow .price{font:800 1.9rem/1.1 var(--font-h)!important;color:var(--violet)!important;margin:0!important}
.kjj-product-page .summary .price del{color:var(--muted);font-size:1.1rem;font-weight:600;opacity:1;margin-left:8px}
.kjj-product-page .summary .price ins{text-decoration:none;background:none}
.kjj-product-page .summary .price del{order:2}
.kjj-save{background:var(--corail);color:#fff;font:800 .85rem var(--font-h);padding:5px 12px;border-radius:999px}
.kjj-mf{background:#fff;border:1px solid var(--line);color:var(--violet);font:800 .78rem var(--font-h);padding:5px 12px;border-radius:999px}
.kjj-product-page .woocommerce-product-details__short-description{color:#3c3450}
.kjj-product-page .woocommerce-product-details__short-description p{margin:0 0 .6em}
.kjj-product-page form.cart{margin:22px 0 6px!important}
.kjj-product-page form.cart:not(.variations_form),.kjj-product-page .woocommerce-variation-add-to-cart{display:flex;gap:12px;align-items:stretch;flex-wrap:wrap}
.kjj-product-page form.cart .single_add_to_cart_button{flex:1;min-width:200px;border-radius:999px!important;padding:15px 26px!important;font:700 1.05rem var(--font-h)!important;float:none!important}
.kjj-product-page form.cart .single_add_to_cart_button.disabled,.kjj-product-page form.cart .single_add_to_cart_button:disabled{opacity:.55!important}
.kjj-product-page form.cart .single_add_to_cart_button.is-loading{opacity:.7;pointer-events:none}
.kjj-product-page table.variations{border:0;margin:0 0 10px!important;width:100%}
.kjj-product-page table.variations,.kjj-product-page table.variations tbody,.kjj-product-page table.variations tr,.kjj-product-page table.variations th,.kjj-product-page table.variations td{display:block;padding:0!important;border:0!important;background:none!important;text-align:left;line-height:1.4}
.kjj-product-page table.variations tr{margin-bottom:18px}
.kjj-product-page table.variations th.label{margin-bottom:10px}
.kjj-product-page table.variations th.label label{font:700 .95rem var(--font-h);color:var(--violet)}
.kjj-product-page table.variations .kjj-chosen{font-family:var(--font-b);font-weight:600;color:var(--muted);margin-left:8px}
.kjj-product-page table.variations select{max-width:100%;border:1.5px solid var(--line);border-radius:14px;padding:12px 14px;background:#fff;min-width:240px}
.kjj-product-page table.variations select.kjj-swatched{position:absolute!important;opacity:0;pointer-events:none;width:1px!important;height:1px;min-width:0}
.kjj-product-page .reset_variations{display:inline-block;margin-top:10px;font-size:.85rem;font-weight:800;color:var(--muted)!important}
.kjj-swatches{display:flex;gap:10px;flex-wrap:wrap}
.kjj-swatches button{width:44px;height:44px;border-radius:50%;border:3px solid #fff;box-shadow:0 0 0 1.5px var(--line);transition:.15s;position:relative;padding:0}
.kjj-swatches button:hover{transform:scale(1.08)}
.kjj-swatches button.on{box-shadow:0 0 0 2.5px var(--violet)}
.kjj-swatches button.on::after{content:"✓";position:absolute;inset:0;display:grid;place-items:center;color:#fff;font-weight:900;text-shadow:0 1px 2px rgba(0,0,0,.4)}
.kjj-swatches button[disabled]{opacity:.25;cursor:not-allowed;transform:none}
.kjj-chips{display:flex;gap:8px;flex-wrap:wrap}
.kjj-chips button{padding:10px 16px;border-radius:14px;border:1.5px solid var(--line);font-weight:700;font-size:.9rem;background:#fff;text-align:left;line-height:1.3;color:var(--ink)}
.kjj-chips button.on{border-color:var(--violet);background:var(--lilas-2);color:var(--violet)}
.kjj-chips button[disabled]{opacity:.35;text-decoration:line-through}
.kjj-product-page .single_variation_wrap .woocommerce-variation{margin-bottom:12px}
.kjj-product-page .woocommerce-variation-price .price{font-size:1.3rem!important}
.kjj-product-page .stock{font-weight:800;font-size:.9rem}
.kjj-product-page .stock.in-stock{color:var(--vert-ok)}
.kjj-product-page .stock.out-of-stock{color:var(--corail)}
.kjj .quantity{display:inline-flex!important;align-items:center;border:1.5px solid var(--line);border-radius:999px;background:#fff;margin:0!important;float:none!important}
.kjj .quantity .qty{width:44px!important;text-align:center;border:0!important;outline:0;font-weight:800;background:none!important;padding:0!important;min-height:0!important;box-shadow:none!important;-moz-appearance:textfield;appearance:textfield}
.kjj .quantity .qty::-webkit-inner-spin-button,.kjj .quantity .qty::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.kjj-qbtn{width:42px;height:50px;font-size:1.2rem;font-weight:800;color:var(--violet);background:none;border:0;padding:0}
.kjj-is-cart .kjj-qbtn{height:40px;width:34px}
.kjj-hint{font-size:.88rem;color:var(--corail);font-weight:700;min-height:1.3em;margin:4px 0}
.kjj-hint:empty{margin:0;min-height:0}
.kjj-buy-extra .kjj-ship{margin-top:10px}
.kjj-reass{margin:14px 0 22px}
.kjj-ptabs{border-top:1px solid var(--line);margin:0!important;padding:0!important}
.kjj-ptabs details{border-bottom:1px solid var(--line)}
.kjj-ptabs .ct{padding:0 0 20px;color:#3c3450}
.kjj-ptabs .ct>*:first-child{margin-top:0}
.kjj-ptabs .ct h2{font-size:1.2rem}
.kjj-ptabs table.shop_attributes{border:0;font-size:.92rem;margin:0}
.kjj-ptabs table.shop_attributes th,.kjj-ptabs table.shop_attributes td{border:0!important;border-bottom:1px dashed var(--line)!important;background:none!important;padding:10px 0!important;text-align:left;font-style:normal}
.kjj-ptabs table.shop_attributes th{font-weight:700;color:var(--violet-2);width:42%}
.kjj-ptabs table.shop_attributes td p{margin:0}
.kjj-ptabs #reviews .commentlist{padding:0;list-style:none}
.kjj-ptabs #reviews .comment-form-rating .stars a{color:var(--jaune-2)}
.kjj-product-page .related,.kjj-product-page .upsells{padding-top:50px}
.kjj-product-page .related>h2,.kjj-product-page .upsells>h2{font-size:clamp(1.5rem,2.6vw,2.1rem);margin-bottom:22px}
.kjj-product-page .related ul.products,.kjj-product-page .upsells ul.products,.kjj .cross-sells ul.products{display:grid!important;grid-auto-flow:column;grid-auto-columns:calc((100% - 72px)/4);gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;padding:6px 2px 18px!important;margin:0!important;scrollbar-width:none;list-style:none}
.kjj-product-page .related ul.products::before,.kjj-product-page .related ul.products::after,.kjj-product-page .upsells ul.products::before,.kjj-product-page .upsells ul.products::after,.kjj .cross-sells ul.products::before,.kjj .cross-sells ul.products::after{display:none!important}
.kjj ul.products li.kjj-pcard{scroll-snap-align:start}

/* ---------- Panier ---------- */
.kjj-cart-page,.kjj-wc-page{padding-bottom:40px}
.kjj-is-cart .woocommerce:has(.woocommerce-cart-form){display:grid;grid-template-columns:minmax(0,1fr) 380px;grid-template-areas:"steps steps" "notes notes" "form tot" "cross tot";gap:0 36px;align-items:start}
.kjj-is-cart .woocommerce>.kjj-steps{grid-area:steps}
.kjj-is-cart .woocommerce>.woocommerce-notices-wrapper{grid-area:notes}
.kjj-is-cart .woocommerce-cart-form{grid-area:form;background:#fff;border:1px solid var(--line);border-radius:24px;overflow:hidden;margin:0}
.kjj-is-cart .cart-collaterals{display:contents}
.kjj-is-cart .cart-collaterals .cart_totals{grid-area:tot;width:auto!important;float:none!important;background:#fff;border:1px solid var(--line);border-radius:24px;padding:26px;position:sticky;top:110px}
.kjj-is-cart .cart-collaterals .cross-sells{grid-area:cross;width:auto!important;float:none!important;margin-top:36px}
.kjj-is-cart .cross-sells>h2{font-size:1.3rem}
.kjj-is-cart table.shop_table.cart{border:0!important;margin:0!important;border-radius:0!important;border-collapse:collapse}
.kjj-is-cart table.cart thead{display:none}
.kjj-is-cart table.cart tbody{display:block}
.kjj-is-cart table.cart tr.cart_item{display:grid!important;grid-template-columns:110px minmax(0,1fr) auto;grid-template-areas:"th nm sub" "th pr sub" "th qty rm";gap:4px 20px;padding:22px;border-bottom:1px solid var(--line);align-items:center}
.kjj-is-cart table.cart td{display:block;padding:0!important;border:0!important;text-align:left!important;background:none!important}
.kjj-is-cart table.cart td::before{display:none!important}
.kjj-is-cart table.cart td.product-thumbnail{grid-area:th;display:block!important}
.kjj-is-cart table.cart td.product-thumbnail img{width:110px!important;height:110px;object-fit:cover;border-radius:16px;background:var(--lilas-2);max-width:none}
.kjj-is-cart table.cart td.product-name{grid-area:nm}
.kjj-is-cart table.cart td.product-name>a{font:700 1rem/1.3 var(--font-h);color:var(--violet)}
.kjj-is-cart table.cart td.product-name dl.variation{font-size:.85rem;color:var(--muted);margin:4px 0 0;display:flex;flex-wrap:wrap;gap:2px 6px}
.kjj-is-cart table.cart td.product-name dl.variation dd,.kjj-is-cart table.cart td.product-name dl.variation dt{margin:0;float:none}
.kjj-is-cart table.cart td.product-name dl.variation dd p{margin:0;font-weight:700;color:var(--violet-2)}
.kjj-is-cart table.cart td.product-price{grid-area:pr;font-size:.85rem;color:var(--muted)}
.kjj-is-cart table.cart td.product-price::after{content:" l’unité"}
.kjj-is-cart table.cart td.product-quantity{grid-area:qty;margin-top:8px}
.kjj-is-cart table.cart td.product-subtotal{grid-area:sub;text-align:right!important;font:800 1.12rem var(--font-h);color:var(--violet)}
.kjj-is-cart table.cart td.product-remove{grid-area:rm;justify-self:end;margin-top:8px}
.kjj-is-cart table.cart td.product-remove a.remove{width:auto!important;height:auto!important;font-size:0!important;color:var(--muted)!important;background:none!important;display:inline-flex;align-items:center;gap:6px;border-radius:0}
.kjj-is-cart table.cart td.product-remove a.remove::after{content:"Retirer";font:700 .85rem var(--font-b)}
.kjj-is-cart table.cart td.product-remove a.remove:hover{color:var(--corail)!important}
.kjj-is-cart table.cart tr:not(.cart_item){display:block}
.kjj-is-cart table.cart td.actions{display:flex!important;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;padding:18px 22px!important}
.kjj-is-cart table.cart td.actions .coupon{display:flex;gap:8px;flex:1;min-width:260px;float:none!important}
.kjj-is-cart table.cart td.actions .coupon .input-text{width:auto!important;flex:1;min-height:44px;padding:10px 14px}
.kjj-is-cart table.cart td.actions .coupon .button{padding:10px 18px;background:transparent;border:2px solid var(--violet);color:var(--violet)}
.kjj-is-cart table.cart td.actions>.button{background:var(--lilas-2);color:var(--violet-2);padding:10px 18px;font-size:.9rem;float:none!important}
.kjj-is-cart .cart_totals h2{font-size:1.3rem;margin-bottom:16px}
.kjj .cart_totals table.shop_table,.kjj .woocommerce-checkout-review-order-table{border:0!important;margin:0 0 10px!important;border-collapse:collapse;width:100%}
.kjj .cart_totals table.shop_table tr,.kjj .woocommerce-checkout-review-order-table tr{display:flex;justify-content:space-between;gap:12px;padding:8px 0}
.kjj .cart_totals table.shop_table th,.kjj .cart_totals table.shop_table td,.kjj .woocommerce-checkout-review-order-table th,.kjj .woocommerce-checkout-review-order-table td{border:0!important;padding:0!important;background:none!important;font-weight:600;text-align:right}
.kjj .cart_totals table.shop_table th,.kjj .woocommerce-checkout-review-order-table th{text-align:left;font-weight:600;color:var(--ink)}
.kjj .cart_totals tr.woocommerce-shipping-totals,.kjj .woocommerce-checkout-review-order-table tr.woocommerce-shipping-totals{flex-direction:column}
.kjj .cart_totals tr.woocommerce-shipping-totals td,.kjj .woocommerce-checkout-review-order-table tr.woocommerce-shipping-totals td{text-align:left!important}
.kjj #shipping_method{list-style:none;margin:6px 0 0!important;padding:0;display:grid;gap:6px}
.kjj #shipping_method li{display:flex;align-items:center;gap:8px;margin:0!important;font-size:.92rem;text-indent:0!important;padding:0!important}
.kjj #shipping_method li input{margin:0!important}
.kjj .woocommerce-shipping-destination,.kjj .shipping-calculator-button{font-size:.84rem;color:var(--muted)}
.kjj .cart_totals tr.order-total,.kjj .woocommerce-checkout-review-order-table tr.order-total{border-top:2px solid var(--line)!important;margin-top:10px;padding-top:16px}
.kjj .cart_totals tr.order-total th,.kjj .cart_totals tr.order-total td,.kjj .woocommerce-checkout-review-order-table tr.order-total th,.kjj .woocommerce-checkout-review-order-table tr.order-total td{font:800 1.3rem var(--font-h)!important;color:var(--violet)!important}
.kjj .order-total .includes_tax{display:block;font:600 .78rem var(--font-b);color:var(--muted)}
.kjj .wc-proceed-to-checkout{padding:10px 0 0!important}
.kjj .wc-proceed-to-checkout .checkout-button{width:100%;padding:16px!important;font-size:1.05rem!important;margin:0!important;display:flex!important}
.kjj-secure{display:flex;align-items:center;gap:8px;justify-content:center;margin:14px 0 0;font-size:.84rem;color:var(--muted)}
.kjj-is-cart .cart-empty,.kjj-is-cart .wc-empty-cart-message{text-align:center}
.kjj-is-cart .woocommerce:not(:has(.woocommerce-cart-form)){text-align:center;background:#fff;border:1px dashed #d7cfe6;border-radius:24px;padding:50px 20px}
.kjj-cart-empty-ic{font-size:3rem}
.kjj-is-cart .cart-empty.woocommerce-info{background:none;justify-content:center;padding:0!important;font:700 1.4rem var(--font-h);color:var(--violet)}
.kjj-is-cart .cart-empty.woocommerce-info::before{display:none}
.kjj-is-cart .return-to-shop .button{background:var(--jaune);color:var(--violet)}

/* ---------- Commande ---------- */
.kjj-is-checkout .woocommerce-form-coupon-toggle .woocommerce-info,.kjj-is-checkout .woocommerce-form-login-toggle .woocommerce-info{background:#fff;border:1px solid var(--line)!important}
.kjj-is-checkout form.checkout_coupon,.kjj-is-checkout form.woocommerce-form-login{border:1px solid var(--line)!important;border-radius:20px!important;background:#fff;padding:20px!important;margin:0 0 20px!important}
.kjj-is-checkout form.checkout{display:grid;grid-template-columns:minmax(0,1fr) 420px;gap:0 36px;align-items:start}
.kjj-is-checkout form.checkout>*{grid-column:1/-1}
.kjj-is-checkout form.checkout>.kjj-co-left{grid-column:1}
.kjj-is-checkout form.checkout>.kjj-co-right{grid-column:2;position:sticky;top:110px;background:#fff;border:1px solid var(--line);border-radius:24px;padding:26px}
.kjj-is-checkout #customer_details.col2-set{width:auto;float:none}
.kjj-is-checkout .col2-set .col-1,.kjj-is-checkout .col2-set .col-2{float:none!important;width:auto!important;max-width:none!important;padding:0!important;flex:none!important}
.kjj-is-checkout .woocommerce-billing-fields,.kjj-is-checkout .woocommerce-shipping-fields,.kjj-is-checkout .woocommerce-additional-fields{background:#fff;border:1px solid var(--line);border-radius:24px;padding:28px;margin-bottom:22px}
.kjj-is-checkout .woocommerce-shipping-fields:not(:has(input)),.kjj-is-checkout .woocommerce-additional-fields:empty{display:none}
.kjj-is-checkout .woocommerce-billing-fields h3,.kjj-is-checkout .woocommerce-shipping-fields h3,.kjj-is-checkout .woocommerce-additional-fields h3,.kjj-is-checkout #order_review_heading{font-size:1.25rem;margin:0 0 18px;display:flex;align-items:center;gap:10px}
.kjj-is-checkout #ship-to-different-address{font-size:1rem!important}
.kjj-is-checkout #ship-to-different-address label{display:flex;gap:10px;align-items:center;cursor:pointer;font-weight:700}
.kjj-is-checkout .woocommerce-billing-fields__field-wrapper,.kjj-is-checkout .woocommerce-shipping-fields__field-wrapper{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}
.kjj-is-checkout .woocommerce-billing-fields__field-wrapper>*,.kjj-is-checkout .woocommerce-shipping-fields__field-wrapper>*{grid-column:1/-1;width:auto!important;float:none!important}
.kjj-is-checkout .woocommerce-billing-fields__field-wrapper>.form-row-first,.kjj-is-checkout .woocommerce-shipping-fields__field-wrapper>.form-row-first{grid-column:1}
.kjj-is-checkout .woocommerce-billing-fields__field-wrapper>.form-row-last,.kjj-is-checkout .woocommerce-shipping-fields__field-wrapper>.form-row-last{grid-column:2}
.kjj-is-checkout .woocommerce-checkout-review-order-table thead{display:none}
.kjj-is-checkout .woocommerce-checkout-review-order-table tbody{display:grid;gap:4px;margin-bottom:10px;max-height:340px;overflow:auto}
.kjj-is-checkout .woocommerce-checkout-review-order-table td.product-name{text-align:left!important;font-weight:700;color:var(--violet);font-size:.9rem;line-height:1.3}
.kjj-is-checkout .woocommerce-checkout-review-order-table td.product-name .product-quantity{color:var(--muted);font-weight:800}
.kjj-is-checkout .woocommerce-checkout-review-order-table td.product-name dl.variation{font-size:.78rem;color:var(--muted);font-weight:600;margin:2px 0 0}
.kjj-is-checkout .woocommerce-checkout-review-order-table td.product-name dl.variation dd,.kjj-is-checkout .woocommerce-checkout-review-order-table td.product-name dl.variation dt{display:inline;margin:0;float:none}
.kjj-is-checkout .woocommerce-checkout-review-order-table td.product-name dl.variation p{display:inline;margin:0}
.kjj-is-checkout .woocommerce-checkout-review-order-table tfoot{display:block;border-top:1px solid var(--line);padding-top:8px}
.kjj-is-checkout #payment{background:none!important;border-radius:0!important;margin-top:18px}
.kjj-is-checkout #payment ul.payment_methods{border:0!important;padding:0!important;margin:0 0 16px!important;display:grid;gap:10px;list-style:none}
.kjj-is-checkout #payment ul.payment_methods li{border:1.5px solid var(--line);border-radius:16px;padding:14px 16px!important;margin:0!important;line-height:1.4;background:#fff;list-style:none}
.kjj-is-checkout #payment ul.payment_methods li:has(input:checked){border-color:var(--violet);background:var(--lilas-2)}
.kjj-is-checkout #payment ul.payment_methods li>input{margin:0 10px 0 0!important;vertical-align:middle;width:18px;height:18px}
.kjj-is-checkout #payment ul.payment_methods li>label{font-weight:800;color:var(--violet);display:inline!important;cursor:pointer}
.kjj-is-checkout #payment ul.payment_methods li img{max-height:24px;width:auto;display:inline-block;vertical-align:middle;margin:0 0 0 6px;float:none}
.kjj-is-checkout #payment div.payment_box{background:transparent!important;color:var(--muted)!important;padding:10px 0 0!important;margin:0!important;font-size:.9rem}
.kjj-is-checkout #payment div.payment_box::before{display:none!important}
.kjj-is-checkout #payment .place-order{padding:0!important;margin:0!important;float:none}
.kjj-is-checkout #payment .woocommerce-terms-and-conditions-wrapper{font-size:.86rem;color:var(--muted);margin-bottom:14px}
.kjj-is-checkout #payment .woocommerce-privacy-policy-text p{margin:0 0 10px}
.kjj-is-checkout #place_order{width:100%;padding:17px!important;font-size:1.08rem!important;float:none!important;margin:0!important}
.kjj-is-checkout .woocommerce-form__label-for-checkbox{display:flex!important;gap:10px;align-items:flex-start;font-weight:600}

/* ---------- Confirmation de commande ---------- */
.kjj .woocommerce-order{max-width:820px;margin:0 auto}
.kjj .woocommerce-thankyou-order-received{background:#e9f7ee;color:var(--vert-ok);border-radius:20px;padding:22px 24px;font:700 1.25rem var(--font-h);text-align:center;margin-bottom:26px}
.kjj ul.woocommerce-order-overview{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;list-style:none;padding:0!important;margin:0 0 30px!important}
.kjj ul.woocommerce-order-overview li{border:1px solid var(--line)!important;border-radius:16px;background:#fff;padding:14px 16px!important;margin:0!important;font-size:.78rem!important;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}
.kjj ul.woocommerce-order-overview li strong{display:block;font:800 1rem var(--font-h);text-transform:none;letter-spacing:0;color:var(--violet);margin-top:4px}
.kjj .woocommerce-order-details,.kjj .woocommerce-customer-details{background:#fff;border:1px solid var(--line);border-radius:24px;padding:26px;margin-bottom:22px}
.kjj .woocommerce-order-details table.shop_table{border:0;margin:0}
.kjj .woocommerce-order-details table.shop_table th,.kjj .woocommerce-order-details table.shop_table td{border-color:var(--line)!important;padding:10px 6px!important}
.kjj .woocommerce-customer-details address{border:0!important;padding:0!important;font-style:normal}

/* ---------- Mon compte ---------- */
.kjj .woocommerce-account .woocommerce:has(.woocommerce-MyAccount-navigation),.kjj.woocommerce-account .kjj-wc-page>.woocommerce:has(.woocommerce-MyAccount-navigation){display:grid;grid-template-columns:260px minmax(0,1fr);gap:36px;align-items:start}
.kjj .woocommerce-MyAccount-navigation{width:auto!important;float:none!important;background:#fff;border:1px solid var(--line);border-radius:22px;padding:12px}
.kjj .woocommerce-MyAccount-navigation ul{list-style:none;margin:0;padding:0;display:grid;gap:2px}
.kjj .woocommerce-MyAccount-navigation a{display:block;padding:11px 14px;border-radius:12px;font-weight:700;color:var(--violet-2)}
.kjj .woocommerce-MyAccount-navigation .is-active a,.kjj .woocommerce-MyAccount-navigation a:hover{background:var(--lilas);color:var(--violet)}
.kjj .woocommerce-MyAccount-content{width:auto!important;float:none!important;background:#fff;border:1px solid var(--line);border-radius:22px;padding:28px}
.kjj .woocommerce form.login,.kjj .woocommerce form.register{border:1px solid var(--line)!important;border-radius:24px!important;background:#fff;padding:28px!important;margin:0!important}
.kjj .woocommerce .u-columns.col2-set{display:grid;grid-template-columns:1fr 1fr;gap:28px}
.kjj .woocommerce .u-columns.col2-set .u-column1,.kjj .woocommerce .u-columns.col2-set .u-column2{width:auto!important;float:none!important}
.kjj table.shop_table.my_account_orders,.kjj .woocommerce-orders-table{border-radius:16px!important;overflow:hidden}

/* ---------- Responsive ---------- */
@media (max-width:1100px){
  .kjj-shop{grid-template-columns:1fr}
  .kjj-filters{position:fixed;left:0;top:0;bottom:0;width:min(380px,92vw);max-height:none;border-radius:0;z-index:210;transform:translateX(-105%);transition:transform .28s ease;visibility:hidden;padding:0 20px 20px}
  .kjj-filters.open{transform:none;visibility:visible}
  .kjj-filters-hd{display:flex;position:sticky;top:0;background:#fff;z-index:1}
  .kjj-filters-apply,.kjj-filters-open{display:inline-flex!important}
  .kjj-filters-ft{position:sticky;bottom:0;background:#fff;padding-bottom:4px}
  .kjj-product-page .related ul.products,.kjj-product-page .upsells ul.products,.kjj .cross-sells ul.products{grid-auto-columns:calc((100% - 48px)/3)}
  .kjj-is-checkout form.checkout{grid-template-columns:minmax(0,1fr) 360px;gap:0 24px}
}
@media (max-width:900px){
  .kjj-product-page div.product{grid-template-columns:1fr;gap:28px}
  .kjj-product-page div.product>div.images,.kjj-product-page div.product>.woocommerce-product-gallery,.kjj-product-page div.product>div.summary{grid-column:1;position:static}
  .kjj-product-page .woocommerce-product-gallery{grid-template-columns:1fr}
  .kjj-product-page .woocommerce-product-gallery>*{grid-column:1;grid-row:auto}
  .kjj-product-page .woocommerce-product-gallery .flex-control-thumbs{grid-column:1;grid-row:2;flex-direction:row;max-height:none;overflow-x:auto}
  .kjj-product-page .woocommerce-product-gallery .flex-control-thumbs li{width:72px!important}
  .kjj-is-cart .woocommerce:has(.woocommerce-cart-form){grid-template-columns:1fr;grid-template-areas:"steps" "notes" "form" "tot" "cross"}
  .kjj-is-cart .cart-collaterals .cart_totals{position:static;margin-top:24px}
  .kjj-is-checkout form.checkout{grid-template-columns:1fr}
  .kjj-is-checkout form.checkout>.kjj-co-left,.kjj-is-checkout form.checkout>.kjj-co-right{grid-column:1;position:static}
  .kjj .woocommerce-account .woocommerce:has(.woocommerce-MyAccount-navigation),.kjj.woocommerce-account .kjj-wc-page>.woocommerce:has(.woocommerce-MyAccount-navigation){grid-template-columns:1fr}
  .kjj .woocommerce .u-columns.col2-set{grid-template-columns:1fr}
}
@media (max-width:767px){
  .kjj-toolbar .kjj-view{display:none}
  .kjj-product-page .related ul.products,.kjj-product-page .upsells ul.products,.kjj .cross-sells ul.products{grid-auto-columns:72%}
  .kjj-is-cart table.cart tr.cart_item{grid-template-columns:80px minmax(0,1fr);grid-template-areas:"th nm" "th pr" "th sub" "qty rm";padding:16px}
  .kjj-is-cart table.cart td.product-thumbnail img{width:80px!important;height:80px}
  .kjj-is-cart table.cart td.product-subtotal{text-align:left!important}
  .kjj-is-checkout .woocommerce-billing-fields__field-wrapper,.kjj-is-checkout .woocommerce-shipping-fields__field-wrapper{grid-template-columns:1fr}
  .kjj-is-checkout .woocommerce-billing-fields__field-wrapper>.form-row-first,.kjj-is-checkout .woocommerce-billing-fields__field-wrapper>.form-row-last,.kjj-is-checkout .woocommerce-shipping-fields__field-wrapper>.form-row-first,.kjj-is-checkout .woocommerce-shipping-fields__field-wrapper>.form-row-last{grid-column:1}
  .kjj-is-checkout .woocommerce-billing-fields,.kjj-is-checkout .woocommerce-shipping-fields,.kjj-is-checkout .woocommerce-additional-fields,.kjj-is-checkout form.checkout>.kjj-co-right{padding:20px}
  .kjj-step:not(:last-child)::after{width:16px}
  .kjj-step{font-size:.82rem}
}
