/* TSN Quick Quote — mobile-first form styles (navy/gold). */
.tsn-qq { max-width: 520px; margin: 0 auto; background: #fff; border: 1px solid #DCE3EA; border-radius: 18px; padding: 1.6rem; box-shadow: 0 12px 32px rgba(12,43,78,.10); }
.tsn-qq__title { font-family: Bitter, Georgia, serif; font-weight: 700; color: #0C2B4E; font-size: 1.5rem; margin: 0 0 .4rem; }
.tsn-qq__sub { color: #4A5A6A; margin: 0 0 1.2rem; font-size: .98rem; }
.tsn-qq__field { display: block; font-weight: 600; font-size: .92rem; color: #0C2B4E; margin-bottom: 1rem; }
.tsn-qq__field input, .tsn-qq__field select, .tsn-qq__field textarea {
  display: block; width: 100%; margin-top: .4rem; padding: .85rem 1rem;
  font-size: 1rem; font-family: inherit; color: #17222E;
  border: 2px solid #DCE3EA; border-radius: 12px; background: #F8FAFC;
  -webkit-appearance: none; appearance: none;
}
.tsn-qq__field select { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230C2B4E' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 1rem center; background-size: 18px; padding-right: 2.8rem; }
.tsn-qq__field input:focus, .tsn-qq__field select:focus, .tsn-qq__field textarea:focus { outline: none; border-color: #1463A8; background: #fff; box-shadow: 0 0 0 3px rgba(20,99,168,.15); }
.tsn-qq__hint { display: block; font-weight: 400; font-size: .8rem; color: #8A97A3; margin-top: .35rem; line-height: 1.45; }
.tsn-qq__hp { position: absolute; left: -9999px; width: 1px; height: 1px; opacity: 0; }
.tsn-qq__consent { display: flex; gap: .6rem; align-items: flex-start; font-size: .82rem; font-weight: 400; color: #4A5A6A; margin: 0 0 .7rem; line-height: 1.5; }
.tsn-qq__consent input { width: 20px; height: 20px; flex: none; margin-top: 1px; accent-color: #1463A8; }
.tsn-qq__consent a { color: #1463A8; }
.tsn-qq__btn {
  display: block; width: 100%; padding: 1rem; margin-top: 1.1rem;
  font-size: 1.1rem; font-weight: 700; font-family: inherit; cursor: pointer;
  color: #1d1405; background: linear-gradient(180deg, #DFA93F, #C98A1B);
  border: 0; border-radius: 12px; box-shadow: 0 6px 18px rgba(201,138,27,.35);
}
.tsn-qq__btn:hover { transform: translateY(-1px); box-shadow: 0 10px 24px rgba(201,138,27,.45); }
.tsn-qq__btn--ghost { background: #fff; color: #0C2B4E; border: 2px solid #DCE3EA; box-shadow: none; font-size: 1rem; }
.tsn-qq__fine { font-size: .78rem; color: #8A97A3; margin: 1rem 0 0; line-height: 1.5; }
.tsn-qq__errors { background: #FDECEA; border: 1px solid #B3261E; border-radius: 12px; padding: .8rem 1rem; margin-bottom: 1rem; }
.tsn-qq__errors ul { margin: 0; padding-left: 1.2rem; color: #B3261E; font-size: .9rem; }
.tsn-qq__done { text-align: center; }
.tsn-qq__check { width: 60px; height: 60px; margin: 0 auto 1rem; border-radius: 50%; background: #E7F4EA; color: #1E7A34; font-size: 1.8rem; display: flex; align-items: center; justify-content: center; }
.tsn-qq__followup { text-align: left; margin-top: 1.5rem; padding-top: 1.5rem; border-top: 1px solid #DCE3EA; }
.tsn-qq__followup h4 { font-family: Bitter, Georgia, serif; color: #0C2B4E; margin: 0 0 1rem; font-size: 1.05rem; }
.tsn-qq__followup h4 span { font-family: inherit; font-weight: 400; color: #8A97A3; font-size: .85rem; }
@media (min-width: 640px) { .tsn-qq { padding: 2.2rem; } }
