/* ==========================================================================
   NIMORIA GAMING — Cyberpunk/Neon Theme
   Palette tirée du logo : bleu nuit + cyan + violet + magenta
   ========================================================================== */

:root {
  --nim-bg:          #07071a;
  --nim-bg-2:        #0d0d2b;
  --nim-bg-3:        #141438;
  --nim-cyan:        #00e5ff;
  --nim-cyan-soft:   #4dd0e1;
  --nim-violet:      #9333ea;
  --nim-violet-2:    #7c3aed;
  --nim-magenta:     #ec4899;
  --nim-white:       #f5f7ff;
  --nim-muted:       #9ca3cf;
  --nim-border:      rgba(0, 229, 255, 0.25);
  --nim-glow-cyan:   0 0 14px rgba(0, 229, 255, 0.7), 0 0 30px rgba(0, 229, 255, 0.35);
  --nim-glow-violet: 0 0 14px rgba(147, 51, 234, 0.7), 0 0 30px rgba(147, 51, 234, 0.35);
  --nim-grad:        linear-gradient(135deg, #00e5ff 0%, #9333ea 55%, #ec4899 100%);
  --nim-grad-2:      linear-gradient(135deg, #9333ea 0%, #00e5ff 100%);
  --nim-font-display: 'Orbitron', 'Rajdhani', system-ui, sans-serif;
  --nim-font-body:    'Inter', 'Rajdhani', system-ui, sans-serif;
}

/* ------- Global reset ------- */
html, body.nimoria-theme {
  background: var(--nim-bg) !important;
  color: var(--nim-white);
  font-family: var(--nim-font-body);
  scroll-behavior: smooth;
}

body.nimoria-theme {
  background-image:
    radial-gradient(ellipse at 15% 10%, rgba(0, 229, 255, 0.10), transparent 60%),
    radial-gradient(ellipse at 85% 90%, rgba(147, 51, 234, 0.12), transparent 60%),
    linear-gradient(180deg, #07071a 0%, #0d0d2b 100%);
  background-attachment: fixed;
}

/* Grid background subtle */
body.nimoria-theme::before {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 0;
  background-image:
    linear-gradient(rgba(0, 229, 255, 0.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(0, 229, 255, 0.04) 1px, transparent 1px);
  background-size: 60px 60px;
  mask-image: radial-gradient(ellipse at center, black 40%, transparent 80%);
}

/* ------- Typography ------- */
.nimoria-theme h1, .nimoria-theme h2, .nimoria-theme h3,
.nimoria-theme .entry-title, .nimoria-theme .product_title {
  font-family: var(--nim-font-display);
  font-weight: 900;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  color: var(--nim-white);
}

.nimoria-theme h1, .nimoria-theme h2 {
  background: var(--nim-grad);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  filter: drop-shadow(0 0 8px rgba(0, 229, 255, 0.3));
}

.nimoria-theme a { color: var(--nim-cyan); transition: color .25s, text-shadow .25s; }
.nimoria-theme a:hover { color: #fff; text-shadow: 0 0 12px var(--nim-cyan); }

/* ------- Header / Logo ------- */
body.nimoria-theme header.ct-header,
body.nimoria-theme .ct-header,
body.nimoria-theme .ct-header [data-row="middle"],
body.nimoria-theme .ct-header [data-row="top"],
body.nimoria-theme .ct-header [data-row="bottom"],
body.nimoria-theme .ct-header [data-row*="middle"],
body.nimoria-theme .ct-header [data-row*="top"],
body.nimoria-theme .ct-header [data-row*="bottom"],
body.nimoria-theme .ct-header > div > div[data-row],
body.nimoria-theme [data-header] .ct-header [data-row] {
  background: rgba(7, 7, 26, 0.92) !important;
  background-color: rgba(7, 7, 26, 0.92) !important;
  background-image: none !important;
  backdrop-filter: blur(12px);
  border-top: none !important;
  border-bottom: 1px solid var(--nim-border) !important;
  box-shadow: 0 2px 30px rgba(0, 229, 255, 0.15) !important;
}

/* Override Blocksy CSS var directly to ensure white palette isn't used on header */
body.nimoria-theme .ct-header {
  --theme-palette-color-8: rgba(7, 7, 26, 0.92) !important;
}

/* Offcanvas (menu mobile) */
body.nimoria-theme #offcanvas .ct-panel-inner {
  background-color: rgba(7, 7, 26, 0.98) !important;
}

.nimoria-theme .site-logo img,
.nimoria-theme [class*="site-logo"] img {
  filter: drop-shadow(0 0 12px rgba(0, 229, 255, 0.5))
          drop-shadow(0 0 20px rgba(147, 51, 234, 0.4));
  transition: filter .4s, transform .4s;
}
.nimoria-theme .site-logo:hover img {
  filter: drop-shadow(0 0 20px rgba(0, 229, 255, 0.9))
          drop-shadow(0 0 30px rgba(147, 51, 234, 0.7));
  transform: scale(1.04);
}

/* Nav links */
.nimoria-theme .ct-header .ct-menu-link,
.nimoria-theme .ct-header a,
.nimoria-theme .ct-menu a,
.nimoria-theme nav a,
.nimoria-theme [data-id="menu"] > ul > li > a {
  font-family: var(--nim-font-display);
  font-weight: 700;
  font-size: 0.85rem;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  position: relative;
  color: var(--nim-white) !important;
}

/* Icônes header (recherche, compte, panier, trigger mobile) */
.nimoria-theme .ct-header [class*="ct-toggle"],
.nimoria-theme .ct-header-trigger,
.nimoria-theme .ct-header-search,
.nimoria-theme .ct-header-cart,
.nimoria-theme .ct-header svg {
  color: var(--nim-white) !important;
  fill: var(--nim-white) !important;
}

.nimoria-theme .ct-header [class*="ct-toggle"]:hover,
.nimoria-theme .ct-header-trigger:hover,
.nimoria-theme .ct-header-search:hover,
.nimoria-theme .ct-header-cart:hover {
  color: var(--nim-cyan) !important;
  fill: var(--nim-cyan) !important;
}
.nimoria-theme .ct-menu a::after,
.nimoria-theme nav a::after {
  content: "";
  position: absolute;
  left: 0; right: 0; bottom: -4px;
  height: 2px;
  background: var(--nim-grad);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .35s cubic-bezier(.2,.9,.3,1.2);
}
.nimoria-theme .ct-menu a:hover::after,
.nimoria-theme nav a:hover::after { transform: scaleX(1); }

/* ------- Buttons (boutons néon) — exclure contrôles de panier/checkout ------- */
.nimoria-theme .button:not(.wc-block-components-button):not(.wc-block-components-quantity-selector__button):not(.wc-block-cart-item__remove-link),
.nimoria-theme .wp-block-button__link,
.nimoria-theme input[type="submit"],
.nimoria-theme .woocommerce a.button,
.nimoria-theme .woocommerce button.button,
.nimoria-theme .woocommerce .button.alt,
.nimoria-theme .single_add_to_cart_button {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.85em 2em !important;
  font-family: var(--nim-font-display) !important;
  font-weight: 700 !important;
  font-size: 0.9rem !important;
  letter-spacing: 0.15em !important;
  text-transform: uppercase !important;
  color: #fff !important;
  background: linear-gradient(135deg, var(--nim-violet) 0%, var(--nim-cyan) 100%) !important;
  border: none !important;
  border-radius: 6px !important;
  cursor: pointer;
  overflow: hidden;
  z-index: 1;
  box-shadow:
    0 0 0 1px rgba(0, 229, 255, 0.4),
    0 10px 30px -10px rgba(147, 51, 234, 0.6),
    0 0 20px rgba(0, 229, 255, 0.3) !important;
  transition: transform .25s, box-shadow .35s, filter .3s;
}

.nimoria-theme .button:not(.wc-block-components-button):not(.wc-block-components-quantity-selector__button):not(.wc-block-cart-item__remove-link)::before,
.nimoria-theme .wp-block-button__link::before,
.nimoria-theme .woocommerce a.button::before,
.nimoria-theme .woocommerce button.button::before,
.nimoria-theme .single_add_to_cart_button::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, var(--nim-cyan) 0%, var(--nim-violet) 100%);
  opacity: 0;
  transition: opacity .35s;
  z-index: -1;
}

.nimoria-theme .button:not(.wc-block-components-button):not(.wc-block-components-quantity-selector__button):not(.wc-block-cart-item__remove-link):hover,
.nimoria-theme .wp-block-button__link:hover,
.nimoria-theme .woocommerce a.button:hover,
.nimoria-theme .woocommerce button.button:hover,
.nimoria-theme .single_add_to_cart_button:hover {
  transform: translateY(-3px) scale(1.02);
  box-shadow:
    0 0 0 1px rgba(0, 229, 255, 0.8),
    0 20px 40px -10px rgba(147, 51, 234, 0.8),
    0 0 40px rgba(0, 229, 255, 0.6) !important;
  filter: brightness(1.15);
}

.nimoria-theme .button:not(.wc-block-components-button):not(.wc-block-components-quantity-selector__button):not(.wc-block-cart-item__remove-link):hover::before,
.nimoria-theme .wp-block-button__link:hover::before,
.nimoria-theme .woocommerce a.button:hover::before,
.nimoria-theme .single_add_to_cart_button:hover::before {
  opacity: 1;
}

/* Ripple container */
.nim-ripple {
  position: absolute;
  border-radius: 50%;
  pointer-events: none;
  background: rgba(255, 255, 255, 0.6);
  transform: scale(0);
  animation: nim-ripple 0.7s ease-out;
}
@keyframes nim-ripple {
  to { transform: scale(4); opacity: 0; }
}

/* ------- Cards / Products ------- */
.nimoria-theme .product,
.nimoria-theme .wc-block-grid__product,
.nimoria-theme .ct-card,
.nimoria-theme ul.products li.product {
  position: relative;
  background: linear-gradient(145deg, rgba(20, 20, 56, 0.8), rgba(13, 13, 43, 0.8)) !important;
  border: 1px solid var(--nim-border) !important;
  border-radius: 14px !important;
  padding: 1.2em !important;
  overflow: hidden;
  transition: transform .45s cubic-bezier(.2,.9,.3,1.1), box-shadow .45s, border-color .45s;
  backdrop-filter: blur(8px);
}

.nimoria-theme .product::before,
.nimoria-theme ul.products li.product::before {
  content: "";
  position: absolute;
  inset: -2px;
  background: var(--nim-grad);
  border-radius: 16px;
  z-index: -1;
  opacity: 0;
  transition: opacity .4s;
  filter: blur(10px);
}

.nimoria-theme .product:hover,
.nimoria-theme ul.products li.product:hover {
  transform: translateY(-8px) scale(1.02);
  border-color: var(--nim-cyan) !important;
  box-shadow: var(--nim-glow-cyan), var(--nim-glow-violet);
}

.nimoria-theme .product:hover::before,
.nimoria-theme ul.products li.product:hover::before { opacity: 0.5; }

.nimoria-theme .woocommerce ul.products li.product .price,
.nimoria-theme .price {
  font-family: var(--nim-font-display) !important;
  font-weight: 700 !important;
  color: var(--nim-cyan) !important;
  text-shadow: 0 0 10px rgba(0, 229, 255, 0.6);
  font-size: 1.4rem !important;
}

/* Sale badge */
.nimoria-theme .woocommerce span.onsale {
  background: var(--nim-grad) !important;
  color: #fff !important;
  font-family: var(--nim-font-display) !important;
  font-weight: 900 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  border-radius: 6px !important;
  padding: 0.4em 0.8em !important;
  box-shadow: 0 0 20px rgba(236, 72, 153, 0.6) !important;
  animation: nim-pulse 2s ease-in-out infinite;
}
@keyframes nim-pulse {
  0%, 100% { transform: scale(1); filter: brightness(1); }
  50% { transform: scale(1.08); filter: brightness(1.25); }
}

/* ------- Forms / Inputs ------- */
.nimoria-theme input[type="text"],
.nimoria-theme input[type="email"],
.nimoria-theme input[type="password"],
.nimoria-theme input[type="tel"],
.nimoria-theme input[type="number"],
.nimoria-theme input[type="search"],
.nimoria-theme textarea,
.nimoria-theme select {
  background: rgba(13, 13, 43, 0.7) !important;
  border: 1px solid var(--nim-border) !important;
  color: var(--nim-white) !important;
  border-radius: 8px !important;
  padding: 0.75em 1em !important;
  transition: border-color .3s, box-shadow .3s;
  font-family: var(--nim-font-body) !important;
}

.nimoria-theme input:focus,
.nimoria-theme textarea:focus,
.nimoria-theme select:focus {
  outline: none !important;
  border-color: var(--nim-cyan) !important;
  box-shadow: 0 0 0 3px rgba(0, 229, 255, 0.2), var(--nim-glow-cyan) !important;
}

/* ------- Footer ------- */
.nimoria-theme footer,
.nimoria-theme .ct-footer {
  background: linear-gradient(180deg, transparent, #04041a) !important;
  border-top: 1px solid var(--nim-border);
  color: var(--nim-muted);
}

/* ------- Scroll reveal ------- */
.nim-reveal {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity .8s ease, transform .8s cubic-bezier(.2,.9,.3,1.1);
}
.nim-reveal.nim-visible {
  opacity: 1;
  transform: translateY(0);
}

/* Cursor custom : désactivé */
#nim-cursor, #nim-cursor-ring { display: none !important; }

/* ------- Particles canvas ------- */
#nim-particles {
  position: fixed;
  inset: 0;
  z-index: 0;
  pointer-events: none;
}

/* ------- Site content above particles ------- */
.nimoria-theme #main,
.nimoria-theme .site-content,
.nimoria-theme header,
.nimoria-theme footer {
  position: relative;
  z-index: 2;
}

/* ------- Page header / entry header ------- */
.nimoria-theme .hero-section,
.nimoria-theme .entry-header {
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
}

.nimoria-theme .entry-header .page-title,
.nimoria-theme .entry-header h1 {
  color: var(--nim-white) !important;
  background: var(--nim-grad);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

/* Cacher le titre de page sur la home (le hero remplit ce rôle) */
.nimoria-theme.home .entry-header,
.nimoria-theme.page-id-14 .entry-header {
  display: none;
}

/* Fil d'Ariane */
.nimoria-theme .ct-breadcrumbs,
.nimoria-theme .ct-breadcrumbs * {
  color: var(--nim-muted) !important;
}
.nimoria-theme .ct-breadcrumbs a:hover {
  color: var(--nim-cyan) !important;
}

/* Notice "demo store" si activée */
.nimoria-theme .demo_store,
.nimoria-theme .woocommerce-store-notice {
  background: var(--nim-bg-2) !important;
  color: var(--nim-white) !important;
  border-bottom: 1px solid var(--nim-border) !important;
}

/* ------- Hero (homepage) ------- */
.nim-hero {
  position: relative;
  min-height: 80vh;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 6rem 1.5rem;
  overflow: hidden;
}
.nim-hero__logo {
  max-width: 280px;
  height: auto;
  filter: drop-shadow(0 0 25px rgba(0, 229, 255, 0.6))
          drop-shadow(0 0 45px rgba(147, 51, 234, 0.5));
  animation: nim-float 6s ease-in-out infinite;
}
@keyframes nim-float {
  0%, 100% { transform: translateY(0) rotate(-1deg); }
  50% { transform: translateY(-12px) rotate(1deg); }
}
.nim-hero__title {
  font-family: var(--nim-font-display);
  font-size: clamp(2.2rem, 6vw, 4.5rem);
  font-weight: 900;
  letter-spacing: 0.08em;
  margin: 1.5rem 0 0.5rem;
  background: var(--nim-grad);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  text-transform: uppercase;
}
.nim-hero__tagline {
  font-family: var(--nim-font-display);
  font-size: clamp(0.9rem, 1.5vw, 1.1rem);
  letter-spacing: 0.35em;
  text-transform: uppercase;
  color: var(--nim-cyan);
  opacity: 0.9;
  margin-bottom: 2.5rem;
}
.nim-hero__cta {
  display: inline-block;
  padding: 1em 2.5em;
  font-family: var(--nim-font-display);
  font-weight: 700;
  font-size: 1rem;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: #fff;
  background: linear-gradient(135deg, var(--nim-violet), var(--nim-cyan));
  border-radius: 8px;
  text-decoration: none;
  position: relative;
  overflow: hidden;
  box-shadow: 0 0 0 1px rgba(0,229,255,.4), 0 20px 40px -12px rgba(147,51,234,.7), 0 0 30px rgba(0,229,255,.4);
  transition: transform .3s, box-shadow .3s;
}
.nim-hero__cta:hover {
  transform: translateY(-3px) scale(1.04);
  box-shadow: 0 0 0 1px rgba(0,229,255,.8), 0 30px 60px -15px rgba(147,51,234,1), 0 0 50px rgba(0,229,255,.8);
  color: #fff;
}

/* ------- USP strip ------- */
.nim-usp {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 1.5rem;
  padding: 3rem 1.5rem;
  max-width: 1200px;
  margin: 0 auto;
}
.nim-usp__item {
  text-align: center;
  padding: 1.5rem;
  border: 1px solid var(--nim-border);
  border-radius: 12px;
  background: rgba(13, 13, 43, 0.6);
  backdrop-filter: blur(8px);
  transition: transform .3s, box-shadow .3s, border-color .3s;
}
.nim-usp__item:hover {
  transform: translateY(-5px);
  border-color: var(--nim-cyan);
  box-shadow: var(--nim-glow-cyan);
}
.nim-usp__icon {
  font-size: 2rem;
  margin-bottom: 0.5rem;
  filter: drop-shadow(0 0 10px var(--nim-cyan));
}
.nim-usp__title {
  font-family: var(--nim-font-display);
  font-weight: 700;
  color: var(--nim-cyan);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  margin-bottom: 0.3rem;
}
.nim-usp__desc {
  color: var(--nim-muted);
  font-size: 0.9rem;
}

/* ==========================================================================
   WOOCOMMERCE BLOCKS — Cart & Checkout
   ========================================================================== */

/* Ligne produit du panier — on laisse la table gérer, juste quelques ajustements */
.nimoria-theme .wc-block-cart-items__row {
  border-bottom: 1px solid var(--nim-border) !important;
}

/* Largeur fixe pour l'image (colonne 1) */
.nimoria-theme td.wc-block-cart-item__image,
.nimoria-theme .wc-block-cart-item__image {
  width: 100px !important;
  min-width: 100px !important;
  padding: 1rem 0.5rem !important;
}
.nimoria-theme .wc-block-cart-item__image img {
  border-radius: 8px !important;
  border: 1px solid var(--nim-border);
  max-width: 80px !important;
  height: auto !important;
}

/* Colonne produit (nom + quantité) — prend tout l'espace restant */
.nimoria-theme td.wc-block-cart-item__product,
.nimoria-theme .wc-block-cart-item__product {
  padding: 1rem 0.5rem !important;
  vertical-align: middle !important;
  min-width: 0 !important;
}

/* Nom produit — affichage horizontal, pas de break */
.nimoria-theme .wc-block-cart-item__product-name,
.nimoria-theme .wc-block-cart-item__product a {
  font-family: var(--nim-font-display) !important;
  color: var(--nim-white) !important;
  font-weight: 700 !important;
  font-size: 0.95rem !important;
  display: block !important;
  white-space: normal !important;
  word-break: normal !important;
  overflow-wrap: break-word !important;
  writing-mode: horizontal-tb !important;
  text-orientation: mixed !important;
  line-height: 1.3 !important;
  text-align: left !important;
}

/* Colonne total (prix à droite) */
.nimoria-theme td.wc-block-cart-item__total,
.nimoria-theme .wc-block-cart-item__total {
  width: auto !important;
  text-align: right !important;
  vertical-align: top !important;
  padding: 1rem 0.5rem !important;
}

/* Sélecteur quantité +/- — PETIT et propre */
.nimoria-theme .wc-block-components-quantity-selector {
  display: inline-flex !important;
  align-items: center !important;
  background: rgba(13, 13, 43, 0.8) !important;
  border: 1px solid var(--nim-border) !important;
  border-radius: 8px !important;
  padding: 0 !important;
  width: auto !important;
  min-width: 110px !important;
  max-width: 130px !important;
  height: 36px !important;
  overflow: hidden !important;
}

.nimoria-theme .wc-block-components-quantity-selector__button {
  background: transparent !important;
  color: var(--nim-cyan) !important;
  border: none !important;
  width: 32px !important;
  height: 32px !important;
  padding: 0 !important;
  font-size: 1.2rem !important;
  font-family: var(--nim-font-display) !important;
  font-weight: 700 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  box-shadow: none !important;
  cursor: pointer !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.nimoria-theme .wc-block-components-quantity-selector__button:hover {
  background: rgba(0, 229, 255, 0.15) !important;
  color: var(--nim-cyan) !important;
  transform: none !important;
  box-shadow: none !important;
}

.nimoria-theme .wc-block-components-quantity-selector__input {
  background: transparent !important;
  border: none !important;
  color: var(--nim-white) !important;
  text-align: center !important;
  width: 40px !important;
  font-family: var(--nim-font-display) !important;
  font-weight: 700 !important;
  padding: 0 !important;
  height: 100% !important;
  box-shadow: none !important;
}

/* Bouton "Supprimer" sous la quantité */
.nimoria-theme .wc-block-cart-item__remove-link {
  background: transparent !important;
  color: var(--nim-muted) !important;
  border: none !important;
  padding: 0.3em 0 0 0 !important;
  font-size: 0.8rem !important;
  font-family: var(--nim-font-body) !important;
  font-weight: 500 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  text-decoration: underline !important;
  box-shadow: none !important;
  cursor: pointer !important;
  display: inline-block !important;
}

.nimoria-theme .wc-block-cart-item__remove-link:hover {
  color: var(--nim-magenta) !important;
  transform: none !important;
  box-shadow: none !important;
}

/* Prix de la ligne — à droite */
.nimoria-theme .wc-block-cart-item__total,
.nimoria-theme .wc-block-cart-item__prices {
  text-align: right !important;
  font-family: var(--nim-font-display) !important;
  color: var(--nim-cyan) !important;
  font-weight: 700 !important;
}

/* Zone "quantité + supprimer" centrée */
.nimoria-theme .wc-block-cart-item__quantity {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 0.25rem !important;
}

/* Bouton "Passer à la caisse" (Proceed to checkout) — garder notre style néon */
.nimoria-theme .wc-block-cart__submit-button,
.nimoria-theme .wc-block-components-checkout-place-order-button {
  background: linear-gradient(135deg, var(--nim-violet) 0%, var(--nim-cyan) 100%) !important;
  color: #fff !important;
  font-family: var(--nim-font-display) !important;
  font-weight: 700 !important;
  letter-spacing: 0.15em !important;
  text-transform: uppercase !important;
  border-radius: 8px !important;
  padding: 1em 2em !important;
  border: none !important;
  box-shadow: 0 0 0 1px rgba(0,229,255,.4), 0 10px 30px -10px rgba(147,51,234,.6), 0 0 20px rgba(0,229,255,.3) !important;
  transition: transform .25s, box-shadow .35s, filter .3s !important;
}
.nimoria-theme .wc-block-cart__submit-button:hover,
.nimoria-theme .wc-block-components-checkout-place-order-button:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 0 0 1px rgba(0,229,255,.8), 0 20px 40px -10px rgba(147,51,234,.8), 0 0 40px rgba(0,229,255,.6) !important;
  filter: brightness(1.1);
}



/* Masquer les icônes de validation (ronds verts qui chevauchent le texte) */
.nimoria-theme .wc-block-components-validation-error,
.nimoria-theme .wc-block-components-text-input .wc-block-components-checkbox__mark,
.nimoria-theme .wc-block-components-text-input::after,
.nimoria-theme .wc-block-components-text-input-validated-mark,
.nimoria-theme .wc-block-components-text-input .is-valid-check,
.nimoria-theme input[aria-invalid="false"] + .wc-block-components-validation-icon,
.nimoria-theme svg.is-valid,
.nimoria-theme .wc-block-components-checkout-step__valid-icon {
  display: none !important;
}

/* Laisser plus d'espace au texte (pas d'icône à droite) */
.nimoria-theme .wc-block-components-text-input input,
.nimoria-theme .wc-block-components-combobox input {
  padding-right: 0 !important;
}

/* Fix: ne pas appliquer notre style d'input aux Combobox (double encadré sinon) */
.nimoria-theme .wc-block-components-combobox input,
.nimoria-theme .wc-block-components-combobox-control input,
.nimoria-theme .wc-block-components-text-input input,
.nimoria-theme .wc-block-components-select select {
  border: none !important;
  background: transparent !important;
  box-shadow: none !important;
  padding: 0 !important;
}

/* Le wrapper externe devient le vrai encadré */
.nimoria-theme .wc-block-components-text-input,
.nimoria-theme .wc-block-components-combobox,
.nimoria-theme .wc-block-components-select {
  background: rgba(13, 13, 43, 0.7) !important;
  border: 1px solid var(--nim-border) !important;
  border-radius: 8px !important;
  transition: border-color .3s, box-shadow .3s;
  padding: 0.55em 1em !important;
}

.nimoria-theme .wc-block-components-text-input:focus-within,
.nimoria-theme .wc-block-components-combobox:focus-within,
.nimoria-theme .wc-block-components-select:focus-within,
.nimoria-theme .wc-block-components-text-input.has-focus,
.nimoria-theme .wc-block-components-combobox.is-active {
  border-color: var(--nim-cyan) !important;
  box-shadow: 0 0 0 3px rgba(0, 229, 255, 0.2), var(--nim-glow-cyan) !important;
}

/* Labels flottants */
.nimoria-theme .wc-block-components-text-input label,
.nimoria-theme .wc-block-components-combobox label {
  color: var(--nim-muted) !important;
}
.nimoria-theme .wc-block-components-text-input.is-active label,
.nimoria-theme .wc-block-components-text-input input:focus ~ label,
.nimoria-theme .wc-block-components-combobox.is-active label {
  color: var(--nim-cyan) !important;
}

/* Dropdown items */
.nimoria-theme .components-form-token-field__suggestions-list,
.nimoria-theme .components-combobox-control__suggestions-container {
  background: rgba(13, 13, 43, 0.98) !important;
  border: 1px solid var(--nim-border) !important;
  backdrop-filter: blur(12px);
}
.nimoria-theme .components-form-token-field__suggestion {
  color: var(--nim-white) !important;
}
.nimoria-theme .components-form-token-field__suggestion:hover,
.nimoria-theme .components-form-token-field__suggestion.is-selected {
  background: rgba(147, 51, 234, 0.3) !important;
  color: var(--nim-cyan) !important;
}

/* Checkbox & radio (Blocks style) */
.nimoria-theme .wc-block-components-checkbox .wc-block-components-checkbox__mark,
.nimoria-theme .wc-block-components-radio-control__option-layout input[type="radio"] {
  accent-color: var(--nim-cyan) !important;
}

/* Cartes de méthode de livraison/paiement */
.nimoria-theme .wc-block-components-radio-control__option,
.nimoria-theme .wc-block-components-payment-method-options > div,
.nimoria-theme .wc-block-components-shipping-rates-control__package {
  position: relative !important;
  background: rgba(13, 13, 43, 0.55) !important;
  border: 1px solid var(--nim-border) !important;
  border-radius: 10px !important;
  padding: 1em 1em 1em 3em !important; /* 3em à gauche pour laisser la place au rond */
  margin-bottom: 0.5em !important;
  transition: border-color .25s, background .25s;
}
.nimoria-theme .wc-block-components-radio-control__option:hover {
  border-color: var(--nim-cyan) !important;
}
.nimoria-theme .wc-block-components-radio-control__option--checked,
.nimoria-theme .wc-block-components-radio-control__option[data-checked="true"] {
  border-color: var(--nim-cyan) !important;
  background: rgba(0, 229, 255, 0.08) !important;
  box-shadow: var(--nim-glow-cyan);
}

/* Positionner le rond (input radio) à gauche, centré verticalement */
.nimoria-theme .wc-block-components-radio-control__option input[type="radio"],
.nimoria-theme .wc-block-components-radio-control__input {
  position: absolute !important;
  left: 1em !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  width: 18px !important;
  height: 18px !important;
  margin: 0 !important;
  accent-color: var(--nim-cyan) !important;
  flex-shrink: 0 !important;
}

/* Label du radio — plus d'overlap avec le rond */
.nimoria-theme .wc-block-components-radio-control__label,
.nimoria-theme .wc-block-components-radio-control__option-layout {
  padding-left: 0 !important;
  margin-left: 0 !important;
  display: block !important;
  line-height: 1.4 !important;
}

/* Texte secondaire (prix/description sous le titre) */
.nimoria-theme .wc-block-components-radio-control__description,
.nimoria-theme .wc-block-components-radio-control__secondary-label {
  display: block !important;
  margin-top: 0.25em !important;
  color: var(--nim-muted) !important;
  font-size: 0.9em !important;
}

/* Titres de sections */
.nimoria-theme .wc-block-components-checkout-step__title,
.nimoria-theme .wp-block-woocommerce-cart-order-summary-heading-block h2 {
  font-family: var(--nim-font-display) !important;
  color: var(--nim-cyan) !important;
  text-transform: uppercase;
  letter-spacing: 0.1em;
}

/* Résumé de commande */
.nimoria-theme .wp-block-woocommerce-checkout-order-summary-block,
.nimoria-theme .wp-block-woocommerce-cart-order-summary-block {
  background: rgba(13, 13, 43, 0.6) !important;
  border: 1px solid var(--nim-border) !important;
  border-radius: 12px !important;
  padding: 1.5em !important;
}

/* Totaux */
.nimoria-theme .wc-block-components-totals-item__value,
.nimoria-theme .wc-block-formatted-money-amount {
  color: var(--nim-cyan) !important;
  font-family: var(--nim-font-display) !important;
  font-weight: 700;
}

/* Lignes du panier */
.nimoria-theme .wc-block-cart-items__row,
.nimoria-theme .wc-block-cart-item__wrap {
  border-color: var(--nim-border) !important;
}

/* Bouton "Commander" final — laisser notre style néon passer */
.nimoria-theme .wc-block-components-checkout-place-order-button {
  background: linear-gradient(135deg, var(--nim-violet) 0%, var(--nim-cyan) 100%) !important;
  color: #fff !important;
}

/* Champs Stripe (iframe) — assurer un fond clair pour lisibilité */
.nimoria-theme .wc-stripe-credit-card-element,
.nimoria-theme [id^="wc-stripe-"] iframe {
  background: #fff !important;
  border-radius: 8px !important;
  padding: 0.75em !important;
  min-height: 44px;
}

/* Pour les fonctions ajax messages */
.nimoria-theme .woocommerce-info,
.nimoria-theme .woocommerce-message,
.nimoria-theme .woocommerce-error,
.nimoria-theme .wc-block-components-notice-banner {
  background: rgba(13, 13, 43, 0.85) !important;
  border-left: 3px solid var(--nim-cyan) !important;
  color: var(--nim-white) !important;
  backdrop-filter: blur(8px);
}

/* ------- Scrollbar ------- */
.nimoria-theme ::-webkit-scrollbar { width: 10px; height: 10px; }
.nimoria-theme ::-webkit-scrollbar-track { background: var(--nim-bg); }
.nimoria-theme ::-webkit-scrollbar-thumb {
  background: var(--nim-grad);
  border-radius: 10px;
}

/* ------- Selection ------- */
.nimoria-theme ::selection {
  background: var(--nim-violet);
  color: #fff;
  text-shadow: 0 0 10px var(--nim-cyan);
}

/* ------- Glitch (optionnel, pour titres) ------- */
.nim-glitch {
  position: relative;
  display: inline-block;
}
.nim-glitch::before,
.nim-glitch::after {
  content: attr(data-text);
  position: absolute;
  inset: 0;
  background: var(--nim-bg);
}
.nim-glitch::before {
  left: 2px;
  text-shadow: -2px 0 var(--nim-magenta);
  animation: nim-glitch-1 2.5s infinite linear alternate-reverse;
}
.nim-glitch::after {
  left: -2px;
  text-shadow: -2px 0 var(--nim-cyan);
  animation: nim-glitch-2 3s infinite linear alternate-reverse;
}
@keyframes nim-glitch-1 {
  0%, 100% { clip-path: inset(20% 0 60% 0); }
  50% { clip-path: inset(50% 0 20% 0); }
}
@keyframes nim-glitch-2 {
  0%, 100% { clip-path: inset(70% 0 10% 0); }
  50% { clip-path: inset(10% 0 70% 0); }
}
