/* WooCommerce — univers visuel Kakurii. Uniquement sur les pages WooCommerce. */
.kakurii-shop, body.woocommerce-cart .content, body.woocommerce-checkout .content, body.woocommerce-account .content { color:var(--cream); }
.kakurii-shop-container, body.woocommerce-cart .entry-content, body.woocommerce-checkout .entry-content, body.woocommerce-account .entry-content { width:min(1200px,calc(100% - 36px)); margin:35px auto 100px; }
.kakurii-shop :is(h1,h2,h3), body.woocommerce-cart :is(h1,h2,h3), body.woocommerce-checkout :is(h1,h2,h3), body.woocommerce-account :is(h1,h2,h3) { color:var(--acid); line-height:1.12; }
.kakurii-shop h1 { text-align:center; font-size:clamp(42px,6vw,76px); margin:0 0 30px; }
.kakurii-shop h2 { font-size:clamp(28px,3.5vw,42px); }
.kakurii-shop :is(a,button,input,select,textarea), body.woocommerce-cart :is(a,button,input,select,textarea), body.woocommerce-checkout :is(a,button,input,select,textarea), body.woocommerce-account :is(a,button,input,select,textarea) { transition:color .2s,background-color .2s,border-color .2s,transform .2s; }
.kakurii-shop a, body.woocommerce-cart .woocommerce a, body.woocommerce-checkout .woocommerce a, body.woocommerce-account .woocommerce a { color:var(--acid); }
.kakurii-shop a:hover, body.woocommerce-cart .woocommerce a:hover, body.woocommerce-checkout .woocommerce a:hover, body.woocommerce-account .woocommerce a:hover { color:var(--green); }
.woocommerce .woocommerce-result-count, .woocommerce .woocommerce-ordering { margin-bottom:26px; color:var(--cream); }
.woocommerce .woocommerce-ordering select, .woocommerce :is(input.input-text,textarea,select), .woocommerce-page :is(input.input-text,textarea,select) { min-height:46px; max-width:100%; padding:10px 14px; background:var(--cream); color:var(--night); border:2px solid var(--violet); border-radius:12px; font:17px/1.35 'Nunito Sans',sans-serif; }
.woocommerce :is(input,textarea,select):focus-visible, .woocommerce-page :is(input,textarea,select):focus-visible { outline:3px solid var(--green); outline-offset:2px; }
.woocommerce ul.products { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:36px 18px; margin:0 0 45px; padding:0; clear:both; }
.woocommerce ul.products::before, .woocommerce ul.products::after { display:none; }
.woocommerce ul.products li.product, .woocommerce-page ul.products li.product { width:auto !important; float:none !important; margin:0 !important; min-width:0; text-align:center; }
.woocommerce ul.products li.product a img { display:block; width:100%; aspect-ratio:1; object-fit:contain; object-position:center; margin:0 0 12px; transition:transform .25s ease; }
.woocommerce ul.products li.product a:hover img { transform:scale(1.045) rotate(-2deg); }
.woocommerce ul.products li.product .woocommerce-loop-product__title { font:normal clamp(23px,2.7vw,32px)/1.2 'Knewave',cursive; color:var(--acid); padding:5px 0; }
.woocommerce ul.products li.product .price, .woocommerce div.product p.price, .woocommerce div.product span.price { color:var(--cream); font:normal clamp(21px,2vw,27px)/1.3 'Tovari',sans-serif; }
.woocommerce ul.products li.product .price del, .woocommerce div.product .price del { opacity:1; color:#f9a8c6; }
.woocommerce ul.products li.product .onsale, .woocommerce span.onsale { background:#ff4381; color:var(--cream); border-radius:999px; font:normal 17px/1.2 'Knewave',cursive; padding:10px 14px; min-height:0; min-width:0; }
.woocommerce :is(a.button,button.button,input.button,a.button.alt,button.button.alt,input.button.alt), .woocommerce-page :is(a.button,button.button,input.button,a.button.alt,button.button.alt,input.button.alt), .woocommerce #respond input#submit, .woocommerce-page #respond input#submit { display:inline-flex; align-items:center; justify-content:center; min-height:46px; padding:10px 20px; background:#ff4381; color:var(--acid); border:0; border-radius:14px; font:normal 19px/1.2 'Knewave',cursive; text-decoration:none; cursor:pointer; box-shadow:none; }
.woocommerce :is(a.button,button.button,input.button,a.button.alt,button.button.alt,input.button.alt):hover, .woocommerce-page :is(a.button,button.button,input.button,a.button.alt,button.button.alt,input.button.alt):hover, .woocommerce #respond input#submit:hover { background:var(--green); color:var(--night); transform:translateY(-2px); }
.woocommerce :is(a.button,button.button,input.button):disabled, .woocommerce :is(a.button,button.button,input.button).disabled { opacity:.65; cursor:not-allowed; }
.woocommerce nav.woocommerce-pagination ul { border:0; display:flex; justify-content:center; gap:10px; }
.woocommerce nav.woocommerce-pagination ul li { border:0; }
.woocommerce nav.woocommerce-pagination ul li :is(a,span) { border-radius:12px; padding:12px 17px; background:var(--violet); color:var(--cream); font:22px/1 'Knewave',cursive; }
.woocommerce nav.woocommerce-pagination ul li a:hover, .woocommerce nav.woocommerce-pagination ul li span.current { background:var(--green); color:var(--night); }
/* Fiche produit */
.woocommerce div.product { display:flow-root; }
.woocommerce div.product div.images img { border-radius:20px; }
.woocommerce div.product div.images .flex-control-thumbs { display:flex; flex-wrap:wrap; gap:10px; margin-top:12px; }
.woocommerce div.product div.images .flex-control-thumbs li { float:none; width:calc((100% - 30px)/4); }
.woocommerce div.product div.images .flex-control-thumbs img { border-radius:12px; }
.woocommerce div.product .product_title { text-align:left; font-size:clamp(35px,5vw,60px); }
.woocommerce div.product .woocommerce-product-details__short-description { font-size:22px; line-height:1.5; }
.woocommerce div.product form.cart { display:flex; flex-wrap:wrap; gap:12px; align-items:center; }
.woocommerce div.product form.cart .quantity { float:none; margin:0; }
.woocommerce .quantity .qty { width:80px; }
.woocommerce div.product .product_meta { display:grid; gap:7px; font-size:17px; }
.woocommerce div.product .product_meta a { color:var(--acid); }
.woocommerce div.product .woocommerce-tabs ul.tabs { display:flex; flex-wrap:wrap; gap:8px; padding:0; border-bottom:2px solid var(--violet); }
.woocommerce div.product .woocommerce-tabs ul.tabs::before, .woocommerce div.product .woocommerce-tabs ul.tabs li::before, .woocommerce div.product .woocommerce-tabs ul.tabs li::after { display:none; }
.woocommerce div.product .woocommerce-tabs ul.tabs li { margin:0; border:0; border-radius:12px 12px 0 0; background:var(--violet); padding:0; }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active { background:var(--green); }
.woocommerce div.product .woocommerce-tabs ul.tabs li a { color:var(--cream); padding:12px 18px; }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a { color:var(--night); }
.woocommerce div.product .woocommerce-tabs .panel { line-height:1.55; font-size:19px; }
.woocommerce #reviews #comments ol.commentlist li .comment-text { border:2px solid var(--violet); border-radius:15px; }
.woocommerce .star-rating, .woocommerce p.stars a { color:var(--acid); }
.woocommerce table.shop_attributes { border-color:var(--violet); }
.woocommerce table.shop_attributes :is(th,td) { background:transparent !important; border-color:var(--violet); }
/* Panier, commande, compte : également pour les blocs WooCommerce récents. */
.woocommerce :is(table.shop_table,table.woocommerce-table), .woocommerce-page :is(table.shop_table,table.woocommerce-table) { border:2px solid var(--violet); border-radius:15px; border-collapse:separate; overflow:hidden; }
.woocommerce :is(table.shop_table,table.woocommerce-table) :is(th,td) { border-color:var(--violet); padding:15px; }
.woocommerce table.shop_table td.product-thumbnail img { width:85px; border-radius:12px; }
.woocommerce .cart-collaterals .cart_totals, .woocommerce .woocommerce-checkout-review-order, .woocommerce .woocommerce-billing-fields, .woocommerce .woocommerce-shipping-fields, .woocommerce .woocommerce-additional-fields, .woocommerce .woocommerce-MyAccount-content { padding:18px; border-radius:18px; }
.woocommerce :is(.woocommerce-info,.woocommerce-message,.woocommerce-error), .woocommerce-page :is(.woocommerce-info,.woocommerce-message,.woocommerce-error) { background:var(--cream); color:var(--night); border-top:4px solid var(--green); border-radius:12px; padding:20px 22px 20px 48px; }
.woocommerce :is(.woocommerce-info,.woocommerce-message,.woocommerce-error) a { color:var(--violet); }
.woocommerce form.checkout_coupon, .woocommerce form.login, .woocommerce form.register { border:2px solid var(--violet); border-radius:16px; }
.woocommerce form .form-row label { color:var(--cream); }
.woocommerce .select2-container .select2-selection--single { min-height:46px; border:2px solid var(--violet); border-radius:12px; background:var(--cream); }
.woocommerce .select2-container .select2-selection--single .select2-selection__rendered { line-height:42px; color:var(--night); }
.woocommerce .select2-container .select2-selection--single .select2-selection__arrow { height:44px; }
.woocommerce #payment { background:var(--cream); color:var(--night); border-radius:16px; }
.woocommerce #payment div.payment_box { background:#e8e0fa; color:var(--night); }
.woocommerce #payment div.payment_box::before { border-bottom-color:#e8e0fa; }
.woocommerce #payment .payment_methods { border-bottom-color:var(--violet); }
.woocommerce .woocommerce-MyAccount-navigation ul { list-style:none; margin:0 0 25px; padding:0; display:grid; gap:8px; }
.woocommerce .woocommerce-MyAccount-navigation a { display:block; padding:12px 16px; background:var(--violet); color:var(--cream); border-radius:12px; text-decoration:none; }
.woocommerce .woocommerce-MyAccount-navigation a:hover, .woocommerce .woocommerce-MyAccount-navigation .is-active a { background:var(--green); color:var(--night); }
.wc-block-components-button:not(.is-link), .wp-block-woocommerce-cart .wc-block-components-button:not(.is-link), .wp-block-woocommerce-checkout .wc-block-components-button:not(.is-link) { background:#ff4381 !important; color:var(--acid) !important; border-radius:14px !important; font:normal 20px/1.2 'Knewave',cursive !important; }
.wc-block-components-button:not(.is-link):hover { background:var(--green) !important; color:var(--night) !important; }
.wc-block-components-text-input input, .wc-block-components-combobox input, .wc-block-components-quantity-selector { border-radius:10px !important; }
.wc-block-components-product-name, .wc-block-cart-item__product .wc-block-components-product-name { color:var(--acid) !important; }
.wc-block-components-sidebar, .wc-block-components-main { min-width:0; }
.wc-block-components-notice-banner { border-radius:12px; }
@media (min-width:700px) { .woocommerce ul.products { grid-template-columns:repeat(3,minmax(0,1fr)); gap:45px 26px; } }
@media (max-width:699px) {
 .kakurii-shop-container, body.woocommerce-cart .entry-content, body.woocommerce-checkout .entry-content, body.woocommerce-account .entry-content { width:calc(100% - 30px); margin:20px auto 65px; }
 .woocommerce div.product .product_title { font-size:38px; }
 .woocommerce div.product div.images, .woocommerce div.product div.summary { float:none; width:100%; }
 .woocommerce ul.products li.product .woocommerce-loop-product__title { font-size:22px; }
 .woocommerce ul.products li.product .price { font-size:19px; }
 .woocommerce :is(a.button,button.button,input.button) { font-size:17px; padding:10px 12px; }
 .woocommerce table.shop_table_responsive tr td::before { color:var(--acid); }
}
@media (prefers-reduced-motion:reduce) { .woocommerce ul.products li.product a img { transition:none; } }

/* Catalogue pleine largeur : aucune colonne de widgets ni puces de listes. */
.kakurii-shop-container { width:min(1200px,calc(100% - 36px)); margin-inline:auto; }
.kakurii-shop .widget-area,
.kakurii-shop #secondary,
.kakurii-shop .woocommerce-sidebar { display:none !important; }
.kakurii-shop .woocommerce,
.kakurii-shop .woocommerce-notices-wrapper { width:100%; min-width:0; }
.kakurii-shop ul.products,
.kakurii-shop ul.products > li { list-style:none; }
.kakurii-shop ul.products > li::marker { content:''; }
.kakurii-shop .woocommerce-products-header { text-align:center; margin-bottom:36px; }
.kakurii-shop .woocommerce-products-header__title { display:none; }
@media(min-width:700px) {
  .kakurii-shop ul.products { grid-template-columns:repeat(3,minmax(0,1fr)); gap:36px 24px; }
}
@media(max-width:420px) {
  .kakurii-shop ul.products { grid-template-columns:1fr; }
}

/* Les visuels transparents restent entiers, y compris sur la fiche produit. */
.kakurii-shop .woocommerce-product-gallery__image img, .kakurii-shop .flex-control-thumbs img { object-fit:contain; object-position:center; }

/* Panier compact, sous la navigation, uniquement sur les pages WooCommerce. */
.kakurii-cart-strip { width:100%; position:relative; z-index:5; }
.kakurii-cart-strip-inner { max-width:1200px; width:calc(100% - 36px); margin:0 auto; display:flex; justify-content:flex-end; padding:12px 0 0; }
.kakurii-cart-link { display:inline-flex; align-items:center; justify-content:center; gap:10px; min-height:46px; padding:8px 14px; background:#ff4381; border-radius:14px; color:var(--cream); text-decoration:none; font:normal 19px/1.2 'Knewave',cursive; transition:background-color .2s,color .2s,transform .2s; }
.kakurii-cart-link svg { width:24px; height:24px; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; flex:none; }
.kakurii-cart-link .kakurii-cart-count { display:grid; place-items:center; min-width:27px; height:27px; padding:0 6px; border-radius:50px; background:var(--cream); color:var(--night); font:700 15px/1 'Nunito Sans',sans-serif; }
.kakurii-cart-link:hover, .kakurii-cart-link:focus-visible { background:var(--green); color:var(--night); transform:translateY(-2px); }
.kakurii-cart-link:focus-visible { outline:2px solid var(--cream); outline-offset:3px; }
@media(max-width:600px) { .kakurii-cart-strip-inner { width:calc(100% - 30px); padding-top:10px; } .kakurii-cart-link { font-size:17px; } }


/* Catégories Goodies : sous le panier, centrées, sur plusieurs lignes si nécessaire. */
.kakurii-shop-categories { width:min(1200px,calc(100% - 36px)); margin:20px auto 18px; display:flex; justify-content:center; align-items:center; flex-wrap:wrap; gap:10px 14px; }
.kakurii-shop-category { display:inline-flex; justify-content:center; align-items:center; min-height:42px; padding:9px 18px; border:2px solid var(--violet); border-radius:999px; background:var(--violet); color:var(--cream); text-decoration:none; font:normal 18px/1.2 'Knewave',cursive; transition:background-color .2s,color .2s,border-color .2s; }
.kakurii-shop-category:hover,.kakurii-shop-category:focus-visible { background:var(--green); color:var(--night); border-color:var(--green); }
.kakurii-shop-category.is-active { background:var(--green); border-color:var(--green); color:var(--night); }
@media(max-width:600px) { .kakurii-shop-categories { width:calc(100% - 30px); margin-top:16px; gap:8px; } .kakurii-shop-category { font-size:16px; padding:8px 13px; } }


/* Refonte boutique 2026 : surfaces creme, hierarchy claire, composants WooCommerce natifs. */
body.woocommerce, body.woocommerce-page { --shop-ink:#2e2d49; --shop-paper:var(--cream,#fff5e7); --shop-pink:#ff4381; --shop-border:rgba(46,45,73,.16); }
body.woocommerce .kakurii-shop, body.woocommerce-page .content { color:var(--shop-ink); }
body.woocommerce .kakurii-shop-container,
body.woocommerce-cart .content > .univers-container,
body.woocommerce-checkout .content > .univers-container,
body.woocommerce-account .content > .univers-container { box-sizing:border-box; width:min(1320px,calc(100% - 36px)); max-width:none; margin:22px auto 90px; padding:clamp(24px,4.5vw,64px); border-radius:26px; background:var(--shop-paper); color:var(--shop-ink); }
body.woocommerce .kakurii-shop :is(h1,h2,h3,h4), body.woocommerce-page .content :is(h1,h2,h3,h4) { color:var(--shop-ink); }
body.woocommerce .kakurii-shop a, body.woocommerce-page .content .woocommerce a { color:var(--shop-ink); }
body.woocommerce .kakurii-shop a:hover, body.woocommerce-page .content .woocommerce a:hover { color:#169858; }
body.woocommerce .kakurii-shop .woocommerce-loop-product__title { color:var(--shop-ink)!important; font-size:clamp(21px,2.1vw,29px); }
body.woocommerce .kakurii-shop :is(.price,p.price,span.price),body.woocommerce-page .content .woocommerce .amount { color:var(--shop-ink); }
body.woocommerce .kakurii-shop ul.products { gap:clamp(18px,3vw,36px); }
body.woocommerce .kakurii-shop ul.products li.product { display:flex; flex-direction:column; padding:12px 12px 20px; background:#fffdf8; border:1px solid var(--shop-border); border-radius:20px; overflow:hidden; box-shadow:0 6px 22px rgba(46,45,73,.045); transition:transform .2s,box-shadow .2s; }
body.woocommerce .kakurii-shop ul.products li.product:hover { transform:translateY(-3px); box-shadow:0 12px 30px rgba(46,45,73,.09); }
body.woocommerce .kakurii-shop ul.products li.product a.woocommerce-LoopProduct-link { display:block; flex:1; text-decoration:none; }
body.woocommerce .kakurii-shop ul.products li.product a img { aspect-ratio:1; width:100%; height:auto; object-fit:contain; object-position:center; border-radius:14px; padding:12px; box-sizing:border-box; background:#f9f2ea; }
body.woocommerce .kakurii-shop ul.products li.product .price { margin:8px 0 14px; font-size:23px; }
body.woocommerce .kakurii-shop ul.products li.product .button { align-self:center; margin-top:auto; }
body.woocommerce .kakurii-shop .onsale { background:var(--shop-pink); color:#fff; }
body.woocommerce .kakurii-shop :is(.button,button.button,input.button,a.button.alt,button.button.alt), body.woocommerce-page .content .woocommerce :is(.button,button.button,input.button,a.button.alt,button.button.alt) { background:var(--shop-pink); color:#fff; border-radius:12px; box-shadow:none; min-height:48px; }
body.woocommerce .kakurii-shop :is(.button,button.button,input.button,a.button.alt,button.button.alt):hover,body.woocommerce-page .content .woocommerce :is(.button,button.button,input.button,a.button.alt,button.button.alt):hover { background:var(--green,#36e983); color:var(--shop-ink); }
body.woocommerce .kakurii-shop :is(input.input-text,textarea,select),body.woocommerce-page .content .woocommerce :is(input.input-text,textarea,select) { background:#fffdf8; border:1.5px solid var(--shop-border); color:var(--shop-ink); }
body.woocommerce .kakurii-shop div.product .product_title { color:var(--shop-ink); }
body.woocommerce .kakurii-shop div.product .woocommerce-product-gallery__image img { width:100%; height:auto; max-height:660px; object-fit:contain; background:#f9f2ea; border-radius:20px; }
body.woocommerce .kakurii-shop div.product .summary { line-height:1.5; }
body.woocommerce .kakurii-shop div.product .woocommerce-product-details__short-description { font-size:clamp(18px,2vw,22px); }
body.woocommerce .kakurii-shop div.product .woocommerce-tabs ul.tabs { border-bottom-color:var(--shop-border); }
body.woocommerce .kakurii-shop div.product .woocommerce-tabs ul.tabs li { background:#efe6de; }
body.woocommerce .kakurii-shop div.product .woocommerce-tabs ul.tabs li a { color:var(--shop-ink); }
body.woocommerce .kakurii-shop div.product .woocommerce-tabs ul.tabs li.active { background:var(--green,#36e983); }
body.woocommerce .kakurii-shop :is(.woocommerce-breadcrumb,.product_meta,.woocommerce-tabs .panel) { color:var(--shop-ink); }
body.woocommerce-page .content .woocommerce form .form-row label { color:var(--shop-ink); }
body.woocommerce-page .content .woocommerce :is(.woocommerce-info,.woocommerce-message,.woocommerce-error) { color:var(--shop-ink); background:#fffdf8; }
body.woocommerce-page .content .woocommerce :is(.woocommerce-info,.woocommerce-message,.woocommerce-error) a { color:var(--shop-ink); text-decoration:underline; }
body.woocommerce-page .content .woocommerce table.shop_table { border:1px solid var(--shop-border); background:#fffdf8; }
body.woocommerce-page .content .woocommerce table.shop_table :is(th,td) { border-color:var(--shop-border); }
body.woocommerce-page .content .woocommerce .cart-collaterals .cart_totals { background:#fffdf8; border:1px solid var(--shop-border); }
body.woocommerce-page .content .woocommerce .woocommerce-MyAccount-navigation a { background:#eae1d9; color:var(--shop-ink); }
body.woocommerce-page .content .woocommerce .woocommerce-MyAccount-navigation :is(a:hover,.is-active a) { background:var(--green,#36e983); }
body.woocommerce-page .content .wc-block-components-product-name,body.woocommerce-page .content .wc-block-cart-item__product .wc-block-components-product-name { color:var(--shop-ink)!important; }
body.woocommerce-page .content .wc-block-components-button:not(.is-link) { background:var(--shop-pink)!important; color:white!important; border-radius:12px!important; }
body.woocommerce-page .content .wc-block-components-button:not(.is-link):hover { background:var(--green,#36e983)!important; color:var(--shop-ink)!important; }
body.woocommerce-page .content .wc-block-components-text-input input,body.woocommerce-page .content .wc-block-components-combobox input { background:#fffdf8; color:var(--shop-ink); }
body.woocommerce-page .content .wc-block-components-sidebar { background:#fffdf8; border:1px solid var(--shop-border); border-radius:16px; padding:20px; }
body.woocommerce .kakurii-shop-categories { margin-bottom:10px; }
body.woocommerce .kakurii-shop-category { border-color:var(--shop-paper); background:var(--shop-paper); color:var(--shop-ink); }
body.woocommerce .kakurii-shop-category:hover,body.woocommerce .kakurii-shop-category.is-active { background:var(--green,#36e983); border-color:var(--green,#36e983); color:var(--shop-ink); }
/* Tunnel de commande sobre : aucun element promotionnel ni navigation du site. */
body.kakurii-checkout-minimal { background:#f4f1ec; color:#2e2d49; font-family:'Nunito Sans',sans-serif; }
.kakurii-checkout-header { padding:22px 22px 10px; text-align:center; }
.kakurii-checkout-header a { display:inline-flex; align-items:center; justify-content:center; text-decoration:none; }
.kakurii-checkout-header img { width:150px; height:auto; max-height:100px; object-fit:contain; }
.kakurii-checkout-header p { font:700 13px/1.4 'Nunito Sans',sans-serif; letter-spacing:.12em; text-transform:uppercase; color:#57526c; margin:8px 0 0; }
body.kakurii-checkout-minimal .content { margin:0; padding:0; color:#2e2d49; }
body.kakurii-checkout-minimal .content > .univers-container { width:min(1060px,calc(100% - 32px)); margin:24px auto 45px; padding:clamp(22px,4vw,52px); background:#fff; border:1px solid #e9e3dd; border-radius:18px; box-shadow:0 8px 32px rgba(46,45,73,.05); }
body.kakurii-checkout-minimal .content h1 { font-size:clamp(30px,4vw,46px); margin:0 0 28px; color:#2e2d49; }
body.kakurii-checkout-minimal .content :is(h2,h3) { color:#2e2d49; }
body.kakurii-checkout-minimal .content :is(input.input-text,textarea,select) { background:#fff; color:#2e2d49; border:1px solid #c8c3cf; border-radius:8px; }
body.kakurii-checkout-minimal .content .woocommerce form .form-row label { color:#2e2d49; }
body.kakurii-checkout-minimal .content #payment { background:#f8f6f3; border:1px solid #e9e3dd; }
body.kakurii-checkout-minimal .content .woocommerce-checkout-review-order { background:#f8f6f3; }
body.kakurii-checkout-minimal .content .woocommerce :is(.button,button.button,#place_order) { background:#2e2d49; color:#fff; border-radius:9px; }
body.kakurii-checkout-minimal .content .woocommerce :is(.button,button.button,#place_order):hover { background:#36e983; color:#2e2d49; }
body.kakurii-checkout-minimal .content .wc-block-components-button:not(.is-link) { background:#2e2d49!important; color:#fff!important; }
body.kakurii-checkout-minimal .content .wc-block-components-button:not(.is-link):hover { background:#36e983!important; color:#2e2d49!important; }
.kakurii-checkout-footer { display:flex; flex-wrap:wrap; justify-content:center; align-items:center; gap:10px 22px; padding:10px 18px 30px; font:14px/1.5 'Nunito Sans',sans-serif; color:#57526c; }
.kakurii-checkout-footer a { color:#2e2d49; text-decoration:underline; }
@media(max-width:699px) { body.woocommerce .kakurii-shop-container,body.woocommerce-cart .content > .univers-container,body.woocommerce-account .content > .univers-container { width:calc(100% - 24px); padding:20px 14px; border-radius:18px; margin-top:16px; } body.woocommerce .kakurii-shop ul.products { gap:14px; } body.woocommerce .kakurii-shop ul.products li.product { padding:8px 8px 16px; } body.woocommerce .kakurii-shop ul.products li.product a img { padding:6px; } body.kakurii-checkout-minimal .content > .univers-container { width:calc(100% - 20px); padding:22px 15px; } }

/* Goodies : catégories à l'intérieur du panneau crème, produits libres et centrés. */
body.woocommerce .kakurii-shop-container > .kakurii-shop-categories { width:100%; margin:0 auto clamp(25px,4vw,45px); padding:0; display:flex; flex-wrap:wrap; justify-content:center; gap:10px 22px; }
body.woocommerce .kakurii-shop-container .kakurii-shop-category { background:transparent; border:0; border-radius:0; padding:8px 2px; min-height:0; color:var(--shop-pink); font-family:'Knewave',cursive; font-size:clamp(16px,2vw,20px); text-transform:uppercase; text-decoration:none; line-height:1.3; }
body.woocommerce .kakurii-shop-container .kakurii-shop-category.is-active { background:transparent; color:var(--green,#36e983); }
body.woocommerce .kakurii-shop-container .kakurii-shop-category:hover,body.woocommerce .kakurii-shop-container .kakurii-shop-category:focus-visible { background:transparent; color:var(--green,#36e983); }
body.woocommerce .kakurii-shop ul.products { display:flex; flex-wrap:wrap; justify-content:center; align-items:stretch; gap:clamp(20px,3vw,38px); }
body.woocommerce .kakurii-shop ul.products li.product { box-sizing:border-box; flex:0 1 calc((100% - 2 * clamp(20px,3vw,38px))/3); width:auto!important; min-width:0; padding:0 0 12px; background:transparent; border:0; border-radius:0; box-shadow:none; overflow:visible; }
body.woocommerce .kakurii-shop ul.products li.product:hover { box-shadow:none; transform:none; }
body.woocommerce .kakurii-shop ul.products li.product a img { background:transparent; border-radius:0; padding:0; object-fit:contain; }
body.woocommerce .kakurii-shop ul.products li.product .price { color:var(--shop-pink); }
/* Panier en contour, sans aplat rose. */
.kakurii-cart-link { box-sizing:border-box; background:transparent; border:3px solid var(--shop-pink,#ff4381); color:var(--shop-pink,#ff4381); border-radius:14px; }
.kakurii-cart-link:hover,.kakurii-cart-link:focus-visible { background:transparent; border-color:var(--green,#36e983); color:var(--green,#36e983); }
.kakurii-cart-link .kakurii-cart-count { background:transparent; color:inherit; border:2px solid currentColor; }
@media(max-width:900px) { body.woocommerce .kakurii-shop ul.products li.product { flex-basis:calc((100% - clamp(20px,3vw,38px))/2); } }
@media(max-width:560px) { body.woocommerce .kakurii-shop ul.products li.product { flex-basis:100%; max-width:390px; } }
@keyframes kakurii-goodies-enter { from { opacity:0; transform:translateY(16px) scale(.975); } to { opacity:1; transform:translateY(0) scale(1); } }
body.woocommerce .kakurii-shop ul.products.kakurii-products-enter li.product { animation:kakurii-goodies-enter .42s cubic-bezier(.2,.75,.2,1) both; animation-delay:calc(var(--product-index,0) * 45ms); }
@media(prefers-reduced-motion:reduce) { body.woocommerce .kakurii-shop ul.products.kakurii-products-enter li.product { animation:none; } }

/* Finitions catalogue Goodies et panier. */
body.woocommerce .kakurii-shop ul.products li.product .woocommerce-loop-product__title { color:#772faf!important; font-size:24px!important; transition:color .2s ease; }
body.woocommerce .kakurii-shop ul.products li.product:hover .woocommerce-loop-product__title,
body.woocommerce .kakurii-shop ul.products li.product:focus-within .woocommerce-loop-product__title { color:var(--green,#36e983)!important; }
body.woocommerce .kakurii-shop ul.products li.product .price,
body.woocommerce .kakurii-shop ul.products li.product .price .amount { color:var(--shop-ink,#2e2d49)!important; }
body.woocommerce .kakurii-shop ul.products li.product :is(a.button,button.button) { display:inline-flex; align-items:center; justify-content:center; text-align:center; line-height:1.15; padding-block:12px; box-sizing:border-box; }
.kakurii-cart-link .kakurii-cart-total { white-space:nowrap; font:700 17px/1.2 'Nunito Sans',sans-serif; }
.kakurii-cart-link .kakurii-cart-total .amount { color:inherit; }
body.woocommerce .kakurii-shop .woocommerce-message a.button.wc-forward,
body.woocommerce .kakurii-shop .woocommerce-message a:not(.button),
body.woocommerce-page .woocommerce-message a.button.wc-forward { color:var(--green,#36e983)!important; }
body.woocommerce .kakurii-shop .woocommerce-message a.button.wc-forward { background:transparent!important; border:2px solid var(--green,#36e983)!important; }
body.woocommerce .kakurii-shop .woocommerce-message a.button.wc-forward:hover { color:var(--shop-ink,#2e2d49)!important; background:var(--green,#36e983)!important; }

/* Finitions WooCommerce : bords découpés de 10 px sur les panneaux blancs. */
body.woocommerce :is(.woocommerce-tabs .panel,.cart_totals,.woocommerce-checkout-review-order,.wc-block-components-sidebar,.woocommerce-MyAccount-content),
body.woocommerce-page :is(.woocommerce-tabs .panel,.cart_totals,.woocommerce-checkout-review-order,.wc-block-components-sidebar,.woocommerce-MyAccount-content) { position:relative; }
body.woocommerce :is(.woocommerce-tabs .panel,.cart_totals,.woocommerce-checkout-review-order,.wc-block-components-sidebar,.woocommerce-MyAccount-content)::before,
body.woocommerce :is(.woocommerce-tabs .panel,.cart_totals,.woocommerce-checkout-review-order,.wc-block-components-sidebar,.woocommerce-MyAccount-content)::after,
body.woocommerce-page :is(.woocommerce-tabs .panel,.cart_totals,.woocommerce-checkout-review-order,.wc-block-components-sidebar,.woocommerce-MyAccount-content)::before,
body.woocommerce-page :is(.woocommerce-tabs .panel,.cart_totals,.woocommerce-checkout-review-order,.wc-block-components-sidebar,.woocommerce-MyAccount-content)::after { content:""; position:absolute; left:0; right:0; height:10px; pointer-events:none; background-image:url('../img/hero-cache.png'); background-repeat:repeat-x; background-size:auto 10px; z-index:1; }
body.woocommerce :is(.woocommerce-tabs .panel,.cart_totals,.woocommerce-checkout-review-order,.wc-block-components-sidebar,.woocommerce-MyAccount-content)::before,
body.woocommerce-page :is(.woocommerce-tabs .panel,.cart_totals,.woocommerce-checkout-review-order,.wc-block-components-sidebar,.woocommerce-MyAccount-content)::before { top:0; }
body.woocommerce :is(.woocommerce-tabs .panel,.cart_totals,.woocommerce-checkout-review-order,.wc-block-components-sidebar,.woocommerce-MyAccount-content)::after,
body.woocommerce-page :is(.woocommerce-tabs .panel,.cart_totals,.woocommerce-checkout-review-order,.wc-block-components-sidebar,.woocommerce-MyAccount-content)::after { bottom:0; transform:rotate(180deg); }
/* Les panneaux crème principaux ont eux aussi leur découpe haute et basse. */
body.woocommerce .kakurii-shop-container,body.woocommerce-cart .content>.univers-container,body.woocommerce-account .content>.univers-container { position:relative; }
body.woocommerce .kakurii-shop-container::before,body.woocommerce .kakurii-shop-container::after,
body.woocommerce-cart .content>.univers-container::before,body.woocommerce-cart .content>.univers-container::after,
body.woocommerce-account .content>.univers-container::before,body.woocommerce-account .content>.univers-container::after { content:""; position:absolute; left:0; right:0; height:10px; pointer-events:none; background:url('../img/hero-cache.png') repeat-x left top / auto 10px; }
body.woocommerce .kakurii-shop-container::before,body.woocommerce-cart .content>.univers-container::before,body.woocommerce-account .content>.univers-container::before { top:0; }
body.woocommerce .kakurii-shop-container::after,body.woocommerce-cart .content>.univers-container::after,body.woocommerce-account .content>.univers-container::after { bottom:0; transform:rotate(180deg); }
/* Couleurs et hiérarchie de la fiche produit. */
body.single-product .kakurii-shop div.product .product_title { color:#772faf!important; }
body.single-product .kakurii-shop div.product :is(h2,h3) { color:#ff4381!important; }
body.single-product .kakurii-shop div.product a:not(.button) { color:#ff4381; }
body.single-product .kakurii-shop div.product a:not(.button):hover { color:var(--green,#36e983); }
body.single-product .kakurii-shop div.product .summary :is(p.price,span.price),
body.single-product .kakurii-shop div.product .summary .price .amount { color:#772faf!important; }
body.single-product .kakurii-shop div.product p.stock.in-stock { color:#772faf!important; }
body.single-product .kakurii-shop div.product p strong { color:#772faf; font-size:1.08em; }
body.single-product .kakurii-product-crumb { clear:both; width:100%; margin:0 0 22px; color:#ff4381; font:normal 20px/1.2 'Tovari',sans-serif; }
body.single-product .kakurii-product-crumb a { color:#ff4381; text-decoration:none; }
body.single-product .kakurii-product-crumb a:hover { color:var(--green,#36e983); }

/* Fiche produit : typographie, hiérarchie et détails. */
body.single-product .kakurii-shop div.product :is(.summary,.woocommerce-tabs .panel) :is(p,li) {
  font-family:"Nunito Sans",Nunito,sans-serif; font-size:18px; line-height:1.2;
}
body.single-product .kakurii-shop div.product :is(.summary,.woocommerce-tabs .panel) strong {
  font-weight:800; font-size:inherit;
}
body.single-product .kakurii-shop div.product :is(.summary,.woocommerce-tabs .panel) ul:not(.tabs) {
  margin:0; padding-left:0; list-style:none;
}
body.single-product .kakurii-shop div.product :is(.summary,.woocommerce-tabs .panel) ul:not(.tabs) > li {
  position:relative; padding-left:25px; margin-bottom:7px;
}
body.single-product .kakurii-shop div.product :is(.summary,.woocommerce-tabs .panel) ul:not(.tabs) > li::before {
  content:"✖"; position:absolute; left:0; top:0; color:#f14d5b; font-family:Arial,sans-serif; font-size:17px; font-weight:900; line-height:1.2;
}
body.single-product .kakurii-shop div.product :is(h2,h3) {
  font-family:"Tovari",sans-serif!important; text-transform:none!important; margin:30px 0 0!important;
}
body.single-product .kakurii-shop div.product .kakurii-product-crumb { color:var(--shop-ink,#2e2d49); }
body.single-product .kakurii-shop div.product .kakurii-product-crumb :is(.separator,.delimiter,.crumb-separator) { color:var(--shop-ink,#2e2d49); }
body.single-product .kakurii-shop div.product .summary .kakurii-price-stock {
  display:flex; align-items:baseline; justify-content:space-between; gap:16px; flex-wrap:wrap; margin:20px 0;
}
body.single-product .kakurii-shop div.product .summary .kakurii-price-stock :is(p.price,span.price) {
  margin:0!important; color:#772faf!important; font-size:clamp(30px,3vw,40px)!important; line-height:1.1!important;
}
body.single-product .kakurii-shop div.product .summary .kakurii-price-stock .stock {
  margin:0 0 0 auto!important; text-align:right; color:#772faf!important;
}

/* Ajustements fiche produit : liens, titres, prix et suggestions. */
body.single-product .kakurii-shop div.product .product_meta .posted_in { color:#772faf; }
body.single-product .kakurii-shop div.product .product_meta .posted_in a { text-decoration:none; }
body.single-product .kakurii-shop div.product .product_meta .posted_in a:hover { color:var(--green,#36e983); }
body.single-product .kakurii-shop div.product .kakurii-product-crumb { color:#772faf; }
body.single-product .kakurii-shop div.product .summary .kakurii-price-stock .price,
body.single-product .kakurii-shop div.product .summary .kakurii-price-stock .price .amount { font-family:'Tovari',sans-serif!important; }
body.single-product .kakurii-shop div.product :is(.summary,.woocommerce-tabs .panel) ul:not(.tabs) strong { color:#772faf; font-size:inherit; font-weight:800; }
body.single-product .kakurii-shop div.product h3 { margin:30px 0 10px!important; font-size:32px!important; }
body.single-product .kakurii-shop .related.products { clear:both; margin-top:clamp(36px,5vw,72px); }
body.single-product .kakurii-shop .related.products > h2 { color:#ff4381; font-family:'Tovari',sans-serif; text-transform:none; margin:0 0 24px; }

/* Confirmation d'ajout au panier — notice WooCommerce native, habillage Kakurii. */
body.woocommerce .kakurii-shop .woocommerce-message,
body.woocommerce-page .content .woocommerce .woocommerce-message {
  display:flex!important;
  align-items:center!important;
  flex-wrap:wrap;
  gap:12px 22px;
  min-height:76px;
  padding:16px 20px 16px 74px!important;
  margin:0 0 26px!important;
  position:relative;
  border:0!important;
  border-radius:16px;
  background:var(--green,#36e983)!important;
  color:var(--cream,#fff5e7)!important;
  font:800 18px/1.3 'Nunito Sans',sans-serif;
  box-shadow:none;
}
body.woocommerce .kakurii-shop .woocommerce-message::before,
body.woocommerce-page .content .woocommerce .woocommerce-message::before {
  content:'\2713'!important;
  display:grid!important;
  place-items:center;
  position:absolute!important;
  top:50%!important;
  left:20px!important;
  transform:translateY(-50%);
  width:40px;
  height:40px;
  margin:0!important;
  color:var(--cream,#fff5e7)!important;
  font:900 38px/1 'Nunito Sans',sans-serif!important;
}
body.woocommerce .kakurii-shop .woocommerce-message::after,
body.woocommerce-page .content .woocommerce .woocommerce-message::after { content:none!important; }
body.woocommerce .kakurii-shop .woocommerce-message a.button.wc-forward,
body.woocommerce-page .content .woocommerce .woocommerce-message a.button.wc-forward {
  order:2;
  float:none!important;
  display:inline-flex!important;
  align-items:center;
  justify-content:center;
  margin:0 0 0 auto!important;
  min-height:44px;
  padding:10px 18px!important;
  border:2px solid var(--cream,#fff5e7)!important;
  border-radius:12px;
  background:var(--cream,#fff5e7)!important;
  color:#772faf!important;
  font:normal 18px/1.1 'Knewave',cursive;
  text-decoration:none;
  box-shadow:none;
  transform:none;
}
body.woocommerce .kakurii-shop .woocommerce-message a.button.wc-forward:hover,
body.woocommerce-page .content .woocommerce .woocommerce-message a.button.wc-forward:hover {
  background:transparent!important;
  color:var(--cream,#fff5e7)!important;
  transform:none;
}
@media(max-width:640px) {
  body.woocommerce .kakurii-shop .woocommerce-message,
  body.woocommerce-page .content .woocommerce .woocommerce-message { padding:16px 16px 16px 65px!important; font-size:16px; }
  body.woocommerce .kakurii-shop .woocommerce-message::before,
  body.woocommerce-page .content .woocommerce .woocommerce-message::before { left:15px!important; width:36px; font-size:34px!important; }
  body.woocommerce .kakurii-shop .woocommerce-message a.button.wc-forward,
  body.woocommerce-page .content .woocommerce .woocommerce-message a.button.wc-forward { margin:4px auto 0 0!important; }
}

/* Supprime la bordure/ligne native WooCommerce, y compris pendant l’apparition. */
body.woocommerce .kakurii-shop .woocommerce-message,
body.woocommerce-page .content .woocommerce .woocommerce-message,
body.woocommerce .kakurii-shop .woocommerce-notices-wrapper .woocommerce-message {
  border:0!important; border-top:0!important; outline:0!important;
  box-shadow:none!important; background-color:#36e983!important;
}
body.woocommerce .kakurii-shop .woocommerce-message::before,
body.woocommerce-page .content .woocommerce .woocommerce-message::before {
  border:0!important; box-shadow:none!important;
}

/* Bouton « Voir le panier » : rose au repos, vert au survol. */
body.woocommerce .kakurii-shop .woocommerce-message a.button.wc-forward,
body.woocommerce-page .content .woocommerce .woocommerce-message a.button.wc-forward {
  background:#ff4381!important;
  border:2px solid var(--cream,#fff5e7)!important;
  color:var(--cream,#fff5e7)!important;
  transition:background-color .2s ease,color .2s ease,border-color .2s ease!important;
}
body.woocommerce .kakurii-shop .woocommerce-message a.button.wc-forward:hover,
body.woocommerce .kakurii-shop .woocommerce-message a.button.wc-forward:focus-visible,
body.woocommerce-page .content .woocommerce .woocommerce-message a.button.wc-forward:hover,
body.woocommerce-page .content .woocommerce .woocommerce-message a.button.wc-forward:focus-visible {
  background:#36e983!important;
  border-color:var(--cream,#fff5e7)!important;
  color:var(--cream,#fff5e7)!important;
}

/* Panier : typographie lisible et hiérarchie Kakurii. */
body.woocommerce-cart .content h1,
body.woocommerce-cart .content .entry-title {
  color:#772faf!important; font-family:'Knewave',cursive!important;
  font-size:clamp(40px,5vw,64px)!important; line-height:1.15;
}
body.woocommerce-cart .content :is(h2,h3,h4),
body.woocommerce-cart .content :is(.wc-block-components-title,.wc-block-components-sidebar-layout .wc-block-components-panel__button) {
  font-family:'Tovari',sans-serif!important;
  font-size:clamp(24px,2.5vw,32px); line-height:1.2;
}
body.woocommerce-cart .content :is(.woocommerce,.wp-block-woocommerce-cart,.wc-block-cart,.wc-block-components-sidebar) {
  font-family:'Nunito Sans',Nunito,sans-serif; font-size:18px; line-height:1.4;
}
body.woocommerce-cart .content :is(.wc-block-cart-items,.wc-block-components-totals-wrapper,.wc-block-components-totals-item,.wc-block-components-product-details,.wc-block-components-quantity-selector,.wc-block-components-notice-banner,.wc-block-components-shipping-rates-control,.wc-block-components-radio-control) {
  font-family:'Nunito Sans',Nunito,sans-serif; font-size:18px; line-height:1.4;
}
body.woocommerce-cart .content :is(.wc-block-cart-item__product .wc-block-components-product-name,.wc-block-components-totals-item__label,.wc-block-components-totals-item__value,.wc-block-components-formatted-money-amount) {
  font-size:18px; line-height:1.4;
}
body.woocommerce-cart .content .wc-block-cart-item__product .wc-block-components-product-name { font-weight:800; }
body.woocommerce-cart .content :is(.wc-block-components-product-metadata,.wc-block-components-product-details__name,.wc-block-components-product-details__value,.wc-block-components-shipping-address,.wc-block-components-totals-shipping__change-address__link) { font-size:16px; line-height:1.4; }
/* Les encarts récapitulatifs sont nets, sans frises hero-cache. */
body.woocommerce-cart .wc-block-components-sidebar::before,
body.woocommerce-cart .wc-block-components-sidebar::after,
body.woocommerce-checkout .wc-block-components-sidebar::before,
body.woocommerce-checkout .wc-block-components-sidebar::after,
body.kakurii-checkout-minimal .wc-block-components-sidebar::before,
body.kakurii-checkout-minimal .wc-block-components-sidebar::after { content:none!important; display:none!important; background-image:none!important; }

/* Panier — finitions typographiques et couleurs. */
body.woocommerce-cart .content .wc-block-components-totals-coupon-link,
body.woocommerce-cart .content .wc-block-components-totals-coupon-link a,
body.woocommerce-cart .content .wc-block-components-totals-coupon__form-toggle,
body.woocommerce-cart .content .wc-block-components-totals-coupon button.is-link {
  font-family:'Nunito Sans',Nunito,sans-serif!important; font-size:14px!important; line-height:1.3!important;
}
body.woocommerce-cart .content :is(.wc-block-components-totals-footer-item .wc-block-components-totals-item__label,.wc-block-components-totals-footer-item .wc-block-components-totals-item__value,.wc-block-components-totals-footer-item .wc-block-formatted-money-amount,.cart_totals h2) {
  color:#772faf!important;
}
body.woocommerce-cart .content .wc-block-cart-item__product a.wc-block-components-product-name,
body.woocommerce-cart .content .wc-block-cart-item__product .wc-block-components-product-name {
  font-family:'Knewave',cursive!important; color:#ff4381!important; text-decoration:none!important; font-weight:400!important; font-size:clamp(19px,2vw,24px)!important; line-height:1.25!important;
}
body.woocommerce-cart .content .wc-block-cart-item__product a.wc-block-components-product-name:hover { color:#36e983!important; }
body.woocommerce-cart .content .wc-block-cart-items :is(.wc-block-components-product-price,.wc-block-components-product-price__value,.wc-block-components-product-price__regular,.wc-block-components-formatted-money-amount,.wc-block-formatted-money-amount) {
  font-family:'Nunito Sans',Nunito,sans-serif!important; color:#772faf!important; font-size:18px!important; font-weight:800!important;
}
body.woocommerce-cart .content .wc-block-cart-item__product :is(.wc-block-components-product-metadata,.wc-block-components-product-metadata__description,.wc-block-components-product-details,.wc-block-components-product-details__name,.wc-block-components-product-details__value) {
  font-family:'Nunito Sans',Nunito,sans-serif!important; font-size:18px!important; line-height:1.4!important;
}
body.woocommerce-cart .content :is(.wc-block-cart__submit-button,.wc-block-cart__submit-button .wc-block-components-button__text,.wc-block-cart__submit-button span) {
  font-family:'Nunito Sans',Nunito,sans-serif!important; font-size:18px!important; font-weight:800!important;
}

/* Panier : déclencheur des codes promo discret (WooCommerce Blocks). */
body.woocommerce-cart .content .wc-block-components-sidebar-layout .wc-block-components-panel__button,
body.woocommerce-cart .content .wc-block-components-totals-coupon .wc-block-components-panel__button,
body.woocommerce-cart .content div.wc-block-components-panel__button[role="button"] {
  font-family:'Nunito Sans',Nunito,sans-serif!important;
  font-size:14px!important;
  font-weight:600!important;
  line-height:1.3!important;
  text-transform:none!important;
  letter-spacing:normal!important;
  min-height:0!important;
  padding:6px 0!important;
}
body.woocommerce-cart .content .wc-block-components-panel__button .wc-block-components-panel__button-icon {
  width:16px!important; height:16px!important; flex-shrink:0;
}

/* Description des produits dans le panier : Nunito, y compris le gras. */
body.woocommerce-cart .wc-block-components-product-metadata__description,
body.woocommerce-cart .wc-block-components-product-metadata__description p,
body.woocommerce-cart .wc-block-components-product-metadata__description strong {
  font-family: 'Nunito Sans', Nunito, sans-serif !important;
  font-size: 18px !important;
  line-height: 1.4 !important;
}
body.woocommerce-cart .wc-block-components-product-metadata__description strong { font-weight: 800 !important; }

/* Panier — titre, prix unique et description compacte. */
body.woocommerce-cart .wc-block-cart-item__product .wc-block-components-product-name {
  text-transform:uppercase!important;
}
/* Le montant de la colonne TOTAL reste visible ; masquer uniquement le prix sous le nom. */
body.woocommerce-cart .wc-block-cart-item__product .wc-block-components-product-price {
  display:none!important;
}
body.woocommerce-cart .wc-block-cart-item__product .wc-block-components-product-metadata__description,
body.woocommerce-cart .wc-block-cart-item__product .wc-block-components-product-metadata__description p,
body.woocommerce-cart .wc-block-cart-item__product .wc-block-components-product-metadata__description strong,
body.woocommerce-cart .wc-block-cart-item__product .wc-block-components-product-metadata__description b {
  font-family:'Nunito Sans',Nunito,sans-serif!important;
  font-size:14px!important;
  line-height:1.35!important;
  font-weight:400!important;
}

/* Panier : titre du récapitulatif à droite. */
body.woocommerce-cart .wc-block-cart__totals-title,
body.woocommerce-cart .wc-block-components-sidebar .wc-block-cart__totals-title,
body.woocommerce-cart .wc-block-components-sidebar .wc-block-components-totals-wrapper h2 {
  color: #772faf !important;
  text-transform: none !important;
}


/* Panier — alignement du champ coupon et du bouton (WooCommerce Blocks). */
body.woocommerce-cart .wc-block-components-totals-coupon__form,
body.woocommerce-cart .wc-block-components-totals-coupon .wc-block-components-totals-coupon__form {
  display:flex!important;
  align-items:stretch!important;
  gap:10px!important;
}
body.woocommerce-cart .wc-block-components-totals-coupon__form .wc-block-components-text-input {
  flex:1 1 0!important;
  min-width:0!important;
  margin:0!important;
}
body.woocommerce-cart .wc-block-components-totals-coupon__form .wc-block-components-text-input input {
  box-sizing:border-box!important;
  height:100%!important;
  min-height:52px!important;
  margin:0!important;
}
body.woocommerce-cart .wc-block-components-totals-coupon__form .wc-block-components-button {
  align-self:stretch!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:52px!important;
  height:auto!important;
  margin:0!important;
  padding:10px 16px!important;
  font-family:'Nunito Sans',Nunito,sans-serif!important;
  font-size:16px!important;
  font-weight:800!important;
  line-height:1.2!important;
}
body.woocommerce-cart .wc-block-components-totals-coupon__form .wc-block-components-button :is(span,.wc-block-components-button__text) {
  font-family:inherit!important;
  font-size:inherit!important;
  font-weight:inherit!important;
  line-height:inherit!important;
}
/* Erreurs de code promo : Nunito rose, pictogramme visible. */
body.woocommerce-cart .wc-block-components-notice-banner.is-error,
body.woocommerce-cart .wc-block-components-notice-banner.is-error :is(p,span,div,li),
body.woocommerce-cart .wc-block-components-validation-error,
body.woocommerce-cart .wc-block-components-validation-error :is(p,span,div) {
  font-family:'Nunito Sans',Nunito,sans-serif!important;
  font-size:15px!important;
  line-height:1.35!important;
  font-weight:700!important;
  color:#ff4381!important;
  text-transform:none!important;
}
body.woocommerce-cart .wc-block-components-notice-banner.is-error > svg,
body.woocommerce-cart .wc-block-components-validation-error > svg,
body.woocommerce-cart .wc-block-components-validation-error__icon {
  width:22px!important;
  height:22px!important;
  min-width:22px!important;
  flex-shrink:0!important;
  fill:#ff4381!important;
  color:#ff4381!important;
}
@media(max-width:420px){
  body.woocommerce-cart .wc-block-components-totals-coupon__form {gap:8px!important;}
  body.woocommerce-cart .wc-block-components-totals-coupon__form .wc-block-components-button {padding:10px 12px!important;}
}

/* Code promo : largeur utile du champ, bouton secondaire et erreur lisible. */
body.woocommerce-cart .wc-block-components-totals-coupon__form {
  display:grid!important;
  grid-template-columns:minmax(0, 1.45fr) minmax(0, 1fr)!important;
  align-items:stretch!important;
  gap:10px!important;
}
body.woocommerce-cart .wc-block-components-totals-coupon__form .wc-block-components-text-input {
  width:100%!important; min-width:0!important; max-width:none!important;
}
body.woocommerce-cart .wc-block-components-totals-coupon__form .wc-block-components-text-input input {
  width:100%!important; min-width:0!important; padding-inline:12px!important;
  font-size:14px!important;
}
body.woocommerce-cart .wc-block-components-totals-coupon__form .wc-block-components-button {
  width:100%!important; min-width:0!important; box-sizing:border-box!important;
  padding:10px 8px!important; background:var(--cream,#fffbed)!important;
  border:2px solid #ff4381!important; color:#ff4381!important;
  font-family:'Nunito Sans',Nunito,sans-serif!important; font-weight:800!important;
  box-shadow:none!important;
}
body.woocommerce-cart .wc-block-components-totals-coupon__form .wc-block-components-button :is(span,.wc-block-components-button__text) { color:inherit!important; }
body.woocommerce-cart .wc-block-components-totals-coupon__form .wc-block-components-button:hover,
body.woocommerce-cart .wc-block-components-totals-coupon__form .wc-block-components-button:focus-visible {
  background:#36e983!important; border-color:#36e983!important; color:#772faf!important;
}
body.woocommerce-cart .wc-block-components-validation-error {
  display:flex!important; align-items:flex-start!important; gap:8px!important;
}
body.woocommerce-cart .wc-block-components-validation-error > svg,
body.woocommerce-cart .wc-block-components-validation-error__icon,
body.woocommerce-cart .wc-block-components-validation-error svg {
  width:26px!important; height:26px!important; min-width:26px!important;
  flex:0 0 26px!important; fill:#ff4381!important; color:#ff4381!important;
}
@media(max-width:360px){
 body.woocommerce-cart .wc-block-components-totals-coupon__form {grid-template-columns:minmax(0,1.3fr) minmax(0,1fr)!important;gap:7px!important;}
 body.woocommerce-cart .wc-block-components-totals-coupon__form .wc-block-components-button {font-size:14px!important;}
}


/* Goodies : fond général transparent, chaque carte devient un panneau crème découpé. */
body:is(.post-type-archive-product,.tax-product_cat) .kakurii-shop-container {
  background:transparent;
  border:0;
  box-shadow:none;
  padding:clamp(12px,2vw,28px) 0;
}
body:is(.post-type-archive-product,.tax-product_cat) .kakurii-shop-container::before,
body:is(.post-type-archive-product,.tax-product_cat) .kakurii-shop-container::after {
  content:none !important;
  background:none !important;
}
body:is(.post-type-archive-product,.tax-product_cat).woocommerce .kakurii-shop ul.products li.product {
  position:relative;
  padding:clamp(16px,2vw,25px) clamp(14px,1.8vw,22px) clamp(22px,2.5vw,30px);
  background:var(--shop-paper,var(--cream,#fff5e7));
  border:0;
  border-radius:0;
  box-shadow:none;
  isolation:isolate;
}
body:is(.post-type-archive-product,.tax-product_cat).woocommerce .kakurii-shop ul.products li.product::before,
body:is(.post-type-archive-product,.tax-product_cat).woocommerce .kakurii-shop ul.products li.product::after {
  content:"";
  display:block;
  position:absolute;
  left:0;
  right:0;
  height:10px;
  pointer-events:none;
  z-index:2;
  background-image:url('../img/hero-cache.png');
  background-size:auto 10px;
  background-repeat:repeat-x;
  background-position-x:var(--frise-offset,0px);
}
body:is(.post-type-archive-product,.tax-product_cat).woocommerce .kakurii-shop ul.products li.product::before { top:0; }
body:is(.post-type-archive-product,.tax-product_cat).woocommerce .kakurii-shop ul.products li.product::after { bottom:0; transform:rotate(180deg); }
body:is(.post-type-archive-product,.tax-product_cat).woocommerce .kakurii-shop ul.products li.product:nth-child(5n+1) { --frise-offset:0px; }
body:is(.post-type-archive-product,.tax-product_cat).woocommerce .kakurii-shop ul.products li.product:nth-child(5n+2) { --frise-offset:38px; }
body:is(.post-type-archive-product,.tax-product_cat).woocommerce .kakurii-shop ul.products li.product:nth-child(5n+3) { --frise-offset:81px; }
body:is(.post-type-archive-product,.tax-product_cat).woocommerce .kakurii-shop ul.products li.product:nth-child(5n+4) { --frise-offset:127px; }
body:is(.post-type-archive-product,.tax-product_cat).woocommerce .kakurii-shop ul.products li.product:nth-child(5n) { --frise-offset:174px; }

/* Goodies : finitions des cartes produits. */
body:is(.post-type-archive-product,.tax-product_cat).woocommerce .kakurii-shop ul.products li.product {
  border-radius:26px;
}
body:is(.post-type-archive-product,.tax-product_cat).woocommerce .kakurii-shop ul.products li.product .woocommerce-loop-product__title {
  margin:8px 0 0!important;
  padding-bottom:0!important;
  line-height:1.15!important;
}
body:is(.post-type-archive-product,.tax-product_cat).woocommerce .kakurii-shop ul.products li.product .price,
body:is(.post-type-archive-product,.tax-product_cat).woocommerce .kakurii-shop ul.products li.product .price .amount {
  color:#772faf!important;
}
body:is(.post-type-archive-product,.tax-product_cat).woocommerce .kakurii-shop ul.products li.product .price {
  margin:2px 0 8px!important;
  line-height:1.2!important;
}
body:is(.post-type-archive-product,.tax-product_cat).woocommerce .kakurii-shop ul.products li.product :is(a.button,button.button) {
  margin-top:6px!important;
}
/* Lien ajouté au panier dans la grille de produits (distinct du bouton de notification). */
body:is(.post-type-archive-product,.tax-product_cat).woocommerce .kakurii-shop ul.products li.product a.added_to_cart,
body:is(.post-type-archive-product,.tax-product_cat).woocommerce .kakurii-shop ul.products li.product a.added_to_cart.wc-forward {
  color:#ff4381!important;
  text-decoration:none;
}
body:is(.post-type-archive-product,.tax-product_cat).woocommerce .kakurii-shop ul.products li.product a.added_to_cart:hover {
  color:#36e983!important;
}
@media(max-width:699px){
  body:is(.post-type-archive-product,.tax-product_cat).woocommerce .kakurii-shop ul.products li.product {border-radius:18px;}
}

/* Goodies : espacement resserré, catégorie active pointillée et titres roses. */
body:is(.post-type-archive-product,.tax-product_cat) .kakurii-cart-strip-inner { padding-bottom:0; }
body:is(.post-type-archive-product,.tax-product_cat) .kakurii-shop-container { margin-top:8px; padding-top:6px; }
body:is(.post-type-archive-product,.tax-product_cat).woocommerce .kakurii-shop-container > .kakurii-shop-categories { margin-top:0; margin-bottom:clamp(12px,2vw,22px); }
body:is(.post-type-archive-product,.tax-product_cat).woocommerce .kakurii-shop-container .kakurii-shop-category.is-active {
  text-decoration-line:underline; text-decoration-style:dotted; text-decoration-color:currentColor;
  text-decoration-thickness:3px; text-underline-offset:7px;
}
body:is(.post-type-archive-product,.tax-product_cat).woocommerce .kakurii-shop ul.products li.product .woocommerce-loop-product__title { color:#ff4381!important; }
body:is(.post-type-archive-product,.tax-product_cat).woocommerce .kakurii-shop ul.products li.product:hover .woocommerce-loop-product__title { color:#36e983!important; }
/* Fiche produit : titres H2 et croix de liste verts. */
body.single-product.woocommerce .kakurii-shop div.product h2,
body.single-product.woocommerce .kakurii-shop .related.products > h2 { color:#36e983!important; }
body.single-product.woocommerce .kakurii-shop div.product :is(.summary,.woocommerce-tabs .panel) ul:not(.tabs) > li::before { color:#36e983!important; }

/* Goodies : catégorie active avec une ligne pointillée régulière, sur 80 % de sa largeur. */
body:is(.post-type-archive-product,.tax-product_cat).woocommerce .kakurii-shop-container > .kakurii-shop-categories {
  margin-bottom:clamp(32px,4vw,50px);
  gap:12px 25px;
}
body:is(.post-type-archive-product,.tax-product_cat).woocommerce .kakurii-shop-container .kakurii-shop-category {
  position:relative;
  font-size:clamp(21px,2.5vw,27px);
  padding:9px 4px 19px;
  text-decoration:none!important;
}
body:is(.post-type-archive-product,.tax-product_cat).woocommerce .kakurii-shop-container .kakurii-shop-category.is-active::after {
  content:"";
  position:absolute;
  left:10%;
  bottom:3px;
  width:80%;
  height:4px;
  background-image:radial-gradient(circle, currentColor 1.8px, transparent 2px);
  background-size:12px 4px;
  background-repeat:repeat-x;
  background-position:left center;
  pointer-events:none;
}

/* Catégories Goodies : tirets longs arrondis, taille de texte plus discrète. */
body:is(.post-type-archive-product,.tax-product_cat).woocommerce .kakurii-shop-container .kakurii-shop-category {
  font-size:clamp(17px,1.9vw,21px);
}
body:is(.post-type-archive-product,.tax-product_cat).woocommerce .kakurii-shop-container .kakurii-shop-category.is-active::after {
  background-image:repeating-linear-gradient(to right, currentColor 0 15px, transparent 15px 23px);
  height:4px;
  border-radius:999px;
  /* Un masque répété arrondit chaque extrémité des tirets. */
  background:none;
  -webkit-mask-image:repeating-linear-gradient(to right,#000 0 15px,transparent 15px 23px);
  mask-image:repeating-linear-gradient(to right,#000 0 15px,transparent 15px 23px);
  background-color:currentColor;
}

/* Tirets réellement arrondis individuellement, pas seulement la bande entière. */
body:is(.post-type-archive-product,.tax-product_cat).woocommerce .kakurii-shop-container .kakurii-shop-category.is-active::after {
  background:currentColor;
  border-radius:0;
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='4' viewBox='0 0 24 4'%3E%3Cpath d='M2 2H16' stroke='black' stroke-width='4' stroke-linecap='round'/%3E%3C/svg%3E");
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='4' viewBox='0 0 24 4'%3E%3Cpath d='M2 2H16' stroke='black' stroke-width='4' stroke-linecap='round'/%3E%3C/svg%3E");
  -webkit-mask-size:24px 4px; mask-size:24px 4px;
  -webkit-mask-repeat:repeat-x; mask-repeat:repeat-x;
}

/* Quatre tirets complets : chaque motif occupe exactement 1/4 de la ligne. */
body:is(.post-type-archive-product,.tax-product_cat).woocommerce .kakurii-shop-container .kakurii-shop-category.is-active::after {
  -webkit-mask-size:25% 4px!important;
  mask-size:25% 4px!important;
  -webkit-mask-position:left center;
  mask-position:left center;
}

/* Catégories : quatre tirets complets, plus épais et rapprochés, y compris après navigation AJAX. */
body:is(.post-type-archive-product,.tax-product_cat).woocommerce .kakurii-shop-container .kakurii-shop-category.is-active::after {
  height:6px!important;
  background-color:currentColor!important;
  background-image:none!important;
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 6' preserveAspectRatio='none'%3E%3Cpath d='M3 3H22 M28 3H47 M53 3H72 M78 3H97' stroke='black' stroke-width='6' stroke-linecap='round'/%3E%3C/svg%3E")!important;
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 6' preserveAspectRatio='none'%3E%3Cpath d='M3 3H22 M28 3H47 M53 3H72 M78 3H97' stroke='black' stroke-width='6' stroke-linecap='round'/%3E%3C/svg%3E")!important;
  -webkit-mask-size:100% 100%!important;
  mask-size:100% 100%!important;
  -webkit-mask-repeat:no-repeat!important;
  mask-repeat:no-repeat!important;
  -webkit-mask-position:center!important;
  mask-position:center!important;
}
/* Davantage d'air entre le lien panier et les catégories. */
body:is(.post-type-archive-product,.tax-product_cat) .kakurii-shop-container {
  margin-top:26px!important;
  padding-top:14px!important;
}

/* Tirets actifs : plus courts, plus espacés et 1 px moins hauts. */
body:is(.post-type-archive-product,.tax-product_cat).woocommerce .kakurii-shop-container .kakurii-shop-category.is-active::after {
  height:5px!important;
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 5' preserveAspectRatio='none'%3E%3Cpath d='M4 2.5H17 M29 2.5H42 M54 2.5H67 M79 2.5H92' stroke='black' stroke-width='5' stroke-linecap='round'/%3E%3C/svg%3E")!important;
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 5' preserveAspectRatio='none'%3E%3Cpath d='M4 2.5H17 M29 2.5H42 M54 2.5H67 M79 2.5H92' stroke='black' stroke-width='5' stroke-linecap='round'/%3E%3C/svg%3E")!important;
}

/* Tirets : longueur constante en pixels, nombre ajusté à la place disponible.
   Dessin SVG piloté par JS, jamais de tiret tronqué. */
body:is(.post-type-archive-product,.tax-product_cat).woocommerce .kakurii-shop-container .kakurii-shop-category.is-active::after {
  content:none!important;display:none!important;
}
.kakurii-shop-category { position:relative; }
.kakurii-shop-category .kakurii-category-dashes {
  position:absolute;left:50%;bottom:3px;transform:translateX(-50%);
  height:5px;overflow:visible;pointer-events:none;color:inherit;
}
.kakurii-shop-category:not(.is-active) .kakurii-category-dashes {display:none;}

/* Retrouver le style original des catégories, sans toucher aux tirets dynamiques. */
body:is(.post-type-archive-product,.tax-product_cat).woocommerce .kakurii-shop-container .kakurii-shop-category {
  font-family:'Knewave',cursive!important;
  font-size:clamp(17px,1.9vw,21px)!important;
  font-weight:400!important;
  line-height:1.3!important;
  text-transform:uppercase!important;
  color:var(--shop-pink)!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  text-decoration:none!important;
}
body:is(.post-type-archive-product,.tax-product_cat).woocommerce .kakurii-shop-container .kakurii-shop-category:is(.is-active,:hover,:focus-visible) {
  color:var(--green,#36e983)!important;
}

/* Correction : la navigation peut être placée hors de .kakurii-shop-container.
   Restaurer ses styles sur l'archive et les catégories, sans affecter le SVG. */
body:is(.post-type-archive-product,.tax-product_cat).woocommerce nav.kakurii-shop-categories > a.kakurii-shop-category {
  font-family:'Knewave',cursive!important;
  font-size:clamp(17px,1.9vw,21px)!important;
  font-weight:400!important;
  line-height:1.3!important;
  text-transform:uppercase!important;
  color:var(--shop-pink,#ff4381)!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  min-height:0!important;
  padding:9px 4px 19px!important;
  box-shadow:none!important;
  text-decoration:none!important;
  transition:color .2s ease,transform .2s ease;
}
body:is(.post-type-archive-product,.tax-product_cat).woocommerce nav.kakurii-shop-categories > a.kakurii-shop-category:is(.is-active,:hover,:focus-visible) {
  color:var(--green,#36e983)!important;
  background:transparent!important;
  border-color:transparent!important;
}
body:is(.post-type-archive-product,.tax-product_cat).woocommerce nav.kakurii-shop-categories > a.kakurii-shop-category.is-active::after {
  content:none!important;
  display:none!important;
}
body:is(.post-type-archive-product,.tax-product_cat).woocommerce nav.kakurii-shop-categories .kakurii-category-dashes {
  display:block;
  position:absolute;
  left:50%;
  bottom:3px;
  transform:translateX(-50%);
  height:5px;
  overflow:visible;
  pointer-events:none;
  color:inherit;
}

/* Panier sous les réseaux sociaux sur desktop uniquement.
   Les réseaux sont positionnés à 5px du haut et à 24px du bord droit. */
@media (min-width: 981px) {
  body.woocommerce .kakurii-cart-strip,
  body.woocommerce-page .kakurii-cart-strip {
    position: absolute;
    top: 64px;
    right: 24px;
    left: auto;
    width: auto;
    z-index: 220;
  }
  body.woocommerce .kakurii-cart-strip-inner,
  body.woocommerce-page .kakurii-cart-strip-inner {
    width: auto;
    max-width: none;
    margin: 0;
    padding: 0;
  }
}

/* Panier : 20 px plus bas sur ordinateur.
   Entre 981 et 1099 px, masquer uniquement le libellé si le panier contient un article. */
@media (min-width:981px) {
  body.woocommerce .kakurii-cart-strip,
  body.woocommerce-page .kakurii-cart-strip { top:84px; }
}
@media (min-width:981px) and (max-width:1099px) {
  body.woocommerce .kakurii-cart-link.has-items .kakurii-cart-title,
  body.woocommerce-page .kakurii-cart-link.has-items .kakurii-cart-title { display:none!important; }
}

/* Fiche produit : onglets Kakurii et panneaux sans frise hero-cache. */
body.single-product.woocommerce .kakurii-shop div.product .woocommerce-tabs { margin-top:52px; clear:both; }
body.single-product.woocommerce .kakurii-shop div.product .woocommerce-tabs ul.tabs {
  display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px;
  margin:0 0 20px;padding:0;border:0;background:transparent;overflow:visible;
}
body.single-product.woocommerce .kakurii-shop div.product .woocommerce-tabs ul.tabs::before,
body.single-product.woocommerce .kakurii-shop div.product .woocommerce-tabs ul.tabs::after,
body.single-product.woocommerce .kakurii-shop div.product .woocommerce-tabs ul.tabs li::before,
body.single-product.woocommerce .kakurii-shop div.product .woocommerce-tabs ul.tabs li::after { content:none!important;display:none!important; }
body.single-product.woocommerce .kakurii-shop div.product .woocommerce-tabs ul.tabs li {
  display:block;position:relative;float:none;margin:0;padding:0;border:3px solid #772faf;
  border-radius:18px;background:#fffdef;box-shadow:4px 5px 0 #772faf;
  transform:rotate(-1.5deg);transition:transform .18s ease,background .18s ease,box-shadow .18s ease;
}
body.single-product.woocommerce .kakurii-shop div.product .woocommerce-tabs ul.tabs li:nth-child(even) {transform:rotate(1.5deg);}
body.single-product.woocommerce .kakurii-shop div.product .woocommerce-tabs ul.tabs li a {
  display:block;padding:11px 20px;color:#772faf;font-family:'Knewave',cursive;
  font-size:clamp(16px,1.8vw,21px);line-height:1.25;text-decoration:none;white-space:normal;
}
body.single-product.woocommerce .kakurii-shop div.product .woocommerce-tabs ul.tabs li:is(:hover,:focus-within),
body.single-product.woocommerce .kakurii-shop div.product .woocommerce-tabs ul.tabs li.active {
  background:#36e983;transform:translateY(-3px) rotate(-2deg);box-shadow:5px 6px 0 #772faf,-3px -3px 0 #fffb95;
}
body.single-product.woocommerce .kakurii-shop div.product .woocommerce-tabs ul.tabs li.active a,
body.single-product.woocommerce .kakurii-shop div.product .woocommerce-tabs ul.tabs li:hover a {color:#2e2d49;}
body.single-product.woocommerce .kakurii-shop div.product .woocommerce-tabs .panel {
  position:relative;margin:0 0 36px;padding:24px clamp(18px,3vw,36px);
  border:3px solid #772faf;border-radius:20px;background:#fffdef;
  box-shadow:6px 7px 0 #772faf;color:#2e2d49;
}
body.single-product.woocommerce .kakurii-shop div.product .woocommerce-tabs .panel::before,
body.single-product.woocommerce .kakurii-shop div.product .woocommerce-tabs .panel::after {
  content:none!important;display:none!important;background-image:none!important;
}
body.single-product.woocommerce .kakurii-shop div.product .woocommerce-tabs .panel > :first-child {margin-top:0;}
body.single-product.woocommerce .kakurii-shop div.product .woocommerce-tabs .panel > :last-child {margin-bottom:0;}
@media(max-width:600px) {
  body.single-product.woocommerce .kakurii-shop div.product .woocommerce-tabs ul.tabs {gap:10px;}
  body.single-product.woocommerce .kakurii-shop div.product .woocommerce-tabs ul.tabs li a {padding:9px 13px;font-size:16px;}
  body.single-product.woocommerce .kakurii-shop div.product .woocommerce-tabs .panel {padding:18px;}
}

/* Panier présent sur toutes les pages du site, mêmes positions et format. */
@media (min-width:981px) {
  body .kakurii-cart-strip { position:absolute;top:84px;right:24px;left:auto;width:auto;z-index:220; }
  body .kakurii-cart-strip-inner { width:auto;max-width:none;margin:0;padding:0; }
}
@media (min-width:981px) and (max-width:1099px) {
  body .kakurii-cart-link.has-items .kakurii-cart-title { display:none!important; }
}

/* Barre admin WordPress : conserver l’écart panier / réseaux du visiteur, desktop uniquement. */
@media (min-width: 981px) {
  body.admin-bar .kakurii-cart-strip { top: 116px; }
}

/* Mobile : panier vide visible uniquement sur les pages WooCommerce.
   Dès qu'il contient un produit, il reste visible partout. */
@media (max-width:980px) {
  body:not(.woocommerce):not(.woocommerce-page):not(.woocommerce-cart):not(.woocommerce-checkout):not(.woocommerce-account)
  .kakurii-cart-strip:not(:has(.kakurii-cart-link.has-items)) { display:none!important; }
}

/* Espacement inférieur du panier sur mobile. */
@media (max-width: 980px) {
  body .kakurii-cart-strip-inner,
  body.woocommerce .kakurii-cart-strip-inner,
  body.woocommerce-page .kakurii-cart-strip-inner,
  body:is(.post-type-archive-product,.tax-product_cat) .kakurii-cart-strip-inner {
    padding-bottom: 20px;
  }
}

/* Goodies : extrait placé entre le nom du produit et son prix. */
body.woocommerce .kakurii-shop ul.products li.product .kakurii-product-card-excerpt {
  margin:5px auto 10px!important; padding:0 12px;
  max-width:32ch; color:#2e2d49; font-family:'Nunito',sans-serif;
  font-size:14px; line-height:1.4; font-weight:600;
}
/* Boutons d'achat : texte jaune, rotation et double ombre au survol. */
body.woocommerce .kakurii-shop ul.products li.product :is(a.button,button.button),
body.single-product.woocommerce .kakurii-shop div.product .single_add_to_cart_button {
  color:#fffb95!important;
  transition:transform .2s ease,box-shadow .2s ease,background-color .2s ease,color .2s ease!important;
}
body.woocommerce .kakurii-shop ul.products li.product :is(a.button,button.button):is(:hover,:focus-visible),
body.single-product.woocommerce .kakurii-shop div.product .single_add_to_cart_button:is(:hover,:focus-visible) {
  transform:translateY(-3px) rotate(-2deg)!important;
  box-shadow:5px 6px 0 #772faf,-3px -3px 0 #fffb95!important;
  color:#fffb95!important;
}
/* Onglets plats, droits, crème, sans bordures ni ombres. */
body.single-product.woocommerce .kakurii-shop div.product .woocommerce-tabs ul.tabs li,
body.single-product.woocommerce .kakurii-shop div.product .woocommerce-tabs ul.tabs li:nth-child(even),
body.single-product.woocommerce .kakurii-shop div.product .woocommerce-tabs ul.tabs li:is(:hover,:focus-within),
body.single-product.woocommerce .kakurii-shop div.product .woocommerce-tabs ul.tabs li.active {
  transform:none!important;box-shadow:none!important;border:0!important;
  background:transparent!important;border-radius:0!important;
}
body.single-product.woocommerce .kakurii-shop div.product .woocommerce-tabs ul.tabs li a,
body.single-product.woocommerce .kakurii-shop div.product .woocommerce-tabs ul.tabs li.active a,
body.single-product.woocommerce .kakurii-shop div.product .woocommerce-tabs ul.tabs li:hover a {
  color:#fffdef!important;
}
body.single-product.woocommerce .kakurii-shop div.product .woocommerce-tabs ul.tabs li:is(.active,:hover,:focus-within) a {
  text-decoration:underline;text-decoration-thickness:3px;text-underline-offset:7px;
}
/* Masquer les flèches natives et afficher deux chevrons violets. */
body.single-product.woocommerce .kakurii-shop .quantity.kakurii-quantity-enhanced {
  position:relative;display:inline-flex;align-items:center;
}
body.single-product.woocommerce .kakurii-shop .quantity.kakurii-quantity-enhanced input.qty {
  -moz-appearance:textfield;appearance:textfield;padding-right:29px!important;
}
body.single-product.woocommerce .kakurii-shop .quantity.kakurii-quantity-enhanced input.qty::-webkit-inner-spin-button,
body.single-product.woocommerce .kakurii-shop .quantity.kakurii-quantity-enhanced input.qty::-webkit-outer-spin-button {
  -webkit-appearance:none;margin:0;
}
body.single-product.woocommerce .kakurii-shop .kakurii-qty-controls {
  position:absolute;right:5px;top:50%;transform:translateY(-50%);
  display:flex;flex-direction:column;gap:2px;z-index:2;
}
body.single-product.woocommerce .kakurii-shop .kakurii-qty-arrow {
  display:flex;align-items:center;justify-content:center;
  width:21px;height:18px;padding:0;border:0;background:transparent;
  color:#772faf;cursor:pointer;box-shadow:none!important;
}
body.single-product.woocommerce .kakurii-shop .kakurii-qty-arrow::before {
  content:'';width:8px;height:8px;display:block;
  border-top:3px solid currentColor;border-left:3px solid currentColor;
  border-radius:1px;transform:translateY(2px) rotate(45deg);
}
body.single-product.woocommerce .kakurii-shop .kakurii-qty-arrow[data-direction="down"]::before {
  transform:translateY(-2px) rotate(225deg);
}
body.single-product.woocommerce .kakurii-shop .kakurii-qty-arrow:hover {color:#36e983;}

/* Onglets produit : seul l'onglet actif a un fond violet. */
body.single-product.woocommerce .kakurii-shop div.product .woocommerce-tabs ul.tabs li,
body.single-product.woocommerce .kakurii-shop div.product .woocommerce-tabs ul.tabs li:hover,
body.single-product.woocommerce .kakurii-shop div.product .woocommerce-tabs ul.tabs li:focus-within {
  background:transparent!important;
}
body.single-product.woocommerce .kakurii-shop div.product .woocommerce-tabs ul.tabs li a,
body.single-product.woocommerce .kakurii-shop div.product .woocommerce-tabs ul.tabs li:hover a,
body.single-product.woocommerce .kakurii-shop div.product .woocommerce-tabs ul.tabs li:focus-within a {
  color:#772faf!important;text-decoration:none!important;
}
body.single-product.woocommerce .kakurii-shop div.product .woocommerce-tabs ul.tabs li.active,
body.single-product.woocommerce .kakurii-shop div.product .woocommerce-tabs ul.tabs li.active:hover {
  background:#772faf!important;
}
body.single-product.woocommerce .kakurii-shop div.product .woocommerce-tabs ul.tabs li.active a,
body.single-product.woocommerce .kakurii-shop div.product .woocommerce-tabs ul.tabs li.active:hover a {
  color:#fffdef!important;text-decoration:none!important;
}

/* Onglets produit : police Tovari et angles arrondis. */
body.single-product.woocommerce .kakurii-shop div.product .woocommerce-tabs ul.tabs li,
body.single-product.woocommerce .kakurii-shop div.product .woocommerce-tabs ul.tabs li.active {
  border-radius:12px!important;
}
body.single-product.woocommerce .kakurii-shop div.product .woocommerce-tabs ul.tabs li a {
  font-family:'Tovari', 'TovariSans', sans-serif!important;
}

/* Panier : laisser les descriptions se déployer sur plusieurs lignes. */
body.woocommerce-cart .wc-block-cart-item__product .wc-block-components-product-metadata__description,
body.woocommerce-cart .wc-block-cart-item__product .wc-block-components-product-metadata__description p {
  display:block; max-width:none; overflow:visible; white-space:normal;
  text-overflow:clip; -webkit-line-clamp:unset; line-clamp:unset;
}

/* Catalogue Goodies : ombre jaune sous le titre de chaque produit. */
body:is(.post-type-archive-product,.tax-product_cat).woocommerce .kakurii-shop ul.products li.product .woocommerce-loop-product__title {
  text-shadow:2px 3px 0 #fffb95;
}

/* Fiche produit : titres H1 et titre du produit avec ombre jaune. */
body.single-product.woocommerce .kakurii-shop h1,
body.single-product.woocommerce .kakurii-shop div.product .product_title {
  text-shadow:2px 4px 0 #fffb95;
}

/* Fiche produit : quantité avec bordure violette renforcée. */
body.single-product.woocommerce .kakurii-shop .quantity input.qty {
  border:3px solid #772faf!important;
}

/* Fiche produit : onglets accolés au panneau, décalés vers la droite. */
body.single-product.woocommerce .kakurii-shop div.product .woocommerce-tabs ul.tabs {
  margin:0 0 0 20px; gap:8px; position:relative; z-index:2;
}
body.single-product.woocommerce .kakurii-shop div.product .woocommerce-tabs ul.tabs li,
body.single-product.woocommerce .kakurii-shop div.product .woocommerce-tabs ul.tabs li.active {
  border-radius:12px 12px 0 0!important;
}
body.single-product.woocommerce .kakurii-shop div.product .woocommerce-tabs .panel {
  background:#fff!important;
}

/* Fiche produit : description courte plus lisible. */
body.single-product.woocommerce .kakurii-shop div.product .summary .woocommerce-product-details__short-description :is(p, ul, ol, li) {
  font-size:clamp(20px,2vw,24px);
}
/* Fiche produit : titre rose, ombre jaune. */
body.single-product.woocommerce .kakurii-shop div.product h1.product_title {
  color:#ff4381!important; text-shadow:2px 4px 0 #fffb95!important;
}
/* Titres dans les panneaux d'onglets. */
body.single-product.woocommerce .kakurii-shop div.product .woocommerce-tabs .panel :is(h2,h3) {
  text-shadow:2px 4px 0 #fffb95!important; padding-bottom:12px;
}

/* Fiche produit : fil d’Ariane plus lisible, sans libellé « Catégorie ». */
body.single-product .kakurii-product-crumb { font-size:26px; }
body.single-product .kakurii-shop div.product .product_meta .posted_in { font-size:0; }
body.single-product .kakurii-shop div.product .product_meta .posted_in a { font-size:16px; }

/* Panier desktop : restaurer les deux colonnes du bloc WooCommerce (articles / récapitulatif).
   Limité à la page panier et au desktop pour préserver les autres mises en page. */
@media (min-width: 981px) {
  body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-cart__main,
  body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-cart__sidebar {
    min-width: 0;
    box-sizing: border-box;
  }
  body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-components-sidebar-layout {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: flex-start;
    gap: clamp(22px, 3vw, 44px);
  }
  body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-components-sidebar-layout > .wc-block-components-main,
  body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-components-sidebar-layout > .wc-block-cart__main {
    width: auto !important;
    flex: 1 1 64% !important;
    max-width: none !important;
    min-width: 0;
    margin: 0 !important;
  }
  body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-components-sidebar-layout > .wc-block-components-sidebar,
  body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-components-sidebar-layout > .wc-block-cart__sidebar {
    width: auto !important;
    flex: 0 1 36% !important;
    min-width: 285px;
    max-width: none !important;
    margin: 0 !important;
  }
}

/* Panier : rétablir le titre du récapitulatif WooCommerce Blocks. */
@media (min-width:981px) {
  body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-cart__sidebar > .wc-block-cart__totals-title,
  body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-cart__sidebar .wc-block-cart__totals-title {
    display:block!important;
    visibility:visible!important;
    opacity:1!important;
    color:#772faf!important;
    font-family:'Knewave',cursive!important;
    font-size:clamp(24px,2.5vw,34px)!important;
    line-height:1.25!important;
    margin:0 0 18px!important;
  }
  /* Certaines versions du bloc panier ne génèrent pas le titre : l'ajouter visuellement. */
  body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-cart__sidebar:not(:has(.wc-block-cart__totals-title))::before {
    content:'Total panier';
    display:block;
    color:#772faf;
    font-family:'Knewave',cursive;
    font-size:clamp(24px,2.5vw,34px);
    line-height:1.25;
    margin-bottom:18px;
  }
}

/* Panier : tableau des articles encadré de violet, sans toucher au mobile. */
@media (min-width:981px) {
 body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-cart-items {border:3px solid #772faf!important;border-radius:14px!important;border-collapse:separate!important;border-spacing:0!important;overflow:hidden;background:#fffdf5;}
 body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-cart-items thead th {border-bottom:3px solid #772faf!important;padding:16px 18px!important;}
 body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-cart-items tbody tr:not(:last-child) td {border-bottom:2px solid #772faf!important;}
 body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-cart-items tbody td {padding:18px!important;vertical-align:middle;}
 body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-cart__sidebar {border:3px solid #772faf!important;border-radius:14px!important;padding:22px!important;box-sizing:border-box!important;background:#fffdf5;}
}
/* Titre du récapitulatif : Tovari, petit et sans ombre. */
body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-cart__sidebar .wc-block-cart__totals-title,
body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-cart__sidebar:not(:has(.wc-block-cart__totals-title))::before {
 font-family:'Tovari', 'TovariSans', sans-serif!important;font-size:24px!important;font-weight:400!important;line-height:1.2!important;text-shadow:none!important;text-transform:none!important;color:#772faf!important;
}

/* Panier desktop : tableau continu, visuels complets et récapitulatif blanc. */
@media (min-width:981px) {
  body.woocommerce-cart .wp-block-woocommerce-cart table.wc-block-cart-items {
    border-collapse:collapse!important; border-spacing:0!important;
    table-layout:auto!important; overflow:visible!important;
    border:3px solid #772faf!important; border-radius:14px!important;
  }
  body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-cart-items tbody tr:not(:last-child) > td {border-bottom:2px solid #772faf!important;}
  body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-cart-items tbody td {border-left:0!important;border-right:0!important;}
  body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-cart__sidebar {background:#fff!important;}
}
/* La vignette WooCommerce ne doit jamais recadrer le produit. */
body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-cart-items .wc-block-cart-item__image {
  width:clamp(110px,13vw,150px)!important; min-width:110px!important;
  overflow:visible!important; height:auto!important;
}
body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-cart-items .wc-block-cart-item__image a,
body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-cart-items .wc-block-cart-item__image .wc-block-components-product-image {
  display:block!important; width:100%!important; height:auto!important; max-height:none!important;
  overflow:visible!important; aspect-ratio:auto!important;
}
body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-cart-items .wc-block-cart-item__image img {
  display:block!important; width:100%!important; height:auto!important; max-width:100%!important;
  max-height:none!important; aspect-ratio:auto!important; object-fit:contain!important;
  object-position:center!important; border-radius:0!important; clip-path:none!important;
}
/* Quantité : fond blanc, bordure et contrôles violets. */
body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-components-quantity-selector {
  background:#fff!important; border:2px solid #772faf!important; border-radius:12px!important;
  box-shadow:none!important; overflow:hidden;
}
body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-components-quantity-selector::after {border:0!important;box-shadow:none!important;}
body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-components-quantity-selector :is(button,input) {
  color:#772faf!important; background:transparent!important; border:0!important;
}
body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-components-quantity-selector button:not(:disabled):hover {background:#f5eaff!important;}
/* Poubelle / suppression de produit. */
body.woocommerce-cart .wp-block-woocommerce-cart :is(.wc-block-cart-item__remove-link,.wc-block-cart-item__remove-link svg,.wc-block-cart-item__remove-link path) {
  color:#772faf!important; stroke:#772faf!important;
}
body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-cart-item__remove-link:hover {color:#36e983!important;}
body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-cart-item__remove-link:hover :is(svg,path) {stroke:#36e983!important;}
/* Validation : mêmes effets que les boutons principaux du site. */
body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-cart__submit-button {
  background:#ff4381!important; color:#fffb95!important;
  border:2px solid #fffb95!important; border-radius:12px!important;
  font-family:'Knewave',cursive!important; font-size:20px!important;
  box-shadow:none!important; text-decoration:none!important;
  transition:transform .2s ease,box-shadow .2s ease,background-color .2s ease,color .2s ease!important;
}
body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-cart__submit-button :is(span,.wc-block-components-button__text) {
  color:inherit!important; font-family:inherit!important; font-size:inherit!important;
}
body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-cart__submit-button:hover,
body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-cart__submit-button:focus-visible {
  background:#36e983!important; color:#2e2d49!important;
  transform:translateY(-3px) rotate(-2deg)!important;
  box-shadow:4px 5px 0 #772faf,-3px -3px 0 #fffb95!important;
}

/* Panier desktop : grille WooCommerce medium sans interstice dans les lignes. */
@media (min-width:981px) {
 body.woocommerce-cart .wp-block-woocommerce-cart .is-medium table.wc-block-cart-items .wc-block-cart-items__row,
 body.woocommerce-cart .wp-block-woocommerce-cart .is-large table.wc-block-cart-items .wc-block-cart-items__row {
   column-gap:0!important; gap:0!important;
   grid-template-columns:135px minmax(0,1fr) 120px!important;
 }
 body.woocommerce-cart .wp-block-woocommerce-cart table.wc-block-cart-items .wc-block-cart-items__row > td {
   min-width:0!important; box-sizing:border-box!important;
 }
 body.woocommerce-cart .wp-block-woocommerce-cart table.wc-block-cart-items .wc-block-cart-items__row > .wc-block-cart-item__image {
   width:135px!important; min-width:0!important; padding:18px 10px 18px 18px!important;
   grid-column:1!important; align-self:center;
 }
 body.woocommerce-cart .wp-block-woocommerce-cart table.wc-block-cart-items .wc-block-cart-items__row > .wc-block-cart-item__product {
   grid-column:2!important; padding:18px 12px!important; min-width:0!important;
 }
 body.woocommerce-cart .wp-block-woocommerce-cart table.wc-block-cart-items .wc-block-cart-items__row > .wc-block-cart-item__total {
   grid-column:3!important; padding:18px 18px 18px 8px!important;
 }
 body.woocommerce-cart .wp-block-woocommerce-cart table.wc-block-cart-items .wc-block-cart-items__row > .wc-block-cart-item__image img {
   width:100%!important; height:auto!important; object-fit:contain!important;
 }
 /* La séparation est tracée sur la ligne entière, et non cellule par cellule. */
 body.woocommerce-cart .wp-block-woocommerce-cart table.wc-block-cart-items tbody tr:not(:last-child) {
   border-bottom:2px solid #772faf!important;
 }
 body.woocommerce-cart .wp-block-woocommerce-cart table.wc-block-cart-items tbody tr:not(:last-child) > td {
   border-bottom:0!important;
 }
}

/* Panier : pas de cadre extérieur, séparations internes conservées. */
body.woocommerce-cart .wp-block-woocommerce-cart table.wc-block-cart-items {
  border:0!important;
}
/* Bouton de validation : typographie et animation des boutons du site, sans bordure. */
body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-cart__submit-button,
body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-cart__submit-button :is(span,.wc-block-components-button__text) {
  font-family:'Knewave',cursive!important;
  font-size:20px!important;
  font-weight:400!important;
  text-transform:uppercase!important;
  letter-spacing:normal!important;
  text-shadow:none!important;
}
body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-cart__submit-button {
  border:0!important;
}
body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-cart__submit-button:hover,
body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-cart__submit-button:focus-visible {
  border:0!important;
}

/* Panier mobile : titre du total, séparateurs et grille sans débordement. */
@media (max-width:980px) {
 body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-cart__sidebar .wc-block-cart__totals-title {display:block!important;visibility:visible!important;opacity:1!important;font-family:'Tovari','TovariSans',sans-serif!important;font-size:24px!important;line-height:1.2!important;text-transform:none!important;text-shadow:none!important;color:#772faf!important;margin:0 0 16px!important;}
 body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-cart__sidebar:not(:has(.wc-block-cart__totals-title))::before {content:'Total panier';display:block;font-family:'Tovari','TovariSans',sans-serif;font-size:24px;line-height:1.2;color:#772faf;margin-bottom:16px;}
 body.woocommerce-cart .wp-block-woocommerce-cart table.wc-block-cart-items {width:100%!important;max-width:100%!important;table-layout:auto!important;border:0!important;}
 body.woocommerce-cart .wp-block-woocommerce-cart table.wc-block-cart-items tbody tr:not(:last-child) {border-bottom:2px solid #772faf!important;}
 body.woocommerce-cart .wp-block-woocommerce-cart table.wc-block-cart-items tbody tr:not(:last-child) > td {border-bottom:0!important;}
 body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-cart-items__row {column-gap:0!important;gap:0!important;grid-template-columns:minmax(68px,24%) minmax(0,1fr)!important;max-width:100%!important;min-width:0!important;}
 body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-cart-items__row > .wc-block-cart-item__image {grid-column:1!important;grid-row:1 / span 2!important;width:100%!important;min-width:0!important;padding:12px 8px 12px 0!important;box-sizing:border-box!important;}
 body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-cart-items__row > .wc-block-cart-item__product {grid-column:2!important;grid-row:1!important;min-width:0!important;width:auto!important;padding:12px 0!important;overflow-wrap:anywhere;}
 body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-cart-items__row > .wc-block-cart-item__total {grid-column:2!important;grid-row:2!important;min-width:0!important;padding:0 0 12px!important;text-align:left!important;}
 body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-cart-item__image img {max-width:100%!important;width:100%!important;height:auto!important;object-fit:contain!important;}
 body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-components-main,body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-components-sidebar-layout,body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-cart__main {min-width:0!important;max-width:100%!important;}
}

/* Tunnel de paiement : hiérarchie typographique propre à la validation de commande. */
body.kakurii-checkout-minimal .content h1 {color:#772faf!important;text-shadow:2px 4px 0 #fffb95!important;}
body.kakurii-checkout-minimal .content h2 {font-family:'Tovari','TovariSans',sans-serif!important;text-transform:none!important;text-shadow:none!important;color:#ff4381!important;}
body.kakurii-checkout-minimal .content :is(.woocommerce #place_order,.woocommerce button#place_order,.wp-block-woocommerce-checkout .wc-block-components-checkout-place-order-button) {font-family:'Tovari','TovariSans',sans-serif!important;text-transform:none!important;color:#fffdf5!important;}
body.kakurii-checkout-minimal .content :is(.woocommerce #place_order,.woocommerce button#place_order,.wp-block-woocommerce-checkout .wc-block-components-checkout-place-order-button) :is(span,.wc-block-components-button__text) {font-family:inherit!important;color:inherit!important;text-transform:inherit!important;}

/* Ajustements panier et paiement — octobre 2026. */
/* Checkout : titre de page sans ombre, sous-titres plus lisibles. */
body.kakurii-checkout-minimal .content h1 {font-family:'Tovari','TovariSans',sans-serif!important;text-shadow:none!important;text-transform:none!important;}
body.kakurii-checkout-minimal .content h2 {font-size:clamp(27px,3vw,36px)!important;line-height:1.2!important;}
/* Champs WooCommerce Blocks : le libellé flottant ne chevauche pas la valeur du select. */
body.kakurii-checkout-minimal .wc-block-components-combobox,
body.kakurii-checkout-minimal .wc-block-components-select {position:relative;min-width:0;}
body.kakurii-checkout-minimal .wc-block-components-combobox .wc-block-components-combobox-control label,
body.kakurii-checkout-minimal .wc-block-components-select .wc-block-components-select__label {top:7px!important;transform:none!important;font-size:12px!important;line-height:1.2!important;z-index:1;pointer-events:none;}
body.kakurii-checkout-minimal .wc-block-components-combobox .wc-block-components-combobox-control input,
body.kakurii-checkout-minimal .wc-block-components-select .wc-block-components-select__select {padding-top:25px!important;padding-bottom:7px!important;min-height:52px!important;line-height:1.25!important;box-sizing:border-box!important;}
@media(max-width:980px){
 body.kakurii-checkout-minimal .wc-block-checkout__sidebar.wp-block-woocommerce-checkout-totals-block,
 body.kakurii-checkout-minimal .wc-block-components-sidebar.wc-block-checkout__sidebar {display:none!important;}
 /* Panier : prix aligné sur le nom, sans colonnes fantômes. */
 body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-cart-items__row > .wc-block-cart-item__total,
 body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-cart-items__row > .wc-block-cart-item__total .wc-block-components-product-price {text-align:left!important;justify-content:flex-start!important;}
 body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-cart-items__row > .wc-block-cart-item__total {justify-self:stretch!important;}
 body.woocommerce-cart .content h1 {margin-bottom:12px!important;}
 body.woocommerce-cart .wc-block-cart__main {padding-top:0!important;margin-top:0!important;}
}
/* Les descriptions de lignes ne sont ni tronquées ni limitées à une seule ligne. */
body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-cart-item__product .wc-block-components-product-metadata__description,
body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-cart-item__product .wc-block-components-product-metadata__description p {display:block!important;white-space:normal!important;overflow:visible!important;text-overflow:clip!important;max-height:none!important;max-width:none!important;-webkit-line-clamp:unset!important;line-clamp:unset!important;}
/* 1084–1200 : même présentation des entêtes que sur le reste du desktop. */
@media(min-width:1084px) and (max-width:1200px){
 body.woocommerce-cart .wp-block-woocommerce-cart table.wc-block-cart-items thead {display:none!important;}
 body.woocommerce-cart .wp-block-woocommerce-cart table.wc-block-cart-items thead * {background:none!important;}
 body.woocommerce-cart .wp-block-woocommerce-cart table.wc-block-cart-items tbody {border-top:0!important;}
}

/* Checkout : valeurs des listes déroulantes toujours sous leur libellé, même hors focus. */
body.kakurii-checkout-minimal .wc-block-components-select .wc-block-components-select__label,
body.kakurii-checkout-minimal .wc-block-components-combobox .wc-block-components-combobox-control label {
  top:7px!important; transform:none!important; font-size:12px!important; line-height:1.2!important;
}
body.kakurii-checkout-minimal .wc-block-components-select select,
body.kakurii-checkout-minimal .wc-block-components-select .wc-block-components-select__select,
body.kakurii-checkout-minimal .wc-block-components-combobox .wc-block-components-combobox-control input {
  padding-top:25px!important; padding-bottom:7px!important; line-height:1.25!important;
}
/* Code promo : taille normale, Nunito, sans mouvement ni ombre. */
body.kakurii-checkout-minimal .wc-block-components-totals-coupon input,
body.kakurii-checkout-minimal .wc-block-components-totals-coupon .wc-block-components-text-input input {
  font-family:'Nunito',sans-serif!important;font-size:15px!important;font-weight:400!important;
  min-height:42px!important;height:42px!important;padding:9px 12px!important;line-height:1.3!important;
}
body.kakurii-checkout-minimal .wc-block-components-totals-coupon button,
body.kakurii-checkout-minimal .wc-block-components-totals-coupon .wc-block-components-button {
  background:#ff4381!important;color:#fffdf5!important;border:0!important;
  font-family:'Nunito',sans-serif!important;font-size:15px!important;font-weight:700!important;
  text-transform:none!important;min-height:42px!important;height:42px!important;
  padding:8px 14px!important;transform:none!important;box-shadow:none!important;
  transition:background-color .2s ease!important;
}
body.kakurii-checkout-minimal .wc-block-components-totals-coupon button:hover,
body.kakurii-checkout-minimal .wc-block-components-totals-coupon .wc-block-components-button:hover {
  background:#36e983!important;color:#772faf!important;transform:none!important;box-shadow:none!important;
}
body.kakurii-checkout-minimal .wc-block-components-totals-coupon button :is(span,.wc-block-components-button__text) {font:inherit!important;color:inherit!important;text-shadow:none!important;}
/* Panier : pas de séparateurs gris WooCommerce, y compris en container >= 920px. */
body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-cart__main .wc-block-cart-items td {
  border-top:0!important;
}

body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-cart__submit {margin-bottom:0!important;}

/* En-têtes désactivés : WooCommerce utilise une grille pour les lignes de produits. */
@media(min-width:981px){body.woocommerce-cart .wp-block-woocommerce-cart table.wc-block-cart-items thead{display:none!important;}}

/* Panier : titres hors de la grille WooCommerce (aucune modification des colonnes produits). */
@media (min-width:981px) {
  body.woocommerce-cart .wp-block-woocommerce-cart .kakurii-cart-column-headings {
    display:flex;justify-content:space-between;align-items:center;
    padding:0 18px 12px;margin:0 0 6px;border-bottom:2px solid #772faf;
    color:#772faf;font-family:'Nunito',sans-serif;font-size:13px;font-weight:800;text-transform:uppercase;
  }
  body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-cart-item__product .kakurii-cart-unit-price {
    margin:6px 0 0;color:#772faf;font:600 13px/1.4 'Nunito',sans-serif;
  }
}
@media (max-width:980px) {
  body.woocommerce-cart .kakurii-cart-column-headings {display:none!important;}
  body.woocommerce-cart .wc-block-cart-item__product .kakurii-cart-unit-price {
    margin:5px 0;color:#772faf;font:600 13px/1.4 'Nunito',sans-serif;
  }
}

/* Validation de commande : ajustements ciblés. */
body.kakurii-checkout-minimal .wc-block-components-select .wc-block-components-select__select,
body.kakurii-checkout-minimal .wc-block-components-select select,
body.kakurii-checkout-minimal .wc-block-components-combobox .wc-block-components-combobox-control input {
  padding:16px 8.5px 0!important;
}
body.kakurii-checkout-minimal .wp-block-woocommerce-checkout .wc-block-components-checkout-place-order-button:hover,
body.kakurii-checkout-minimal .woocommerce #place_order:hover {
  background:#36e983!important;transform:none!important;box-shadow:none!important;
  filter:none!important;text-shadow:none!important;border-color:transparent!important;
}
body.kakurii-checkout-minimal .wc-block-components-validation-error,
body.kakurii-checkout-minimal .wc-block-components-notice-banner,
body.kakurii-checkout-minimal .wc-block-components-totals-coupon .wc-block-components-validation-error,
body.kakurii-checkout-minimal .wc-block-components-totals-coupon .wc-block-components-validation-error * {
  font-family:'Nunito','Nunito Sans',sans-serif!important;
}
@media(min-width:981px){
  body.kakurii-checkout-minimal .wc-block-components-sidebar.wc-block-checkout__sidebar.wp-block-woocommerce-checkout-totals-block {
    padding:0!important;        background: #fff;
  }
}
body.kakurii-checkout-minimal .wp-block-woocommerce-checkout-order-summary-block {
  border:0!important;
}
/* Titres centrés uniquement sur les pages concernées. */
body.kakurii-checkout-minimal .content h1,
body.woocommerce-cart .content h1,
.kakurii-standard-page h1 {text-align:center!important;}

/* Sélecteurs WooCommerce : padding fixe. */
.wc-blocks-components-select .wc-blocks-components-select__select {
  padding: 16px 8.5px 0 !important;
}

/* Checkout : erreur du code promo lisible à 16 px. */
body.kakurii-checkout-minimal .wc-block-components-totals-coupon .wc-block-components-validation-error,
body.kakurii-checkout-minimal .wc-block-components-totals-coupon .wc-block-components-validation-error *,
body.kakurii-checkout-minimal .wc-block-components-totals-coupon .wc-block-components-notice-banner,
body.kakurii-checkout-minimal .wc-block-components-totals-coupon .wc-block-components-notice-banner * {
  font-family:'Nunito',sans-serif!important;
  font-size:16px!important;
}
/* Checkout : masquer le récapitulatif latéral jusqu’à 1054 px. */
@media (max-width: 1053px) {
  body.kakurii-checkout-minimal .wc-block-components-sidebar.wc-block-checkout__sidebar.wp-block-woocommerce-checkout-totals-block {
    display: none !important;
  }
}

/* Ajustements ciblés : fiche produit, goodies et panier. */
body.single-product.woocommerce .kakurii-shop div.product .product_title {font-size:clamp(30px,3.3vw,46px)!important;}
body.single-product.woocommerce .kakurii-shop div.product .summary .woocommerce-product-details__short-description :is(p,ul,ol,li) {font-size:18px!important;}
body.single-product.woocommerce .kakurii-shop div.product .product_meta .posted_in {display:none!important;}
body.woocommerce .kakurii-shop ul.products li.product .kakurii-product-card-excerpt {max-width:100%!important;}
body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-cart-item__product .kakurii-cart-unit-price {font: bold 20px/1.4 'Tovari',sans-serif!important;}
body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-cart-item__product .wc-block-components-product-metadata,
body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-cart-item__product .wc-block-components-product-details {display:none!important;}
body.woocommerce-cart h1,body.woocommerce-cart .entry-title {color:#ef75ae!important;}

/* Panier : prix unitaire visible même quand les métadonnées WooCommerce sont masquées. */
body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-cart-item__product > .kakurii-cart-unit-price {
  display:block!important; color:#772faf; font:600 20px/1.4 'Tovari',sans-serif!important; font-weight:bold!important;
}
body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-components-quantity-selector input,
body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-components-quantity-selector__input {
  color:#772faf!important; font-weight:800!important;
}
body.woocommerce-cart .content h1,
body.woocommerce-cart .content .entry-title {color:#ff4381!important;}

/* Panier : prix unitaire au-dessus des commandes quantité et suppression. */
body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-cart-item__quantity > .kakurii-cart-unit-price {display:block!important;color:#772faf!important;font:600 20px/1.4 "Tovari",sans-serif!important;font-weight:bold!important;margin:0 0 10px!important;}

/* Panier : prix unitaire sur une ligne, commandes de quantité en dessous à gauche. */
body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-cart-item__quantity {
  display:flex!important;
  flex-wrap:wrap!important;
  justify-content:flex-start!important;
  align-items:center!important;
  column-gap:12px!important;
}
body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-cart-item__quantity > .kakurii-cart-unit-price {
  display:block!important;
  flex:0 0 100%!important;
  width:100%!important;
  white-space:nowrap!important;
  margin:0 0 8px!important;
  font: bold 20px/1.4 'Tovari',sans-serif!important;
  color:#772faf!important;
}
body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-cart-item__quantity > .wc-block-components-quantity-selector {
  margin-left:0!important;
}

/* Validation de commande : résumé en Nunito gras et aucune marge sous les actions. */
body.kakurii-checkout-minimal .wc-block-components-order-summary .wc-block-components-order-summary-item__description .wc-block-components-product-metadata,
body.kakurii-checkout-minimal .wc-block-components-order-summary .wc-block-components-order-summary-item__description p {
  font-family:'Nunito',sans-serif!important;
  font-weight:700!important;
}
body.kakurii-checkout-minimal .wc-block-checkout__actions {
  margin-bottom:0!important;
}

/* Validation : nom du produit en gras, métadonnées et descriptions en poids normal. */
body.woocommerce-page .content .wc-block-components-product-name {
  font-weight:700!important;
}
body.kakurii-checkout-minimal .wc-block-components-order-summary .wc-block-components-order-summary-item__description .wc-block-components-product-metadata,
body.kakurii-checkout-minimal .wc-block-components-order-summary .wc-block-components-order-summary-item__description p {
  font-weight:400!important;
}

/* Checkout : bandeau illustré animé, dans le flux sur tous les écrans. */
body.kakurii-checkout-minimal .kakurii-checkout-header {
  position:relative; top:auto; inset-inline:auto; z-index:1;
  background-image:url('../img/header-bg.png');
  background-repeat:repeat-x; background-position:left bottom;
  animation:kakurii-checkout-header-scroll 90s linear infinite;
}
@keyframes kakurii-checkout-header-scroll {
  from {background-position-x:0;}
  to {background-position-x:1934px;}
}
@media (prefers-reduced-motion:reduce) {
  body.kakurii-checkout-minimal .kakurii-checkout-header {animation:none;}
}
/* Commander : vert au survol, sans déplacement, ombre ou filtre. */
body.kakurii-checkout-minimal .content :is(
  .woocommerce #place_order,
  .woocommerce button#place_order,
  .wp-block-woocommerce-checkout .wc-block-components-checkout-place-order-button
) {background:#ff4381!important;}
body.kakurii-checkout-minimal .content :is(
  .woocommerce #place_order,
  .woocommerce button#place_order,
  .wp-block-woocommerce-checkout .wc-block-components-checkout-place-order-button
):is(:hover,:focus-visible) {
  background:#36e983!important; transform:none!important;
  box-shadow:none!important; filter:none!important; text-shadow:none!important;
}


/* Filtre des goodies par personnage. */
.kakurii-character-filter { display:flex; align-items:center; justify-content:center; gap:12px; flex-basis:100%; margin-top:8px; }
.kakurii-character-filter label { color:#772faf; font:normal 19px/1.2 "Knewave",cursive; }
.kakurii-character-filter select { appearance:auto; background:#fffdef; color:#772faf; border:2px solid #772faf; border-radius:12px; padding:9px 14px; font:700 16px/1.3 "Nunito Sans",sans-serif; cursor:pointer; max-width:100%; }
.kakurii-character-filter select:hover,.kakurii-character-filter select:focus-visible { border-color:#36e983; outline-color:#36e983; }
@media(max-width:560px) { .kakurii-character-filter { flex-wrap:wrap; gap:7px; } }

/* Goodies : menu illustré des Kakuriis ayant des produits. */
.kakurii-character-filter { position:relative; z-index:20; }
.kakurii-character-dropdown { position:relative; width:min(290px,100%); }
.kakurii-character-trigger { width:100%; display:flex; align-items:center; gap:10px; min-height:52px; padding:5px 12px; background:#fffdef; color:#772faf; border:2px solid #772faf; border-radius:12px; cursor:pointer; font:700 16px/1.2 "Nunito Sans",sans-serif; text-align:left; }
.kakurii-character-trigger:hover,.kakurii-character-trigger:focus-visible { border-color:#36e983; color:#36e983; }
.kakurii-character-trigger-image,.kakurii-character-thumb { width:40px; height:40px; flex:none; display:flex; align-items:center; justify-content:center; }
.kakurii-character-trigger-image img,.kakurii-character-thumb img { display:block; max-width:100%; max-height:100%; object-fit:contain; }
.kakurii-character-trigger-name { flex:1; }
.kakurii-character-chevron { font-size:24px; line-height:1; }
.kakurii-character-options { position:absolute; top:calc(100% + 5px); left:0; right:0; max-height:340px; overflow-y:auto; background:#fffdef; border:2px solid #772faf; border-radius:12px; box-shadow:0 12px 25px rgba(30,21,83,.2); padding:5px; z-index:30; }
.kakurii-character-options[hidden] { display:none !important; }
.kakurii-character-option { display:flex; align-items:center; gap:10px; width:100%; min-height:49px; padding:4px 8px; background:transparent; color:#772faf; border:0; border-radius:8px; text-align:left; font:700 16px/1.2 "Nunito Sans",sans-serif; cursor:pointer; }
.kakurii-character-option:hover,.kakurii-character-option:focus-visible,.kakurii-character-option.is-selected { background:#36e983; color:#1e1553; }
@media(max-width:560px) { .kakurii-character-filter { width:100%; } .kakurii-character-dropdown { width:min(290px,100%); } }

/* Goodies : conserver les catégories à leur style initial, filtre à droite sur desktop. */
@media (min-width:901px) {
  body:is(.post-type-archive-product,.tax-product_cat).woocommerce .kakurii-shop-container > nav.kakurii-shop-categories {
    position:relative; justify-content:flex-start; padding-right:310px; min-height:65px;
  }
  body:is(.post-type-archive-product,.tax-product_cat).woocommerce .kakurii-shop-container > nav.kakurii-shop-categories > .kakurii-character-filter {
    position:absolute; right:0; top:0; width:auto; margin:0;
  }
}

/* Goodies : catégories groupées à gauche, filtre Kakurii à droite, sans changer le style des liens. */
@media (min-width:901px) {
  body:is(.post-type-archive-product,.tax-product_cat).woocommerce .kakurii-shop-container > nav.kakurii-shop-categories {
    display:flex; align-items:center; justify-content:flex-start; flex-wrap:wrap; padding-right:0; min-height:65px;
  }
  body:is(.post-type-archive-product,.tax-product_cat).woocommerce .kakurii-shop-container > nav.kakurii-shop-categories > .kakurii-character-filter {
    position:relative; inset:auto; width:auto; flex:0 0 auto; margin:0 0 0 auto; padding-left:24px;
  }
}

/* Goodies : catégories à gauche et menu Kakurii à droite, dès la largeur tablette.
   Le menu n'occupe plus toute une ligne (ancien flex-basis:100%). */
@media (min-width:700px) {
  body.woocommerce nav.kakurii-shop-categories {
    display:flex!important;
    width:min(1200px,calc(100% - 36px));
    flex-direction:row!important;
    flex-wrap:nowrap!important;
    align-items:center!important;
    justify-content:flex-start!important;
    gap:12px 22px;
    padding-right:0!important;
    margin-left:auto;
    margin-right:auto;
  }
  body.woocommerce nav.kakurii-shop-categories > a.kakurii-shop-category {
    flex:0 0 auto;
  }
  body.woocommerce nav.kakurii-shop-categories > .kakurii-character-filter {
    position:relative!important;
    inset:auto!important;
    display:flex!important;
    flex:0 0 auto!important;
    width:290px!important;
    margin:0 0 0 auto!important;
    padding:0!important;
    justify-content:flex-end!important;
  }
}
@media (max-width:699px) {
  body.woocommerce nav.kakurii-shop-categories > .kakurii-character-filter {
    flex-basis:100%;
  }
}

/* Sélecteur Kakurii : flèche identique aux boutons de l’accueil, orientée vers le bas. */
.kakurii-character-trigger .kakurii-character-chevron {
  display:grid;
  place-items:center;
  align-self:center;
  flex:0 0 20px;
  width:20px;
  height:20px;
  font-size:0;
  line-height:0;
}
.kakurii-character-trigger .kakurii-character-chevron::before {
  content:"";
  display:block;
  width:9px;
  height:9px;
  border-right:3px solid currentColor;
  border-bottom:3px solid currentColor;
  transform:translateY(-2px) rotate(45deg);
}

/* Goodies : noms des Kakuriis en majuscules dans le sélecteur. */
.kakurii-character-trigger-name,
.kakurii-character-option { text-transform: uppercase; }

/* Fiche produit : masquer la loupe WooCommerce sans désactiver la visionneuse. */
body.single-product .woocommerce-product-gallery__trigger {
  display: flex !important;
  align-items: center;
  justify-content: center;
  background: #fffdef !important;
  color: #772faf !important;
}
body.single-product .woocommerce-product-gallery__trigger::before,
body.single-product .woocommerce-product-gallery__trigger::after {
  border-color: #772faf !important;
}
body.single-product .woocommerce-product-gallery__trigger svg {
  fill: #772faf !important;
  color: #772faf !important;
}



/* Panier : retour à la boutique, sous la liste des articles. */
body.woocommerce-cart .kakurii-cart-continue {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin: 18px 0 28px;
  color: #772faf;
  font-family: 'Nunito Sans', sans-serif;
  font-weight: 800;
  text-decoration: none;
}


body.woocommerce-cart .kakurii-cart-continue .button-arrow {
  display: inline-block;
  width: 8px;
  height: 8px;
  border-top: 2px solid currentColor;
  border-right: 2px solid currentColor;
  transform: rotate(225deg);
}


body.woocommerce-cart .kakurii-cart-continue:hover,
body.woocommerce-cart .kakurii-cart-continue:focus-visible { color: #36e983; }


body.woocommerce-cart .kakurii-cart-continue {
  font-family: "Tovari", sans-serif;
  font-size: 20px;
}


body.woocommerce-cart .kakurii-cart-subtitle {
  font-family: "Tovari", sans-serif;
  margin: 0 0 40px;
  text-align: center;
  color: #772faf;
}

/* Panier : restauration des styles du sous-titre et du lien retour. */
body.woocommerce-cart .kakurii-cart-subtitle { font-family:"Tovari",sans-serif; font-size:20px; margin:0 0 40px; text-align:center; color:#772faf; }
body.woocommerce-cart .kakurii-cart-continue { display:inline-flex; align-items:center; gap:10px; margin:18px 0 28px; color:#772faf; font-family:"Tovari",sans-serif; font-size:20px; text-decoration:none; }
body.woocommerce-cart .kakurii-cart-continue:hover,body.woocommerce-cart .kakurii-cart-continue:focus-visible { color:#36e983; }


/* Restauration des styles de panier vide (cartes, boutons, images et responsive). */
/* Panier vide : supprimer uniquement le panneau de la page Panier. */
body.woocommerce-cart:is(.kakurii-cart-is-empty, :has(.wp-block-woocommerce-empty-cart-block)) .kakurii-standard-content {
  background: transparent !important;
  box-shadow: none !important;
  padding-inline: 0;
}
body.woocommerce-cart:is(.kakurii-cart-is-empty, :has(.wp-block-woocommerce-empty-cart-block)) .kakurii-standard-content::before,
body.woocommerce-cart:is(.kakurii-cart-is-empty, :has(.wp-block-woocommerce-empty-cart-block)) .kakurii-standard-content::after,
body.woocommerce-cart:is(.kakurii-cart-is-empty, :has(.wp-block-woocommerce-empty-cart-block)) .wp-block-separator.is-style-dots {
  display: none !important;
}
body.woocommerce-cart:is(.kakurii-cart-is-empty, :has(.wp-block-woocommerce-empty-cart-block)) .kakurii-cart-subtitle {
  color: #ff4381;
}
body.woocommerce-cart:is(.kakurii-cart-is-empty, :has(.wp-block-woocommerce-empty-cart-block)) .wp-block-woocommerce-empty-cart-block h2 {
  font-family: "Knewave", cursive !important;
  color: #fffb95 !important;
}
body.woocommerce-cart:is(.kakurii-cart-is-empty, :has(.wp-block-woocommerce-empty-cart-block)) .wc-block-cart__empty-cart__title {
  font-size: 0 !important;
}
body.woocommerce-cart:is(.kakurii-cart-is-empty, :has(.wp-block-woocommerce-empty-cart-block)) .kakurii-empty-character {
  display: block;
  width: auto;
  max-width: 260px;
  height: 260px;
  object-fit: contain;
  margin: 0 auto 24px;
}
/* Produits suggérés : grille et cartes calquées sur la boutique Goodies. */
body.woocommerce-cart:is(.kakurii-cart-is-empty, :has(.wp-block-woocommerce-empty-cart-block)) :is(.wc-block-grid__products, .wp-block-product-template) {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: clamp(18px, 3vw, 36px) !important;
  width: 100% !important;
  max-width: 1200px;
  margin: 0 auto !important;
  padding: 0 !important;
  list-style: none;
}
body.woocommerce-cart:is(.kakurii-cart-is-empty, :has(.wp-block-woocommerce-empty-cart-block)) :is(.wc-block-grid__product, .wp-block-product-template > li) {
  float: none !important;
  display: flex !important;
  flex-direction: column;
  min-width: 0 !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 12px 12px 20px !important;
  background: #fffdf8;
  border: 1px solid var(--shop-border);
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 6px 22px rgba(46,45,73,.045);
  box-sizing: border-box;
  text-align: center;
  transition: transform .2s, box-shadow .2s;
}
body.woocommerce-cart:is(.kakurii-cart-is-empty, :has(.wp-block-woocommerce-empty-cart-block)) :is(.wc-block-grid__product, .wp-block-product-template > li):hover {
  transform: translateY(-3px);
  box-shadow: 0 12px 30px rgba(46,45,73,.09);
}
body.woocommerce-cart:is(.kakurii-cart-is-empty, :has(.wp-block-woocommerce-empty-cart-block)) :is(.wc-block-grid__product, .wp-block-product-template > li) img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1;
  object-fit: contain;
  border-radius: 14px;
  padding: 12px;
  box-sizing: border-box;
  background: #f9f2ea;
}
body.woocommerce-cart:is(.kakurii-cart-is-empty, :has(.wp-block-woocommerce-empty-cart-block)) :is(.wc-block-grid__product-title, .wc-block-components-product-name, .wc-block-grid__product-price) {
  overflow-wrap: normal;
  word-break: normal;
}
body.woocommerce-cart:is(.kakurii-cart-is-empty, :has(.wp-block-woocommerce-empty-cart-block)) .wc-block-grid__product-price {
  font-size: 23px;
  margin: 8px 0 14px;
}
/* Bouton de retour et boutons des produits. */
body.woocommerce-cart:is(.kakurii-cart-is-empty, :has(.wp-block-woocommerce-empty-cart-block)) :is(.wc-block-grid__product-add-to-cart a, .wp-block-button__link, .wc-block-cart__empty-cart__button) {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: auto !important;
  max-width: 100%;
  min-height: 48px;
  font-family: "Tovari", sans-serif !important;
  white-space: normal;
  word-break: normal;
  background: #ff4381 !important;
  color: #fffb95 !important;
  border: 0;
  border-radius: 12px;
  padding: 12px 20px !important;
  text-decoration: none !important;
  box-shadow: none;
  transition: transform .2s, box-shadow .2s, background-color .2s;
}
body.woocommerce-cart:is(.kakurii-cart-is-empty, :has(.wp-block-woocommerce-empty-cart-block)) :is(.wc-block-grid__product-add-to-cart a, .wp-block-button__link, .wc-block-cart__empty-cart__button):hover {
  background: #36e983 !important;
  transform: translateY(-3px) rotate(-2deg);
  box-shadow: 5px 6px 0 #772faf, -3px -3px 0 #fffb95;
}
@media (min-width: 768px) {
  body.woocommerce-cart:is(.kakurii-cart-is-empty, :has(.wp-block-woocommerce-empty-cart-block)) :is(.wc-block-grid__products, .wp-block-product-template) {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }
}

/* Panier vide : lien de retour à la boutique, rendu comme un vrai bouton. */
body.woocommerce-cart:is(.kakurii-cart-is-empty, :has(.wp-block-woocommerce-empty-cart-block)) .wp-block-woocommerce-empty-cart-block a[href*="/goodies/"] {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: auto !important;
  min-height: 48px !important;
  padding: 12px 22px !important;
  font-family: "Knewave", cursive !important;
  font-size: 20px !important;
  text-transform: uppercase !important;
  line-height: 1.2 !important;
  font-weight: 400 !important;
  background: #ff4381 !important;
  color: #fffb95 !important;
  border: 0 !important;
  border-radius: 12px !important;
  text-decoration: none !important;
  box-shadow: none !important;
  transition: transform .2s, box-shadow .2s, background-color .2s;
}
body.woocommerce-cart:is(.kakurii-cart-is-empty, :has(.wp-block-woocommerce-empty-cart-block)) .wp-block-woocommerce-empty-cart-block a[href*="/goodies/"]:is(:hover,:focus-visible) {
  background: #36e983 !important;
  color: #772faf !important;
  transform: translateY(-3px) rotate(-2deg);
  box-shadow: 5px 6px 0 #772faf, -3px -3px 0 #fffb95 !important;
}

/* Panier vide : aucun espace au-dessus du Kakurii dans son titre. */
body.woocommerce-cart:is(.kakurii-cart-is-empty, :has(.wp-block-woocommerce-empty-cart-block)) .wp-block-woocommerce-empty-cart-block h2:has(.kakurii-empty-character) {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* Panier vide : flèche identique aux boutons de l’accueil. */
body.woocommerce-cart.kakurii-cart-is-empty .wp-block-woocommerce-empty-cart-block a[href*="/goodies/"]::after {
  content: "";
  display: inline-block;
  width: 8px;
  height: 8px;
  margin-left: 12px;
  border-top: 2px solid currentColor;
  border-right: 2px solid currentColor;
  transform: rotate(45deg);
  flex: none;
}

/* Suggestions : aucun panneau commun autour de la grille. */
body.woocommerce-cart.kakurii-cart-is-empty .wp-block-woocommerce-empty-cart-block :is(.wc-block-grid, .wp-block-query:has(.wp-block-product-template)) {
  background: transparent !important;
  padding: 0 !important;
  border: 0 !important;
  margin-top: 35px;
}
body.woocommerce-cart.kakurii-cart-is-empty .wp-block-woocommerce-empty-cart-block :is(.wc-block-grid, .wp-block-query:has(.wp-block-product-template))::before,
body.woocommerce-cart.kakurii-cart-is-empty .wp-block-woocommerce-empty-cart-block :is(.wc-block-grid, .wp-block-query:has(.wp-block-product-template))::after {
  content: none !important;
}

/* Une carte crème par produit, avec cache décoratif en haut et en bas. */
body.woocommerce-cart.kakurii-cart-is-empty .wp-block-woocommerce-empty-cart-block :is(.wc-block-grid__product, .wp-block-product-template > li) {
  position: relative;
  background: #fffdef !important;
  border: 0 !important;
  border-radius: 16px !important;
  padding: 24px 16px !important;
  overflow: hidden !important;
  box-shadow: none !important;
}
body.woocommerce-cart.kakurii-cart-is-empty .wp-block-woocommerce-empty-cart-block :is(.wc-block-grid__product, .wp-block-product-template > li)::before,
body.woocommerce-cart.kakurii-cart-is-empty .wp-block-woocommerce-empty-cart-block :is(.wc-block-grid__product, .wp-block-product-template > li)::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  height: 10px;
  background: url("../img/hero-cache.png") repeat-x left top / auto 10px;
  pointer-events: none;
}
body.woocommerce-cart.kakurii-cart-is-empty .wp-block-woocommerce-empty-cart-block :is(.wc-block-grid__product, .wp-block-product-template > li)::before { top: 0; }
body.woocommerce-cart.kakurii-cart-is-empty .wp-block-woocommerce-empty-cart-block :is(.wc-block-grid__product, .wp-block-product-template > li)::after { bottom: 0; transform: rotate(180deg); }

/* Images entières, sans recadrage. */
body.woocommerce-cart.kakurii-cart-is-empty .wp-block-woocommerce-empty-cart-block .wp-block-product-template > li img {
  display: block;
  width: 100% !important;
  height: auto !important;
  max-height: none !important;
  aspect-ratio: auto !important;
  object-fit: contain !important;
  padding: 0 !important;
  background: transparent !important;
  border-radius: 0 !important;
}

/* Titres des produits en Knewave, majuscules et sans soulignement. */
body.woocommerce-cart.kakurii-cart-is-empty .wp-block-woocommerce-empty-cart-block :is(.wc-block-grid__product-title, .wc-block-components-product-name, .wp-block-post-title),
body.woocommerce-cart.kakurii-cart-is-empty .wp-block-woocommerce-empty-cart-block :is(.wc-block-grid__product-title, .wc-block-components-product-name, .wp-block-post-title) a,
body.woocommerce-cart.kakurii-cart-is-empty .wp-block-woocommerce-empty-cart-block .wc-block-grid__product a.wc-block-grid__product-link {
  font-family: "Knewave", cursive !important;
  color: #ff4381 !important;
  text-shadow: 2px 2px 0 #fffb95 !important;
  font-size: 24px !important;
  line-height: 1.1em !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
}
body.woocommerce-cart.kakurii-cart-is-empty .wp-block-woocommerce-empty-cart-block :is(.wc-block-grid__product-price, .wc-block-components-product-price, .wp-block-woocommerce-product-price) {
  font-family: "Tovari", sans-serif !important;
  color: #772faf !important;
  font-size: 23px !important;
}
body.woocommerce-cart.kakurii-cart-is-empty .wp-block-woocommerce-empty-cart-block :is(.wc-block-grid__product-add-to-cart a, .wp-block-woocommerce-product-button a) {
  font-family: "Knewave", cursive !important;
  text-transform: uppercase !important;
  font-size: 20px !important;
}

/* Panier vide : images entières et animation réservée à la photo / au titre. */
body.woocommerce-cart.kakurii-cart-is-empty .wp-block-woocommerce-empty-cart-block :is(.wc-block-grid__product, .wp-block-product-template > li):hover {
  transform: none !important;
  box-shadow: none !important;
}
body.woocommerce-cart.kakurii-cart-is-empty .wp-block-woocommerce-empty-cart-block :is(.wc-block-components-product-image, .wp-block-woocommerce-product-image) {
  height: auto !important;
  max-height: none !important;
  aspect-ratio: auto !important;
  overflow: visible !important;
}
body.woocommerce-cart.kakurii-cart-is-empty .wp-block-woocommerce-empty-cart-block :is(.wc-block-grid__product, .wp-block-product-template > li) img {
  width: 100% !important;
  height: 100% !important;
  max-height: none !important;
  object-fit: contain !important;
  object-position: center !important;
  clip-path: none !important;
  transition: transform .25s ease !important;
}
body.woocommerce-cart.kakurii-cart-is-empty .wp-block-woocommerce-empty-cart-block :is(.wc-block-grid__product, .wp-block-product-template > li) :is(.wc-block-grid__product-image a, .wc-block-grid__product-link, .wp-block-woocommerce-product-image a, .wp-block-post-title a):hover img,
body.woocommerce-cart.kakurii-cart-is-empty .wp-block-woocommerce-empty-cart-block .wc-block-grid__product:has(.wc-block-grid__product-title:hover) img,
body.woocommerce-cart.kakurii-cart-is-empty .wp-block-woocommerce-empty-cart-block .wp-block-product-template > li:has(.wp-block-post-title:hover) img {
  transform: scale(1.045) rotate(-2deg) !important;
}
body.woocommerce-cart.kakurii-cart-is-empty .wp-block-woocommerce-empty-cart-block :is(.wc-block-grid__product-title, .wc-block-components-product-name, .wp-block-post-title) {
  line-height: 1.1em !important;
  margin-bottom: 2px !important;
}
body.woocommerce-cart.kakurii-cart-is-empty .wp-block-woocommerce-empty-cart-block :is(.wc-block-grid__product-price, .wc-block-components-product-price, .wp-block-woocommerce-product-price) {
  margin-top: 0 !important;
}

/* Panier vide — images entières et cartes centrées (mobile first). */
body.woocommerce-cart.kakurii-cart-is-empty .wp-block-woocommerce-empty-cart-block :is(.wc-block-grid__products, .wp-block-product-template) {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
  align-items: stretch;
  gap: clamp(18px, 3vw, 36px) !important;
}
body.woocommerce-cart.kakurii-cart-is-empty .wp-block-woocommerce-empty-cart-block :is(.wc-block-grid__product, .wp-block-product-template > li) {
  flex: 0 1 calc((100% - clamp(18px, 3vw, 36px)) / 2) !important;
  max-width: calc((100% - clamp(18px, 3vw, 36px)) / 2) !important;
}
/* Le décor n'est pas aligné à l'identique d'une carte à l'autre. */
body.woocommerce-cart.kakurii-cart-is-empty .wp-block-woocommerce-empty-cart-block :is(.wc-block-grid__product, .wp-block-product-template > li):nth-child(3n+2)::before,
body.woocommerce-cart.kakurii-cart-is-empty .wp-block-woocommerce-empty-cart-block :is(.wc-block-grid__product, .wp-block-product-template > li):nth-child(3n+2)::after { background-position-x: -43px; }
body.woocommerce-cart.kakurii-cart-is-empty .wp-block-woocommerce-empty-cart-block :is(.wc-block-grid__product, .wp-block-product-template > li):nth-child(3n)::before,
body.woocommerce-cart.kakurii-cart-is-empty .wp-block-woocommerce-empty-cart-block :is(.wc-block-grid__product, .wp-block-product-template > li):nth-child(3n)::after { background-position-x: -91px; }
body.woocommerce-cart.kakurii-cart-is-empty .wp-block-woocommerce-empty-cart-block :is(.wc-block-grid__product-title, .wc-block-components-product-name, .wp-block-post-title),
body.woocommerce-cart.kakurii-cart-is-empty .wp-block-woocommerce-empty-cart-block :is(.wc-block-grid__product-title, .wc-block-components-product-name, .wp-block-post-title) a { font-weight: 100 !important; }
@media (min-width: 768px) {
  body.woocommerce-cart.kakurii-cart-is-empty .wp-block-woocommerce-empty-cart-block :is(.wc-block-grid__product, .wp-block-product-template > li) {
    flex-basis: calc((100% - 2 * clamp(18px, 3vw, 36px)) / 3) !important;
    max-width: calc((100% - 2 * clamp(18px, 3vw, 36px)) / 3) !important;
  }
}

/* Panier vide : cadre 1:1, image entière sans recadrage. */
body.woocommerce-cart.kakurii-cart-is-empty .wp-block-woocommerce-empty-cart-block .wc-block-grid__product-image {
  display: block !important;
  position: relative !important;
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 1 / 1 !important;
  overflow: hidden !important;
  margin: 0 0 12px !important;
}
body.woocommerce-cart.kakurii-cart-is-empty .wp-block-woocommerce-empty-cart-block .wc-block-grid__product-image > a {
  display: block !important;
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
}
body.woocommerce-cart.kakurii-cart-is-empty .wp-block-woocommerce-empty-cart-block .wc-block-grid__product-image > img,
body.woocommerce-cart.kakurii-cart-is-empty .wp-block-woocommerce-empty-cart-block .wc-block-grid__product-image > a > img {
  display: block !important;
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  max-height: 100% !important;
  aspect-ratio: auto !important;
  object-fit: contain !important;
  object-position: center !important;
  background: none !important;
}

/* Panier vide : titre vert au survol de la photo ou du nom. */
body.woocommerce-cart.kakurii-cart-is-empty .wp-block-woocommerce-empty-cart-block .wc-block-grid__product:has(.wc-block-grid__product-image:hover) .wc-block-grid__product-title,
body.woocommerce-cart.kakurii-cart-is-empty .wp-block-woocommerce-empty-cart-block .wc-block-grid__product:has(.wc-block-grid__product-image:hover) .wc-block-grid__product-title a,
body.woocommerce-cart.kakurii-cart-is-empty .wp-block-woocommerce-empty-cart-block .wc-block-grid__product-title:hover,
body.woocommerce-cart.kakurii-cart-is-empty .wp-block-woocommerce-empty-cart-block .wc-block-grid__product-title:hover a {
  color: #36e983 !important;
}

/* Panier vide : une seule suggestion par ligne sur petit écran. */
@media (max-width: 599px) {
  body.woocommerce-cart.kakurii-cart-is-empty .wp-block-woocommerce-empty-cart-block :is(.wc-block-grid__product, .wp-block-product-template > li) {
    flex: 0 1 100% !important;
    width: 100% !important;
    max-width: 100% !important;
  }
}

/* Panier (vide ou rempli) : espacement du titre et séparateurs des lignes. */
body.woocommerce-cart .content h1,
body.woocommerce-cart .content .entry-title {
  margin-bottom: 10px !important;
}
body.woocommerce-cart .is-medium table.wc-block-cart-items:not(.wc-block-mini-cart-items):not(:last-child) .wc-block-cart-items__row {
  border-bottom: 2px solid #772faf !important;
}

/* Fiche produit : liens des personnages associés. */
body.single-product .kakurii-product-character-links {
  font-size: 18px !important;
  color: #772faf !important;
  line-height: 1.4;
}
body.single-product .kakurii-product-character-links span {
  color: #772faf !important;
}
body.single-product .kakurii-product-character-links a,
body.single-product .kakurii-product-character-links a:visited {
  text-transform: uppercase !important;
  text-decoration: none !important;
  font-size: inherit !important;
}
body.single-product .kakurii-product-character-links a:hover {
  color: #36e983 !important;
  text-decoration: none !important;
}

/* Validation : bordure violette du récapitulatif sur mobile. */
@media (max-width: 767px) {
  body.kakurii-checkout-minimal .wp-block-woocommerce-checkout-order-summary-block .checkout-order-summary-block-fill {
    border: 3px solid #772faf;
    border-radius: 15px;
  }
}

/* Validation : notification d’erreur et bouton de fermeture. */
body.kakurii-checkout-minimal .content .wc-block-components-notice-banner.is-error,
body.kakurii-checkout-minimal .content .wc-block-components-notice-banner.is-error :is(.wc-block-components-notice-banner__content, p, ul, li, span, div) {
  font-family: "Nunito Sans", sans-serif !important;
  font-size: 16px !important;
  line-height: 1.4 !important;
}

body.kakurii-checkout-minimal .content .wc-block-components-notice-banner.is-error .wc-block-components-notice-banner__dismiss {
  background: transparent !important;
  background-color: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 4px !important;
  color: #ff4381 !important;
}

body.kakurii-checkout-minimal .content .wc-block-components-notice-banner.is-error .wc-block-components-notice-banner__dismiss svg {
  width: 28px !important;
  height: 28px !important;
  fill: #ff4381 !important;
  stroke: #ff4381 !important;
  stroke-width: .7px !important;
}

/* Validation : icône d'alerte centrée verticalement dans la notification. */
body.kakurii-checkout-minimal .content .wc-block-components-notice-banner.is-error {
  display: flex !important;
  align-items: center !important;
}
body.kakurii-checkout-minimal .content .wc-block-components-notice-banner.is-error > svg {
  align-self: center !important;
  flex-shrink: 0;
}

/* Validation de commande : champs uniformes. */
body.kakurii-checkout-minimal .content :is(input, textarea, select):not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="submit"]):not([type="button"]),
body.kakurii-checkout-minimal .content .wc-blocks-components-select .wc-blocks-components-select__select,
body.kakurii-checkout-minimal .content .wc-block-components-text-input input,
body.kakurii-checkout-minimal .content .wc-block-components-combobox input {
  background: #fffdf8 !important;
  color: var(--shop-ink) !important;
  border: 1px solid #772faf !important;
}

/* Validation : récapitulatif de commande violet, desktop et mobile. */
body.kakurii-checkout-minimal .content .wc-block-components-sidebar.wc-block-checkout__sidebar,
body.kakurii-checkout-minimal .content .wp-block-woocommerce-checkout-order-summary-block .checkout-order-summary-block-fill {
  border: 3px solid #772faf !important;
  border-radius: 15px !important;
}
body.kakurii-checkout-minimal .content .wc-block-components-sidebar.wc-block-checkout__sidebar {
  padding: 0 !important;
}
body.kakurii-checkout-minimal .content :is(
  .wc-block-components-checkout-order-summary__title-text,
  .wc-block-components-order-summary__title,
  .wc-block-components-order-summary-item__description .wc-block-components-product-name,
  .wc-block-components-order-summary .wc-block-components-product-name,
  .wc-block-components-totals-footer-item,
  .wc-block-components-totals-footer-item .wc-block-components-totals-item__label,
  .wc-block-components-totals-footer-item .wc-block-components-totals-item__value,
  .wc-block-components-totals-footer-item .wc-block-components-formatted-money-amount
) {
  color: #772faf !important;
}
body.kakurii-checkout-minimal .content .wc-block-components-order-summary .wc-block-components-order-summary-item__quantity {
  background: #772faf !important;
  color: #fffdef !important;
}
body.kakurii-checkout-minimal .content .wc-block-components-order-summary .wc-block-components-product-name {
  font-family: "Nunito Sans", sans-serif !important;
}

/* Validation : forcer les puces dans les listes des notifications WooCommerce. */
body.kakurii-checkout-minimal .content .wc-block-components-notice-banner__content ul {
  list-style: disc outside !important;
  padding-left: 24px !important;
  margin: 8px 0 !important;
}
body.kakurii-checkout-minimal .content .wc-block-components-notice-banner__content ul > li {
  display: list-item !important;
  list-style: disc outside !important;
  padding-left: 2px !important;
}
body.kakurii-checkout-minimal .content .wc-block-components-notice-banner__content ul > li::marker {
  content: "•  " !important;
  color: #772faf !important;
}
/* Validation : nouvelle couleur de bordure des champs. */
body.kakurii-checkout-minimal .content :is(input, textarea, select):not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="submit"]):not([type="button"]),
body.kakurii-checkout-minimal .content .wc-blocks-components-select .wc-blocks-components-select__select,
body.kakurii-checkout-minimal .content .wc-block-components-text-input input,
body.kakurii-checkout-minimal .content .wc-block-components-combobox input {
  border: 1px solid #ccb5dd !important;
}

/* Checkout : fond animé du header sticky, sans navigation ni position fixe. */
body.kakurii-checkout-minimal .kakurii-checkout-header {
  position: relative !important;
  top: auto !important;
  background-image: url('../img/menu-sticky-bg.png') !important;
  background-repeat: repeat-x !important;
  background-position: 0 bottom !important;
  animation: kakurii-checkout-header-scroll 90s linear infinite;
}

/* Validation : bandeau initial du site (20px), animé et non sticky. */
body.kakurii-checkout-minimal .kakurii-checkout-header {
  background-image: none !important;
  position: relative !important;
  isolation: isolate;
}
body.kakurii-checkout-minimal .kakurii-checkout-header::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 20px;
  pointer-events: none;
  background: url("../img/menu-sticky-bg.png") repeat-x left bottom / 1500px auto;
  animation: kakurii-checkout-header-scroll 180s linear infinite;
}
@media (prefers-reduced-motion: reduce) {
  body.kakurii-checkout-minimal .kakurii-checkout-header::before { animation: none; }
}

/* Validation : mêmes couleurs et bordures sur les cases à cocher. */
body.kakurii-checkout-minimal .content input[type="checkbox"],
body.kakurii-checkout-minimal .content .wc-block-components-checkbox input[type="checkbox"],
body.kakurii-checkout-minimal .content .wc-block-components-checkbox__input {
  background: #fffdf8 !important;
  color: var(--shop-ink) !important;
  border: 1px solid #ccb5dd !important;
  accent-color: #772faf;
}

/* Panier : typographies des prix unitaires et totaux par article. */
body.woocommerce-cart .wp-block-woocommerce-cart .kakurii-cart-unit-price,
body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-cart-item__quantity > .kakurii-cart-unit-price,
body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-cart-item__product > .kakurii-cart-unit-price {
  font-family: 'Nunito Sans', sans-serif !important;
  font-size: 14px !important;
}
body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-cart-items__row > .wc-block-cart-item__total .wc-block-components-product-price,
body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-cart-items__row > .wc-block-cart-item__total .wc-block-components-product-price *,
body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-cart-items__row > .wc-block-cart-item__total .wc-block-components-formatted-money-amount,
body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-cart-items__row > .wc-block-cart-item__total .wc-block-formatted-money-amount {
  font-family: 'Tovari', sans-serif !important;
  font-size: 26px !important;
}

/* Panier : encadrement violet du résumé. */
body.woocommerce-cart.woocommerce-page .content .wc-block-components-sidebar {
  border: 3px solid #772faf !important;
}

/* Panier : flèche vers la droite, identique aux flèches de l'accueil. */
body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-cart__submit-button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 14px !important;
}
body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-cart__submit-button::after {
  content: "";
  display: block;
  flex: 0 0 9px;
  width: 9px;
  height: 9px;
  border-top: 2px solid currentColor;
  border-right: 2px solid currentColor;
  transform: rotate(45deg);
}

/* Panier : bouton de validation sans flèche, texte jaune au repos et au survol. */
body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-cart__submit-button::after {
  content: none !important;
  display: none !important;
}
body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-cart__submit-button,
body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-cart__submit-button:hover,
body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-cart__submit-button:focus-visible,
body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-cart__submit-button .wc-block-components-button__text {
  color: #fffb95 !important;
}

/* Panier mobile : séparateur violet entre les articles. */
body.woocommerce-cart .is-mobile table.wc-block-cart-items:not(.wc-block-mini-cart-items):not(:last-child) .wc-block-cart-items__row {
  border-bottom: 2px solid #772faf !important;
}

/* Panier : séparateur violet sur toutes les lignes, tous formats. */
body.woocommerce-cart .wc-block-cart-items__row {
  border-bottom: 2px solid #772faf !important;
}

/* Validation : footer sans image, textes au-dessus des yeux décoratifs. */
body.kakurii-checkout-minimal .kakurii-checkout-footer {
  position: relative;
  z-index: 20;
  isolation: isolate;
  background: none !important;
  background-image: none !important;
  animation: none !important;
  padding: 10px 18px 30px;
}
body.kakurii-checkout-minimal .kakurii-checkout-footer :is(a, p, span, div) {
  position: relative;
  z-index: 1;
}

/* Validation : prix de chaque article violet et gras, description en poids normal. */
body.kakurii-checkout-minimal .content .wc-block-components-order-summary .wc-block-components-order-summary-item__total-price,
body.kakurii-checkout-minimal .content .wc-block-components-order-summary .wc-block-components-order-summary-item__total-price .wc-block-formatted-money-amount,
body.kakurii-checkout-minimal .content .wc-block-components-order-summary .wc-block-components-order-summary-item__total-price .wc-block-components-formatted-money-amount {
  color: #772faf !important;
  font-weight: 800 !important;
}
body.kakurii-checkout-minimal .content .wc-block-components-order-summary .wc-block-components-order-summary-item__description :is(.wc-block-components-product-metadata, .wc-block-components-product-details, p, .wc-block-components-product-description) {
  font-weight: 400 !important;
}

/* Validation : les balises strong dans la description restent en poids normal. */
body.kakurii-checkout-minimal .content .wc-block-components-order-summary .wc-block-components-order-summary-item__description :is(.wc-block-components-product-metadata, .wc-block-components-product-details, .wc-block-components-product-description, p) strong {
  font-weight: 400 !important;
}

/* Validation : typographie des messages d’erreur WooCommerce. */
body.woocommerce-checkout .wc-block-components-validation-error > p span {
  font-family: 'Nunito', 'Nunito Sans', sans-serif !important;
  font-size: 14px !important;
}

/* Suggestions fiche produit : mêmes cartes que les suggestions du panier vide. */
body.single-product.woocommerce .kakurii-shop .related.products ul.products,
body.single-product.woocommerce .kakurii-shop .kakurii-related-outside ul.products {
 display:grid !important; grid-template-columns:repeat(2,minmax(0,1fr)) !important;
 gap:clamp(18px,3vw,32px) !important; margin:0 !important; padding:0 !important;
}
body.single-product.woocommerce .kakurii-shop .related.products ul.products li.product {
 float:none !important; width:100% !important; max-width:none !important; margin:0 !important;
 display:flex !important; flex-direction:column !important; align-items:center !important;
 text-align:center !important; padding:clamp(14px,2vw,24px) !important;
 background:#fffdf8 !important; border-radius:18px !important;
 transition:transform .25s ease,box-shadow .25s ease !important;
}
body.single-product.woocommerce .kakurii-shop .related.products ul.products li.product:hover {
 transform:translateY(-3px) !important;box-shadow:0 12px 30px rgba(46,45,73,.09) !important;
}
body.single-product.woocommerce .kakurii-shop .related.products ul.products li.product a.woocommerce-LoopProduct-link {
 width:100%;display:block;text-decoration:none !important;
}
body.single-product.woocommerce .kakurii-shop .related.products ul.products li.product img {
 width:100% !important;height:auto !important;aspect-ratio:1 !important;
 object-fit:contain !important;object-position:center !important;
 background:transparent !important;margin:0 auto 12px !important;
}
body.single-product.woocommerce .kakurii-shop .related.products ul.products li.product .woocommerce-loop-product__title {
 font-family:'Knewave',cursive !important;color:#772faf !important;
 font-weight:400 !important;overflow-wrap:normal !important;word-break:normal !important;
}
body.single-product.woocommerce .kakurii-shop .related.products ul.products li.product:hover .woocommerce-loop-product__title,
body.single-product.woocommerce .kakurii-shop .related.products ul.products li.product a:hover .woocommerce-loop-product__title {
 color:#36e983 !important;
}
body.single-product.woocommerce .kakurii-shop .related.products ul.products li.product .price {
 font-family:'Tovari',sans-serif !important;color:#772faf !important;font-size:23px !important;
 margin:8px 0 14px !important;
}
body.single-product.woocommerce .kakurii-shop .related.products ul.products li.product :is(.button,.add_to_cart_button) {
 display:inline-flex !important;align-items:center !important;justify-content:center !important;
 background:#ff4381 !important;color:#fffdf8 !important;border:0 !important;
 border-radius:100px !important;text-decoration:none !important;
 font-family:'Knewave',cursive !important;
}
body.single-product.woocommerce .kakurii-shop .related.products ul.products li.product :is(.button,.add_to_cart_button):hover {
 background:#36e983 !important;color:#772faf !important;
}
@media(max-width:599px){
 body.single-product.woocommerce .kakurii-shop .related.products ul.products {grid-template-columns:minmax(0,1fr) !important;}
}

/* Panier vide : carré fixe, visuel entier (tous types de blocs WooCommerce). */
body.woocommerce-cart.kakurii-cart-is-empty .wp-block-woocommerce-empty-cart-block :is(.wc-block-grid__product-image, .wc-block-components-product-image, .wp-block-woocommerce-product-image) {
 position:relative !important; display:block !important; width:100% !important;
 height:auto !important; aspect-ratio:1/1 !important; overflow:hidden !important;
}
body.woocommerce-cart.kakurii-cart-is-empty .wp-block-woocommerce-empty-cart-block :is(.wc-block-grid__product-image, .wc-block-components-product-image, .wp-block-woocommerce-product-image) a {
 display:flex !important; align-items:center !important; justify-content:center !important;
 width:100% !important; height:100% !important; position:absolute !important; inset:0 !important;
}
body.woocommerce-cart.kakurii-cart-is-empty .wp-block-woocommerce-empty-cart-block :is(.wc-block-grid__product-image, .wc-block-components-product-image, .wp-block-woocommerce-product-image) img,
body.woocommerce-cart.kakurii-cart-is-empty .wp-block-woocommerce-empty-cart-block .wc-block-grid__product img {
 width:100% !important; height:100% !important; max-width:100% !important;
 max-height:100% !important; object-fit:contain !important; object-position:center !important;
 aspect-ratio:auto !important; clip-path:none !important;
}

/* Fiche produit : cartes identiques au panier vide, sans agrandissement. */
body.single-product.woocommerce :is(.related.products, .kakurii-related-outside) ul.products {
 display:flex !important; flex-wrap:wrap !important; justify-content:center !important;
 gap:clamp(18px,3vw,36px) !important; margin:0 !important; padding:0 !important;
}
body.single-product.woocommerce :is(.related.products, .kakurii-related-outside) ul.products > li.product {
 box-sizing:border-box !important; float:none !important; clear:none !important;
 flex:0 1 calc((100% - 2 * clamp(18px,3vw,36px))/3) !important;
 width:calc((100% - 2 * clamp(18px,3vw,36px))/3) !important;
 max-width:calc((100% - 2 * clamp(18px,3vw,36px))/3) !important;
 margin:0 !important; padding:16px !important; display:flex !important;
 flex-direction:column !important; align-items:center !important; text-align:center !important;
 background:#fffdf8 !important; border-radius:18px !important;
 transform:none !important; box-shadow:none !important;
}
body.single-product.woocommerce :is(.related.products, .kakurii-related-outside) ul.products > li.product:hover {
 transform:none !important; box-shadow:none !important;
}
body.single-product.woocommerce :is(.related.products, .kakurii-related-outside) ul.products > li.product a.woocommerce-LoopProduct-link {
 width:100% !important; display:block !important; text-decoration:none !important;
}
body.single-product.woocommerce :is(.related.products, .kakurii-related-outside) ul.products > li.product a.woocommerce-LoopProduct-link img {
 display:block !important; width:100% !important; height:auto !important;
 aspect-ratio:1/1 !important; object-fit:contain !important; object-position:center !important;
 max-height:none !important; margin:0 auto 12px !important; clip-path:none !important;
 transition:transform .25s ease !important;
}
body.single-product.woocommerce :is(.related.products, .kakurii-related-outside) ul.products > li.product a.woocommerce-LoopProduct-link:hover img {
 transform:scale(1.045) rotate(-2deg) !important;
}
body.single-product.woocommerce :is(.related.products, .kakurii-related-outside) ul.products > li.product .woocommerce-loop-product__title {
 font-family:'Knewave',cursive !important; font-size:24px !important; line-height:1.1 !important;
 font-weight:400 !important; color:#ff4381 !important; text-shadow:2px 2px 0 #fffb95 !important;
 text-transform:uppercase !important; margin:0 0 2px !important; padding:0 !important;
}
body.single-product.woocommerce :is(.related.products, .kakurii-related-outside) ul.products > li.product a.woocommerce-LoopProduct-link:hover .woocommerce-loop-product__title {
 color:#36e983 !important;
}
body.single-product.woocommerce :is(.related.products, .kakurii-related-outside) ul.products > li.product .price {
 font-family:'Tovari',sans-serif !important; font-size:23px !important; line-height:1.2 !important;
 color:#772faf !important; margin:0 0 12px !important; font-weight:400 !important;
}
body.single-product.woocommerce :is(.related.products, .kakurii-related-outside) ul.products > li.product :is(.button,.add_to_cart_button) {
 font-family:'Knewave',cursive !important; font-size:20px !important; line-height:1.2 !important;
 text-transform:uppercase !important; border-radius:100px !important;
}
@media(max-width:767px) {
 body.single-product.woocommerce :is(.related.products, .kakurii-related-outside) ul.products > li.product {
  flex-basis:calc((100% - clamp(18px,3vw,36px))/2) !important;
  width:calc((100% - clamp(18px,3vw,36px))/2) !important;
  max-width:calc((100% - clamp(18px,3vw,36px))/2) !important;
 }
}
@media(max-width:599px) {
 body.single-product.woocommerce :is(.related.products, .kakurii-related-outside) ul.products > li.product {
  flex-basis:100% !important; width:100% !important; max-width:100% !important;
 }
}


/* Fiche produit : « Vous aimerez aussi », mêmes cartes que le panier vide. */
body.single-product.woocommerce section.kakurii-related-outside {width:100%;max-width:1200px;margin:32px auto 0;box-sizing:border-box;}
body.single-product.woocommerce section.kakurii-related-outside section.related.products {width:100%;margin:0;padding:0;}
body.single-product.woocommerce section.kakurii-related-outside ul.products.columns-4 {
 display:flex !important;flex-wrap:wrap !important;justify-content:center !important;align-items:stretch !important;
 gap:clamp(18px,3vw,36px) !important;padding:0 !important;margin:0 !important;
 list-style:none !important;clear:both !important;
}
body.single-product.woocommerce section.kakurii-related-outside ul.products.columns-4 > li.product {
 box-sizing:border-box !important;position:relative !important;float:none !important;clear:none !important;
 flex:0 1 calc((100% - 2 * clamp(18px,3vw,36px))/3) !important;
 width:calc((100% - 2 * clamp(18px,3vw,36px))/3) !important;
 max-width:calc((100% - 2 * clamp(18px,3vw,36px))/3) !important;
 min-width:0 !important;margin:0 !important;padding:24px 16px !important;
 background:#fffdef !important;border:0 !important;border-radius:16px !important;
 box-shadow:none !important;transform:none !important;overflow:hidden !important;
 display:flex !important;flex-direction:column !important;align-items:center !important;text-align:center !important;
}
body.single-product.woocommerce section.kakurii-related-outside ul.products.columns-4 > li.product::before,
body.single-product.woocommerce section.kakurii-related-outside ul.products.columns-4 > li.product::after {
 content:"" !important;position:absolute !important;left:0 !important;right:0 !important;height:10px !important;
 background:url("../img/hero-cache.png") repeat-x left top / auto 10px !important;
 pointer-events:none !important;display:block !important;
}
body.single-product.woocommerce section.kakurii-related-outside ul.products.columns-4 > li.product::before {top:0 !important;}
body.single-product.woocommerce section.kakurii-related-outside ul.products.columns-4 > li.product::after {bottom:0 !important;transform:rotate(180deg) !important;}
body.single-product.woocommerce section.kakurii-related-outside ul.products.columns-4 > li.product:nth-child(3n+2)::before,
body.single-product.woocommerce section.kakurii-related-outside ul.products.columns-4 > li.product:nth-child(3n+2)::after {background-position-x:-43px !important;}
body.single-product.woocommerce section.kakurii-related-outside ul.products.columns-4 > li.product:nth-child(3n)::before,
body.single-product.woocommerce section.kakurii-related-outside ul.products.columns-4 > li.product:nth-child(3n)::after {background-position-x:-91px !important;}
body.single-product.woocommerce section.kakurii-related-outside ul.products.columns-4 > li.product > a.woocommerce-LoopProduct-link {
 display:flex !important;flex-direction:column !important;align-items:center !important;
 width:100% !important;flex:1 1 auto !important;text-decoration:none !important;
}
body.single-product.woocommerce section.kakurii-related-outside ul.products.columns-4 > li.product > a.woocommerce-LoopProduct-link > img {
 display:block !important;box-sizing:border-box !important;width:100% !important;height:auto !important;
 aspect-ratio:1/1 !important;object-fit:contain !important;object-position:center !important;
 max-height:none !important;max-width:100% !important;padding:0 !important;margin:0 auto 12px !important;
 border-radius:0 !important;clip-path:none !important;background:transparent !important;
 transition:transform .25s ease !important;
}
body.single-product.woocommerce section.kakurii-related-outside ul.products.columns-4 > li.product > a.woocommerce-LoopProduct-link:hover > img {transform:scale(1.045) rotate(-2deg) !important;}
body.single-product.woocommerce section.kakurii-related-outside ul.products.columns-4 > li.product .woocommerce-loop-product__title {
 font-family:'Knewave',cursive !important;font-size:24px !important;line-height:1.1 !important;
 font-weight:100 !important;color:#ff4381 !important;text-shadow:2px 2px 0 #fffb95 !important;
 text-transform:uppercase !important;text-decoration:none !important;margin:0 0 2px !important;padding:0 !important;
}
body.single-product.woocommerce section.kakurii-related-outside ul.products.columns-4 > li.product > a.woocommerce-LoopProduct-link:hover .woocommerce-loop-product__title {color:#36e983 !important;}
body.single-product.woocommerce section.kakurii-related-outside ul.products.columns-4 > li.product .price,
body.single-product.woocommerce section.kakurii-related-outside ul.products.columns-4 > li.product .price * {
 font-family:'Tovari',sans-serif !important;font-size:23px !important;line-height:1.2 !important;
 font-weight:400 !important;color:#772faf !important;text-decoration:none !important;
}
body.single-product.woocommerce section.kakurii-related-outside ul.products.columns-4 > li.product .price {display:block !important;margin:0 0 12px !important;}
body.single-product.woocommerce section.kakurii-related-outside ul.products.columns-4 > li.product > a.button {
 display:inline-flex !important;align-items:center !important;justify-content:center !important;
 box-sizing:border-box !important;max-width:100% !important;margin:auto 0 0 !important;
 padding:12px 18px !important;border:0 !important;border-radius:100px !important;
 background:#ff4381 !important;color:#fffdef !important;
 font-family:'Knewave',cursive !important;font-size:20px !important;line-height:1.2 !important;
 font-weight:400 !important;text-transform:uppercase !important;text-decoration:none !important;
}
body.single-product.woocommerce section.kakurii-related-outside ul.products.columns-4 > li.product > a.button:hover {background:#36e983 !important;color:#772faf !important;}
@media(max-width:767px){body.single-product.woocommerce section.kakurii-related-outside ul.products.columns-4 > li.product {
 flex-basis:calc((100% - clamp(18px,3vw,36px))/2) !important;
 width:calc((100% - clamp(18px,3vw,36px))/2) !important;
 max-width:calc((100% - clamp(18px,3vw,36px))/2) !important;
}}
@media(max-width:599px){body.single-product.woocommerce section.kakurii-related-outside ul.products.columns-4 > li.product {
 flex-basis:100% !important;width:100% !important;max-width:100% !important;
}}

/* Suggestions fiche produit : cartes compactes comme les suggestions du panier vide. */
body.single-product.woocommerce section.kakurii-related-outside ul.products.columns-4 {
 gap:20px !important; justify-content:center !important; align-items:stretch !important;
}
body.single-product.woocommerce section.kakurii-related-outside ul.products.columns-4 > li.product {
 flex:0 0 min(100%, 250px) !important; width:min(100%, 250px) !important;
 max-width:250px !important; padding:16px 14px 20px !important;
}
body.single-product.woocommerce section.kakurii-related-outside ul.products.columns-4 > li.product > a.woocommerce-LoopProduct-link > img {
 width:100% !important; height:auto !important; aspect-ratio:1/1 !important;
 object-fit:contain !important; margin:0 auto 10px !important;
}
body.single-product.woocommerce section.kakurii-related-outside ul.products.columns-4 > li.product .woocommerce-loop-product__title {
 font-size:20px !important; line-height:1.15 !important;
}
body.single-product.woocommerce section.kakurii-related-outside ul.products.columns-4 > li.product .price,
body.single-product.woocommerce section.kakurii-related-outside ul.products.columns-4 > li.product .price * {
 font-size:20px !important;
}
/* Bouton arrondi et dynamique, comme les CTA de l'accueil. */
body.single-product.woocommerce section.kakurii-related-outside ul.products.columns-4 > li.product > a.button {
 display:inline-flex !important; justify-content:center !important; align-items:center !important;
 width:auto !important; min-height:44px !important; padding:10px 20px !important;
 background:#772faf !important; color:#fffb95 !important; border:0 !important;
 border-radius:999px !important; font:400 17px/1.15 'Knewave',cursive !important;
 text-transform:uppercase !important; text-shadow:none !important;
 box-shadow:none !important; transition:background .2s ease,color .2s ease,transform .2s ease !important;
}
body.single-product.woocommerce section.kakurii-related-outside ul.products.columns-4 > li.product > a.button:hover {
 background:#36e983 !important; color:#772faf !important; transform:scale(1.04) !important;
}
@media(max-width:580px){
 body.single-product.woocommerce section.kakurii-related-outside ul.products.columns-4 > li.product {
  flex:0 1 calc(50% - 10px) !important; width:calc(50% - 10px) !important;
  max-width:250px !important; padding:14px 10px 18px !important;
 }
 body.single-product.woocommerce section.kakurii-related-outside ul.products.columns-4 > li.product .woocommerce-loop-product__title {font-size:17px !important;}
 body.single-product.woocommerce section.kakurii-related-outside ul.products.columns-4 > li.product > a.button {font-size:14px !important;padding:9px 12px !important;}
}

/* Fiche produit : largeur réelle des suggestions, identique au panier vide (~322px). */
body.single-product.woocommerce section.kakurii-related-outside section.related.products ul.products.columns-4 {
 display:grid !important;
 grid-template-columns:repeat(auto-fit,minmax(0,322px)) !important;
 justify-content:center !important;
 gap:20px !important;
 width:100% !important;
}
body.single-product.woocommerce section.kakurii-related-outside section.related.products ul.products.columns-4 > li.product {
 box-sizing:border-box !important;
 float:none !important;
 clear:none !important;
 grid-column:auto !important;
 min-width:0 !important;
 width:100% !important;
 max-width:322px !important;
 flex:none !important;
 margin:0 !important;
}
@media(max-width:700px){
 body.single-product.woocommerce section.kakurii-related-outside section.related.products ul.products.columns-4 {
  grid-template-columns:repeat(auto-fit,minmax(0,min(100%,322px))) !important;
 }
}

/* Fiche produit : titre des suggestions et boutons assortis aux CTA de l'accueil. */
body.single-product.woocommerce section.kakurii-related-outside section.related.products > h2 {
 font-family:'Knewave',cursive !important;
 color:#fffb95 !important;
 text-transform:uppercase !important;
 font-weight:400 !important;
}
body.single-product.woocommerce section.kakurii-related-outside section.related.products ul.products > li.product > a.button.add_to_cart_button,
body.single-product.woocommerce section.kakurii-related-outside section.related.products ul.products > li.product > a.button {
 display:inline-flex !important;align-items:center !important;justify-content:center !important;
 width:auto !important;min-height:44px !important;padding:10px 20px !important;
 border:0 !important;border-radius:999px !important;
 background:#772faf !important;color:#fffb95 !important;
 font-family:'Knewave',cursive !important;font-size:17px !important;line-height:1.15 !important;
 font-weight:400 !important;text-transform:uppercase !important;text-decoration:none !important;
 box-shadow:none !important;text-shadow:none !important;
 transition:background .2s ease,color .2s ease,transform .2s ease !important;
}
body.single-product.woocommerce section.kakurii-related-outside section.related.products ul.products > li.product > a.button:hover,
body.single-product.woocommerce section.kakurii-related-outside section.related.products ul.products > li.product > a.button:focus-visible {
 background:#36e983 !important;color:#772faf !important;transform:scale(1.04) !important;
}

/* Fiche produit : boutons roses comme l'accueil, angles moins arrondis. */
body.single-product.woocommerce section.kakurii-related-outside section.related.products ul.products > li.product > a.button,
body.single-product.woocommerce section.kakurii-related-outside section.related.products ul.products > li.product > a.button.add_to_cart_button {
 background:#ff4381 !important; color:#fffb95 !important; border-radius:13px !important;
}
body.single-product.woocommerce section.kakurii-related-outside section.related.products ul.products > li.product > a.button:hover,
body.single-product.woocommerce section.kakurii-related-outside section.related.products ul.products > li.product > a.button:focus-visible {
 background:#36e983 !important; color:#772faf !important;
}
/* Titre des produits suggérés rose, vert au survol. */
body.single-product.woocommerce section.kakurii-related-outside section.related.products ul.products > li.product h2.woocommerce-loop-product__title {
 color:#ff4381 !important;
}
body.single-product.woocommerce section.kakurii-related-outside section.related.products ul.products > li.product a.woocommerce-LoopProduct-link:hover h2.woocommerce-loop-product__title,
body.single-product.woocommerce section.kakurii-related-outside section.related.products ul.products > li.product a.woocommerce-LoopProduct-link:focus-visible h2.woocommerce-loop-product__title {
 color:#36e983 !important;
}

/* Fiche produit : finitions des suggestions. */
body.single-product.woocommerce section.kakurii-related-outside section.related.products > h2 {
 text-align:center !important;
}
/* La carte reste immobile, meme quand on la survole. */
body.single-product.woocommerce section.kakurii-related-outside section.related.products ul.products > li.product,
body.single-product.woocommerce section.kakurii-related-outside section.related.products ul.products > li.product:hover {
 transform:none !important;
}
/* Le titre ne reagit qu'au lien image/titre, jamais au survol du bouton ou de la carte. */
body.single-product.woocommerce section.kakurii-related-outside section.related.products ul.products > li.product h2.woocommerce-loop-product__title,
body.single-product.woocommerce section.kakurii-related-outside section.related.products ul.products > li.product:hover h2.woocommerce-loop-product__title {
 color:#ff4381 !important;
}
body.single-product.woocommerce section.kakurii-related-outside section.related.products ul.products > li.product > a.woocommerce-LoopProduct-link:hover h2.woocommerce-loop-product__title,
body.single-product.woocommerce section.kakurii-related-outside section.related.products ul.products > li.product > a.woocommerce-LoopProduct-link:focus-visible h2.woocommerce-loop-product__title {
 color:#36e983 !important;
}
/* Deux ombres decoratives et texte jaune au survol, comme les boutons de l'accueil. */
body.single-product.woocommerce section.kakurii-related-outside section.related.products ul.products > li.product > a.button {
 color:#fffb95 !important;
 box-shadow:5px 6px 0 #772faf,-3px -3px 0 #fffb95 !important;
}
body.single-product.woocommerce section.kakurii-related-outside section.related.products ul.products > li.product > a.button:hover,
body.single-product.woocommerce section.kakurii-related-outside section.related.products ul.products > li.product > a.button:focus-visible {
 color:#fffb95 !important;
 box-shadow:5px 6px 0 #772faf,-3px -3px 0 #fffb95 !important;
}

/* Bouton des suggestions : droit au repos, rotation seulement au survol comme l'accueil. */
body.single-product.woocommerce section.kakurii-related-outside section.related.products ul.products > li.product > a.button {
 transform:none !important;
 transition:transform .18s ease,background .18s ease,box-shadow .18s ease !important;
}
body.single-product.woocommerce section.kakurii-related-outside section.related.products ul.products > li.product > a.button:hover,
body.single-product.woocommerce section.kakurii-related-outside section.related.products ul.products > li.product > a.button:focus-visible {
 transform:translateY(-3px) rotate(-2deg) !important;
}

/* Produits lies : quatre cartes sur une ligne sur ecran suffisamment large. */
@media (min-width: 1100px) {
 body.single-product.woocommerce section.kakurii-related-outside section.related.products ul.products.columns-4 {
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:18px !important;
  justify-content:center !important;
  width:100% !important;
  max-width:1400px !important;
  margin-left:auto !important;
  margin-right:auto !important;
 }
 body.single-product.woocommerce section.kakurii-related-outside section.related.products ul.products.columns-4 > li.product {
  box-sizing:border-box !important;
  width:100% !important;
  max-width:322px !important;
  min-width:0 !important;
  margin:0 auto !important;
  float:none !important;
  clear:none !important;
  grid-column:auto !important;
 }
}

/* Panier vide : quatre produits sur une ligne sur desktop. */
@media (min-width: 1100px) {
  body.woocommerce-cart.kakurii-cart-is-empty .wp-block-woocommerce-empty-cart-block :is(.wc-block-grid__products, .wp-block-product-template) {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 18px !important;
    width: 100% !important;
    max-width: 1400px !important;
    margin-inline: auto !important;
  }
  body.woocommerce-cart.kakurii-cart-is-empty .wp-block-woocommerce-empty-cart-block :is(.wc-block-grid__product, .wp-block-product-template > li) {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 322px !important;
    min-width: 0 !important;
    margin: 0 auto !important;
    flex: none !important;
    float: none !important;
    clear: none !important;
  }
}

/* Fiche produit : lien « Voir le panier » après ajout d’un produit suggéré. */
body.single-product .kakurii-related-outside .related.products a.added_to_cart.wc-forward,
body.single-product .kakurii-related-outside .related.products a.added_to_cart {
  color: #ff4381 !important;
}
body.single-product .kakurii-related-outside .related.products a.added_to_cart.wc-forward:hover,
body.single-product .kakurii-related-outside .related.products a.added_to_cart:hover {
  color: #36e983 !important;
}

/* Suggestions panier vide et fiche produit : uniquement 1, 2 ou 4 colonnes.
   Flex permet de centrer les lignes incompletes (1, 2 ou 3 produits). */
body.single-product.woocommerce section.kakurii-related-outside section.related.products ul.products.columns-4,
body.woocommerce-cart.kakurii-cart-is-empty .wp-block-woocommerce-empty-cart-block :is(.wc-block-grid__products, .wp-block-product-template) {
 display:flex !important;
 flex-wrap:wrap !important;
 justify-content:center !important;
 align-items:stretch !important;
 gap:18px !important;
 width:100% !important;
 max-width:1400px !important;
 margin-left:auto !important;
 margin-right:auto !important;
 grid-template-columns:none !important;
}
body.single-product.woocommerce section.kakurii-related-outside section.related.products ul.products.columns-4 > li.product,
body.woocommerce-cart.kakurii-cart-is-empty .wp-block-woocommerce-empty-cart-block :is(.wc-block-grid__product, .wp-block-product-template > li) {
 box-sizing:border-box !important;
 flex:0 1 calc((100% - 54px) / 4) !important;
 width:calc((100% - 54px) / 4) !important;
 max-width:322px !important;
 min-width:0 !important;
 margin:0 !important;
 float:none !important;
 clear:none !important;
}
@media(max-width:1100px) {
 body.single-product.woocommerce section.kakurii-related-outside section.related.products ul.products.columns-4 > li.product,
 body.woocommerce-cart.kakurii-cart-is-empty .wp-block-woocommerce-empty-cart-block :is(.wc-block-grid__product, .wp-block-product-template > li) {
  flex:0 1 calc((100% - 18px) / 2) !important;
  width:calc((100% - 18px) / 2) !important;
 }
}
@media(max-width:520px) {
 body.single-product.woocommerce section.kakurii-related-outside section.related.products ul.products.columns-4 > li.product,
 body.woocommerce-cart.kakurii-cart-is-empty .wp-block-woocommerce-empty-cart-block :is(.wc-block-grid__product, .wp-block-product-template > li) {
  flex:0 1 100% !important;
  width:100% !important;
 }
}

/* Suggestions : imposer des rangées de 2 sur tablette, sans 3+1.
   Ne pas plafonner les cartes à 322px dans cette plage : cela permettait à 3 cartes de tenir. */
@media (min-width: 521px) and (max-width: 1100px) {
 body.single-product.woocommerce section.kakurii-related-outside section.related.products ul.products.columns-4 > li.product,
 body.woocommerce-cart.kakurii-cart-is-empty .wp-block-woocommerce-empty-cart-block .wc-block-grid__products > .wc-block-grid__product,
 body.woocommerce-cart.kakurii-cart-is-empty .wp-block-woocommerce-empty-cart-block .wp-block-product-template > li {
  flex: 0 0 calc((100% - 18px) / 2) !important;
  width: calc((100% - 18px) / 2) !important;
  max-width: none !important;
  min-width: 0 !important;
  margin: 0 !important;
 }
}
/* Fond crème sur les cartes de produits liés. */
body.single-product.woocommerce section.kakurii-related-outside section.related.products ul.products.columns-4 > li.product {
 background-color: #fffdef !important;
}

/* Panier vide : taille des boutons des produits suggérés. */
body.woocommerce-cart.kakurii-cart-is-empty .wp-block-woocommerce-empty-cart-block :is(.wc-block-grid__product-add-to-cart a, .wp-block-woocommerce-product-button a) {
  font-size: 17px !important;
}

/* Fiche produit : marges latérales des suggestions. */
body.single-product.woocommerce section.kakurii-related-outside { padding: 0 40px !important; }
@media (max-width: 520px) { body.single-product.woocommerce section.kakurii-related-outside { padding: 0 15px !important; } }

/* Goodies : pagination sans fonds, chiffres rose/vert, fleches du carrousel. */
body.woocommerce-shop nav.woocommerce-pagination ul,
body.tax-product_cat nav.woocommerce-pagination ul {
  display:flex !important; justify-content:center !important; align-items:center !important;
  flex-wrap:wrap !important; gap:14px !important; border:0 !important; background:transparent !important;
}
body.woocommerce-shop nav.woocommerce-pagination ul li,
body.tax-product_cat nav.woocommerce-pagination ul li {
  border:0 !important; background:transparent !important; overflow:visible !important;
}
body.woocommerce-shop nav.woocommerce-pagination ul li :is(a,span),
body.tax-product_cat nav.woocommerce-pagination ul li :is(a,span) {
  display:inline-flex !important; align-items:center !important; justify-content:center !important;
  min-width:32px; padding:5px 3px !important; border:0 !important;
  border-radius:0 !important; background:transparent !important;
  font-family:'Knewave',cursive !important; font-size:23px !important;
  line-height:1.3 !important; color:#ff4381 !important;
  box-shadow:none !important; transform:none !important; transition:text-shadow .2s ease,color .2s ease !important;
}
body.woocommerce-shop nav.woocommerce-pagination ul li span.current,
body.tax-product_cat nav.woocommerce-pagination ul li span.current {
  color:#36e983 !important; text-shadow:none !important;
}
body.woocommerce-shop nav.woocommerce-pagination ul li a:hover,
body.woocommerce-shop nav.woocommerce-pagination ul li a:focus-visible,
body.tax-product_cat nav.woocommerce-pagination ul li a:hover,
body.tax-product_cat nav.woocommerce-pagination ul li a:focus-visible {
  background:transparent !important; color:#ff4381 !important;
  text-shadow:3px 3px 0 #fffb95 !important;
}
/* Chevron fin, comme les fleches de navigation de l'accueil. */
body.woocommerce-shop nav.woocommerce-pagination ul li a:is(.prev,.next),
body.tax-product_cat nav.woocommerce-pagination ul li a:is(.prev,.next) {
  width:44px; height:44px; padding:0 !important; font-size:0 !important;
}
body.woocommerce-shop nav.woocommerce-pagination ul li a:is(.prev,.next)::before,
body.tax-product_cat nav.woocommerce-pagination ul li a:is(.prev,.next)::before {
  content:''; display:block; width:10px; height:10px;
  border-top:3px solid currentColor; border-right:3px solid currentColor;
}
body.woocommerce-shop nav.woocommerce-pagination ul li a.prev::before,
body.tax-product_cat nav.woocommerce-pagination ul li a.prev::before { transform:translateX(3px) rotate(-135deg); }
body.woocommerce-shop nav.woocommerce-pagination ul li a.next::before,
body.tax-product_cat nav.woocommerce-pagination ul li a.next::before { transform:translateX(-3px) rotate(45deg); }

/* Goodies : ombre jaune plus discrète, texte vert et chevrons animés au survol. */
body.woocommerce-shop nav.woocommerce-pagination ul li a:hover,
body.woocommerce-shop nav.woocommerce-pagination ul li a:focus-visible,
body.tax-product_cat nav.woocommerce-pagination ul li a:hover,
body.tax-product_cat nav.woocommerce-pagination ul li a:focus-visible {
  color: #36e983 !important;
  text-shadow: 1px 2px 0 #fffb95 !important;
}
body.woocommerce-shop nav.woocommerce-pagination ul li a:is(.prev,.next)::before,
body.tax-product_cat nav.woocommerce-pagination ul li a:is(.prev,.next)::before {
  transition: filter .2s ease !important;
}
body.woocommerce-shop nav.woocommerce-pagination ul li a:is(.prev,.next):is(:hover,:focus-visible)::before,
body.tax-product_cat nav.woocommerce-pagination ul li a:is(.prev,.next):is(:hover,:focus-visible)::before {
  filter: drop-shadow(1px 2px 0 #fffb95) !important;
}


/* Panier : vignette carrée et image entière, sans recadrage.
   La vignette a un format carré ; l'image garde ses proportions natives. */
body.woocommerce-cart .wp-block-woocommerce-cart table.wc-block-cart-items td.wc-block-cart-item__image > a {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  aspect-ratio: 1 / 1 !important;
  overflow: hidden !important;
}
body.woocommerce-cart .wp-block-woocommerce-cart table.wc-block-cart-items td.wc-block-cart-item__image > a > img {
  display: block !important;
  width: auto !important;
  height: auto !important;
  max-width: 100% !important;
  max-height: 100% !important;
  min-width: 0 !important;
  min-height: 0 !important;
  aspect-ratio: auto !important;
  object-fit: contain !important;
  object-position: center !important;
  transform: none !important;
  clip-path: none !important;
}

/* Instructions du moyen de paiement Stripe. */
.wc-stripe-payment-method-instruction {
  font-family: "Nunito Sans", sans-serif;
  font-size: 14px;
  padding: 10px;
}

/* Confirmation de commande : typographies et espacement. */
body.woocommerce-order-received .woocommerce-notice--success {
  font-family: 'Nunito Sans', sans-serif;
  font-weight: 700;
  margin-bottom: 50px;
}
body.woocommerce-order-received .woocommerce-order-overview {
  font-family: 'Nunito Sans', sans-serif;
  font-size: 16px;
}
body.woocommerce-order-received .woocommerce-customer-details .woocommerce-customer-details--email {
  font-family: 'Nunito Sans', sans-serif;
  font-size: 16px;
  font-weight: 700;
  margin-top: 10px;
}
body.woocommerce-order-received .woocommerce .woocommerce-customer-details .woocommerce-customer-details--email::before {
  margin-top: -6px;
}

/* Confirmation de commande : espacement des informations de commande. */
.woocommerce ul.order_details li {
  margin-top: 10px;
  margin-bottom: 10px;
}

/* Confirmation de commande : message centré et retour au site. */
body.woocommerce-order-received .woocommerce-notice--success { text-align: center; }
body.woocommerce-order-received .kakurii-order-return { text-align: center; margin: 45px auto 35px; }
body.woocommerce-order-received .kakurii-order-return-button {
  display: inline-block; background: #ff4381; color: #fffb95 !important;
  font-family: 'Knewave', cursive; font-size: 18px; text-transform: uppercase;
  text-decoration: none !important; padding: 13px 24px; border-radius: 13px;
  box-shadow: 4px 4px 0 #772faf, 8px 8px 0 #fffb95;
  transform: rotate(0); transition: transform .2s ease, background-color .2s ease, box-shadow .2s ease;
}
body.woocommerce-order-received .kakurii-order-return-button:hover,
body.woocommerce-order-received .kakurii-order-return-button:focus-visible {
  background: #36e983; color: #fffb95 !important;
  transform: translateY(-3px) rotate(-2deg);
  box-shadow: 5px 6px 0 #772faf, 9px 10px 0 #fffb95;
}

/* Confirmation : bouton identique aux CTA de l'accueil. */
body.woocommerce-order-received .kakurii-order-return-button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 12px !important;
  box-shadow: none !important;
  transform: none !important;
}
body.woocommerce-order-received .kakurii-order-return-button::after {
  content: "→";
  display: inline-block;
  font-family: Arial, sans-serif;
  font-size: 1.3em;
  line-height: 1;
  font-weight: 700;
}
body.woocommerce-order-received .kakurii-order-return-button:hover,
body.woocommerce-order-received .kakurii-order-return-button:focus-visible {
  box-shadow: 5px 6px 0 #772faf, -3px -3px 0 #fffb95 !important;
  transform: translateY(-3px) rotate(-2deg) !important;
}

/* Confirmation : chevron du site, placé à gauche et orienté vers la gauche. */
body.woocommerce-order-received .kakurii-order-return-button::after { content: none !important; display: none !important; }
body.woocommerce-order-received .kakurii-order-return-button::before {
  content: "" !important; display: inline-block !important;
  width: 8px !important; height: 8px !important;
  border-top: 2px solid currentColor !important;
  border-right: 2px solid currentColor !important;
  transform: rotate(-135deg) !important;
  flex: none !important;
}

/* Titres checkout : 22 px uniquement sur mobile. */
@media (max-width: 767px) {
  body.kakurii-checkout-minimal .content h2 {
    font-size: 22px !important;
  }
}

/* Hero-cache : debordement de 1 px en haut et en bas, sur toutes les pages WooCommerce. */
body.woocommerce :is(.woocommerce-tabs .panel,.cart_totals,.woocommerce-checkout-review-order,.wc-block-components-sidebar,.woocommerce-MyAccount-content)::before,
body.woocommerce-page :is(.woocommerce-tabs .panel,.cart_totals,.woocommerce-checkout-review-order,.wc-block-components-sidebar,.woocommerce-MyAccount-content)::before,
body.woocommerce .kakurii-shop-container::before,
body.woocommerce-cart .content > .univers-container::before,
body.woocommerce-account .content > .univers-container::before,
body:is(.post-type-archive-product,.tax-product_cat).woocommerce .kakurii-shop ul.products li.product::before,
body.woocommerce-cart.kakurii-cart-is-empty .wp-block-woocommerce-empty-cart-block :is(.wc-block-grid__product,.wp-block-product-template > li)::before,
body.single-product.woocommerce section.kakurii-related-outside ul.products.columns-4 > li.product::before { top: -1px !important; }
body.woocommerce :is(.woocommerce-tabs .panel,.cart_totals,.woocommerce-checkout-review-order,.wc-block-components-sidebar,.woocommerce-MyAccount-content)::after,
body.woocommerce-page :is(.woocommerce-tabs .panel,.cart_totals,.woocommerce-checkout-review-order,.wc-block-components-sidebar,.woocommerce-MyAccount-content)::after,
body.woocommerce .kakurii-shop-container::after,
body.woocommerce-cart .content > .univers-container::after,
body.woocommerce-account .content > .univers-container::after,
body:is(.post-type-archive-product,.tax-product_cat).woocommerce .kakurii-shop ul.products li.product::after,
body.woocommerce-cart.kakurii-cart-is-empty .wp-block-woocommerce-empty-cart-block :is(.wc-block-grid__product,.wp-block-product-template > li)::after,
body.single-product.woocommerce section.kakurii-related-outside ul.products.columns-4 > li.product::after { bottom: -1px !important; }

/* Fiche produit : supprimer la marge haute du premier élément des onglets. */
body.single-product.woocommerce .kakurii-shop div.product .woocommerce-tabs .panel > :first-child {
  margin-top: 0 !important;
}

/* Visionneuse WooCommerce (PhotoSwipe) : couleurs de l'univers Kakurii. */
body .pswp, body .pswp__bg { background:var(--night,#2e2d49) !important; }
body .pswp__top-bar, body .pswp__caption, body .pswp__caption__center {
  background:transparent !important;
  color:#772faf !important;
}
body .pswp__counter { color:#772faf !important; opacity:1 !important; }
body .pswp__button, body .pswp__button--arrow--left, body .pswp__button--arrow--right {
  opacity:1 !important;
  background-color:transparent !important;
}
/* Les pictogrammes PhotoSwipe sont blancs dans un sprite : teinte rose/verte. */
body .pswp__button::before, body .pswp__button--arrow--left::before, body .pswp__button--arrow--right::before {
  filter:brightness(0) saturate(100%) invert(40%) sepia(92%) saturate(2318%) hue-rotate(309deg) brightness(103%) contrast(102%) !important;
}
body .pswp__button:hover::before, body .pswp__button:focus-visible::before,
body .pswp__button--arrow--left:hover::before, body .pswp__button--arrow--right:hover::before {
  filter:brightness(0) saturate(100%) invert(79%) sepia(66%) saturate(662%) hue-rotate(82deg) brightness(99%) contrast(93%) !important;
}
/* Loupe : le cercle et le manche sont tous deux violets. */
body.single-product .woocommerce-product-gallery__trigger::before,
body.single-product .woocommerce-product-gallery__trigger::after {
  border-color:#772faf !important;
  background-color:transparent !important;
  box-shadow:none !important;
}
body.single-product .woocommerce-product-gallery__trigger::after {
  background:#772faf !important;
}

/* Visionneuse : les trois boutons en haut à droite, rose puis vert au survol.
   PhotoSwipe dessine ces icônes dans l'image de fond du bouton. */
body .pswp__top-bar .pswp__button {
  filter: brightness(0) saturate(100%) invert(40%) sepia(92%) saturate(2318%) hue-rotate(309deg) brightness(103%) contrast(102%) !important;
  opacity: 1 !important;
}
body .pswp__top-bar .pswp__button:hover,
body .pswp__top-bar .pswp__button:focus-visible {
  filter: brightness(0) saturate(100%) invert(79%) sepia(66%) saturate(662%) hue-rotate(82deg) brightness(99%) contrast(93%) !important;
}
body .pswp__top-bar .pswp__button::before,
body .pswp__top-bar .pswp__button:hover::before,
body .pswp__top-bar .pswp__button:focus-visible::before { filter:none !important; }


.wc-block-components-totals-footer-item-tax{ font-size:12px }
.wc-block-components-totals-footer-item-tax span{ font-size:12px !important}
.wc-block-components-totals-footer-item-tax{ font-family: 'Nunito'; }