/* Escolhas de família; galeria, etapas, resumo, CTA e adicionais seguem seus componentes. */
.wa-kit-composition-v1 { font-family: "WA Gotham", "Nunito Sans", sans-serif; }
.wa-kit-composition-v1__colors,
.wa-kit-composition-v1__finishes,
.wa-kit-composition-v1__modes { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 9px; margin-top: 14px; }
.wa-kit-composition-v1__colors { grid-template-columns: repeat(4,minmax(0,1fr)); }
.wa-kit-composition-v1__choice { display: flex; min-height: 54px; align-items: center; justify-content: center; gap: 8px; padding: 10px; border: 1px solid var(--wa-standard-line); border-radius: 0; background: #fff; color: var(--wa-standard-muted); font: inherit; cursor: pointer; }
.wa-kit-composition-v1__choice.is-selected { border-color: var(--wa-standard-gold); box-shadow: inset 0 0 0 1px var(--wa-standard-gold); }
.wa-kit-composition-v1__choice:focus-visible { outline: 2px solid var(--wa-standard-gold); outline-offset: 3px; }
.wa-kit-composition-v1__choice:disabled { opacity: .6; cursor: not-allowed; }
.wa-kit-composition-v1__choice small { display: block; margin-top: 5px; font-size: 11px; }
.wa-kit-composition-v1__colors .wa-kit-composition-v1__choice { flex-direction: column; padding: 6px; }
.wa-kit-composition-v1__colors img { display: block; width: 100%; height: auto; aspect-ratio: 1; object-fit: contain; }
.wa-kit-composition-v1__colors span { font-size: 13px; }
.wa-kit-composition-v1__dot { width: 18px; height: 18px; flex: 0 0 18px; border: 1px solid rgba(0,0,0,.13); border-radius: 50%; background: #c2a672; }
.wa-kit-composition-v1__dot--2 { background: #b8bdc1; }
.wa-kit-composition-v1__dot--3 { background: #b3a498; }
.wa-kit-composition-v1 .wa-pdp-visual-v1__field input { font-family: "WA Playfair Display", Georgia, serif; }
.wa-kit-composition-v1__note { margin: 12px 0 0; color: var(--wa-standard-muted); font-size: 13px; line-height: 1.55; }
.wa-kit-composition-v1 [data-wa-additions] > .wa-pdp-standard-v2__step-head { margin-bottom: 26px; }
.wa-kit-composition-v1 .wa-additions-v4__selection { display: block; margin-top: 4px; color: var(--wa-additions-muted); font-size: 11px; }
.wa-kit-composition-v2 [hidden] { display: none !important; }
.wa-kit-composition-v2__upload { margin-top: 18px; padding: 16px; border: 1px solid var(--wa-standard-line); }
.wa-kit-composition-v2__upload label { display: block; margin-bottom: 10px; color: var(--wa-standard-gold); font-size: 13px; }
.wa-kit-composition-v2__upload input { display: block; width: 100%; color: var(--wa-standard-muted); font: inherit; font-size: 13px; }
.wa-kit-composition-v2__upload input:focus-visible { outline: 2px solid var(--wa-standard-gold); outline-offset: 3px; }
.wa-kit-composition-v2__upload p { margin: 12px 0 0; font-size: 13px; line-height: 1.55; overflow-wrap: anywhere; }
.wa-kit-composition-v2 .wa-additions-v4__gallery-preview { max-height: 100%; overflow: hidden; }
.wa-kit-composition-v2 .wa-additions-v4__gallery-preview > img { flex: 1 1 0; min-height: 0; width: 100%; object-fit: contain; }
.wa-kit-composition-v2 [data-detail-gallery] { max-width: 100%; min-height: 64px; overscroll-behavior-x: contain; }
.wa-kit-composition-v2 [data-detail-gallery] button:focus-visible { outline: 2px solid var(--wa-standard-gold); outline-offset: 1px; }
@media (max-width:767px) {
  .wa-kit-composition-v1__finishes { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .wa-kit-composition-v1__modes { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .wa-kit-composition-v1__colors { gap: 6px; }
  .wa-kit-composition-v1__colors .wa-kit-composition-v1__choice { padding: 4px; }
  .wa-kit-composition-v1__colors span { font-size: 11px; }
  .wa-kit-composition-v1 .wa-pdp-standard-v2__panel h2 { font-size: clamp(18px,6vw,24px); line-height: 1.25; overflow-wrap: anywhere; }
}
