/* Masque les déclinaisons PrestaShop uniquement quand le module détecte un produit configurable. */
body.babylon-configurator-available .product-variants,
body.babylon-configurator-available .product-variants-item,
body.babylon-configurator-available .product-actions .control-label:has(+ .product-variants),
body.babylon-configurator-available .product-information .product-variants {
  display: none !important;
}

.babylon-configurator-panel {
  margin: 1rem 0;
  padding: 0;
  border: 0;
  background: transparent;
}

.babylon-configurator-options-panel {
  margin-top: 1rem;
  padding: 1rem;
  border: 1px solid #ddd;
  border-radius: 8px;
  background: #fff;
}

.babylon-configurator-header {
  margin-bottom: 1rem;
  font-size: 1rem;
}

.babylon-configurator-group {
  margin-bottom: 1rem;
}

.babylon-configurator-group:last-child {
  margin-bottom: 0;
}

.babylon-configurator-label {
  margin-bottom: .5rem;
  font-weight: 600;
}

.babylon-configurator-options {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
}

.babylon-option {
  display: inline-flex;
  align-items: center;
  gap: .4rem;
  padding: .45rem .7rem;
  border: 1px solid #ccc;
  border-radius: 6px;
  background: #fff;
  cursor: pointer;
}

.babylon-option.is-active {
  border-color: #222;
  box-shadow: 0 0 0 1px #222 inset;
}

.babylon-color-dot {
  width: 18px;
  height: 18px;
  border: 1px solid #999;
  border-radius: 50%;
  display: inline-block;
}

.babylon-texture-dot {
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

.babylon-configurator-actions {
  margin-top: .8rem;
  margin-bottom: .8rem;
}

.babylon-configurator-iframe-wrapper {
  position: absolute;
  inset: 0;
  z-index: 20;
  width: 100%;
  height: 100%;
  min-height: 360px;
  border: 1px solid #ddd;
  border-radius: 8px;
  overflow: hidden;
  background: #f8f8f8;
}

.product-cover .babylon-configurator-iframe-wrapper,
.product__images .babylon-configurator-iframe-wrapper,
.images-container .babylon-configurator-iframe-wrapper {
  margin: 0;
}

#babylon-configurator {
  width: 100%;
  height: 100%;
  min-height: 360px;
  display: block;
}

/* Quand le configurateur est ouvert, le bouton ne doit plus rester visible. */
.babylon-configurator-actions.is-open,
.babylon-configurator-actions[hidden],
#btn-configure[hidden] {
  display: none !important;
}

/* Bouton configurateur sur cartes produit */
.product-miniature .card,
.js-product-miniature .card {
  position: relative;
}

.babylon-configurator-list-button {
  position: absolute;
  top: 16px;
  left: 16px;
  z-index: 30;
}

.babylon-configurator-list-button .babylon-configure-list-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 36px;
  padding: .45rem .85rem;
  border-radius: 8px;
  font-size: 14px;
  font-weight: 600;
  box-shadow: 0 4px 10px rgba(0,0,0,.12);
}

.babylon-availability-message {
  margin-top: .75rem;
  font-size: .95rem;
  line-height: 1.4;
}
.babylon-availability-message[data-state="available"] {
  color: #2e7d32;
}
.babylon-availability-message[data-state="unavailable"],
.babylon-availability-message[data-state="error"] {
  color: #b00020;
}
.babylon-availability-message[data-state="checking"],
.babylon-availability-message[data-state="pending"] {
  color: #666;
}
