/*
Theme Name: AstraCaisse
Theme URI: https://astracaisse.com
Author: AstraCaisse
Author URI: https://astracaisse.com
Description: Theme block trilingue (AR / FR / EN) pour AstraCaisse — logiciels de gestion pour entreprises marocaines. Marketing (Brand Hub + pages produit + blog) et boutique WooCommerce. RTL complet, mobile-first, dark navy + accent sky blue #0EA5E9.
Requires at least: 6.6
Tested up to: 7.0
Requires PHP: 7.4
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: astracaisse
Tags: block-theme, full-site-editing, rtl-language-support, translation-ready, e-commerce, custom-colors
*/

/* ============================================================
   AstraCaisse — feuille de style globale (complément de theme.json)
   ============================================================ */

html { scroll-behavior: smooth; }
body { overflow-x: hidden; }
::selection { background: #0EA5E9; color: #fff; }

/* --- Theming par produit : override des variables de couleur primaire --- */
/* Appliqué via une classe de body (functions.php) ou une classe de section. */
.page-gym, .theme-gym {
  --wp--preset--color--primary: #F97316;
  --wp--preset--color--primary-dark: #EA580C;
  --wp--preset--color--primary-light: #FB923C;
}
.page-restaurant, .theme-restaurant {
  --wp--preset--color--primary: #DC2626;
  --wp--preset--color--primary-dark: #B91C1C;
  --wp--preset--color--primary-light: #EF4444;
}
.page-stock, .theme-stock {
  --wp--preset--color--primary: #3B82F6;
  --wp--preset--color--primary-dark: #2563EB;
  --wp--preset--color--primary-light: #60A5FA;
}

/* --- RTL / Arabe : police Cairo --- */
[lang="ar"], [dir="rtl"], body.rtl,
body.rtl :is(h1,h2,h3,h4,h5,h6),
[lang="ar"] :is(h1,h2,h3,h4,h5,h6) {
  font-family: "Cairo", sans-serif;
}

/* --- Texte en dégradé : couleur solide visible PAR DÉFAUT, dégradé clippé seulement si supporté --- */
.ac-text-gradient { color: #7DD3FC; }
.page-gym .ac-text-gradient { color: #FDBA74; }
.page-restaurant .ac-text-gradient { color: #FCA5A5; }
.page-stock .ac-text-gradient { color: #93C5FD; }
@supports ((-webkit-background-clip: text) or (background-clip: text)) {
  .ac-text-gradient {
    background-image: linear-gradient(135deg, #38BDF8 0%, #0EA5E9 50%, #7DD3FC 100%);
    -webkit-background-clip: text; background-clip: text;
    -webkit-text-fill-color: transparent;
  }
  .page-gym .ac-text-gradient { background-image: linear-gradient(135deg, #F97316 0%, #FB923C 50%, #FBBF24 100%); }
  .page-restaurant .ac-text-gradient { background-image: linear-gradient(135deg, #DC2626 0%, #EF4444 40%, #F59E0B 100%); }
  .page-stock .ac-text-gradient { background-image: linear-gradient(135deg, #60A5FA 0%, #3B82F6 50%, #93C5FD 100%); }
}

/* --- Eyebrow badge (point pulsant + texte) --- */
.ac-eyebrow {
  display: inline-flex; align-items: center; gap: .5rem;
  padding: .35rem .9rem; border-radius: 9999px;
  background: rgba(14,165,233,.12); color: #38BDF8;
  font-size: .8125rem; font-weight: 600; border: 1px solid rgba(14,165,233,.25);
}
.ac-eyebrow::before {
  content: ""; width: .5rem; height: .5rem; border-radius: 9999px;
  background: currentColor; animation: acPulse 2s ease-in-out infinite;
}
@keyframes acPulse { 0%,100% { opacity: 1; transform: scale(1); } 50% { opacity: .4; transform: scale(.85); } }

/* --- Header sticky façon "glass" (dark) --- */
.ac-header {
  position: sticky; top: 0; z-index: 50;
  background: rgba(15,23,42,.85);
  -webkit-backdrop-filter: blur(20px); backdrop-filter: blur(20px);
  border-bottom: 1px solid rgba(255,255,255,.06);
}
/* Empêche l'écrasement des boutons (langue / CTA) et le découpage vertical du texte. */
.ac-header .wp-block-button__link { white-space: nowrap; word-break: normal; }
.ac-header .wp-block-buttons,
.ac-header .wp-block-buttons .wp-block-button { flex-shrink: 0; }
.ac-header > .wp-block-group { flex-wrap: nowrap; gap: 1rem; }
.ac-header .wp-block-navigation { flex-shrink: 1; min-width: 0; }
/* Le menu et les CTA passent en colonne propre sous le logo en tablette/mobile. */
@media (max-width: 1024px) {
  .ac-header > .wp-block-group { flex-wrap: wrap; }
}
/* Overlay du menu mobile ouvert (piloté par astracaisse.js) : plein écran, sombre, lisible. */
.wp-block-navigation__responsive-container.is-menu-open {
  position: fixed; inset: 0; z-index: 100;
  background: #020617; padding: 5rem 1.5rem 2rem;
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content { width: 100%; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container { flex-direction: column; gap: 0.25rem; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item a {
  display: block; font-size: 1.25rem; padding: 0.65rem 0; color: #F8FAFC;
  border-bottom: 1px solid rgba(255,255,255,.06);
}
.wp-block-navigation__responsive-container-close { position: fixed; top: 1.5rem; right: 1.5rem; z-index: 101; color: #F8FAFC; }
html.has-modal-open { overflow: hidden; }

/* --- Cartes : hover doux + ombre subtile --- */
.ac-card {
  background: rgba(30,41,59,.5);
  border: 1px solid rgba(255,255,255,.06);
  border-radius: var(--wp--custom--radius--lg, 1rem);
  transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease;
}
.ac-card:hover {
  transform: translateY(-8px);
  box-shadow: var(--wp--custom--shadow--card-hover, 0 25px 50px -12px rgba(14,165,233,.20));
  border-color: rgba(14,165,233,.35);
}

/* --- Bouton WhatsApp flottant (RTL-aware) --- */
.ac-whatsapp {
  position: fixed; bottom: 1.5rem; right: 1.5rem; z-index: 50;
  width: 3.5rem; height: 3.5rem; border-radius: 9999px;
  background: #25D366; color: #fff;
  display: flex; align-items: center; justify-content: center;
  box-shadow: 0 8px 24px rgba(37,211,102,.35);
  transition: transform .2s ease, background .2s ease;
  animation: acWaPulse 2.5s ease-in-out infinite;
}
.ac-whatsapp:hover { background: #20BA5C; transform: scale(1.1); }
.ac-whatsapp svg { width: 1.75rem; height: 1.75rem; fill: currentColor; }
[dir="rtl"] .ac-whatsapp, body.rtl .ac-whatsapp { right: auto; left: 1.5rem; }
@keyframes acWaPulse { 0% { box-shadow: 0 0 0 0 rgba(37,211,102,.5); } 70% { box-shadow: 0 0 0 15px rgba(37,211,102,0); } 100% { box-shadow: 0 0 0 0 rgba(37,211,102,0); } }

/* --- Animations d'apparition au scroll (IntersectionObserver, voir assets/js) --- */
[data-animate] { opacity: 0; transition: opacity .7s ease-out, transform .7s ease-out; }
[data-animate="fade-up"] { transform: translateY(2rem); }
[data-animate="fade-down"] { transform: translateY(-2rem); }
[data-animate="zoom-in"] { transform: scale(.9); }
[data-animate].is-visible { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  [data-animate], .ac-card, .ac-whatsapp { transition: none; animation: none; opacity: 1; transform: none; }
}

/* --- Listes sans puce (footer / colonnes de liens) --- */
.wp-block-list.is-style-no-bullet { list-style: none; margin: 0; padding: 0; }
.wp-block-list.is-style-no-bullet a { text-decoration: none; }
.wp-block-list.is-style-no-bullet a:hover { color: #38BDF8; }

/* --- Navigation : couleur de survol --- */
.wp-block-navigation .wp-block-navigation-item__content:hover { color: #38BDF8; }

/* --- Sections alternées sombres --- */
.ac-section-surface { background: #0F172A; }

/* --- Tableaux (comparatifs) sur fond sombre : corrige le style "stripes" clair de WP --- */
.wp-block-table table { color: #F8FAFC; border-color: rgba(148,163,184,.22); }
.wp-block-table td, .wp-block-table th { color: #F8FAFC; border-color: rgba(148,163,184,.22); }
.wp-block-table th { background: rgba(14,165,233,.14); }
.wp-block-table figcaption { color: #94A3B8; }
.wp-block-table.is-style-stripes tbody tr:nth-child(odd) { background-color: rgba(255,255,255,.05) !important; color: #F8FAFC; }
.wp-block-table.is-style-stripes tbody tr:nth-child(even) { background-color: transparent !important; }
.wp-block-table.is-style-stripes td, .wp-block-table.is-style-stripes th { color: #F8FAFC; border-color: rgba(148,163,184,.16); }

/* --- Lisibilité sur fond dégradé (CTA #contact) : tout en blanc lisible --- */
.has-brand-gradient-background a:not(.wp-block-button__link),
.has-gym-gradient-background a:not(.wp-block-button__link),
.has-restaurant-gradient-background a:not(.wp-block-button__link),
.has-stock-gradient-background a:not(.wp-block-button__link) { color: #FFFFFF; text-decoration: underline; }
.has-brand-gradient-background .has-muted-color,
.has-brand-gradient-background.has-text-color,
.has-gym-gradient-background .has-muted-color,
.has-restaurant-gradient-background .has-muted-color,
.has-stock-gradient-background .has-muted-color { color: rgba(255,255,255,0.9) !important; }

/* --- Skip link (a11y) --- */
.skip-link.screen-reader-text:focus {
  position: fixed; top: 1rem; left: 1rem; z-index: 100;
  background: #0EA5E9; color: #fff; padding: .5rem 1rem; border-radius: .5rem;
}

/* ============================================================
   WooCommerce — habillage dark AstraCaisse (boutique matériel)
   ============================================================ */

/* Fil d'Ariane + barre d'outils */
.ac-breadcrumbs, .ac-breadcrumbs a { color: #94A3B8; font-size: .85rem; }
.ac-breadcrumbs a:hover { color: #38BDF8; }
.ac-shop .woocommerce-breadcrumb { color:#94A3B8; font-size:.85rem; }
.ac-shop-toolbar { border-top:1px solid rgba(255,255,255,.08); border-bottom:1px solid rgba(255,255,255,.08); padding:.75rem 0; align-items:center; gap:1rem; }
.ac-shop .wc-block-product-results-count, .ac-shop .woocommerce-result-count { color:#94A3B8; margin:0; font-size:.875rem; }
.ac-shop .wc-block-catalog-sorting select, .ac-shop .orderby, .ac-shop select {
  background:#0F172A; color:#F8FAFC; border:1px solid rgba(255,255,255,.15);
  border-radius:8px; padding:.4rem .6rem; font-size:.85rem;
}

/* Grille produits (force un vrai grid responsive) */
.ac-shop .wc-block-product-template,
.ac-single-product .wc-block-product-template,
.ac-shop ul.products {
  display:grid !important;
  grid-template-columns:repeat(4, minmax(0,1fr));
  gap:1.5rem; margin:0; padding:0; list-style:none;
}
@media (max-width:1024px){ .ac-shop .wc-block-product-template, .ac-single-product .wc-block-product-template, .ac-shop ul.products { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media (max-width:782px){ .ac-shop .wc-block-product-template, .ac-single-product .wc-block-product-template, .ac-shop ul.products { grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; } }
.ac-shop .wp-block-woocommerce-product-collection { margin:0; }

/* Carte produit */
.ac-shop .wc-block-product,
.ac-single-product .wc-block-product,
.ac-shop ul.products li.product {
  background:#0F172A; border:1px solid rgba(255,255,255,.08);
  border-radius:16px; overflow:hidden; margin:0 !important; padding:0;
  display:flex; flex-direction:column;
  width:auto !important; max-width:none !important; min-width:0; flex:0 1 auto;
  transition:transform .15s ease, border-color .15s ease, box-shadow .15s ease;
}
.ac-shop .wc-block-product:hover,
.ac-single-product .wc-block-product:hover,
.ac-shop ul.products li.product:hover {
  transform:translateY(-4px); border-color:rgba(14,165,233,.5); box-shadow:0 12px 30px rgba(0,0,0,.45);
}

/* Image produit : photos sur fond blanc -> encart clair, hauteur uniforme */
.ac-shop .wc-block-product .wp-block-woocommerce-product-image,
.ac-single-product .wc-block-product .wp-block-woocommerce-product-image {
  margin:0; background:#fff; display:block; padding:.85rem;
}
.ac-shop .wc-block-product .wc-block-components-product-image img,
.ac-single-product .wc-block-product .wc-block-components-product-image img,
.ac-shop ul.products li.product > a img {
  width:100% !important; height:190px !important; object-fit:contain !important; margin:0 auto !important; border-radius:6px; background:#fff;
}

/* Titre / prix / bouton dans la carte */
.ac-shop .wc-block-product .wp-block-post-title,
.ac-single-product .wc-block-product .wp-block-post-title,
.ac-shop ul.products li.product .woocommerce-loop-product__title {
  padding:.9rem .9rem 0; margin:0; font-size:.92rem; line-height:1.35; font-weight:600;
}
.ac-shop .wc-block-product .wp-block-post-title a,
.ac-single-product .wc-block-product .wp-block-post-title a,
.ac-shop ul.products li.product .woocommerce-loop-product__title { color:#F8FAFC; text-decoration:none; }
.ac-shop .wc-block-product .wp-block-post-title a:hover { color:#38BDF8; }
.ac-shop .wc-block-product .wc-block-components-product-price,
.ac-single-product .wc-block-product .wc-block-components-product-price,
.ac-shop ul.products li.product .price {
  padding:0 .9rem; margin:.35rem 0 .75rem; color:#38BDF8 !important; font-weight:800; font-size:1.05rem;
}
.ac-shop .wc-block-product .wp-block-woocommerce-product-button,
.ac-single-product .wc-block-product .wp-block-woocommerce-product-button { padding:0 .9rem .9rem; margin-top:auto; }
.ac-shop .wc-block-product .wp-block-woocommerce-product-button a,
.ac-shop .wc-block-product .wc-block-components-product-button__button,
.ac-single-product .wc-block-product .wp-block-woocommerce-product-button a,
.ac-shop ul.products li.product a.button {
  display:block !important; width:100%; text-align:center; background:#0EA5E9 !important; color:#fff !important;
  border:none !important; border-radius:10px !important; padding:.6rem 1rem !important;
  font-weight:600; font-size:.85rem; text-decoration:none; box-shadow:none !important;
}
.ac-shop .wc-block-product .wp-block-woocommerce-product-button a:hover,
.ac-shop ul.products li.product a.button:hover { background:#0284C7 !important; }

/* Pagination */
.ac-shop .wp-block-query-pagination { grid-column:1 / -1; }
.ac-shop .wp-block-query-pagination a, .ac-shop .wp-block-query-pagination .page-numbers { color:#94A3B8; }
.ac-shop .wp-block-query-pagination .page-numbers.current { color:#0EA5E9; font-weight:800; }

/* ----- Fiche produit (single) ----- */
.ac-single-product .ac-product-top .woocommerce-product-gallery,
.ac-single-product .wp-block-woocommerce-product-image-gallery {
  background:#fff; border-radius:16px; padding:1rem;
}
.ac-single-product .ac-product-top .woocommerce-product-gallery img { border-radius:8px; }
.ac-single-product .wp-block-woocommerce-product-price, .ac-single-product .price { color:#38BDF8 !important; font-weight:800; }
.ac-single-product .post-excerpt, .ac-single-product .wp-block-post-excerpt { color:#94A3B8; }
.ac-single-product .single_add_to_cart_button,
.ac-single-product .add_to_cart_button,
.ac-single-product .button.product_type_external,
.ac-single-product a.button.alt {
  background:#0EA5E9 !important; color:#fff !important; border:none !important;
  border-radius:12px !important; padding:.9rem 2rem !important; font-weight:700 !important; font-size:1rem !important;
}
.ac-single-product .single_add_to_cart_button:hover { background:#0284C7 !important; }
.ac-product-meta { color:#94A3B8; font-size:.85rem; gap:1.5rem; margin-top:1.25rem; }
.ac-product-meta a { color:#38BDF8; }

/* Onglets / détails produit + avis */
.ac-product-details { margin-top:2.5rem; border-top:1px solid rgba(255,255,255,.08); padding-top:1.5rem; }
.ac-product-details h2, .ac-product-details h3, .ac-single-product h2 { color:#F8FAFC; }
.ac-single-product .wp-block-woocommerce-product-details ul.wc-tabs li { background:transparent; border:none; }
.ac-single-product .wp-block-woocommerce-product-details ul.wc-tabs li a { color:#94A3B8; }
.ac-single-product .wp-block-woocommerce-product-details ul.wc-tabs li.active a { color:#0EA5E9; }

/* Produits similaires : titre */
.ac-single-product .wp-block-query-title, .ac-single-product .related > h2, .ac-single-product h2.has-text-align-center { color:#F8FAFC; }

/* Détails accordéon (FAQ héritée du thème) dans la fiche */
.ac-single-product details.wp-block-details { background:#0F172A; border:1px solid rgba(255,255,255,.08); border-radius:12px; padding:.85rem 1.1rem; margin-bottom:.6rem; }
.ac-single-product details.wp-block-details summary { color:#F8FAFC; font-weight:600; cursor:pointer; }

/* ---- Boutique : layout sidebar + filtres ---- */
.ac-shop-layout { align-items:flex-start; }
.ac-shop-sidebar { flex:0 0 250px; }
.ac-shop-main { min-width:0; }
.ac-shop-main .wc-block-product-template { grid-template-columns:repeat(3,minmax(0,1fr)) !important; }
@media (max-width:1100px){ .ac-shop-main .wc-block-product-template { grid-template-columns:repeat(2,minmax(0,1fr)) !important; } }
@media (max-width:782px){
  .ac-shop-layout { display:flex !important; flex-direction:column; }
  .ac-shop-sidebar { flex:1 1 auto; width:100%; margin-bottom:1.5rem; }
}

/* Menu catégories */
.ac-cat-menu { list-style:none; margin:0 0 1.75rem; padding:0; }
.ac-cat-menu li { margin:0; }
.ac-cat-menu a { display:block; padding:.45rem .7rem; border-radius:8px; color:#94A3B8; text-decoration:none; font-size:.9rem; transition:background .12s,color .12s; }
.ac-cat-menu a:hover { background:#0F172A; color:#F8FAFC; }

/* En-têtes de filtres */
.ac-shop-sidebar h2, .ac-shop-sidebar h3 { color:#F8FAFC; }
.ac-filters { border-top:1px solid rgba(255,255,255,.08); padding-top:1.25rem; }
.ac-filters > div { margin-bottom:1.75rem; }

/* Listes à cocher (marque) */
.wc-block-product-filter-checkbox-list,
.wc-block-components-checkbox-list { list-style:none; margin:0; padding:0; }
.wc-block-product-filter-checkbox-list__item,
.wc-block-components-checkbox-list li,
.wc-block-checkbox-list__item { display:flex; align-items:center; gap:.5rem; padding:.32rem 0; color:#CBD5E1; font-size:.9rem; cursor:pointer; }
.ac-filters label, .ac-filters .wc-block-components-checkbox__label { color:#CBD5E1; }
.ac-filters .wc-block-components-checkbox__label-count,
.wc-block-product-filter-checkbox-list__count { color:#64748B; }
.ac-filters input[type=checkbox] { accent-color:#0EA5E9; width:16px; height:16px; }
.ac-filters .wc-block-product-filter-checkbox-list__show-more,
.ac-filters button.show-more { color:#38BDF8; background:none; border:none; cursor:pointer; font-size:.85rem; padding:.25rem 0; }

/* Curseur de prix */
.ac-filters input[type=range] { accent-color:#0EA5E9; width:100%; }
.wc-block-product-filter-price-slider__range,
.wc-block-product-filter-price-slider { accent-color:#0EA5E9; }
.wc-block-product-filter-price-slider__range-bar,
.wc-block-components-price-slider__range-bar { background:#0EA5E9 !important; }
.wc-block-product-filter-price-slider__track,
.wc-block-components-price-slider__track { background:#1E293B !important; }
.ac-filters input[type=text],
.wc-block-product-filter-price-slider__amount,
.wc-block-components-price-slider__amount {
  background:#0F172A; color:#F8FAFC; border:1px solid rgba(255,255,255,.15);
  border-radius:8px; padding:.35rem .5rem; font-size:.85rem; max-width:48%;
}

/* Filtres actifs (chips) + bouton effacer */
.wc-block-product-filter-active .wc-block-components-filter-element-label,
.wc-block-product-filter-removable-chips__item,
.wc-block-product-filter-chips__item {
  background:#0F172A; color:#F8FAFC; border:1px solid rgba(255,255,255,.12);
  border-radius:999px; padding:.2rem .6rem; font-size:.8rem;
}
.ac-filters a, .wc-block-product-filter-clear-button { color:#38BDF8; }

/* ===== Filtres boutique — design pro (sans JS, fiable) ===== */
.ac-shop-sidebar { position:sticky; top:6rem; align-self:flex-start; }
.ac-filters-widget {
  background:#0B1220; border:1px solid rgba(255,255,255,.07);
  border-radius:18px; padding:1.4rem 1.25rem; box-shadow:0 8px 30px rgba(0,0,0,.25);
}
.ac-filters-widget .ac-filter-block + .ac-filter-block { margin-top:1.5rem; padding-top:1.5rem; border-top:1px solid rgba(255,255,255,.07); }
.ac-filter-title {
  color:#64748B; font-size:.72rem; font-weight:700; letter-spacing:.09em; text-transform:uppercase;
  margin:0 0 .85rem;
}

/* Menu catégories */
.ac-cat-menu, .ac-filter-list { list-style:none; margin:0; padding:0; }
.ac-cat-menu li, .ac-filter-list li { margin:0; }
.ac-cat-menu a {
  display:flex; justify-content:space-between; align-items:center; gap:.5rem;
  padding:.5rem .7rem; border-radius:10px; color:#CBD5E1; text-decoration:none;
  font-size:.92rem; font-weight:500; transition:background .14s,color .14s;
}
.ac-cat-menu a:hover { background:rgba(255,255,255,.04); color:#F8FAFC; }
.ac-cat-menu a.is-active { background:linear-gradient(90deg,rgba(14,165,233,.18),rgba(14,165,233,.04)); color:#fff; font-weight:600; box-shadow:inset 2px 0 0 #0EA5E9; }
.ac-cat-menu .ac-count { color:#475569; font-size:.78rem; font-weight:600; white-space:nowrap; flex-shrink:0; }
.ac-cat-menu a { align-items:center; }
.ac-cat-menu a.is-active .ac-count { color:#7DD3FC; }

/* Cases marque / prix */
.ac-filter-opt {
  display:flex; align-items:center; gap:.65rem; padding:.42rem .25rem;
  color:#CBD5E1; text-decoration:none; font-size:.9rem; transition:color .14s;
}
.ac-filter-opt:hover { color:#F8FAFC; }
.ac-filter-opt .ac-check {
  width:18px; height:18px; flex:0 0 18px; border:1.5px solid rgba(255,255,255,.22);
  border-radius:6px; display:inline-block; position:relative; transition:all .14s;
}
.ac-filter-opt:hover .ac-check { border-color:#38BDF8; }
.ac-filter-opt.is-active { color:#fff; font-weight:600; }
.ac-filter-opt.is-active .ac-check { background:#0EA5E9; border-color:#0EA5E9; box-shadow:0 0 0 3px rgba(14,165,233,.18); }
.ac-filter-opt.is-active .ac-check::after { content:"✓"; color:#fff; font-size:12px; font-weight:700; line-height:1; position:absolute; inset:0; display:flex; align-items:center; justify-content:center; }
.ac-filter-opt .ac-count {
  margin-left:auto; color:#64748B; font-size:.72rem; font-weight:600;
  background:rgba(255,255,255,.05); border-radius:999px; padding:.05rem .5rem; min-width:1.5rem; text-align:center;
  white-space:nowrap; flex-shrink:0;
}

.ac-filter-reset {
  display:inline-flex; align-items:center; gap:.35rem; margin-top:1.25rem;
  color:#38BDF8; text-decoration:none; font-size:.82rem; font-weight:600;
}
.ac-filter-reset:hover { color:#fff; }

/* Barre d'outils (résultats + tri) en carte */
.ac-shop-toolbar { background:#0B1220; border:1px solid rgba(255,255,255,.07); border-radius:12px; padding:.6rem 1rem; align-items:center; }

@media (max-width:782px){
  .ac-shop-sidebar { position:static; }
  .ac-filters-widget { margin-bottom:1.5rem; }
}
