/* Scope strict du widget */
.takata-widget-container-bloc {
  --tw-font: "Satoshi", system-ui, -apple-system, Segoe UI, Roboto, "Helvetica Neue", Arial, sans-serif;
  --tw-bg: #ffffff;
  --tw-text: #2E374D;
  --tw-muted: #58627C;
  --tw-surface: #F2F4F8;
  --tw-brand: #6F43D6;
  --tw-shadow: 0 2px 10px 0 #4F359B26;

  --tw-success-bg: #F0ECFA;
  --tw-success-text: #410079;

  --tw-warn-bg: #FFE5E5;
  --tw-warn-text: #B90B20;

  --tw-radius-lg: 15px;
  --tw-radius-pill: 50px;
  --tw-pad-x: 24px;
  --tw-gap: 16px;
  font-family: var(--tw-font);
}

/* Carte */
.takata-widget-container-bloc .takata-widget-container {
  background: var(--tw-bg);
  padding: 2.4rem 0 0 0;
  border-radius: var(--tw-radius-lg);
  max-width: 560px;
  margin: auto;
  box-shadow: var(--tw-shadow);
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  color: var(--tw-text);
}

/* Titre */
.takata-widget-container-bloc .takata-title {
  font-weight: 700;
  font-size: 20px;
  color: var(--tw-text);
  text-align: center;
  width: 100%;
  padding: 0 30px;
  margin-bottom: 24px;
}

/* Labels */
.takata-widget-container-bloc .takata-widget-container label {
  display: block;
  font-size: 14px;
  color: var(--tw-text);
}

/* Inputs + selects */
.takata-widget-container-bloc .takata-widget-container select,
.takata-widget-container-bloc .takata-widget-container input {
  background: var(--tw-surface);
  padding: 13px 20px 13px 10px;
  margin-bottom: 1.7rem;
  margin-top: .6rem;
  width: 100%;
  border-radius: 10px;
  border: none;
  font-size: 16px;
  color: var(--tw-text);
  outline: none;
}

.takata-widget-container-bloc .takata-widget-container select::placeholder,
.takata-widget-container-bloc .takata-widget-container input::placeholder {
  color: var(--tw-text);
  opacity: .8;
}

/* Focus visible (a11y) */
.takata-widget-container-bloc .takata-widget-container select:focus-visible,
.takata-widget-container-bloc .takata-widget-container input:focus-visible,
.takata-widget-container-bloc #takata-check:focus-visible {
  outline: 2px solid var(--tw-brand);
  outline-offset: 2px;
}

/* Disposition champs */
.takata-widget-container-bloc .takata-widget-container .first-input,
.takata-widget-container-bloc .takata-widget-container .second-input,
.takata-widget-container-bloc .takata-widget-container .third-input {
  width: calc(50% - 8px);
  padding-left: var(--tw-pad-x);
}

.takata-widget-container-bloc .takata-widget-container .second-input {
  padding-right: var(--tw-pad-x);
}

.takata-widget-container-bloc .takata-widget-container .fourth-input {
  width: 100%;
  display: flex;
  justify-content: center;
  padding: 0 var(--tw-pad-x) 24px;
}

/* Bouton */
.takata-widget-container-bloc .btn-bg-primary,
.takata-widget-container-bloc #takata-check {
  padding: 11px 53px;
  font-size: 16px;
  color: #fff;
  border-radius: var(--tw-radius-pill);
  margin-top: 1rem;
  cursor: pointer;
  border: none;
  background: var(--tw-brand);
  transition: transform .08s ease, opacity .2s ease;
}

.takata-widget-container-bloc .btn-bg-primary:hover,
.takata-widget-container-bloc #takata-check:hover {
  opacity: .9;
}

.takata-widget-container-bloc .btn-bg-primary:active,
.takata-widget-container-bloc #takata-check:active {
  transform: translateY(1px);
}

/* Désactivé (pendant le chargement des données) */
.takata-widget-container-bloc #takata-check[disabled] {
  opacity: .6;
  cursor: not-allowed;
}

/* Résultat */
.takata-widget-container-bloc #takata-result {
  margin-top: 1rem;
  padding: 2.4rem;
  border-bottom-left-radius: var(--tw-radius-lg);
  border-bottom-right-radius: var(--tw-radius-lg);
  width: 100%;
  border: none;
  display: none; /* JS le met à block */
}

.takata-widget-container-bloc #takata-result strong {
  margin-top: 1rem;
  display: block;
}

/* État success / warning */
.takata-widget-container-bloc #takata-result.success {
  background: var(--tw-success-bg);
  color: var(--tw-success-text);
  font-size: 20px;
}

.takata-widget-container-bloc #takata-result.warning {
  background: var(--tw-warn-bg);
  color: var(--tw-warn-text);
  font-size: 20px;
}

/* Contrainte images du résultat (éviter CLS) */
.takata-widget-container-bloc #takata-result img {
  width: 28px;
  height: 28px;
  vertical-align: middle;
}

/* Texte */
.takata-widget-container-bloc .widget-text {
  margin-top: 1rem;
  font-size: 16px;
  line-height: 22px;
  color: var(--tw-text);
}

.takata-widget-container-bloc .widget-text a {
  color: var(--tw-brand);
  text-decoration: none;
}

/* Mentions */
.takata-widget-container-bloc .takata-mentions {
  margin-top: 40px;
}

.takata-widget-container-bloc .takata-mentions p {
  font-size: 12px;
  line-height: 18px;
  color: var(--tw-muted);
}

/* Responsive */
@media (max-width: 675px) {
  .takata-widget-container-bloc .takata-widget-container {
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
  }
  .takata-widget-container-bloc .takata-widget-container .first-input,
  .takata-widget-container-bloc .takata-widget-container .second-input,
  .takata-widget-container-bloc .takata-widget-container .third-input {
    width: 100%;
    padding-left: var(--tw-pad-x);
    padding-right: var(--tw-pad-x);
  }
  .takata-widget-container-bloc .takata-title {
    text-align: left;
  }
  .takata-widget-container-bloc .btn-bg-primary,
  .takata-widget-container-bloc #takata-check {
    width: 100%;
  }
}

/* Préférences utilisateur : réduire les animations */
@media (prefers-reduced-motion: reduce) {
  .takata-widget-container-bloc .btn-bg-primary,
  .takata-widget-container-bloc #takata-check {
    transition: none;
  }
}
