.aso-optimizer {
  margin: 12px 0;
}

.aso-suggestions.aso-slider {
  position: relative;
  display: flex;
  align-items: stretch;
  gap: 8px;
}

.aso-track {
  display: flex;
  gap: 12px;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  padding: 6px 4px;
}
.aso-slider.aso-few .aso-track { justify-content: center; overflow: visible !important; }
.aso-slider.aso-few .aso-nav { display: none !important; }

.aso-card { flex: 0 0 240px; max-width: 260px; scroll-snap-align: start; scroll-snap-stop: always; border: 1px solid #eee; border-radius: 8px; padding: 10px; background: #fff; display: flex; flex-direction: column; }

.aso-thumb { margin-bottom: 6px; }
.aso-thumb img { max-width: 100%; height: auto; border-radius: 6px; display: block; }

.aso-title { font-weight: 600; margin-bottom: 4px; font-size: 14px; }
.aso-price { color: #222; margin-bottom: 6px; font-weight: 600; font-size: 13px; }
.aso-actions { margin-top: auto; }

.aso-nav {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background: #fff;
  border: 1px solid #ddd;
  width: 32px;
  height: 32px;
  border-radius: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  box-shadow: 0 1px 3px rgba(0,0,0,0.08);
  z-index: 1;
}
.aso-prev { left: -4px; }
.aso-next { right: -4px; }

.aso-variations { display: flex; flex-direction: column; gap: 8px; }
.aso-variation-picker { display: flex; gap: 8px; align-items: center; }
.aso-variation-select { flex: 1; min-width: 0; font-size: 13px; }
#aso-shipping-optimizer .aso-variation-add.button { white-space: nowrap; background: #61A54A !important; border-color: #61A54A !important; color: #fff !important; }
#aso-shipping-optimizer .aso-variation-add.button:hover { background: #4e8b3c !important; border-color: #4e8b3c !important; color: #fff !important; }
#aso-shipping-optimizer .aso-actions .button { background: #61A54A !important; border-color: #61A54A !important; color: #fff !important; width: 100%; }
#aso-shipping-optimizer .aso-actions .button:hover { background: #4e8b3c !important; border-color: #4e8b3c !important; color: #fff !important; }

/* Notices minimalistes selon Style du message */
#aso-shipping-optimizer .woocommerce-message.aso-notice,
#aso-shipping-optimizer .woocommerce-error.aso-notice,
#aso-shipping-optimizer .woocommerce-info.aso-notice,
.aso-notice {
  padding: 10px 12px;
  border-radius: 10px !important;
  border: 1px solid #e5e5e5;
  background: #fafafa;
  color: #222;
  position: relative !important;
  overflow: hidden !important;
}
#aso-shipping-optimizer .aso-notice::before {
  content: "" !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  height: 4px !important;
  width: auto !important;
  background: var(--aso-topbar, transparent) !important;
  pointer-events: none !important;
  border: 0 !important;
  box-shadow: none !important;
  transform: none !important;
}
#aso-shipping-optimizer .aso-notice--success {
  border-color: #c6e6c6 !important;
  background: #f3fbf3 !important;
}
#aso-shipping-optimizer .aso-notice--success { --aso-topbar: #61A54A; }
#aso-shipping-optimizer .aso-notice--error {
  border-color: #f0c2c2 !important;
  background: #fff6f6 !important;
}
#aso-shipping-optimizer .aso-notice--error { --aso-topbar: #dc2626; }
#aso-shipping-optimizer .aso-notice--notice {
  border-color: #e6e6e6 !important;
  background: #f7f7f7 !important;
}
#aso-shipping-optimizer .aso-notice--notice { --aso-topbar: #9ca3af; }

/* ASO: force au-dessus des overlays Woo Blocks */
#aso-shipping-optimizer.aso-optimizer { position: relative; z-index: 1000; pointer-events: auto; }
#aso-shipping-optimizer.aso-optimizer * { pointer-events: auto; }

/* Boutons de nav du slider au-dessus aussi */
#aso-shipping-optimizer .aso-prev,
#aso-shipping-optimizer .aso-next { z-index: 1001; }

/* Toast de confirmation : toujours visible, au-dessus de tout */
.aso-toast { position: fixed; right: 16px; bottom: 16px; z-index: 2147483647; opacity: 0; transform: translateY(8px); transition: opacity .18s ease, transform .18s ease; pointer-events: none; background: #111; color: #fff; padding: 10px 12px; border-radius: 10px; box-shadow: 0 6px 24px rgba(0,0,0,.18); line-height: 1.25; font-size: 13px; }
.aso-toast.is-visible { opacity: 1; transform: translateY(0); }
.aso-toast--success { background: #1f9d55; }
.aso-toast--error { background: #dc2626; }
.aso-toast--notice { background: #111; }


