/* TradeQuote front-end form — theme-agnostic defaults, themable via custom props. */
.tq-form {
  --tq-accent: #B9862E;
  --tq-ink: #1B2A38;
  --tq-radius: 12px;
  display: grid;
  gap: 18px;
}
.tq-form__row { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.tq-form__field { display: grid; gap: 7px; }
.tq-form label { font-weight: 600; font-size: .9rem; color: var(--tq-ink); }
.tq-form input, .tq-form select, .tq-form textarea {
  width: 100%; padding: 12px 15px; font: inherit;
  border: 1.5px solid rgba(27,42,56,.18); border-radius: 10px; background: #fff;
}
.tq-form input:focus, .tq-form select:focus, .tq-form textarea:focus {
  border-color: var(--tq-accent); outline: none; box-shadow: 0 0 0 3px rgba(185,134,46,.15);
}
.tq-form textarea { min-height: 130px; resize: vertical; }
.tq-captcha { display: flex; align-items: center; gap: 12px; }
.tq-captcha input { max-width: 110px; }
.tq-form__hint { font-size: .8rem; opacity: .65; }
.tq-hp { position: absolute !important; left: -5000px !important; }
.tq-submit {
  display: inline-flex; align-items: center; gap: 9px; justify-self: start;
  background: var(--tq-accent); color: #fff; border: 0; cursor: pointer;
  font: inherit; font-weight: 600; padding: 14px 26px; border-radius: 11px;
  transition: filter .18s ease, transform .18s ease;
}
.tq-submit:hover { filter: brightness(1.07); transform: translateY(-1px); }
.tq-submit[disabled] { opacity: .6; cursor: wait; transform: none; }
.tq-form__notice { border-radius: 10px; padding: 14px 18px; font-weight: 600; }
.tq-form__notice--ok { background: #E8F4EC; color: #1F5E3B; border: 1px solid #BFDECB; }
.tq-form__notice--err { background: #FBEAEA; color: #8C2B2B; border: 1px solid #EFC7C7; }
@media (max-width: 620px) { .tq-form__row { grid-template-columns: 1fr; } }

/* Catalog grid shortcode */
.tq-catalog { display: grid; grid-template-columns: repeat(auto-fill, minmax(210px, 1fr)); gap: 20px; }
.tq-catalog__item {
  display: grid; gap: 6px; text-decoration: none; color: inherit;
  background: #fff; border-radius: var(--tq-radius, 12px); overflow: hidden;
  box-shadow: 0 2px 10px rgba(27,42,56,.08); transition: transform .2s ease, box-shadow .2s ease;
  padding-bottom: 16px;
}
.tq-catalog__item:hover { transform: translateY(-4px); box-shadow: 0 10px 28px rgba(27,42,56,.14); }
.tq-catalog__item img { width: 100%; aspect-ratio: 4/3; object-fit: cover; }
.tq-catalog__title { font-weight: 700; padding: 10px 16px 0; }
.tq-catalog__sub { font-size: .85rem; opacity: .65; padding: 0 16px; }
