/* Smart Advisor — bloc de page (expérience « generator »). Jetons du thème seulement ;
   propriétés logiques (RTL). Le bouton principal prend l'encre du texte sur le fond de
   page : un couple que chaque thème rend lisible, quelle que soit sa couleur d'accent. */
.sws-advisor { max-width: 980px; margin: 0 auto; padding-block: clamp(24px, 4vw, 48px); color: var(--color-text, #1a1a1a); }
.sws-advisor__head { text-align: center; max-width: 640px; margin: 0 auto clamp(20px, 4vw, 36px); }
.sws-advisor__title {
  margin: 0 0 10px; color: var(--color-text, #1a1a1a);
  font-family: var(--font-family-heading, inherit); font-weight: var(--font-weight-heading, 600);
  font-size: clamp(28px, 3.6vw, 44px); line-height: 1.1;
}
.sws-advisor__intro { margin: 0; color: var(--color-text-muted, #6b6b6b); font-size: 16px; line-height: 1.6; }

.sws-advisor__app {
  padding: clamp(20px, 4vw, 44px);
  background: var(--color-background, #fff);
  border: 1px solid var(--color-border, #e5e1da);
  border-radius: var(--border-radius-lg, 16px);
}
.sws-advisor__progress { height: 2px; background: var(--color-border, #e5e1da); margin-bottom: 18px; overflow: hidden; }
.sws-advisor__progress span { display: block; height: 100%; background: var(--color-text, #1a1a1a); transition: width .3s ease; }
.sws-advisor__step {
  margin: 0 0 8px; font-size: 11px; font-weight: 700; color: var(--color-text-muted, #6b6b6b);
  letter-spacing: var(--letter-spacing-label, .12em); text-transform: var(--text-transform-label, uppercase);
}
.sws-advisor__question {
  margin: 0 0 22px; color: var(--color-text, #1a1a1a);
  font-family: var(--font-family-heading, inherit); font-weight: var(--font-weight-heading, 600);
  font-size: clamp(22px, 2.6vw, 30px); line-height: 1.2;
}
.sws-advisor__options { display: grid; grid-template-columns: repeat(auto-fill, minmax(170px, 1fr)); gap: 12px; }
.sws-advisor__option {
  display: flex; align-items: center; gap: 12px; min-height: 58px; padding: 12px 16px;
  font: inherit; font-size: 15px; text-align: start; color: var(--color-text, #1a1a1a);
  background: var(--color-background, #fff); border: 1px solid var(--color-border, #e5e1da);
  border-radius: var(--border-radius, 8px); cursor: pointer; transition: border-color .15s ease, box-shadow .15s ease;
}
.sws-advisor__option:hover { border-color: var(--color-text, #1a1a1a); }
.sws-advisor__option:focus-visible { outline: 2px solid var(--color-text, #1a1a1a); outline-offset: 2px; }
.sws-advisor__option.is-on { border-color: var(--color-text, #1a1a1a); box-shadow: inset 0 0 0 1px var(--color-text, #1a1a1a); }
.sws-advisor__swatch { flex: 0 0 26px; width: 26px; height: 26px; border-radius: 50%; border: 1px solid rgba(0, 0, 0, .15); box-shadow: inset 0 2px 4px rgba(255, 255, 255, .5); }

.sws-advisor__link {
  display: inline-block; margin-top: 18px; padding: 6px 0; font: inherit; font-size: 14px;
  color: var(--color-text-muted, #6b6b6b); background: none; border: 0; cursor: pointer; text-decoration: underline; text-underline-offset: 3px;
}
.sws-advisor__link + .sws-advisor__link { margin-inline-start: 18px; }
.sws-advisor__link:hover { color: var(--color-text, #1a1a1a); }
.sws-advisor__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 22px; margin-top: 26px; }
.sws-advisor__actions .sws-advisor__link { margin-top: 0; }
.sws-advisor__btn {
  display: inline-flex; align-items: center; justify-content: center; min-height: 52px; padding-inline: 30px;
  font: inherit; font-size: 13px; font-weight: 600; letter-spacing: .08em; text-transform: var(--text-transform-label, uppercase);
  text-decoration: none; color: var(--color-background, #fff); background: var(--color-text, #1a1a1a);
  border: 1px solid var(--color-text, #1a1a1a); border-radius: var(--button-radius, 8px); cursor: pointer; transition: opacity .15s ease;
}
.sws-advisor__btn:hover { opacity: .86; color: var(--color-background, #fff); text-decoration: none; }
.sws-advisor__btn[disabled] { opacity: .5; cursor: wait; }
.sws-advisor__btn--wa { margin-top: 14px; color: var(--color-text, #1a1a1a); background: transparent; }
.sws-advisor__btn--wa:hover { color: var(--color-background, #fff); background: var(--color-text, #1a1a1a); opacity: 1; }

.sws-advisor__recap { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--color-border, #e5e1da); }
.sws-advisor__recap li { display: flex; justify-content: space-between; gap: 16px; padding: 11px 0; border-bottom: 1px solid var(--color-border, #e5e1da); font-size: 14px; }
.sws-advisor__recap span { color: var(--color-text-muted, #6b6b6b); }
.sws-advisor__recap strong { font-weight: 600; text-align: end; }

.sws-advisor__wait { display: grid; justify-items: center; gap: 18px; padding-block: 12px; text-align: center; color: var(--color-text-muted, #6b6b6b); }
.sws-advisor__shimmer {
  width: min(320px, 70vw); aspect-ratio: 3 / 4; border-radius: var(--border-radius, 8px);
  background: linear-gradient(110deg, var(--color-surface, #f4f1ec) 30%, var(--color-background, #fff) 50%, var(--color-surface, #f4f1ec) 70%);
  background-size: 250% 100%; animation: sws-advisor-shimmer 1.6s linear infinite;
}
@keyframes sws-advisor-shimmer { to { background-position: -150% 0; } }
@media (prefers-reduced-motion: reduce) { .sws-advisor__shimmer { animation: none; } }

.sws-advisor__result { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(20px, 4vw, 44px); align-items: start; }
.sws-advisor__figure { margin: 0; }
.sws-advisor__figure img { display: block; width: 100%; aspect-ratio: 3 / 4; object-fit: cover; border-radius: var(--border-radius, 8px); background: var(--color-surface, #f4f1ec); }
.sws-advisor__figure figcaption { margin-top: 10px; font-size: 12px; line-height: 1.5; color: var(--color-text-muted, #6b6b6b); }
.sws-advisor__notice {
  margin: 16px 0 0; padding: 12px 14px; font-size: 14px; line-height: 1.5; color: var(--color-text, #1a1a1a);
  background: var(--color-surface, #f4f1ec); border-inline-start: 2px solid var(--color-text, #1a1a1a); border-radius: var(--border-radius-sm, 4px);
}

.sws-advisor__form { margin-top: 24px; padding-top: 22px; border-top: 1px solid var(--color-border, #e5e1da); }
.sws-advisor__form h4 { margin: 0 0 6px; font-family: var(--font-family-heading, inherit); font-size: 20px; font-weight: var(--font-weight-heading, 600); }
.sws-advisor__hint { margin: 0 0 14px; font-size: 13px; line-height: 1.5; color: var(--color-text-muted, #6b6b6b); }
.sws-advisor__label { display: grid; gap: 6px; margin-bottom: 14px; font-size: 13px; font-weight: 600; }
.sws-advisor__input {
  width: 100%; min-height: 48px; padding: 11px 14px; font: inherit; font-size: 15px; font-weight: 400;
  color: var(--color-text, #1a1a1a); background: var(--color-background, #fff);
  border: 1px solid var(--color-border, #e5e1da); border-radius: var(--border-radius, 8px); box-shadow: none;
}
textarea.sws-advisor__input { min-height: 88px; resize: vertical; }
.sws-advisor__input:focus { outline: none; border-color: var(--color-text, #1a1a1a); }
.sws-advisor__input[dir="auto"]:placeholder-shown { direction: inherit; }
.sws-advisor__kinds { display: flex; gap: 22px; margin: 0 0 12px; font-size: 14px; }
.sws-advisor__kinds label { display: inline-flex; align-items: center; gap: 8px; cursor: pointer; }
.sws-advisor__error { margin: 0 0 12px; font-size: 14px; color: #8a1c1c; }
.sws-advisor__sent { margin-top: 24px; padding: 18px; background: var(--color-surface, #f4f1ec); border-inline-start: 3px solid var(--color-success, #3f7d5a); border-radius: var(--border-radius, 8px); }
.sws-advisor__sent p { margin: 0; line-height: 1.6; }

@media (max-width: 760px) {
  .sws-advisor__result { grid-template-columns: 1fr; }
  .sws-advisor__options { grid-template-columns: 1fr 1fr; }
  .sws-advisor__btn { width: 100%; }
}
@media (max-width: 380px) { .sws-advisor__options { grid-template-columns: 1fr; } }
