/* =====================================================================
   feniksu.com — design-system.css  v2 (full frontend reconstruction)
   Standalone layout layer that OVERRIDES the broken inherited structure
   left by the unrecoverable Uncode theme + Elementor-Pro + WooCommerce CSS.
   Loads LAST. Aggressive on purpose. Brand: #194157 / #a7144c / #171158 / #c8d5dc.
   ===================================================================== */
:root{
  --f-primary:#194157; --f-primary-d:#102c3b; --f-indigo:#171158;
  --f-accent:#a7144c; --f-accent-d:#83103d; --f-light:#c8d5dc;
  --f-bg:#f5f7f8; --f-surface:#fff; --f-text:#14252e; --f-muted:#5c6b73; --f-border:#e3e9ec;
  --f-container:1180px; --f-radius:8px; --f-gap:22px;
}
*,*::before,*::after{box-sizing:border-box}
/* hard clamp: nothing may exceed the viewport width (kills all horizontal overflow) */
html,body{max-width:100%;overflow-x:hidden!important}
.elementor,.elementor *,.woocommerce,.woocommerce *{max-width:100%!important}
.elementor-element,.elementor-widget,.elementor-widget-container,.e-con,.e-con-inner,.elementor-column,
div.product,.summary,.entry-summary,.elementor-heading-title{max-width:100%!important;overflow-wrap:break-word;word-break:break-word}
body{margin:0;background:var(--f-bg);color:var(--f-text);
  font-family:-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;font-size:16px;line-height:1.6}
img{max-width:100%;height:auto}
a{color:var(--f-primary);text-decoration:none} a:hover{color:var(--f-accent)}
h1,h2,h3,h4{line-height:1.25;margin:0 0 .5em;font-weight:700;color:var(--f-text)}
h1{font-size:clamp(1.6rem,3.2vw,2.3rem)} h2{font-size:clamp(1.35rem,2.6vw,1.85rem)} h3{font-size:clamp(1.1rem,2vw,1.35rem)}
p{margin:0 0 1rem}

/* ---- 1. KILL runaway icon SVGs (giant black triangles/circles) ---- */
.e-font-icon-svg,.elementor-icon svg,.elementor-icon i,.e-n-menu-dropdown-icon svg,
.elementor-social-icon svg,.elementor-icon-list-icon svg,svg.e-font-icon-svg{
  width:1em!important;height:1em!important;max-width:1.2em!important;max-height:1.2em!important;
  display:inline-block;vertical-align:middle;fill:currentColor
}
.elementor-icon{font-size:1.4rem!important;width:auto!important;height:auto!important;line-height:1!important}
.elementor-icon-box-icon .elementor-icon{font-size:2rem!important;color:var(--f-accent)}
i.fa,i.fas,i.fab,i.far{font-size:1.1em!important;line-height:1!important}

/* ---- 2. Containers: predictable width, centered, padded ---- */
.e-con,.e-con-inner,.elementor-container{width:100%!important;max-width:var(--f-container)!important;
  margin-inline:auto!important;padding-inline:20px}
.e-con-full>.e-con-inner{max-width:var(--f-container)!important}
section.elementor-section,.e-con{padding-block:clamp(1.2rem,3.5vw,2.6rem)}
/* neutralise inherited absolute/negative/fixed geometry that overflows */
.elementor-element,.e-con,.e-con-inner{position:relative!important;left:auto!important;right:auto!important;
  top:auto!important;transform:none!important;min-height:0!important}
.elementor-widget:not(:last-child){margin-bottom:14px}

/* ---- 3. HEADER reconstruction (independent of Elementor-Pro nav CSS) ---- */
.elementor-location-header{background:var(--f-surface);box-shadow:0 2px 12px rgba(16,44,59,.08);
  position:relative;z-index:1000}
.elementor-location-header>.elementor-element,
.elementor-location-header .e-con{padding-block:8px}
.elementor-location-header .e-con-inner{display:flex!important;align-items:center;gap:18px;
  flex-wrap:nowrap;justify-content:space-between}
.elementor-location-header img{max-height:58px!important;width:auto!important}
/* ---- Uncode classic header nav ----
   This is the ONLY navigation on product pages (they have no Elementor header), so it must be
   rebuilt, not hidden. The missing Uncode CSS left its <li> at a fixed width:496px, which was
   inflating the layout viewport; constrain it and render a clean wrapped nav row. */
.menu-horizontal,.menu-horizontal-inner,.navbar-nav,.navbar-main,.navbar-nav-first,.main-menu-wrapper{
  display:block!important;width:auto!important;max-width:100%!important;float:none!important;
  position:static!important;height:auto!important}
ul#menu-main-menu,.menu-primary-inner,ul.menu-smart{
  display:flex!important;flex-wrap:wrap!important;align-items:center;gap:2px 4px;
  list-style:none!important;margin:0!important;padding:0!important;width:auto!important;max-width:100%!important}
#menu-main-menu>li.menu-item,.menu-primary-inner>li.menu-item,li.menu-item,li.mega-menu{
  width:auto!important;max-width:100%!important;float:none!important;position:static!important;
  list-style:none!important;margin:0!important}
#menu-main-menu>li.menu-item>a,.menu-primary-inner>li.menu-item>a{
  display:inline-block!important;padding:9px 12px!important;color:var(--f-text)!important;
  font-weight:600;font-size:.95rem;white-space:nowrap;border-radius:6px;background:none!important}
#menu-main-menu>li.menu-item>a:hover{color:var(--f-accent)!important;background:rgba(167,20,76,.06)!important}
/* dropdown carets + the inline-dumped mega-menu submenu panels (the 496px source) */
#menu-main-menu .fa-dropdown,#menu-main-menu i.fa,.menu-horizontal i.fa-dropdown{display:none!important}
#menu-main-menu li ul,.menu-horizontal .sub-menu,.menu-horizontal .menu-dd,
.navbar-nav li ul,li.mega-menu ul{display:none!important}
/* pages that already have the Elementor header don't need this second, duplicate nav */
body:has(.elementor-location-header) .menu-horizontal,
body:has(.elementor-location-header) .navbar-nav{display:none!important}
/* hide the broken mega-menu dropdown PANELS entirely (they dumped inline) */
.e-n-menu-content{display:none!important}
/* hide the dropdown caret icons (source of the giant triangles) */
.e-n-menu-dropdown-icon{display:none!important}
/* top-level menu = clean horizontal row of links */
.e-n-menu>.e-n-menu-heading,.e-n-menu ul.e-n-menu-heading{display:flex!important;flex-wrap:wrap;
  align-items:center;gap:2px 6px;list-style:none;margin:0;padding:0}
.e-n-menu-item{list-style:none;position:static!important}
.e-n-menu-title-container,a.e-n-menu-title-container{display:inline-flex!important;align-items:center;
  padding:9px 12px!important;color:var(--f-text)!important;font-weight:600;font-size:.96rem;border-radius:6px;
  white-space:nowrap;background:none!important;border:0!important}
.e-n-menu-title-container:hover{color:var(--f-accent)!important;background:rgba(167,20,76,.06)!important}
.e-n-menu-title-text{font:inherit}
.e-n-menu-icon{display:none!important} /* hide menu-item icon slots (often empty/broken) */

/* hamburger toggle: hidden on desktop, shown on mobile */
.e-n-menu-toggle{display:none;background:none;border:0;cursor:pointer;padding:8px;
  width:44px;height:44px;align-items:center;justify-content:center;color:var(--f-primary)}
.e-n-menu-toggle svg,.e-n-menu-toggle .e-font-icon-svg{width:26px!important;height:26px!important}

/* ---- 4. Buttons ---- */
.elementor-button,.button,a.button,button.button,.wp-block-button__link,.e-n-menu + a.button{
  display:inline-block;background:var(--f-accent);color:#fff!important;font-weight:600;line-height:1.2;
  padding:.7em 1.35em;border:0;border-radius:7px;cursor:pointer;text-align:center;transition:background .15s}
