/* V28 — jornada conversacional simples, uma pergunta por tela */
:root {
  --sim28-ink: #12352b;
  --sim28-muted: #60756d;
  --sim28-green: #087443;
  --sim28-green-dark: #064e3b;
  --sim28-gold: #c39a52;
  --sim28-line: #dbe8e1;
  --sim28-soft: #f5f9f6;
  --sim28-white: #fff;
  --sim28-shadow: 0 22px 60px rgba(6, 78, 59, .13);
}
.sim-v28-wrap { padding: clamp(3rem, 7vw, 6rem) 1rem; background: linear-gradient(180deg, #f7fbf8 0%, #fff 100%); scroll-margin-top: 5rem; }
.sim-v28-wrap__inner { max-width: 920px; margin: 0 auto; }
.sim-v28-wrap__intro { max-width: 690px; margin: 0 auto 1.45rem; text-align: center; }
.sim-v28-wrap__eyebrow { color: var(--sim28-green); font-size: .75rem; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.sim-v28-wrap__intro h2 { margin: .55rem 0 .65rem; color: var(--sim28-ink); font-size: clamp(1.8rem, 3.3vw, 2.7rem); line-height: 1.08; }
.sim-v28-wrap__intro p { margin: 0; color: var(--sim28-muted); line-height: 1.55; }
.sim-v28-wrap__benefit { display: inline-flex; margin-top: .8rem; color: var(--sim28-green); font-size: .76rem; font-weight: 800; }
.sim-v28-tabs { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem; margin-bottom: .85rem; }
.sim-v28-tabs__link { display: flex; align-items: center; justify-content: space-between; gap: .8rem; min-height: 66px; padding: .85rem 1rem; border: 1px solid var(--sim28-line); border-radius: 14px; background: #fff; color: var(--sim28-ink); text-decoration: none; box-shadow: 0 6px 20px rgba(6,78,59,.05); transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease; }
.sim-v28-tabs__link:hover, .sim-v28-tabs__link:focus-visible, .sim-v28-tabs__link.is-selected { border-color: var(--sim28-green); box-shadow: 0 10px 26px rgba(6,78,59,.11); transform: translateY(-1px); }
.sim-v28-tabs__link strong { display: block; font-size: .96rem; }
.sim-v28-tabs__link small { display: block; margin-top: .15rem; color: var(--sim28-muted); font-size: .76rem; line-height: 1.35; }
.sim-v28-tabs__arrow { color: var(--sim28-green); font-size: 1.15rem; }
.sim-v28-card { display: none; overflow: hidden; border: 1px solid var(--sim28-line); border-radius: 22px; background: var(--sim28-white); box-shadow: var(--sim28-shadow); scroll-margin-top: 5rem; }
.sim-v28-card.is-visible { display: block; animation: sim28-enter .22s ease both; }
@keyframes sim28-enter { from { opacity: 0; transform: translateY(7px); } to { opacity: 1; transform: translateY(0); } }
.sim-v28-card__header { padding: 1rem clamp(1rem, 3vw, 1.6rem); background: var(--sim28-green-dark); color: #fff; }
.sim-v28-card__header-row { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.sim-v28-card__identity { display: flex; align-items: center; gap: .7rem; min-width: 0; }
.sim-v28-card__logo { display: block; width: 76px; height: 42px; padding: .28rem; border-radius: 7px; background: #fff; object-fit: contain; object-position: center; }
.sim-v28-card__identity strong { display: block; font-size: .84rem; line-height: 1.2; }
.sim-v28-card__identity span { display: block; margin-top: .18rem; color: rgba(255,255,255,.72); font-size: .69rem; line-height: 1.35; }
.sim-v28-card__step { color: #f5d38b; font-size: .7rem; font-weight: 800; white-space: nowrap; }
.sim-v28-card__progress { height: 3px; margin-top: .82rem; overflow: hidden; border-radius: 999px; background: rgba(255,255,255,.18); }
.sim-v28-card__progress-value { display: block; width: 20%; height: 100%; border-radius: inherit; background: #f1ce83; transition: width .22s ease; }
.sim-v28-card__form { padding: clamp(1.15rem, 4vw, 2.3rem); }
.sim-v28-card__screen { display: none; max-width: 680px; margin: 0 auto; }
.sim-v28-card__screen.is-active { display: block; animation: sim28-message .2s ease both; }
@keyframes sim28-message { from { opacity: 0; transform: translateY(5px); } to { opacity: 1; transform: translateY(0); } }
.sim-v28-card__message { display: flex; align-items: flex-start; gap: .62rem; }
.sim-v28-card__message-mark { display: grid; place-items: center; flex: 0 0 auto; width: 28px; height: 28px; border-radius: 50%; background: #e8f3ec; color: var(--sim28-green); font-size: .7rem; font-weight: 900; }
.sim-v28-card__question { margin: .08rem 0 0; color: var(--sim28-ink); font-size: clamp(1.25rem, 2.7vw, 1.8rem); line-height: 1.18; }
.sim-v28-card__hint { margin: .45rem 0 1.1rem 2.2rem; color: var(--sim28-muted); font-size: .85rem; line-height: 1.5; }
.sim-v28-card__options { display: grid; gap: .55rem; margin-left: 2.2rem; }
.sim-v28-card__option { display: flex; align-items: center; justify-content: space-between; gap: .7rem; width: 100%; min-height: 52px; padding: .8rem .95rem; border: 1px solid var(--sim28-line); border-radius: 11px; background: #fff; color: var(--sim28-ink); font: inherit; font-size: .87rem; font-weight: 750; text-align: left; cursor: pointer; transition: border-color .16s ease, background .16s ease, box-shadow .16s ease, transform .16s ease; }
.sim-v28-card__option::after { content: '›'; color: #9bb0a5; font-size: 1.12rem; }
.sim-v28-card__option:hover, .sim-v28-card__option:focus-visible { border-color: var(--sim28-green); background: #f7fbf8; box-shadow: 0 4px 14px rgba(8,116,67,.09); transform: translateX(2px); }
.sim-v28-card__option.is-selected { border-color: var(--sim28-green); background: #eef8f1; box-shadow: 0 0 0 3px rgba(8,116,67,.09); }
.sim-v28-card__actions { display: flex; align-items: center; justify-content: space-between; gap: .7rem; margin: 1.1rem 0 0 2.2rem; }
.sim-v28-card__back { padding: .5rem 0; border: 0; background: transparent; color: var(--sim28-muted); font: inherit; font-size: .82rem; cursor: pointer; }
.sim-v28-card__back[hidden] { display: none; }
.sim-v28-card__back:hover, .sim-v28-card__back:focus-visible { color: var(--sim28-green); }
.sim-v28-card__next, .sim-v28-card__submit { min-height: 46px; padding: .75rem 1.05rem; border: 1px solid transparent; border-radius: 9px; background: var(--sim28-green); color: #fff; font: inherit; font-size: .83rem; font-weight: 800; cursor: pointer; box-shadow: 0 8px 18px rgba(8,116,67,.17); transition: background .16s ease, transform .16s ease, opacity .16s ease; }
.sim-v28-card__next:hover, .sim-v28-card__next:focus-visible, .sim-v28-card__submit:hover, .sim-v28-card__submit:focus-visible { background: var(--sim28-green-dark); transform: translateY(-1px); }
.sim-v28-card__next:disabled, .sim-v28-card__submit:disabled { opacity: .5; cursor: not-allowed; transform: none; }
.sim-v28-card__fields { display: grid; gap: .72rem; margin-left: 2.2rem; }
.sim-v28-card__field label { display: block; margin-bottom: .27rem; color: var(--sim28-ink); font-size: .78rem; font-weight: 800; }
.sim-v28-card__input { width: 100%; min-height: 49px; padding: .8rem .9rem; border: 1px solid #cbdcd3; border-radius: 10px; background: #fff; color: var(--sim28-ink); font: inherit; }
.sim-v28-card__input:focus { border-color: var(--sim28-green); outline: 3px solid rgba(8,116,67,.12); }
.sim-v28-card__input::placeholder { color: #9aaba3; }
.sim-v28-card__error { display: none; margin: .8rem 0 0 2.2rem; padding: .7rem .8rem; border: 1px solid #e8bcbc; border-radius: 9px; background: #fff5f5; color: #8f2525; font-size: .8rem; line-height: 1.45; }
.sim-v28-card__error.is-visible { display: block; }
.sim-v28-card__privacy { margin: .8rem 0 0 2.2rem; color: var(--sim28-muted); font-size: .7rem; line-height: 1.45; }
.sim-v28-card__microcopy { margin: .75rem 0 0 2.2rem; color: var(--sim28-green); font-size: .75rem; font-weight: 750; }
.sim-v28-card__back:focus-visible, .sim-v28-card__next:focus-visible, .sim-v28-card__submit:focus-visible, .sim-v28-card__option:focus-visible, .sim-v28-card__input:focus-visible, .sim-v28-tabs__link:focus-visible { outline: 3px solid rgba(195,154,82,.58); outline-offset: 3px; }
@media (max-width: 620px) {
  .sim-v28-tabs { grid-template-columns: 1fr; }
  .sim-v28-card { border-radius: 18px; }
  .sim-v28-card__header-row { align-items: flex-start; flex-direction: column; }
  .sim-v28-card__step { margin-left: 2.75rem; }
  .sim-v28-card__form { padding: 1.05rem .85rem 1.2rem; }
  .sim-v28-card__hint, .sim-v28-card__options, .sim-v28-card__actions, .sim-v28-card__fields, .sim-v28-card__error, .sim-v28-card__privacy, .sim-v28-card__microcopy { margin-left: 0; }
  .sim-v28-card__question { font-size: 1.25rem; }
  .sim-v28-card__actions { align-items: stretch; }
  .sim-v28-card__submit { flex: 1; }
  .sim-v28-card__back { flex: 0 0 auto; }
  .sim-v28-card__logo { width: 72px; height: 40px; }
}
@media (prefers-reduced-motion: reduce) {
  .sim-v28-card.is-visible, .sim-v28-card__screen.is-active { animation: none; }
  .sim-v28-card__option, .sim-v28-card__next, .sim-v28-card__submit { transition: none; }
}

/* V28.1 — proteção explícita contra overflow em smartphones */
.sim-v28-wrap,
.sim-v28-wrap *,
.sim-v28-wrap *::before,
.sim-v28-wrap *::after { box-sizing: border-box; }
.sim-v28-wrap { width: 100%; max-width: 100%; overflow-x: clip; }
.sim-v28-wrap__inner,
.sim-v28-card,
.sim-v28-card__form,
.sim-v28-card__screen,
.sim-v28-card__identity,
.sim-v28-card__identity > div { min-width: 0; max-width: 100%; }
.sim-v28-card__identity span,
.sim-v28-card__question,
.sim-v28-card__hint,
.sim-v28-card__option,
.sim-v28-card__input,
.sim-v28-card__privacy,
.sim-v28-card__error { overflow-wrap: anywhere; word-break: normal; }
.sim-v28-card__option,
.sim-v28-card__next,
.sim-v28-card__submit,
.sim-v28-card__input,
.sim-v28-card select { max-width: 100%; }
@media (max-width: 420px) {
  .sim-v28-wrap { padding-right: .7rem; padding-left: .7rem; }
  .sim-v28-tabs__link { min-width: 0; padding-right: .78rem; padding-left: .78rem; }
  .sim-v28-tabs__link small { max-width: 22ch; }
  .sim-v28-card__header { padding-right: .8rem; padding-left: .8rem; }
  .sim-v28-card__identity { width: 100%; gap: .55rem; }
  .sim-v28-card__identity strong { font-size: .78rem; }
  .sim-v28-card__identity span { font-size: .66rem; }
  .sim-v28-card__step { margin-left: 0; font-size: .68rem; }
  .sim-v28-card__form { padding-right: .72rem; padding-left: .72rem; }
  .sim-v28-card__message { gap: .5rem; }
  .sim-v28-card__message-mark { width: 25px; height: 25px; }
  .sim-v28-card__question { font-size: 1.15rem; }
  .sim-v28-card__hint { font-size: .8rem; }
  .sim-v28-card__actions { flex-wrap: wrap; }
  .sim-v28-card__microcopy { flex-basis: 100%; order: 3; margin-top: .25rem; }
  .sim-v28-card__submit,
  .sim-v28-card__next { min-width: 0; padding-right: .75rem; padding-left: .75rem; font-size: .78rem; }
}
@supports not (overflow: clip) {
  .sim-v28-wrap { overflow-x: hidden; }
}
/* Fim da proteção V28.1 */