.elementor-button:hover,.button:hover{background:var(--f-accent-d);color:#fff!important}

/* ---- 5. Headings widget ---- */
.elementor-heading-title{margin:0 0 .4em}

/* ---- 6. WooCommerce price + product cards ---- */
.price,.woocommerce-Price-amount,.elementor-widget-woocommerce-product-price .amount{color:var(--f-accent);font-weight:800;font-size:1.1rem}
del .woocommerce-Price-amount{color:var(--f-muted);font-weight:500;opacity:.7;font-size:.9em}
.products,ul.products{display:grid!important;grid-template-columns:repeat(4,1fr);gap:var(--f-gap);list-style:none;margin:0;padding:0}
.products li.product,li.product{width:auto!important;margin:0!important;float:none!important;
  background:var(--f-surface);border:1px solid var(--f-border);border-radius:var(--f-radius);padding:12px;
  display:flex;flex-direction:column}
li.product img,.woocommerce-loop-product__link img{width:100%;height:auto;aspect-ratio:1/1;object-fit:contain;background:#fff}
.woocommerce-loop-product__title,li.product h2,li.product h3{font-size:.95rem;font-weight:600;margin:.5rem 0 .3rem}
/* Elementor loop grids (Loop Grid widget) */
.elementor-loop-container,.elementor-loop-container.elementor-grid,.elementor-widget-loop-grid .elementor-grid{
  display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:var(--f-gap)!important;
  max-width:100%!important;width:100%!important}
.e-loop-item{min-width:0!important;max-width:100%!important;background:var(--f-surface);border:1px solid var(--f-border);
  border-radius:var(--f-radius);padding:12px;overflow:hidden;display:flex;flex-direction:column}
.e-loop-item img,.elementor-widget-woocommerce-product-image img,.e-loop-item .attachment-large,.e-loop-item .attachment-full{
  width:100%!important;height:auto!important;aspect-ratio:1/1;object-fit:contain;background:#fff}
/* product image is a CSS background on the linked container (per-page Elementor CSS was unrecoverable) */
.e-loop-item a.e-con,.e-loop-item a.e-con-full,.e-loop-item a.e-con.e-child,
.e-loop-item a[data-settings*="background"]{
  display:block!important;width:100%!important;aspect-ratio:1/1!important;min-height:0!important;height:auto!important;
  background-size:contain!important;background-position:center!important;background-repeat:no-repeat!important;
  background-color:#fff;border:1px solid var(--f-border);border-radius:6px;margin-bottom:10px;flex:0 0 auto!important}
.e-loop-item .elementor-widget-woocommerce-product-title,.e-loop-item h1,.e-loop-item h2,.e-loop-item h3,
.e-loop-item .elementor-heading-title{font-size:.9rem!important;font-weight:600;overflow-wrap:anywhere;margin:.5rem 0 .3rem;line-height:1.3}
.e-loop-item .price,.e-loop-item .woocommerce-Price-amount{font-size:1.05rem}
/* the "Nouveau"/"Précommande" badges */
.e-loop-item .onsale,.e-loop-item .product-tag,.woocommerce span.onsale{background:var(--f-primary);color:#fff;
  padding:2px 8px;border-radius:4px;font-size:.72rem;font-weight:700;display:inline-block}

/* ---- 7. Product single: gallery left / summary right ---- */
.woocommerce div.product{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:32px;align-items:start}
.woocommerce div.product .woocommerce-product-gallery{width:auto!important;float:none!important;margin:0!important}
.woocommerce div.product .summary{width:auto!important;float:none!important;margin:0!important}
.woocommerce-product-gallery__image img,.woocommerce div.product img{width:100%;height:auto;object-fit:contain;background:#fff}
.woocommerce-product-gallery__wrapper{width:100%!important;transform:none!important}
.flex-viewport,.woocommerce-product-gallery{max-width:100%!important}

/* ---- 8. Forms ---- */
.elementor-field-group{margin-bottom:14px}
.elementor-field-group label,.elementor-field-label{display:block;font-weight:600;margin-bottom:5px}
.elementor-field-textual,input[type=text],input[type=email],input[type=tel],input[type=search],textarea,select{
  width:100%!important;max-width:100%!important;padding:.7em .85em;border:1px solid var(--f-border);border-radius:7px;
  font:inherit;color:var(--f-text);background:#fff}
textarea{min-height:130px}
input:focus,textarea:focus,select:focus{outline:2px solid var(--f-primary);outline-offset:1px;border-color:var(--f-primary)}
select{-webkit-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%235c6b73' d='M6 8 0 0h12z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:32px}

/* ---- 9. Hide dead/broken WooCommerce & plugin controls (static site) ---- */
.add_to_cart_button,.single_add_to_cart_button,form.cart,.quantity,.buttons_added,
.woocommerce-product-details__short-description + form,.yith-wcwl-add-to-wishlist,.woosc-btn,.compare,
.wc-block-mini-cart,.elementor-menu-cart,.dgwt-wcas-search-wrapp,.woocommerce-product-rating,
.elementor-widget-woocommerce-product-add-to-cart,.summary .cart,.wishlist,.yith-wcqv-button,
.woocommerce-tabs .tabs,.elementor-widget-n-menu .e-n-menu-content{display:none!important}
/* collapse empty containers that create huge gaps */
.e-con-inner:empty,.elementor-widget-container:empty,.elementor-widget-spacer,.elementor-spacer{display:none!important}
.e-con:empty,.elementor-column:empty{display:none!important;min-height:0!important}

/* ---- 10. Footer ---- */
.elementor-location-footer{background:var(--f-primary-d);color:#d7e2e8;margin-top:2.5rem}
.elementor-location-footer .e-con-inner{display:flex!important;flex-wrap:wrap;gap:28px;padding-block:34px!important;align-items:flex-start}
.elementor-location-footer .e-con-inner>*{flex:1 1 200px;min-width:180px}
.elementor-location-footer h1,.elementor-location-footer h2,.elementor-location-footer h3,
.elementor-location-footer h4,.elementor-location-footer .elementor-heading-title{color:#fff;font-size:1.05rem}
.elementor-location-footer a{color:#c8d5dc} .elementor-location-footer a:hover{color:#fff}
.elementor-location-footer img{filter:brightness(0) invert(1);max-height:52px;opacity:.95}

/* ---- 10b. Single product gallery (Owl carousel needs JS — force it visible/sized) ---- */
.woocommerce-product-gallery,.woocommerce-product-gallery__wrapper,.woocommerce-product-gallery.owl-carousel,
.woocommerce-product-gallery__wrapper.owl-carousel{display:block!important;opacity:1!important;width:100%!important;
  max-width:100%!important;transform:none!important;height:auto!important}
.woocommerce-product-gallery__image{display:block!important;width:100%!important;max-width:100%!important;margin:0 0 10px!important}
.woocommerce-product-gallery__image:not(.woocommerce-product-gallery__image-first){display:none!important} /* show first only (no carousel) */
.woocommerce-product-gallery__image img,.woocommerce-product-gallery img{width:100%!important;height:auto!important;
  aspect-ratio:1/1;object-fit:contain;background:#fff;border:1px solid var(--f-border);border-radius:var(--f-radius)}
.owl-nav,.owl-dots,.woocommerce-product-gallery__trigger,.flex-control-nav{display:none!important}

/* ---- 10c. buttons: force brand crimson (override inherited #fbcb24 gold) ---- */
.elementor-button,.elementor-button-link,a.elementor-button,.elementor-widget-button a{
  background-color:var(--f-accent)!important;color:#fff!important}
.elementor-button:hover,.elementor-button-link:hover{background-color:var(--f-accent-d)!important}
.elementor-button .elementor-button-text{color:#fff!important}

/* ---- 10d. overflow-safe headings/text ---- */
.elementor-heading-title,.elementor-widget-woocommerce-product-title,.elementor-widget-woocommerce-product-title *,
h1,h2,h3,h4,.elementor-widget-text-editor{overflow-wrap:anywhere;word-break:normal;max-width:100%}
.elementor-widget-woocommerce-product-title h1,.elementor-widget-woocommerce-product-title h2{color:var(--f-primary)!important}

/* ---- 10e. hide dead single-product controls/tabs (static site) ---- */
.woocommerce-tabs .wc-tabs,.woocommerce-tabs .tabs,.woocommerce-tabs #tab-title-reviews,#reviews,
.woocommerce-Reviews,.woocommerce-product-rating,.yith-wcqv-button,.yith-wcqv,a.quick-view,
.woocommerce div.product form.cart,.woosc-btn,.compare-button{display:none!important}
/* show the Description tab CONTENT (not the tab strip) */
.woocommerce-tabs .panel,.woocommerce-Tabs-panel--description{display:block!important}

/* ---- 11. Feature/icon boxes ---- */
.elementor-icon-box-wrapper{text-align:center} .elementor-icon-box-title{font-size:1.05rem;margin:.4rem 0}
.elementor-icon-box-description{color:var(--f-muted)}

/* =====================================================================
   RESPONSIVE
   ===================================================================== */
@media (min-width:1025px){
  /* desktop hover reveal disabled — panels stay hidden for a clean bar */
  .e-n-menu-toggle{display:none!important}
}
/* grid column count per breakpoint — full selector to beat the 2-class base */
.f-grid,.products,ul.products,.elementor-loop-container,.elementor-loop-container.elementor-grid,.elementor-widget-loop-grid .elementor-grid{}
@media (max-width:1024px){
  :root{--f-container:100%}
  .products,ul.products,.elementor-loop-container,.elementor-loop-container.elementor-grid,.elementor-widget-loop-grid .elementor-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
}
@media (max-width:768px){
  /* single-column everything: kill inherited Elementor % widths */
  .elementor-container>.elementor-column,
  .e-con>.e-con-inner>.elementor-element,
  .e-con-inner>.e-con,.e-con>.e-child,.elementor-row>.elementor-column{
    flex-basis:100%!important;max-width:100%!important;width:100%!important}
  .e-con,.e-con-inner,.elementor-container{padding-inline:16px}
  section.elementor-section,.e-con{padding-block:18px}
  /* header: logo row, then a clean wrapped nav row (CSS-only, no JS needed).
     (hamburger button stays hidden until the optional toggle JS is loaded) */
  .e-n-menu-toggle{display:none!important}
  .elementor-location-header .e-con-inner{flex-wrap:wrap;justify-content:center;row-gap:6px}
  .elementor-location-header .e-n-menu{width:100%;order:3}
  .elementor-location-header .e-n-menu>.e-n-menu-heading,
  .elementor-location-header .e-n-menu ul.e-n-menu-heading{display:flex!important;flex-wrap:wrap;
    justify-content:center;gap:2px 4px;border-top:1px solid var(--f-border);padding-top:6px}
  .e-n-menu-title-container{padding:8px 10px!important;font-size:.9rem}
  /* progressive enhancement: if the toggle JS loads, switch to hamburger dropdown */
  .elementor-location-header.f-js .e-n-menu-toggle{display:inline-flex!important}
  .elementor-location-header.f-js .e-n-menu>.e-n-menu-heading{display:none!important;position:absolute;top:100%;left:0;right:0;
    flex-direction:column;background:var(--f-surface);box-shadow:0 8px 20px rgba(16,44,59,.12);padding:8px 0;border-top:0}
  .elementor-location-header.f-js.f-nav-open .e-n-menu>.e-n-menu-heading{display:flex!important}
  .elementor-location-header.f-js .e-n-menu-title-container{width:100%;padding:12px 18px!important;border-bottom:1px solid var(--f-border);text-align:left}
  /* product grid: 2 columns on tablet/mobile */
  .products,ul.products,.elementor-loop-container,.elementor-loop-container.elementor-grid,.elementor-widget-loop-grid .elementor-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:14px!important}
  /* product single stacks: image, then summary */
  .woocommerce div.product{grid-template-columns:1fr;gap:16px}
  /* limit tall product/banner images */
  li.product img,.woocommerce div.product img,.elementor-widget-image img,.e-loop-item img{max-height:56vh;object-fit:contain}
  .elementor-location-footer .e-con-inner{flex-direction:column;gap:20px}
  .elementor-location-footer .e-con-inner>*{flex-basis:100%;width:100%}
  h1{font-size:1.5rem}
}
@media (max-width:480px){
  body{font-size:15px}
  .products,ul.products,.elementor-loop-container,.elementor-loop-container.elementor-grid,.elementor-widget-loop-grid .elementor-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important}
  .elementor-location-header img{max-height:48px!important}
}
@media (max-width:360px){
  .products,ul.products,.elementor-loop-container,.elementor-loop-container.elementor-grid,.elementor-widget-loop-grid .elementor-grid{grid-template-columns:1fr!important}
}

/* ============================================================
   v2.6 — product-page + viewport-inflation reconstruction
   ============================================================ */
/* (A) Kill viewport inflation: theme fixed-width inputs/buttons/selects & nowrap topbar
   (an INPUT.btn-accent had width:496px forcing body.scrollWidth to 496 → 511 layout) */
input,select,textarea,button,.btn,.btn-flat,.btn-accent,.dropdown_product_cat,
.searchform input,.search-field,.wpcf7-form input,.wpcf7-form textarea,.wpcf7-form select{
  max-width:100%!important;box-sizing:border-box!important;white-space:normal!important}
.topbar,.top-bar,.topbar-col,.topbar-col-center,.topbar-col-left,.topbar-col-right{
  white-space:normal!important;max-width:100%!important;overflow:hidden!important}

/* (B) Force all headings/titles to wrap and use brand colour (theme gold gradient removed) */
h1,h2,h3,h4,.product_title,.entry-title,.elementor-heading-title{
  overflow-wrap:break-word!important;word-break:break-word!important;white-space:normal!important;max-width:100%!important}
.product_title,.entry-title,.related h2,.related>h2,section.related h2,.up-sells h2,
.products>h2,.text-accent,.style-accent-color,.uncode_text_color_accent{color:var(--f-primary)!important;background:none!important;-webkit-text-fill-color:var(--f-primary)!important}

/* (C) Dead WooCommerce tab strip + reviews (keep the Description panel content) */
.woocommerce-tabs ul.tabs,ul.wc-tabs,.woocommerce-tabs .tabs.wc-tabs,.wc-tabs-wrapper>.tabs{display:none!important}
#tab-reviews,#reviews,.woocommerce-Tabs-panel--reviews,.woocommerce-noreviews,#review_form_wrapper{display:none!important}

/* (D) Collapse empty product gallery (image was JS-injected by the missing theme; never captured) */
.woocommerce-product-gallery__image:not(:has(img)){display:none!important}
.woocommerce-product-gallery__wrapper:not(:has(img)),
.woocommerce-product-gallery:not(:has(img)){display:none!important;min-height:0!important;height:0!important;margin:0!important;padding:0!important}
.zoom-overlay,.woocommerce-product-gallery__trigger{display:none!important}

/* (E) Related / up-sell products: light readable surface, kill quick-view */
.related,.related.products,section.related,.up-sells,.up-sells.products{background:transparent!important;color:var(--f-primary)!important}
.related .product,.related li.product,.up-sells .product,.up-sells li.product{background:var(--f-surface)!important;color:var(--f-primary)!important}
.quick-view,.quick-view-button,[class*=quickview],[class*=quick-view],.product-quickview,.yith-wcqv-button{display:none!important}

/* ============================================================
   v2.7 — gold heading spans + WPBakery (vc_tta) product tabs
   ============================================================ */
/* Gold accent spans inside headings → inherit the heading's brand colour */
h1 span,h2 span,h3 span,h4 span,.heading-text span,.el-text span,.product_title span{
  color:inherit!important;-webkit-text-fill-color:inherit!important;background:none!important}

/* WPBakery product tabs: hide the tab-nav strip, show only the first (Description) panel */
.vc_tta-tabs-list,.wpb_tabs_nav,ul.vc_tta-tabs-list,.vc_tta-tabs-container,.vc_tta-tabs>.vc_tta-tabs-container{display:none!important}
.vc_tta-panels .vc_tta-panel{display:none!important}
.vc_tta-panels .vc_tta-panel:first-child{display:block!important}
.vc_tta-panels .vc_tta-panel:first-child .vc_tta-panel-body{display:block!important;height:auto!important;opacity:1!important;visibility:visible!important}

/* v2.7b — re-assert crimson on WooCommerce prices; 2-class specificity to beat `.el-text span` inherit */
.woocommerce-Price-amount.amount,.woocommerce-Price-amount.amount *,
p.price .woocommerce-Price-amount,.price bdi,.price .amount,.summary .price span{
  color:var(--f-accent)!important;-webkit-text-fill-color:var(--f-accent)!important}

/* ============================================================
   v2.8 — related/up-sell owl-carousel cards (.tmb-carousel)
   Carousel never initialised (no JS) & product thumbs were JS-injected/unrecoverable.
   Collapse the empty 1:1 image voids; keep name+price+link as a compact stacked list.
   Scoped to -carousel so the category loop-grid images are untouched.
   ============================================================ */
.tmb-carousel .t-entry-visual,.tmb-carousel .dummy,.tmb-carousel .t-entry-visual-cont{display:none!important;padding:0!important}
.tmb-carousel{width:auto!important;max-width:100%!important;float:none!important;margin:0 auto 16px!important;padding:0!important}
.tmb-carousel .t-entry-text-tc{padding:8px 12px!important}
.owl-carousel .owl-stage,.owl-carousel .owl-item{width:auto!important}
.quick-view-button,.quick-view-button-overlay,.t-entry-visual-overlay,.tmb .inactive-link{display:none!important}
/* related product names/prices readable on the brand-indigo section */
.style-color-200219-bg .t-entry-title,.tmb-dark .t-entry-title{color:#fff!important}
.style-color-200219-bg .t-entry-title a,.tmb-dark .t-entry-title a{color:#fff!important}

/* ============================================================
   v2.9 — Elementor product-loop container reconstruction
   The global .e-con gutters/section padding were being repeated by every
   nested container inside each card. Four nested 40px gutters reduced a
   normal grid column to a few pixels and forced product titles vertically.
   Keep one card gutter and make the card's internal containers full-width.
   ============================================================ */
.elementor-loop-container .e-loop-item{padding:0!important}
.e-loop-item>.e-con{
  display:flex!important;flex-direction:column!important;
  width:100%!important;margin:0!important;padding:16px!important;
  min-height:0!important
}
.e-loop-item>.e-con .e-con{
  display:flex!important;flex-direction:column!important;
  width:100%!important;max-width:none!important;margin:0!important;
  padding:0!important;min-height:0!important
}
.e-loop-item .elementor-widget{width:100%!important;min-width:0!important}
.e-loop-item .elementor-widget-container{width:100%!important}
.e-loop-item a.e-con.elementor-element-5d34adb7{
  width:100%!important;min-height:0!important;height:auto!important;
  aspect-ratio:1/1!important
}

/* ============================================================
   v3.0 — shared interior-page chrome and layout normalization
   Existing page content stays in the DOM. Only the duplicated broken
   theme header/footer and dead overlay widgets are replaced/hidden.
   ============================================================ */
.fx-shell-ready body:not(:has(>main#main))>.elementor-location-header,
.fx-shell-ready body:not(:has(>main#main))>.elementor-location-footer,
.fx-shell-ready body:not(:has(>main#main))>#masthead,
.fx-shell-ready body:not(:has(>main#main))>#colophon,
.fx-shell-ready body:not(:has(>main#main))>.menu-wrapper,
.fx-shell-ready body:not(:has(>main#main))>.footer-scroll-top,
.fx-shell-ready body:not(:has(>main#main))>.site-footer,
.fx-shell-ready body.single-product .menu-wrapper,
.fx-shell-ready body.single-product .footer-wrapper,
.fx-shell-ready body.single-product .footer-scroll-top,
.dialog-widget,.dialog-lightbox-widget,.elementor-popup-modal,
.woocommerce-account-fields,.login-panel,.login-modal,
[data-elementor-type="popup"]{display:none!important}
.fx-site-header{position:relative;z-index:9999;background:#fff;border-bottom:1px solid #dce5e9;color:#102c3b}
.fx-notice{padding:7px 20px;background:#171158;color:#fff;text-align:center;font-size:12px;font-weight:700}
.fx-header-inner{width:min(calc(100% - 40px),1180px);min-height:82px;margin:auto;display:flex;align-items:center;gap:30px}
.fx-brand{margin-right:auto;flex:0 0 auto}.fx-brand img{display:block;width:78px!important;height:64px!important;object-fit:contain}
.fx-nav{display:flex;align-items:center;gap:4px}.fx-nav a{padding:10px 12px;color:#102c3b!important;border-radius:4px;font-size:15px;font-weight:700;white-space:nowrap}
.fx-nav a:hover,.fx-nav a:focus-visible{color:#a7144c!important;background:#f8eef2;outline:0}
.fx-nav-toggle{display:none;width:44px!important;height:44px!important;padding:10px!important;border:0!important;background:transparent!important;cursor:pointer}
.fx-nav-toggle i{display:block;width:24px;height:2px;margin:5px 0;background:#171158;transition:.2s}
.fx-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.fx-site-footer{position:relative;z-index:20;margin-top:64px;background:#171158;color:#d9daea}
.fx-footer-grid{width:min(calc(100% - 40px),1180px);margin:auto;padding:60px 0;display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:80px}
.fx-footer-logo{width:76px!important;height:64px!important;object-fit:contain;filter:brightness(0) invert(1);margin-bottom:16px}
.fx-footer-grid p{max-width:34ch}.fx-footer-grid address{font-style:normal}
.fx-footer-grid h2{margin:0 0 15px;color:#fff!important;font:700 16px/1.3 system-ui,sans-serif!important}
.fx-footer-grid a{display:block;width:max-content;max-width:100%;margin:8px 0;color:#d9daea!important}.fx-footer-grid a:hover{color:#fff!important;text-decoration:underline}
.fx-footer-bottom{padding:19px max(20px,calc((100% - 1180px)/2));border-top:1px solid rgba(255,255,255,.14);font-size:13px}

/* Elementor interior pages: one outer page gutter, no repeated nested gutters. */
body:not(.single-product) .elementor:not(.e-loop-item)>.e-con{
  width:min(100%,1180px)!important;max-width:1180px!important;margin-inline:auto!important;
  padding:clamp(28px,4vw,56px) 24px!important
}
body:not(.single-product) .elementor:not(.e-loop-item)>.e-con .e-con{
  max-width:100%!important;margin-inline:auto!important;padding-inline:0!important
}
body.wp-singular:not(.single-product) .elementor-widget-text-editor,
body.wp-singular:not(.single-product) .elementor-widget-theme-post-content{font-size:16px;line-height:1.75}
body.wp-singular:not(.single-product) .elementor-widget-text-editor p{max-width:76ch}
body.wp-singular:not(.single-product) h1{font-family:Georgia,serif;color:#171158!important}
body.wp-singular:not(.single-product) h2{color:#171158!important}

/* Product/category loops: keep the card internals vertical at every breakpoint. */
.elementor-loop-container{align-items:start!important}
body.archive .elementor-loop-container,
body.archive .elementor-loop-container.elementor-grid{
  grid-template-columns:repeat(4,minmax(0,1fr))!important
}
body.archive .elementor-element-4ea796ac{display:none!important}
body.archive .elementor-element-306e4833{
  display:block!important;width:100%!important;max-width:1180px!important;margin-inline:auto!important
}
body.archive .elementor-element-2e5cf14{
  display:block!important;--width:100%!important;width:100%!important;max-width:100%!important;
  margin:0!important;flex:none!important
}
body.archive .elementor-element-14ef8d24{--content-width:1180px!important}
body.archive .e-con:not(:has(.elementor-loop-container)):has(a[href*="boutique/yith_wcan"]){
  display:none!important
}
body.archive .elementor-widget-loop-grid{
  position:relative!important;
  left:calc((100vw - 100% - 40px)*-1)!important;
  width:calc(100vw - 40px)!important;max-width:calc(100vw - 40px)!important;
  align-self:flex-start!important
}
.fx-placeholder-bg{background-image:none!important;background-color:#171158!important}
.fx-placeholder-bg h1,.fx-placeholder-bg h2,.fx-placeholder-bg h3,
.fx-placeholder-bg .elementor-heading-title{color:#fff!important;-webkit-text-fill-color:#fff!important}
.e-loop-item,.e-loop-item>.e-con{min-width:0!important;width:100%!important}
.e-loop-item>.e-con,.e-loop-item>.e-con .e-con{
  display:flex!important;flex-flow:column nowrap!important;align-items:stretch!important
}
.e-loop-item .elementor-element-8289e5e,.e-loop-item .elementor-element-70f61a88{
  display:flex!important;flex-flow:column nowrap!important;width:100%!important;flex:0 0 auto!important
}
.e-loop-item .elementor-element-4ffa5cab,
.e-loop-item .elementor-element-8289e5e,
.e-loop-item .elementor-element-70f61a88{
  --width:100%!important;width:100%!important;max-width:100%!important;
  flex-basis:100%!important;align-self:stretch!important
}
.e-loop-item .elementor-widget,.e-loop-item .elementor-widget-container,
.e-loop-item .product_title,.e-loop-item .price{display:block!important;width:100%!important;min-width:0!important}
.e-loop-item .product_title,.e-loop-item .product_title a{
  word-break:normal!important;overflow-wrap:break-word!important;white-space:normal!important
}

/* Remove dead static-store controls without removing product/page content. */
.woocommerce-ordering,.woocommerce-result-count,.yith-wcan-filters,
.yith-wcan-filter,.yith-wcan-reset-navigation,.woocommerce-pagination,
.load-more-button,.elementor-widget-woocommerce-menu-cart{display:none!important}

@media(max-width:1024px){
  .fx-header-inner{gap:10px}.fx-nav a{padding-inline:8px;font-size:13px}
  .fx-footer-grid{gap:40px}
}
@media(max-width:768px){
  .fx-header-inner{width:calc(100% - 32px);min-height:70px}.fx-brand img{width:66px!important;height:54px!important}
  .fx-nav-toggle{display:block!important}.fx-nav{display:none;position:absolute;top:100%;left:0;right:0;padding:10px 16px 18px;background:#fff;border-top:1px solid #dce5e9;box-shadow:0 12px 20px rgba(16,44,59,.12);flex-direction:column;align-items:stretch}
  .fx-nav.is-open{display:flex}.fx-nav a{padding:12px 10px;font-size:16px}.fx-nav-open{overflow:hidden}
  .fx-nav-toggle[aria-expanded=true] i:nth-of-type(1){transform:translateY(7px) rotate(45deg)}
  .fx-nav-toggle[aria-expanded=true] i:nth-of-type(2){opacity:0}
  .fx-nav-toggle[aria-expanded=true] i:nth-of-type(3){transform:translateY(-7px) rotate(-45deg)}
  .fx-footer-grid{width:calc(100% - 32px);grid-template-columns:1fr;gap:34px;padding:48px 0}
  body:not(.single-product) .elementor:not(.e-loop-item)>.e-con{padding:32px 16px!important}
  body.archive .elementor-loop-container,
  body.archive .elementor-loop-container.elementor-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  body.archive .elementor-widget-loop-grid{
    left:calc((100vw - 100% - 32px)*-1)!important;
    width:calc(100vw - 32px)!important;max-width:calc(100vw - 32px)!important
  }
}

/* ============================================================
   v2.9 — Uncode / WPBakery row+column system normalisation
   The theme renders its page shell with display:table / table-cell
   (.box-wrapper > .box-container > .uncoltable > .uncell > .uncont).
   Without the unrecoverable Uncode CSS those shells shrink-to-fit, so all
   content collapsed into a narrow left column. Normalise to full-width block
   layout with a centred, padded container.
   ============================================================ */
.box-wrapper,.box-container,.main-wrapper,.page-wrapper,.uncoltable,.uncell,.uncol,.uncont,
.row-inner,.wpb_row,.row-parent,.tab-content,.tab-pane,.product-tab,.uncode_text_column{
  display:block!important;width:100%!important;max-width:100%!important;float:none!important;
  vertical-align:top!important;height:auto!important}
.vc_row,.row-container{width:100%!important;max-width:100%!important;margin-inline:0!important}
/* centred readable measure for the actual content rows */
.row-parent,.limit-width{max-width:var(--f-container)!important;margin-inline:auto!important;padding-inline:20px!important}
/* stack columns full-width on the single-product page and on small screens; on wider screens
   the Bootstrap col-lg-* percentage widths (restored in v2.14 below) drive the grid */
.single-product .wpb_column,.single-product .column_parent,.single-product .column_child{
  width:100%!important;max-width:100%!important;float:none!important;display:block!important}

/* Related/up-sell carousel → responsive grid (owl never initialises without its JS) */
.owl-carousel,.owl-carousel-container,.owl-carousel-wrapper{
  width:100%!important;max-width:100%!important;opacity:1!important;overflow:visible!important}
.owl-carousel{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(210px,1fr))!important;
  gap:10px!important;align-items:start}
.tmb-carousel .t-entry-title{font-size:.85rem!important;line-height:1.35!important;margin:0 0 4px!important}

/* ============================================================
   v2.10 — remaining Uncode shell shrink-to-fit + duplicate chrome
   ============================================================ */
/* .row / .row-child are still display:table (shrink-to-fit) → content collapsed to ~618px */
.row,.row-child,.row-internal,.row-container,.uncode-wrapper,.tab-container{
  display:block!important;width:100%!important;max-width:100%!important;float:none!important}
.row.limit-width,.row.row-parent{max-width:var(--f-container)!important;margin-inline:auto!important;padding-inline:20px!important}

/* GDPR / privacy-preferences panel from uncode-privacy renders raw inline without its JS */
.gdpr.gdpr-privacy-preferences,.gdpr-privacy-preferences-frm,#gdpr-privacy-preferences,
.gdpr-privacy-bar,.gdpr-overlay{display:none!important}

/* Duplicate footer: keep the rebuilt .fx-site-footer, drop the legacy Uncode one where both exist */
body:has(.fx-site-footer) footer.site-footer{display:none!important}

/* ============================================================
   v2.11 — neutralise the Uncode bootstrap grid + inline max-width:65%
   (main/sidebar split + col-lg-* widths collapsed content to the left third)
   ============================================================ */
[style*="max-width:65%"],[style*="max-width: 65%"],[style*="width:65%"],[style*="width: 65%"]{max-width:100%!important;width:auto!important}
/* Scope the col-lg-* flattening to the SINGLE PRODUCT page only. Applying it site-wide
   collapsed the category product grids (Uncode uses col-lg-2/3 for the product tiles). */
.single-product [class*="col-lg-"],.single-product [class*="col-md-"],.single-product [class*="col-sm-"]{
  width:100%!important;max-width:100%!important;flex:0 0 100%!important;float:none!important}
.single-product .row-internal,.single-product .vc_row .vc_row,.single-product .wpb_row .wpb_row,
.uncode-single-product-gallery{width:100%!important;max-width:100%!important}
.single-product div.product,.product-tab,.single-product .row-parent{max-width:var(--f-container)!important;margin-inline:auto!important}

/* ============================================================
   v2.12 — THE cascade fix: .post-wrapper/.post-body were shrink-to-fit (574px)
   inside the 1180px .page-body, collapsing all product content to the left.
   ============================================================ */
.post-wrapper,.post-body,.post-content,.sections-container,.page-body,.entry-content,
.single-product .post-wrapper,.single-product .post-body{
  display:block!important;width:100%!important;max-width:100%!important;float:none!important;
  vertical-align:top!important}

/* ============================================================
   v2.13 — Uncode WooCommerce category/shop listings
   Every .tmb card's product thumbnail is an empty JS-injected square (0 <img> on the
   whole page — unrecoverable). Collapse those squares so tiles are compact.
   ============================================================ */
.tmb{margin:0!important}
/* empty subcategory image-tiles (unrecoverable image, no text) → hide entirely */
.tmb:not(:has(.t-entry-title)){display:none!important}
/* remove the empty 1:1 image square + dark tint, but KEEP the overlay text (title/price) visible
   — these product tiles are tmb-content-overlay, so the text lives inside .t-entry-visual */
.tmb .dummy{display:none!important;padding:0!important}
.tmb .t-entry-visual,.tmb .t-entry-visual-tc,.tmb .t-entry-visual-cont,
.tmb .t-entry-visual-overlay,.tmb .t-entry-visual-overlay-in{
  position:static!important;height:auto!important;min-height:0!important;opacity:1!important;
  background:none!important;inset:auto!important;transform:none!important}
.tmb .t-entry-visual{padding:0!important}
/* titles / prices on the light card + hide dead tile controls */
.tmb .t-entry-title,.tmb-woocommerce .t-entry-title{color:var(--f-text)!important;font-size:.9rem!important;line-height:1.35!important;margin:0 0 4px!important}
.tmb .price,.tmb .woocommerce-Price-amount{color:var(--f-accent)!important;font-weight:700}
.tmb .button,.tmb .add_to_cart_button,.tmb .added_to_cart,.tmb .quick-view-button,
.tmb .quick-view-button-overlay,.tmb .out-of-stock-badge{display:none!important}

/* ============================================================
   v2.14 — restore Bootstrap-style col-lg-* widths (Uncode uses a 12-col grid) so the
   main/sidebar split and the product-tile grids lay out correctly. NOT on single-product
   (there the columns are forced full-width above, since the gallery is empty).
   ============================================================ */
body:not(.single-product) .wpb_column[class~="col-lg-1"]{width:8.333%!important}
body:not(.single-product) .wpb_column[class~="col-lg-2"]{width:16.666%!important}
body:not(.single-product) .wpb_column[class~="col-lg-3"]{width:25%!important}
body:not(.single-product) .wpb_column[class~="col-lg-4"]{width:33.333%!important}
body:not(.single-product) .wpb_column[class~="col-lg-5"]{width:41.666%!important}
body:not(.single-product) .wpb_column[class~="col-lg-6"]{width:50%!important}
body:not(.single-product) .wpb_column[class~="col-lg-7"]{width:58.333%!important}
body:not(.single-product) .wpb_column[class~="col-lg-8"]{width:66.666%!important}
body:not(.single-product) .wpb_column[class~="col-lg-9"]{width:75%!important}
body:not(.single-product) .wpb_column[class~="col-lg-10"]{width:83.333%!important}
body:not(.single-product) .wpb_column[class~="col-lg-11"]{width:91.666%!important}
body:not(.single-product) .wpb_column[class~="col-lg-12"]{width:100%!important}
body:not(.single-product) [class*="wpb_column"][class*="col-lg-"]{
  float:left!important;display:block!important;min-height:1px!important;vertical-align:top;
  padding-inline:8px!important;box-sizing:border-box!important}
/* clear floats after each product row */
body:not(.single-product) .wpb_row.row-inner,body:not(.single-product) .row.row-child{overflow:hidden}
/* on tablets/phones the tile columns stack to 2-up / 1-up (name+price only) */
@media(max-width:1024px){
  body:not(.single-product) .wpb_column[class~="col-lg-2"],
  body:not(.single-product) .wpb_column[class~="col-lg-3"],
  body:not(.single-product) .wpb_column[class~="col-lg-4"]{width:33.333%!important}}
@media(max-width:680px){
  body:not(.single-product) .wpb_column[class*="col-lg-"]{width:50%!important}}
@media(max-width:400px){
  body:not(.single-product) .wpb_column[class*="col-lg-"]{width:100%!important;float:none!important}}

/* ============================================================
   v2.15 — CRITICAL: Uncode scroll-reveal animations & isotope grid
   .animate_when_almost_visible starts at opacity:0 and is revealed by the theme's
   scroll JS, which is gone → content was invisible site-wide. Force everything visible.
   Isotope/masonry also needs JS; let items flow in normal document order.
   ============================================================ */
.animate_when_almost_visible,[class*="animate_when"],.animated-element,.start-animation,
.will-animate,.skrollable,.owl-lazy{opacity:1!important;visibility:visible!important;transform:none!important;filter:none!important}
.isotope-system,.isotope-container,.isotope-wrapper,.grid-container,.grid-wrapper{
  height:auto!important;min-height:0!important;position:static!important}
.isotope-container>*,.isotope-item,.grid-container>*{position:static!important;left:auto!important;top:auto!important;transform:none!important}

/* ============================================================
   v2.16 — grid the isotope product listing (items are direct children of .isotope-container)
   ============================================================ */
.isotope-container,.grid-container{
  display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:16px 18px!important;width:100%!important;max-width:100%!important;align-items:start}
.isotope-container>*,.grid-container>*{
  width:auto!important;max-width:100%!important;float:none!important;margin:0!important}
.isotope-container>.tmb,.grid-container>.tmb{
  background:var(--f-surface)!important;border:1px solid var(--f-border);border-radius:var(--f-radius);
  padding:12px!important;height:auto!important}
.isotope-container>.tmb .t-inside{display:block!important;width:100%!important}
.isotope-container>.tmb img{width:100%!important;height:auto!important;aspect-ratio:1/1;object-fit:contain;background:#fff}
@media(max-width:1024px){.isotope-container,.grid-container{grid-template-columns:repeat(3,minmax(0,1fr))!important}}
@media(max-width:680px){.isotope-container,.grid-container{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:400px){.isotope-container,.grid-container{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}}

/* ============================================================
   v3.0 — CATEGORY (product-archive) pages restyled to the homepage
   design language (ref: homepage.css). Scoped to body.tax-product_cat.
   ============================================================ */
body.tax-product_cat{--c-indigo:#171158;--c-accent:#a7144c;--c-soft:#f2f6f7;
  --c-muted:#5a6c75;--c-line:#dce5e9;--c-ink:#102c3b}

/* --- hide the non-functional filter/debug widgets that cluttered the top --- */
body.tax-product_cat .wpb_widgetised_column,
body.tax-product_cat .widget_price_filter,
body.tax-product_cat [class*="price-filter"],
body.tax-product_cat .price_slider_wrapper,
body.tax-product_cat .uncode_woocommerce_widget--price-filter,
body.tax-product_cat .widget_yith-woocommerce-ajax-navigation-filters,
body.tax-product_cat aside[id*="yith-woocommerce-ajax-navigation"],
body.tax-product_cat .sidebar-widgets .widget-title{display:none!important}

/* --- collapse the empty decorative spacer rows / promo boxes above the grid --- */
body.tax-product_cat .uncode-divider-wrap,
body.tax-product_cat .correction-marge-row-logo,
body.tax-product_cat .uncell.border-accent-color,
body.tax-product_cat .vc_row.row-internal.mobile-hidden,
body.tax-product_cat .row.single-top-padding.one-bottom-padding:empty{display:none!important}
/* the left sidebar column now only held the (hidden) filters + promo — collapse it so
   the product grid is the sole content column */
body.tax-product_cat .wpb_column.col-lg-3:has(.wpb_widgetised_column),
body.tax-product_cat .wpb_column.col-lg-4:has(.wpb_widgetised_column){display:none!important}
/* tighten the space between the hero band and the first product row */
body.tax-product_cat .post-content{padding-top:0!important}
body.tax-product_cat .post-body>.vc_row:first-child,
body.tax-product_cat .vc_row.style-color-xsdn-bg>.row-parent:first-child{padding-top:0!important}
body.tax-product_cat .isotope-wrapper,body.tax-product_cat .isotope-system{padding-top:0!important;margin-top:0!important}

/* --- CATEGORY HERO: big serif title band (title injected per-term below) --- */
body.tax-product_cat .post-wrapper::before{
  content:"Boutique";display:block;
  background:var(--c-soft);border-bottom:3px solid var(--c-accent);
  padding:clamp(38px,6vw,74px) max(20px,calc((100% - 1160px)/2)) clamp(30px,4vw,50px);
  margin:0 0 clamp(34px,4.5vw,54px);
  font:700 clamp(2rem,3.6vw,3.3rem)/1.08 Georgia,"Times New Roman",serif;
  color:var(--c-indigo);letter-spacing:-.01em}

/* --- kill the theme's heavy block padding around the grid so cards get real width --- */
body.tax-product_cat .uncell,body.tax-product_cat .uncont,body.tax-product_cat .uncol{
  padding-left:0!important;padding-right:0!important}
/* --- product grid: comfortable container width + rhythm --- */
body.tax-product_cat .isotope-container,body.tax-product_cat .grid-container{
  width:100%!important;max-width:1160px!important;margin-inline:auto!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:24px 22px!important;
  padding:0 20px clamp(40px,6vw,80px)!important}

/* --- product cards -> homepage feature-card treatment --- */
body.tax-product_cat .isotope-container>.tmb,body.tax-product_cat .grid-container>.tmb{
  background:#fff!important;border:1px solid var(--c-line)!important;border-radius:14px!important;
  overflow:hidden!important;padding:0!important;box-shadow:0 1px 3px rgba(16,44,59,.05);
  transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;
  display:flex!important;flex-direction:column;height:auto!important}
body.tax-product_cat .isotope-container>.tmb:hover{
  transform:translateY(-4px);box-shadow:0 14px 30px rgba(16,44,59,.14);border-color:var(--c-accent)!important}
/* card image (when present) contained on a light panel */
body.tax-product_cat .tmb .t-entry-visual:has(img){
  display:block!important;background:#f7fafb;border-bottom:1px solid var(--c-line)}
body.tax-product_cat .tmb .t-entry-visual img{
  width:100%!important;aspect-ratio:1/1;object-fit:cover;display:block}
/* card text block */
body.tax-product_cat .tmb .t-entry-text,body.tax-product_cat .tmb .t-entry-text-tc{
  padding:16px 18px 18px!important;display:block!important;flex:1 1 auto}
body.tax-product_cat .tmb .t-entry-title,body.tax-product_cat .tmb h3.t-entry-title{
  font:650 1.02rem/1.32 system-ui,-apple-system,"Segoe UI",sans-serif!important;
  color:var(--c-indigo)!important;margin:0 0 10px!important;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
body.tax-product_cat .tmb .t-entry-title a{color:inherit!important}
body.tax-product_cat .tmb .price,body.tax-product_cat .tmb .woocommerce-Price-amount{
  color:var(--c-accent)!important;font-weight:800!important;font-size:1.16rem!important}

/* --- "Charger plus" / pagination button -> homepage crimson button --- */
body.tax-product_cat .btn-load-more,body.tax-product_cat a.page-numbers,
body.tax-product_cat .load-more a,body.tax-product_cat .nav-links a{
  display:inline-flex!important;align-items:center;justify-content:center;
  min-height:46px;padding:11px 26px!important;background:var(--c-accent)!important;
  color:#fff!important;border-radius:8px!important;font-weight:750!important;border:0!important}

/* --- responsive --- */
@media(max-width:1024px){
  body.tax-product_cat .isotope-container,body.tax-product_cat .grid-container{grid-template-columns:repeat(3,1fr)!important}}
@media(max-width:680px){
  body.tax-product_cat .isotope-container,body.tax-product_cat .grid-container{grid-template-columns:repeat(2,1fr)!important;gap:14px!important}
  body.tax-product_cat .post-wrapper::before{padding-top:30px;padding-bottom:24px}}
@media(max-width:380px){
  body.tax-product_cat .isotope-container,body.tax-product_cat .grid-container{grid-template-columns:1fr!important}}
body.term-carte-pokemon .post-wrapper::before{content:"Cartes Pokémon"}
body.term-cartes-pokemon .post-wrapper::before{content:"Cartes Pokémon"}
body.term-coffret-dresseur-delite .post-wrapper::before{content:"Coffret Dresseur d'Élite"}
body.term-coffret-pokemon .post-wrapper::before{content:"Coffret Pokémon"}
body.term-demon-slayer .post-wrapper::before{content:"Demon Slayer"}
body.term-disney-lorcana .post-wrapper::before{content:"Disney Lorcana"}
body.term-display-pokemon .post-wrapper::before{content:"Display Pokémon"}
body.term-dragon-ball .post-wrapper::before{content:"Dragon Ball"}
body.term-dragon-ball-super-card-game .post-wrapper::before{content:"Dragon Ball Super Card Game"}
body.term-figuarts-zero .post-wrapper::before{content:"Figuarts Zero"}
body.term-figurines .post-wrapper::before{content:"Figurines"}
body.term-funko-pop .post-wrapper::before{content:"Funko Pop"}
body.term-funko-pop-demon-slayer .post-wrapper::before{content:"Funko Pop Demon Slayer"}
body.term-funko-pop-hunter-x-hunter .post-wrapper::before{content:"Funko Pop Hunter x Hunter"}
body.term-funko-pop-pokemon .post-wrapper::before{content:"Funko Pop Pokémon"}
body.term-hunter-x-hunter-licences .post-wrapper::before{content:"Hunter x Hunter"}
body.term-licences .post-wrapper::before{content:"Licences"}
body.term-one-piece .post-wrapper::before{content:"One Piece"}
body.term-one-piece-card-game .post-wrapper::before{content:"One Piece Card Game"}
body.term-pokebox-tins-box .post-wrapper::before{content:"Pokébox / Tin's Box"}
body.term-pokemon .post-wrapper::before{content:"Pokemon"}
body.term-pokemon-eb-12-5 .post-wrapper::before{content:"Pokémon EB12.5"}
body.term-pokemon-ev-3-5 .post-wrapper::before{content:"Pokémon EV3.5"}
body.term-pokemon-ev-4-5 .post-wrapper::before{content:"Pokémon EV4.5"}
body.term-pokemon-go-10-5 .post-wrapper::before{content:"Pokémon GO 10.5"}
body.term-trading-card-game .post-wrapper::before{content:"Trading Card Game"}
body.term-tri-pack .post-wrapper::before{content:"Tripack"}
body.term-tripack-blister .post-wrapper::before{content:"Tripack / Blister"}
body.term-ufunko-pop-hunter-x-hunter .post-wrapper::before{content:"Funko Pop Hunter x Hunter"}
body.term-yu-gi-oh .post-wrapper::before{content:"Yu-Gi-Oh!"}

/* ============================================================
   v3.1 — category cards: fix word-break + unify the two card
   types (Uncode .tmb and Elementor .e-loop-item) to the homepage look
   ============================================================ */
/* titles wrap at spaces, never mid-word (fixes "Pokemo n..." on mobile) */
body.tax-product_cat .tmb .t-entry-title,body.tax-product_cat .tmb .t-entry-title a,
body.tax-product_cat .e-loop-item .elementor-heading-title,
body.tax-product_cat .e-loop-item .elementor-heading-title a{
  word-break:normal!important;overflow-wrap:break-word!important;hyphens:manual!important}

/* Elementor loop-grid cards -> full-width stacked content (kill the half-width row) */
body.tax-product_cat .e-loop-item .e-con,body.tax-product_cat .e-loop-item .e-con-full{
  flex-direction:column!important;flex-wrap:nowrap!important;width:100%!important;max-width:100%!important;
  align-items:stretch!important}
body.tax-product_cat .e-loop-item .e-con:empty{display:none!important}
/* Elementor cards -> homepage feature-card polish */
body.tax-product_cat .e-loop-item{border:1px solid var(--c-line)!important;border-radius:14px!important;
  box-shadow:0 1px 3px rgba(16,44,59,.05);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;
  overflow:hidden!important;padding:0!important}
body.tax-product_cat .e-loop-item:hover{transform:translateY(-4px);
  box-shadow:0 14px 30px rgba(16,44,59,.14);border-color:var(--c-accent)!important}
body.tax-product_cat .e-loop-item>.e-con{padding:0 0 16px!important}
body.tax-product_cat .e-loop-item a.e-con[data-settings*="background"],
body.tax-product_cat .e-loop-item .elementor-widget-woocommerce-product-image img,
body.tax-product_cat .e-loop-item .elementor-widget-woocommerce-product-image a{
  width:100%!important;aspect-ratio:1/1!important;object-fit:cover!important;
  margin:0 0 12px!important;border-radius:0!important;border:0!important;border-bottom:1px solid var(--c-line)!important}
body.tax-product_cat .e-loop-item .elementor-widget:not(.elementor-widget-woocommerce-product-image){padding-inline:16px!important}
body.tax-product_cat .e-loop-item .elementor-heading-title{color:var(--c-indigo)!important;
  font:650 1rem/1.32 system-ui,-apple-system,"Segoe UI",sans-serif!important;margin:0 0 8px!important;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
body.tax-product_cat .e-loop-item .price,body.tax-product_cat .e-loop-item .woocommerce-Price-amount{
  color:var(--c-accent)!important;font-weight:800!important;font-size:1.14rem!important}
/* hide dead controls inside Elementor loop cards */
body.tax-product_cat .e-loop-item .elementor-widget-woocommerce-product-add-to-cart,
body.tax-product_cat .e-loop-item .add_to_cart_button,
body.tax-product_cat .e-loop-item .elementor-widget-woocommerce-product-rating{display:none!important}

/* mobile: keep names readable at 2-up */
@media(max-width:680px){
  body.tax-product_cat .tmb .t-entry-title,body.tax-product_cat .e-loop-item .elementor-heading-title{
    font-size:.9rem!important;-webkit-line-clamp:3}}

/* v3.1b — force Elementor loop items to a single full-width column (they were rendering as
   a 2-col grid, leaving product content in the left half and an empty right half) */
body.tax-product_cat .e-loop-item{display:flex!important;flex-direction:column!important;
  grid-template-columns:none!important;grid-template:none!important}
body.tax-product_cat .e-loop-item>.e-con,body.tax-product_cat .e-loop-item>.e-con-full,
body.tax-product_cat .e-loop-item>*{width:100%!important;max-width:100%!important;
  flex:1 1 auto!important;align-self:stretch!important;grid-column:1/-1!important}

/* v3.1c — category pages: force the main content column full-width at every breakpoint
   (the generic col-lg-* 50%/75% rules were squeezing the product grid, hardest on mobile
   where the grid collapsed to 104px columns and titles broke mid-word) */
body.tax-product_cat .wpb_column[class*="col-lg-"],
body.tax-product_cat .post-content .wpb_column{width:100%!important;max-width:100%!important;float:none!important}
@media(max-width:680px){
  body.tax-product_cat .wpb_column[class*="col-lg-"]{width:100%!important}}

/* ============================================================
   v3.2 — SHARED HOMEPAGE HEADER on the Pokémon category page.
   Header CSS ported verbatim from homepage.css so the category header is
   pixel-identical to the homepage (same one design system, not an imitation).
   The injected markup uses the same .notice/.site-header/.header-inner/.brand/
   .main-nav/.nav-toggle classes. The legacy Uncode header is hidden on this page.
   ============================================================ */
.fx-page{--ink:#102c3b;--indigo:#171158;--accent:#a7144c;--paper:#fff;--soft:#f2f6f7;--muted:#5a6c75;--line:#dce5e9;--max:1180px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
/* announcement bar */
.fx-page .notice{padding:7px 20px;background:#171158;color:#fff;text-align:center;font-size:.85rem;font-weight:600}
/* header shell */
.fx-page .site-header{position:relative;z-index:1000;background:#fff;border-bottom:1px solid #dce5e9}
.fx-page .header-inner{width:min(100% - 40px,1180px);min-height:82px;margin:auto;display:flex;align-items:center;gap:34px}
.fx-page .brand{margin-right:auto;display:inline-flex}
.fx-page .brand img{width:78px;height:64px;object-fit:contain}
.fx-page .main-nav{display:flex;align-items:center;gap:4px}
.fx-page .main-nav a{padding:10px 12px;border-radius:4px;font-size:.94rem;font-weight:650;color:#102c3b;text-decoration:none}
.fx-page .main-nav a:hover,.fx-page .main-nav a:focus-visible{color:#a7144c;background:#f8eef2;outline:none}
.fx-page .nav-toggle{display:none;width:44px;height:44px;border:0;background:transparent;cursor:pointer;padding:10px}
.fx-page .nav-toggle span:not(.sr-only){display:block;height:2px;margin:5px 0;background:#171158;transition:.2s}
/* hide the legacy Uncode header on this page (no duplicate header) */
body.term-carte-pokemon .menu-wrapper,body.term-carte-pokemon .box-header{display:none!important}
/* the injected image hero replaces the CSS ::before title band on this page */
body.term-carte-pokemon .post-wrapper::before{content:none!important;display:none!important}

/* breadcrumb */
.fx-breadcrumb{background:#f2f6f7;border-bottom:1px solid #dce5e9}
.fx-breadcrumb .fx-crumb-inner{width:min(100% - 40px,1180px);margin:auto;padding:12px 0;font-size:.85rem;color:#5a6c75;display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.fx-breadcrumb a{color:#5a6c75;text-decoration:none}
.fx-breadcrumb a:hover{color:#a7144c}
.fx-breadcrumb span[aria-current]{color:#171158;font-weight:650}
.fx-breadcrumb .sep{color:#b8c6cd}

/* image hero */
.fx-cat-hero{position:relative;width:min(100% - 40px,1320px);margin:26px auto 0;height:clamp(220px,30vw,360px);
  border-radius:2px;overflow:hidden;background:#171158}
.fx-cat-hero-img{width:100%;height:100%;object-fit:cover;display:block}
.fx-cat-hero-overlay{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;
  padding:clamp(24px,5vw,60px);background:linear-gradient(90deg,rgba(8,17,40,.86) 0%,rgba(8,17,40,.55) 55%,rgba(8,17,40,.12) 100%);color:#fff}
.fx-cat-hero-overlay .eyebrow{margin:0 0 8px;color:#f1a9c4;font-size:.78rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.fx-cat-hero-overlay h1{margin:0 0 12px;font-family:Georgia,"Times New Roman",serif;font-size:clamp(2rem,4.5vw,3.6rem);line-height:1.02;max-width:16ch}
.fx-cat-hero-desc{margin:0;max-width:44ch;color:#e1e2f0;font-size:clamp(.95rem,1.6vw,1.1rem);line-height:1.5}

/* responsive — mirror homepage.css breakpoints */
@media(max-width:1024px){
  .fx-page .header-inner{gap:12px}
  .fx-page .main-nav a{padding-inline:8px;font-size:.86rem}}
@media(max-width:768px){
  .fx-page .header-inner{width:min(100% - 32px,1180px);min-height:70px}
  .fx-page .brand img{width:66px;height:54px}
  .fx-page .nav-toggle{display:block}
  .fx-page .main-nav{display:none;position:absolute;top:100%;left:0;right:0;padding:10px 16px 18px;background:#fff;
    border-top:1px solid #dce5e9;box-shadow:0 12px 20px rgba(16,44,59,.12);flex-direction:column;align-items:stretch}
  .fx-page .main-nav.is-open{display:flex}
  .fx-page .main-nav a{padding:12px 10px;font-size:1rem}
  .fx-page .nav-toggle[aria-expanded=true] span:nth-of-type(2){transform:translateY(7px) rotate(45deg)}
  .fx-page .nav-toggle[aria-expanded=true] span:nth-of-type(3){opacity:0}
  .fx-page .nav-toggle[aria-expanded=true] span:nth-of-type(4){transform:translateY(-7px) rotate(-45deg)}
  body.nav-open{overflow:hidden}
  .fx-cat-hero{width:100%;margin-top:0;border-radius:0;height:clamp(180px,42vw,260px)}
  .fx-breadcrumb .fx-crumb-inner,.fx-page .header-inner{width:min(100% - 32px,1180px)}}
@media(max-width:360px){
  .fx-page .header-inner,.fx-breadcrumb .fx-crumb-inner{width:min(100% - 24px,1180px)}
  .fx-cat-hero-overlay h1{font-size:1.9rem}}

/* v3.2b — injected contextual product-card images (rotating high-res store/Pokébox photos) */
body.tax-product_cat .tmb .fx-card-img{display:block!important;width:100%!important;height:auto!important;
  aspect-ratio:1/1;object-fit:cover;background:#f4f7f8;border-bottom:1px solid #dce5e9}
body.tax-product_cat .tmb .t-entry-visual:has(.fx-card-img),
body.tax-product_cat .tmb .t-entry-visual-tc:has(.fx-card-img),
body.tax-product_cat .tmb .t-entry-visual-cont:has(.fx-card-img){
  display:block!important;padding:0!important;min-height:0!important;height:auto!important;position:static!important}
/* keep the (dead) quick-view / overlay off the image */
body.tax-product_cat .tmb .t-entry-visual-cont:has(.fx-card-img) .t-entry-visual-overlay,
body.tax-product_cat .tmb .t-entry-visual-cont:has(.fx-card-img) a.pushed{position:static!important;opacity:0!important;pointer-events:none}

/* ============================================================
   v3.3 — SHARED HOMEPAGE FOOTER on the Pokémon category page
   Ported verbatim from homepage.css (.site-footer/.footer-grid/.footer-brand/
   .footer-bottom) so it is identical to the homepage footer.
   ============================================================ */
.site-footer{background:#171158;color:#d9daea;clear:both}
.site-footer .footer-grid{width:min(100% - 40px,1180px);margin-inline:auto;display:grid;
  grid-template-columns:1.3fr 1fr 1fr;gap:80px;padding-block:62px}
.site-footer .footer-brand img{width:76px;height:64px;object-fit:contain;filter:brightness(0) invert(1);margin-bottom:16px}
.site-footer .footer-brand p{max-width:34ch;margin:0 0 12px}
.site-footer .footer-brand address{font-style:normal;line-height:1.6}
.site-footer .footer-grid h2{margin:0 0 15px;color:#fff;font:700 1rem/1.3 system-ui,-apple-system,"Segoe UI",sans-serif}
.site-footer .footer-grid a{display:block;width:max-content;max-width:100%;margin:8px 0;color:#d9daea;text-decoration:none}
.site-footer .footer-grid a:hover{color:#fff;text-decoration:underline}
.site-footer .footer-bottom{border-top:1px solid rgba(255,255,255,.14);padding:19px 0;font-size:.85rem}
.site-footer .footer-bottom .container{width:min(100% - 40px,1180px);margin-inline:auto}
@media(max-width:1024px){.site-footer .footer-grid{gap:40px}}
@media(max-width:768px){.site-footer .footer-grid{grid-template-columns:1fr;gap:36px;padding-block:48px;width:min(100% - 32px,1180px)}
  .site-footer .footer-bottom .container{width:min(100% - 32px,1180px)}}
@media(max-width:360px){.site-footer .footer-grid,.site-footer .footer-bottom .container{width:min(100% - 24px,1180px)}}

/* v3.3b — hero heading must stay white (global h1 dark color was overriding it) */
body.tax-product_cat .fx-cat-hero-overlay h1{color:#fff!important}
body.tax-product_cat .fx-cat-hero-overlay .eyebrow{color:#f1a9c4!important}

/* ============================================================
   v3.4 — PRÉCOMMANDE product-tag page rebuilt on the homepage design system.
   The original Elementor archive was broken (gold title box instead of a nav,
   no product grid, dark-on-dark trust boxes, a raw "Design by …" footer). We inject
   a clean #fx-precommande block (shared header + breadcrumb + hero + real product
   grid + shared footer) and hide every original Elementor sibling.
   ============================================================ */
body.term-precommande{background:#fff}
body.term-precommande > *:not(#fx-precommande):not(script):not(style):not(link){display:none!important}
#fx-precommande{background:#fff}

/* hero heading/eyebrow colour — make global (was scoped to tax-product_cat) */
.fx-cat-hero-overlay h1{color:#fff!important}
.fx-cat-hero-overlay .eyebrow{color:#f1a9c4!important}

/* précommande grid */
.fx-preco-wrap{width:min(100% - 40px,1180px);margin:0 auto;padding:clamp(34px,5vw,60px) 0}
.fx-preco-head{margin-bottom:26px}
.fx-preco-head .eyebrow{margin:0;color:#a7144c;font-size:.78rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.fx-preco-head h2{margin:6px 0 0;font-family:Georgia,"Times New Roman",serif;color:#171158;font-size:clamp(1.7rem,3vw,2.5rem);line-height:1.1}
.fx-preco-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px 22px}
.fx-preco-card{display:flex;flex-direction:column;background:#fff;border:1px solid #dce5e9;border-radius:14px;
  overflow:hidden;color:inherit;text-decoration:none;box-shadow:0 1px 3px rgba(16,44,59,.05);
  transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
.fx-preco-card:hover{transform:translateY(-4px);box-shadow:0 14px 30px rgba(16,44,59,.14);border-color:#a7144c}
.fx-preco-img{width:100%;height:auto;aspect-ratio:1/1;object-fit:cover;background:#f4f7f8;border-bottom:1px solid #dce5e9;display:block}
.fx-preco-body{padding:14px 16px 18px;display:flex;flex-direction:column;gap:9px;flex:1}
.fx-badge{align-self:flex-start;background:#a7144c;color:#fff;font-size:.66rem;font-weight:800;letter-spacing:.07em;
  text-transform:uppercase;padding:3px 9px;border-radius:5px}
.fx-preco-title{margin:0;font:650 .98rem/1.34 system-ui,-apple-system,"Segoe UI",sans-serif;color:#171158;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.fx-preco-price{margin-top:auto;color:#a7144c;font-weight:800;font-size:1.14rem}
@media(max-width:1024px){.fx-preco-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:680px){.fx-preco-wrap{width:min(100% - 32px,1180px)}.fx-preco-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}}
@media(max-width:360px){.fx-preco-wrap{width:min(100% - 24px,1180px)}}

/* ============================================================
   v3.5 — Elementor single-product page (hello-elementor) fixes.
   Was: white (invisible) title on a light island over a dark page, misplaced
   VISA/Mastercard images in the gallery, dead vertical "Ajouter au panier" bars,
   and a broken related-products loop (the .e-loop-item card fixes were scoped to
   category pages only). Bring it onto the homepage design language.
   ============================================================ */
/* light, consistent page background (was dark indigo island) */
body.single-product .page-body,body.single-product .site-main,body.single-product main#content,
body.single-product .elementor-location-single,body.single-product .e-con.e-parent{background-color:#f5f7f8!important}
body.single-product .elementor-element[data-settings*="background_background"]{background-image:none!important}

/* product title + all headings -> readable brand indigo */
body.single-product .product_title,body.single-product h1.entry-title,
body.single-product .elementor-heading-title{color:#171158!important;background:none!important;-webkit-text-fill-color:#171158!important}
body.single-product .woocommerce-breadcrumb,body.single-product .woocommerce-breadcrumb a{color:#5a6c75!important}

/* gallery: hello-elementor JS was to fade it in (opacity:0) — force visible */
body.single-product .woocommerce-product-gallery{opacity:1!important}
body.single-product .woocommerce-product-gallery img{max-width:100%!important;height:auto!important}

/* hide misplaced payment images + every dead cart control */
body.single-product img[src*="visa" i],body.single-product img[src*="mastercard" i],body.single-product img[src*="paypal" i],
body.single-product .paie-nav,body.single-product .payment_methods,body.single-product .menu-image,
body.single-product form.cart,body.single-product .quantity,body.single-product .single_add_to_cart_button,
body.single-product .add_to_cart_button,body.single-product .added_to_cart,
body.single-product .e-loop-item .elementor-button,body.single-product .e-loop-item .elementor-button-link,
body.single-product .elementor-widget-woocommerce-product-add-to-cart,
body.single-product .yith-wcwl-add-to-wishlist,body.single-product .compare{display:none!important}

/* --- related "Autres produits" .e-loop-item cards -> homepage feature-card treatment --- */
body.single-product .e-loop-item{display:flex!important;flex-direction:column!important;
  grid-template-columns:none!important;grid-template:none!important;background:#fff!important;
  border:1px solid #dce5e9!important;border-radius:14px!important;overflow:hidden!important;padding:0!important;
  box-shadow:0 1px 3px rgba(16,44,59,.05);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
body.single-product .e-loop-item:hover{transform:translateY(-4px);box-shadow:0 14px 30px rgba(16,44,59,.14);border-color:#a7144c!important}
body.single-product .e-loop-item .e-con,body.single-product .e-loop-item .e-con-full,body.single-product .e-loop-item>*{
  flex-direction:column!important;width:100%!important;max-width:100%!important;flex:1 1 auto!important;align-self:stretch!important;grid-column:1/-1!important}
body.single-product .e-loop-item .e-con:empty{display:none!important}
body.single-product .e-loop-item>.e-con{padding:0 0 16px!important}
body.single-product .e-loop-item .elementor-widget-woocommerce-product-image img,
body.single-product .e-loop-item .elementor-widget-woocommerce-product-image a,
body.single-product .e-loop-item a.e-con[data-settings*="background"]{
  width:100%!important;aspect-ratio:1/1!important;object-fit:cover!important;margin:0 0 12px!important;
  border:0!important;border-bottom:1px solid #dce5e9!important}
body.single-product .e-loop-item .elementor-widget:not(.elementor-widget-woocommerce-product-image){padding-inline:16px!important}
body.single-product .e-loop-item .elementor-heading-title,body.single-product .e-loop-item .woocommerce-loop-product__title{
  color:#171158!important;font:650 1rem/1.32 system-ui,-apple-system,"Segoe UI",sans-serif!important;margin:0 0 8px!important;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;writing-mode:horizontal-tb!important}
body.single-product .e-loop-item .price,body.single-product .e-loop-item .woocommerce-Price-amount{
  color:#a7144c!important;font-weight:800!important;font-size:1.12rem!important;writing-mode:horizontal-tb!important}
/* related grid container -> clean responsive grid */
body.single-product .elementor-loop-container,body.single-product .elementor-loop-container.elementor-grid,
body.single-product .elementor-widget-loop-grid .elementor-grid{
  display:grid!important;grid-template-columns:repeat(auto-fill,minmax(200px,1fr))!important;gap:20px!important;align-items:start!important}
@media(max-width:680px){body.single-product .elementor-loop-container,body.single-product .elementor-loop-container.elementor-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:14px!important}}

/* kill leftover empty decorative boxes */
body.single-product .elementor-element:empty{display:none!important}

/* v3.5b — single-product: stack the summary|related row so related is a full-width grid
   below (was squeezed into a right column and clipping), collapse empty related images,
   remove leftover payment icons/empty boxes */
/* make the top product row stack vertically -> summary full width, related full width below */
body.single-product .elementor-location-single > .e-con > .e-con,
body.single-product .elementor-location-single .e-con.e-flex.e-con-boxed > .e-con-inner{flex-direction:column!important}
body.single-product .elementor-location-single .e-con.e-parent > .e-con.e-child{width:100%!important;max-width:100%!important;flex:1 1 100%!important}
/* related loop container: constrain to its parent + clean grid, never overflow */
body.single-product .elementor-loop-container,body.single-product .elementor-loop-container.elementor-grid,
body.single-product .elementor-widget-loop-grid .elementor-grid{
  width:100%!important;max-width:100%!important;overflow:hidden!important;
  grid-template-columns:repeat(auto-fill,minmax(190px,1fr))!important}
/* collapse empty related-card image panels (unrecoverable product thumbs) */
body.single-product .e-loop-item .elementor-widget-woocommerce-product-image:not(:has(img)){display:none!important}
body.single-product .e-loop-item .elementor-widget-woocommerce-product-image a:empty,
body.single-product .e-loop-item .elementor-widget-woocommerce-product-image:not(:has(img)) a{display:none!important}
/* leftover payment icons + empty decorative boxes */
body.single-product .elementor-widget-image img[src*="paypal" i],
body.single-product a[href*="paypal" i],body.single-product .menu-image-title-hide{display:none!important}
body.single-product .e-con:empty,body.single-product .elementor-widget:empty{display:none!important;min-height:0!important}

/* v3.5c — related products are a Swiper carousel with no JS (items overflow & clip);
   force a wrapping grid, drop the empty image widgets, hide leftover payment icon */
body.single-product .swiper,body.single-product .swiper-container{overflow:visible!important;height:auto!important}
body.single-product .swiper-wrapper{display:grid!important;
  grid-template-columns:repeat(auto-fill,minmax(180px,1fr))!important;gap:18px!important;
  width:100%!important;transform:none!important;height:auto!important;flex-wrap:wrap!important}
body.single-product .swiper-slide{width:auto!important;height:auto!important;margin:0!important;flex-shrink:1!important}
/* related cards have no product image -> drop the empty image panel, keep name+price */
body.single-product .e-loop-item .elementor-widget-woocommerce-product-image{display:none!important}
body.single-product .e-loop-item .e-con>.e-con:first-child:not(:has(.elementor-heading-title)){min-height:0!important}
/* leftover payment icons in the summary */
body.single-product .summary .elementor-widget-image,
body.single-product img[src*="paypal" i],body.single-product img[alt*="paypal" i],
body.single-product img[alt*="visa" i],body.single-product img[alt*="mastercard" i]{display:none!important}

/* v3.5d — related cards: drop the empty image container, force a real 2-col grid */
body.single-product .e-loop-item .e-con-full:not(:has(.elementor-heading-title)):not(:has(.woocommerce-Price-amount)):not(:has(.price)):not(:has(.elementor-widget-theme-post-title)){display:none!important}
body.single-product .e-loop-item .e-con:not(:has(.elementor-widget)){display:none!important}
body.single-product .swiper{width:100%!important;max-width:100%!important}
body.single-product .swiper-wrapper{width:100%!important;max-width:100%!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:16px!important}
body.single-product .e-loop-item{padding:14px!important;min-height:0!important}
body.single-product .e-loop-item .elementor-widget-theme-post-title,
body.single-product .e-loop-item .elementor-widget-woocommerce-product-title{order:1}
body.single-product .e-loop-item .elementor-widget-text-editor,
body.single-product .e-loop-item .price{order:2;margin-top:auto!important}
/* summary payment/partner icons (paypal, badge) — hide the small decorative images */
body.single-product .summary .elementor-widget-image,body.single-product .entry-summary .elementor-widget-image,
body.single-product .product .elementor-element-populated .elementor-widget-image:has(img[width]):not(.fx-card-img){display:none!important}

/* v3.5e — hide the broken Elementor related swiper entirely; a clean "Vous aimerez aussi"
   grid is injected before the footer instead. Also let the product summary use full width. */
body.single-product .elementor-widget-loop-grid,body.single-product .swiper{display:none!important}
body.single-product .fx-related-wrap{display:block!important;background:#fff}
body.single-product .fx-related-wrap .fx-preco-wrap{width:min(100% - 40px,1180px);margin:0 auto;padding:clamp(30px,4vw,52px) 0}
body.single-product .fx-related-wrap .fx-preco-grid{grid-template-columns:repeat(auto-fill,minmax(210px,1fr))}
@media(max-width:680px){body.single-product .fx-related-wrap .fx-preco-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* v3.5f — the broken related widget is a loop-CAROUSEL (not loop-grid); hide the whole
   original related block. A clean "Vous aimerez aussi" grid is injected before the footer. */
body.single-product .elementor-widget-loop-carousel,
body.single-product [data-widget_type*="loop-carousel"],
body.single-product .e-con:has([data-widget_type*="loop-carousel"]) > .elementor-widget-heading,
body.single-product .elementor-widget-loop-grid,body.single-product .swiper{display:none!important}
/* injected related titles must be indigo (theme rule was forcing them white) */
body.single-product .fx-related-wrap .fx-preco-title,
body.single-product .fx-related-wrap .fx-preco-head h2,
body.single-product .fx-related-wrap .fx-preco-price{color:#171158!important;-webkit-text-fill-color:currentColor!important}
body.single-product .fx-related-wrap .fx-preco-price{color:#a7144c!important}
body.single-product .fx-related-wrap .fx-preco-head .eyebrow{color:#a7144c!important}

/* v3.5g — final cleanup: remaining payment/partner icons + tidy the leftover category block */
body.single-product .elementor-widget-image:has(img[src*="paypal" i]),
body.single-product .elementor-widget-image:has(img[src*="visa" i]),
body.single-product .elementor-widget-image:has(img[src*="mastercard" i]),
body.single-product .elementor-widget-image:has(img[src*="libraire" i]),
body.single-product a[href*="paypal" i] img,body.single-product img[width="38"],body.single-product img[width="32"]{display:none!important}

/* ============================================================
   v3.6 — Elementor category cards: product image-as-background used background-size:contain,
   which left black/blank gaps (image parked at the bottom). Force cover so the image fills
   the card with no gaps, on a light panel. Applies to all Elementor product-tag/cat archives.
   ============================================================ */
body.tax-product_cat .e-loop-item a.e-con[data-settings*="background"],
body.tax-product_cat .e-loop-item [style*="background-image"],
body.tax-product_cat .e-loop-item .elementor-widget-woocommerce-product-image a{
  background-size:cover!important;background-position:center!important;background-repeat:no-repeat!important;
  background-color:#f4f7f8!important;aspect-ratio:1/1!important;min-height:0!important}

/* v3.6b — the mixed/black card backgrounds on this Elementor archive are wrong-product
   fallback photos (figures for card products) and 3 render with a black overlay block.
   Override every card image with a rotating set of clean, TCG/store-relevant photos so the
   grid is uniform with no black boxes. Also hide any dark Elementor background-overlay. */
body.tax-product_cat .e-loop-item .elementor-background-overlay{display:none!important}
body.tax-product_cat .e-loop-item a.e-con[data-settings*="background"]{
  background-size:cover!important;background-position:center!important;background-color:#f4f7f8!important;aspect-ratio:1/1!important}
body.term-trading-card-game .e-loop-item:nth-child(6n+1) a.e-con[data-settings*="background"]{background-image:url(/wp-content/uploads/gallery/dragon-ball-cardgame-17.jpg)!important}
body.term-trading-card-game .e-loop-item:nth-child(6n+2) a.e-con[data-settings*="background"]{background-image:url(/wp-content/uploads/gallery/store-manga-05.jpg)!important}
body.term-trading-card-game .e-loop-item:nth-child(6n+3) a.e-con[data-settings*="background"]{background-image:url(/wp-content/uploads/gallery/pokemon-pokebox-01.jpg)!important}
body.term-trading-card-game .e-loop-item:nth-child(6n+4) a.e-con[data-settings*="background"]{background-image:url(/wp-content/uploads/gallery/dragon-ball-cardgame-18.jpg)!important}
body.term-trading-card-game .e-loop-item:nth-child(6n+5) a.e-con[data-settings*="background"]{background-image:url(/wp-content/uploads/gallery/store-01.jpg)!important}
body.term-trading-card-game .e-loop-item:nth-child(6n) a.e-con[data-settings*="background"]{background-image:url(/wp-content/uploads/gallery/store-02.jpg)!important}

/* ============================================================
   v3.7 — Disney Lorcana single-product: clean 2-column product-detail rebuild.
   Hides the original broken Elementor single-product content and renders a clean
   gallery|info layout + related grid, on the homepage design language.
   Scoped to body.fx-pdp-active (this product) so other product pages are unaffected.
   ============================================================ */
body.fx-pdp-active .elementor-location-single{display:none!important}
body.fx-pdp-active{background:#f5f7f8}
#fx-product{background:#f5f7f8}
.fx-pdp-inner{width:min(1180px,calc(100% - 40px));margin:0 auto;padding:clamp(22px,3.5vw,40px) 0 clamp(40px,6vw,72px)}
.fx-pdp .fx-breadcrumb{background:none!important;border:0!important;margin:0 0 20px!important}
.fx-pdp .fx-breadcrumb .fx-crumb-inner{width:100%!important;padding:0!important;margin:0!important}
/* 2-column card */
.fx-pdp-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,4vw,56px);align-items:start;
  background:#fff;border:1px solid #dce5e9;border-radius:16px;padding:clamp(20px,3vw,36px);
  margin-bottom:clamp(40px,5vw,64px);box-shadow:0 1px 3px rgba(16,44,59,.05)}
.fx-pdp-img{width:100%;aspect-ratio:1/1;object-fit:contain;background:#f7fafb;border:1px solid #dce5e9;
  border-radius:12px;padding:clamp(18px,3vw,34px);display:block}
.fx-pdp-illustr{margin:10px 0 0;font-size:.76rem;color:#8a97a0;font-style:italic;line-height:1.4}
.fx-pdp-title{font-family:Georgia,"Times New Roman",serif;color:#171158;font-size:clamp(1.5rem,3vw,2.2rem);line-height:1.15;margin:0 0 12px}
.fx-pdp-cats{color:#5a6c75;font-size:.8rem;margin:0 0 14px;text-transform:uppercase;letter-spacing:.06em}
.fx-pdp-price{margin:0 0 22px;font-size:1.55rem;line-height:1}
.fx-pdp-price .fx-old{color:#8a97a0;text-decoration:line-through;font-size:1.05rem;font-weight:500;margin-right:8px}
.fx-pdp-price .fx-now{color:#a7144c;font-weight:800}
.fx-pdp-desc{color:#3a4a52;line-height:1.65}
.fx-pdp-desc h2{font-family:Georgia,serif;color:#171158;font-size:1.15rem;margin:20px 0 8px}
.fx-pdp-desc p{margin:0 0 12px}
.fx-pdp-catlink{display:inline-block;margin-top:18px;color:#a7144c;font-weight:700;text-decoration:none}
.fx-pdp-catlink:hover{text-decoration:underline}
/* related grid (reuse fx-preco-card) */
.fx-related .fx-preco-head{margin-bottom:22px}
.fx-related .fx-preco-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}
body.fx-pdp-active .fx-preco-title,body.fx-pdp-active .fx-related .fx-preco-head h2{color:#171158!important}
body.fx-pdp-active .fx-preco-price{color:#a7144c!important}
body.fx-pdp-active .fx-related .fx-preco-head .eyebrow{color:#a7144c!important}
@media(max-width:1024px){.fx-related .fx-preco-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:768px){
  .fx-pdp-grid{grid-template-columns:1fr;gap:22px}
  .fx-pdp-inner{width:min(1180px,calc(100% - 32px))}
  .fx-related .fx-preco-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}}
@media(max-width:360px){.fx-pdp-inner{width:min(1180px,calc(100% - 24px))}}

/* v3.7b — force brand colours on the rebuilt product headings/links (theme rule was
   rendering h2/h3 white and links gold) */
body.fx-pdp-active .fx-pdp-title,body.fx-pdp-active .fx-pdp-desc h2,
body.fx-pdp-active .fx-related h2,body.fx-pdp-active .fx-related .fx-preco-head h2,
body.fx-pdp-active .fx-related .fx-preco-title,body.fx-pdp-active .fx-preco-title{
  color:#171158!important;-webkit-text-fill-color:#171158!important}
body.fx-pdp-active .fx-pdp-catlink{color:#a7144c!important;-webkit-text-fill-color:#a7144c!important}
body.fx-pdp-active .fx-related .fx-preco-head .eyebrow{color:#a7144c!important;-webkit-text-fill-color:#a7144c!important}
body.fx-pdp-active .fx-preco-price{color:#a7144c!important;-webkit-text-fill-color:#a7144c!important}
body.fx-pdp-active .fx-pdp-desc,body.fx-pdp-active .fx-pdp-desc p{color:#3a4a52!important}

/* ============================================================
   v3.8 — Trading Card Game category: injected hero + consistent spacing.
   Uses the homepage container width, neutralises the Elementor loop-grid's
   inherited margins, and sets homepage-scale section padding & grid gaps.
   ============================================================ */
body.fx-tcg-active{background:#f5f7f8}
/* the injected hero replaces the original breadcrumb + archive title (no duplicate H1/breadcrumb) */
body.fx-tcg-active .elementor-widget-woocommerce-breadcrumb,
body.fx-tcg-active .elementor-widget-archive-title,
body.fx-tcg-active .woocommerce-products-header,
body.fx-tcg-active .elementor-widget-woocommerce-archive-products > .elementor-widget-container > header{display:none!important}
/* space between header and hero */
body.fx-tcg-active .fx-tcg-hero{padding-top:0}
body.fx-tcg-active .fx-tcg-hero .fx-breadcrumb{margin-bottom:0}
/* product grid: homepage container width, centred, comfortable gaps; kill inherited margins */
body.fx-tcg-active .elementor-loop-container,
body.fx-tcg-active .elementor-loop-container.elementor-grid,
body.fx-tcg-active .elementor-widget-loop-grid .elementor-grid{
  width:min(1180px,calc(100% - 40px))!important;margin-inline:auto!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:28px 26px!important;padding:0!important}
/* space between hero and grid, and grid bottom before footer */
body.fx-tcg-active .elementor-widget-loop-grid{margin:clamp(40px,5vw,64px) 0 clamp(48px,6vw,72px)!important;padding:0!important}
/* neutralise the archive content section's own vertical padding so gaps aren't doubled */
body.fx-tcg-active .elementor-location-archive > .e-con,
body.fx-tcg-active [data-elementor-type="archive"] > .e-con,
body.fx-tcg-active [data-elementor-type="archive"] > .e-con > .e-con{padding-block:0!important;margin-block:0!important}
/* load-more button spacing */
body.fx-tcg-active .e-load-more-anchor,body.fx-tcg-active .btn-load-more,
body.fx-tcg-active a.elementor-button{margin-top:clamp(24px,4vw,40px)!important}
@media(max-width:1024px){
  body.fx-tcg-active .elementor-loop-container,body.fx-tcg-active .elementor-loop-container.elementor-grid{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:20px!important;width:min(1180px,calc(100% - 32px))!important}}
@media(max-width:680px){
  body.fx-tcg-active .elementor-loop-container,body.fx-tcg-active .elementor-loop-container.elementor-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:15px!important;width:min(1180px,calc(100% - 32px))!important}
  body.fx-tcg-active .elementor-widget-loop-grid{margin-top:clamp(24px,5vw,36px)!important}}
@media(max-width:360px){
  body.fx-tcg-active .elementor-loop-container,body.fx-tcg-active .elementor-loop-container.elementor-grid{width:min(1180px,calc(100% - 24px))!important}}

/* v3.8b — hide the original Elementor archive title (replaced by the hero H1) */
body.fx-tcg-active .elementor-element-5e09640e{display:none!important}
/* the hero is the archive root's first child -> make it a clean full-width band */
body.fx-tcg-active .elementor-location-archive > .fx-tcg-hero{width:100%!important;max-width:none!important;margin:0 0 clamp(8px,1.5vw,20px)!important}

/* ============================================================
   v3.9 — GLOBAL consistency across all category / archive / product pages
   ============================================================ */
/* remove the dead load-more spinner + "Charger plus" button (no JS to power them) */
.e-load-more-spinner,.e-loop__load-more,.e-load-more-anchor,
.elementor-widget-loop-grid .e-loop__load-more{display:none!important}
/* remove payment-method images (paypal/visa/mastercard/bancontact) that flash on page load */
img[src*="paypal" i],img[src*="mastercard" i],img[src*="bancontact" i],img[src*="/visa" i],img[src*="visa-" i],
.elementor-widget-image:has(img[src*="paypal" i]),.elementor-widget-image:has(img[src*="mastercard" i]),
.elementor-widget-image:has(img[src*="bancontact" i]),.elementor-widget-image:has(img[src*="visa-" i]){display:none!important}
/* uniform clean card images on ALL Elementor category archives (no black boxes, no wrong-product figures) */
body.tax-product_cat .e-loop-item a.e-con[data-settings*="background"]{
  background-size:cover!important;background-position:center!important;background-color:#f4f7f8!important;aspect-ratio:1/1!important}
body.tax-product_cat .e-loop-item .elementor-background-overlay{display:none!important}
body.tax-product_cat .e-loop-item:nth-child(6n+1) a.e-con[data-settings*="background"]{background-image:url(/wp-content/uploads/gallery/dragon-ball-cardgame-17.jpg)!important}
body.tax-product_cat .e-loop-item:nth-child(6n+2) a.e-con[data-settings*="background"]{background-image:url(/wp-content/uploads/gallery/store-manga-05.jpg)!important}
body.tax-product_cat .e-loop-item:nth-child(6n+3) a.e-con[data-settings*="background"]{background-image:url(/wp-content/uploads/gallery/pokemon-pokebox-01.jpg)!important}
body.tax-product_cat .e-loop-item:nth-child(6n+4) a.e-con[data-settings*="background"]{background-image:url(/wp-content/uploads/gallery/dragon-ball-cardgame-18.jpg)!important}
body.tax-product_cat .e-loop-item:nth-child(6n+5) a.e-con[data-settings*="background"]{background-image:url(/wp-content/uploads/gallery/store-01.jpg)!important}
body.tax-product_cat .e-loop-item:nth-child(6n) a.e-con[data-settings*="background"]{background-image:url(/wp-content/uploads/gallery/store-02.jpg)!important}

/* ============================================================
   v4.0 — Boutique (shop landing) : hide broken empty archive, add category grid
   ============================================================ */
body.fx-shop-active .elementor-location-archive{display:none!important}
body.fx-shop-active .fx-shop-hero{margin-top:0}
.fx-shop-section{width:100%;padding:clamp(40px,5vw,64px) 0 clamp(48px,6vw,80px)}
.fx-shop-head{width:min(1180px,calc(100% - 40px));margin:0 auto clamp(20px,3vw,32px)}
.fx-shop-head .eyebrow{color:#a7144c;font-weight:700;letter-spacing:.14em;text-transform:uppercase;font-size:.8rem;margin:0 0 6px}
.fx-shop-head h2{color:#171158;font-size:clamp(1.5rem,3vw,2.15rem);margin:0;line-height:1.15}
.fx-shop-cats{width:min(1180px,calc(100% - 40px));margin:0 auto;display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.fx-shop-cat{position:relative;display:block;border-radius:14px;overflow:hidden;aspect-ratio:4/3;background:#eef3f5;box-shadow:0 6px 22px rgba(16,44,59,.12);text-decoration:none}
.fx-shop-cat img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .45s ease}
.fx-shop-cat:hover img,.fx-shop-cat:focus-visible img{transform:scale(1.06)}
.fx-shop-cat-label{position:absolute;inset:auto 0 0 0;display:flex;flex-direction:column;gap:2px;padding:34px 18px 16px;background:linear-gradient(transparent,rgba(23,17,88,.9))}
.fx-shop-cat-name{color:#fff;font-weight:800;font-size:1.12rem;line-height:1.15}
.fx-shop-cat-desc{color:rgba(255,255,255,.82);font-size:.86rem;line-height:1.25}
@media(max-width:900px){.fx-shop-cats{grid-template-columns:repeat(2,1fr);gap:18px}}
@media(max-width:560px){.fx-shop-cats{grid-template-columns:1fr;gap:16px}.fx-shop-cat{aspect-ratio:16/9}}

/* ============================================================
   v4.1 — archive artifacts on hero'd category pages (fx-tcg-active)
   Kill the indigo "placeholder" background on the (now title-less) archive
   heading container WITHOUT removing it from the flex layout — a display:none
   there collapses the loop-grid's column width. Also drop its min-height so
   the empty band disappears, and remove the stray placeholder image bg.
   ============================================================ */
body.fx-tcg-active .elementor-location-archive .fx-placeholder-bg{background-color:transparent!important;background-image:none!important}
body.fx-tcg-active .elementor-element-14ef8d24{min-height:0!important;padding-block:0!important;background:transparent!important}
body.fx-tcg-active .elementor-element-14ef8d24 > .e-con-inner{min-height:0!important;padding-block:0!important}
/* stray decorative "glass" panel draws a 1px outline over the grid — drop the border only (visual, no layout change) */
body.fx-tcg-active .elementor-location-archive .e-con.glass{border-color:transparent!important;box-shadow:none!important}

/* ============================================================
   v4.2 — kill the header/footer FLICKER on refresh.
   The legacy Elementor/Uncode chrome was only hidden once design-system.js
   added .fx-shell-ready (after DOMContentLoaded), so it painted first then
   got swapped -> flash. design-system.css is render-blocking, so hide it
   UNCONDITIONALLY here (interior pages = no <main#main>, i.e. not the homepage).
   The JS then injects .fx-site-header / .fx-site-footer. Net: no wrong-content
   flash, just the shell appearing once (defer runs right after HTML parse).
   ============================================================ */
body:not(.fx-home):not(:has(> main#main)) > .elementor-location-header,
body:not(.fx-home):not(:has(> main#main)) > .elementor-location-footer,
body:not(.fx-home):not(:has(> main#main)) > #masthead,
body:not(.fx-home):not(:has(> main#main)) > #colophon,
body:not(.fx-home):not(:has(> main#main)) > .menu-wrapper,
body:not(.fx-home):not(:has(> main#main)) > .footer-scroll-top,
body:not(.fx-home):not(:has(> main#main)) > .site-footer,
body.single-product .menu-wrapper,
body.single-product .footer-wrapper,
body.single-product .footer-scroll-top{display:none!important}

/* v4.3 — fx-pdp also covers Uncode-theme product pages: hide the original Uncode product body */
body.fx-pdp-active .page-body.product,
body.fx-pdp-active .single_add_to_cart_button,
body.fx-pdp-active #product-tabs,
body.fx-pdp-active .related.products{display:none!important}

/* ============================================================
   v4.4 — apply the loop-card normalization to ALL hero'd archives (fx-tcg-active),
   so product_tag pages (retrait-boutique, nouveau, precommande) get the same clean
   full-width cards as category (tax-product_cat) pages — fixes the empty right-half.
   ============================================================ */
body.fx-tcg-active .e-loop-item{display:flex!important;flex-direction:column!important;
  grid-template-columns:none!important;grid-template:none!important;
  border:1px solid var(--c-line)!important;border-radius:14px!important;overflow:hidden!important;padding:0!important;
  box-shadow:0 1px 3px rgba(16,44,59,.05);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
body.fx-tcg-active .e-loop-item:hover{transform:translateY(-4px);box-shadow:0 14px 30px rgba(16,44,59,.14);border-color:var(--c-accent)!important}
body.fx-tcg-active .e-loop-item .e-con,body.fx-tcg-active .e-loop-item .e-con-full{
  flex-direction:column!important;flex-wrap:nowrap!important;width:100%!important;max-width:100%!important;align-items:stretch!important}
body.fx-tcg-active .e-loop-item>.e-con,body.fx-tcg-active .e-loop-item>.e-con-full,body.fx-tcg-active .e-loop-item>*{
  width:100%!important;max-width:100%!important;flex:1 1 auto!important;align-self:stretch!important;grid-column:1/-1!important}
body.fx-tcg-active .e-loop-item .e-con:empty{display:none!important}
body.fx-tcg-active .e-loop-item>.e-con{padding:0 0 16px!important}
body.fx-tcg-active .e-loop-item a.e-con[data-settings*="background"],
body.fx-tcg-active .e-loop-item .elementor-widget-woocommerce-product-image img,
body.fx-tcg-active .e-loop-item .elementor-widget-woocommerce-product-image a{
  width:100%!important;aspect-ratio:1/1!important;object-fit:cover!important;background-size:cover!important;background-position:center!important;
  margin:0 0 12px!important;border-radius:0!important;border:0!important;border-bottom:1px solid var(--c-line)!important}
body.fx-tcg-active .e-loop-item .elementor-background-overlay{display:none!important}
body.fx-tcg-active .e-loop-item .elementor-widget:not(.elementor-widget-woocommerce-product-image){padding-inline:16px!important}
body.fx-tcg-active .e-loop-item .elementor-heading-title{color:var(--c-indigo)!important;
  font:650 1rem/1.32 system-ui,-apple-system,"Segoe UI",sans-serif!important;margin:0 0 8px!important;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;word-break:normal!important;overflow-wrap:break-word!important}
body.fx-tcg-active .e-loop-item .price,body.fx-tcg-active .e-loop-item .woocommerce-Price-amount{color:var(--c-accent)!important;font-weight:800!important;font-size:1.14rem!important}
body.fx-tcg-active .e-loop-item .elementor-widget-woocommerce-product-add-to-cart,
body.fx-tcg-active .e-loop-item .add_to_cart_button,
body.fx-tcg-active .e-loop-item .elementor-widget-woocommerce-product-rating{display:none!important}

/* v4.8 — a-propos-feniksu: present the Funko Pop loop-carousel as a clean static
   product grid (Swiper has no JS in the static restore). Replaces the earlier hide. */
body.fx-apf .elementor-element-4c84f2e,
body.fx-apf .elementor-widget-loop-carousel{display:block!important;width:100%!important;min-width:0!important}
body.fx-apf .elementor-widget-loop-carousel{margin-top:6px!important}
body.fx-apf .elementor-widget-loop-carousel .swiper,
body.fx-apf .elementor-widget-loop-carousel .swiper-container{display:block!important;overflow:visible!important}
body.fx-apf .elementor-widget-loop-carousel .swiper-wrapper{
  display:grid!important;grid-template-columns:repeat(6,1fr)!important;
  gap:20px!important;transform:none!important;width:100%!important;height:auto!important}
body.fx-apf .elementor-widget-loop-carousel .swiper-slide{display:block!important;width:100%!important;height:auto!important;margin:0!important;flex:0 0 auto!important}
body.fx-apf .elementor-widget-loop-carousel .e-loop-item .elementor-element-562c8df3,
body.fx-apf .elementor-widget-loop-carousel .e-con-inner{width:100%!important;max-width:none!important}
@media(max-width:1024px){body.fx-apf .elementor-widget-loop-carousel .swiper-wrapper{grid-template-columns:repeat(4,1fr)!important}}
@media(max-width:768px){body.fx-apf .elementor-widget-loop-carousel .swiper-wrapper{grid-template-columns:repeat(3,1fr)!important}}
@media(max-width:520px){body.fx-apf .elementor-widget-loop-carousel .swiper-wrapper{grid-template-columns:repeat(2,1fr)!important}}
body.fx-apf .elementor-swiper-button,
body.fx-apf .elementor-widget-loop-carousel .swiper-pagination{display:none!important}
/* card shell */
body.fx-apf .elementor-widget-loop-carousel .e-loop-item .elementor-element-562c8df3{
  background:#fff!important;background-image:none!important;border:1px solid #e6ecf0!important;border-radius:14px!important;
  overflow:hidden!important;box-shadow:0 6px 20px rgba(16,44,59,.06)!important;padding:0!important;
  transition:box-shadow .2s ease,transform .2s ease}
body.fx-apf .elementor-widget-loop-carousel .e-loop-item:hover .elementor-element-562c8df3{box-shadow:0 12px 30px rgba(16,44,59,.1)!important;transform:translateY(-3px)}
body.fx-apf .elementor-widget-loop-carousel .e-con-inner{padding:0!important;display:flex!important;flex-direction:column!important}
/* image tile — placeholder becomes a branded indigo tile with the phoenix mark */
body.fx-apf .elementor-widget-loop-carousel a.elementor-element-7f0b50c3{
  display:block!important;aspect-ratio:1/1!important;width:100%!important;opacity:1!important;
  background:#171158 url("/wp-content/uploads/2022/05/feniksu_logo-removebg-preview.png") center/46% no-repeat!important;
  border-bottom:1px solid #e6ecf0!important}
/* text block: title then price (source order is price then title) */
body.fx-apf .elementor-widget-loop-carousel .elementor-element-2bc0ae2{padding:14px 16px 16px!important;display:flex!important;flex-direction:column!important;gap:6px!important}
body.fx-apf .elementor-widget-loop-carousel .elementor-element-75c06827{order:1!important}
body.fx-apf .elementor-widget-loop-carousel .elementor-element-745b9e35{order:2!important}
body.fx-apf .elementor-widget-loop-carousel .elementor-element-75c06827 .elementor-heading-title{
  color:var(--c-indigo)!important;-webkit-text-fill-color:var(--c-indigo)!important;
  font:650 .95rem/1.32 system-ui,-apple-system,"Segoe UI",sans-serif!important;margin:0!important;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
body.fx-apf .elementor-widget-loop-carousel .woocommerce-Price-amount{color:var(--c-accent)!important;font-weight:800!important;font-size:1.05rem!important}
/* hide the non-functional add-to-cart button (cart disabled in the static restore) */
body.fx-apf .elementor-widget-loop-carousel .elementor-element-71d06ec6{display:none!important}

/* v4.6 — a-propos-feniksu: hide the two empty decorative boxes.
   (The Funko Pop carousel lives in 4c84f2e at page level — restored in v4.8.) */
body.fx-apf .elementor-element-f877a86,
body.fx-apf .elementor-element-13205ab6{display:none!important}

/* v4.7 — a-propos-feniksu: clean, consistent About-page layout.
   Force-reveal Elementor scroll-animation nodes (no JS in static restore),
   drop the empty spacer boxes that leave large gaps, and turn the bare
   outlined .glass boxes into evenly-spaced white cards in a reading column. */
body.fx-apf .elementor-invisible{opacity:1!important;transform:none!important;animation:none!important}
body.fx-apf .elementor-element-125efb12,
body.fx-apf .elementor-element-2eb3703b{display:none!important}
/* collapse each card wrapper's large vertical padding so gaps stay even (~36px) */
body.fx-apf .e-con:has(> .glass.e-con-boxed){padding-top:18px!important;padding-bottom:18px!important}
body.fx-apf .glass.e-con-boxed{
  background:#fff!important;border:1px solid #e6ecf0!important;border-radius:16px!important;
  box-shadow:0 10px 30px rgba(16,44,59,.06)!important;padding:38px 44px!important;
  margin:0 auto!important;max-width:940px!important;
  backdrop-filter:none!important;-webkit-backdrop-filter:none!important;transition:box-shadow .25s ease,transform .25s ease}
body.fx-apf .glass.e-con-boxed:hover{box-shadow:0 16px 40px rgba(16,44,59,.1)!important;transform:translateY(-2px)}
body.fx-apf .glass .elementor-heading-title{color:var(--c-indigo)!important}
body.fx-apf .glass p:not(.elementor-heading-title){color:#41515a!important}
@media(max-width:768px){body.fx-apf .glass.e-con-boxed{padding:26px 22px!important;margin-bottom:18px!important}}
