/* DoctorX Trade Accounts: the public forms, the trade portal and the dealer directory.
   Follows the theme's fonts and colours; set --dxt-accent to change the buttons. */
.doctorx-trade {
	--dxt-accent: #1d4ed8;
	--dxt-accent-text: #fff;
	--dxt-border: rgba(0, 0, 0, 0.18);
	--dxt-soft: rgba(0, 0, 0, 0.04);
	--dxt-danger: #b42318;
	--dxt-ok: #067647;
	max-width: 960px;
}
.doctorx-trade *,
.doctorx-trade *::before,
.doctorx-trade *::after { box-sizing: border-box; }
.doctorx-trade-intro { margin: 0 0 1.25em; }
.doctorx-trade-form p { margin: 0 0 1em; }
.doctorx-trade-form label { display: block; font-weight: 600; margin-bottom: 0.3em; }
.doctorx-trade-form .dxt-check label,
.doctorx-trade-form label.dxt-inline { display: flex; gap: 0.5em; align-items: flex-start; font-weight: 400; }
.doctorx-trade-form input[type="text"],
.doctorx-trade-form input[type="email"],
.doctorx-trade-form input[type="tel"],
.doctorx-trade-form input[type="url"],
.doctorx-trade-form input[type="password"],
.doctorx-trade-form input[type="number"],
.doctorx-trade-form input[type="search"],
.doctorx-trade-form input[type="file"],
.doctorx-trade-form select,
.doctorx-trade-form textarea {
	display: block;
	width: 100%;
	max-width: 100%;
	min-height: 44px;
	padding: 0.55em 0.7em;
	font: inherit;
	border: 1px solid var(--dxt-border);
	border-radius: 6px;
	background: #fff;
	color: inherit;
}
.doctorx-trade-form input[type="checkbox"] { width: 1.25em; height: 1.25em; margin-top: 0.15em; flex: none; }
.doctorx-trade-form [aria-invalid="true"] { border-color: var(--dxt-danger); box-shadow: 0 0 0 1px var(--dxt-danger); }
.doctorx-trade-form fieldset { border: 1px solid var(--dxt-border); border-radius: 8px; padding: 1em 1em 0.25em; margin: 0 0 1.25em; min-width: 0; }
.doctorx-trade-form legend { font-weight: 700; padding: 0 0.35em; }
.doctorx-trade-row { display: grid; grid-template-columns: 1fr; gap: 0 1em; }
@media (min-width: 640px) {
	.doctorx-trade-row { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.doctorx-trade-row.is-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.doctorx-trade-row.is-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 900px) {
	.doctorx-trade-row.is-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
.doctorx-trade .req { color: var(--dxt-danger); }
.doctorx-trade-help { font-size: 0.9em; opacity: 0.85; display: block; margin-top: 0.25em; }
.doctorx-trade-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }
.doctorx-trade-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 44px;
	padding: 0.55em 1.1em;
	border: 1px solid var(--dxt-accent);
	border-radius: 6px;
	background: #fff;
	color: var(--dxt-accent);
	font: inherit;
	font-weight: 600;
	text-decoration: none;
	cursor: pointer;
	line-height: 1.3;
}
.doctorx-trade-button.is-primary { background: var(--dxt-accent); color: var(--dxt-accent-text); }
.doctorx-trade-button.is-danger { border-color: var(--dxt-danger); color: var(--dxt-danger); }
.doctorx-trade-button.is-link { border-color: transparent; background: transparent; padding-left: 0; padding-right: 0; text-decoration: underline; }
.doctorx-trade-button:focus-visible,
.doctorx-trade-form :focus-visible { outline: 3px solid var(--dxt-accent); outline-offset: 2px; }
.doctorx-trade-msg { padding: 0.75em 1em; border-radius: 6px; border-left: 4px solid var(--dxt-accent); background: var(--dxt-soft); margin: 0 0 1em; }
.doctorx-trade-msg p, .doctorx-trade-msg ul { margin: 0; }
.doctorx-trade-msg ul { padding-left: 1.2em; }
.doctorx-trade-msg.is-error { border-left-color: var(--dxt-danger); }
.doctorx-trade-msg.is-ok { border-left-color: var(--dxt-ok); }
.doctorx-trade-card { border: 1px solid var(--dxt-border); border-radius: 10px; padding: 1em 1em 0.25em; margin: 0 0 1.5em; }
.doctorx-trade-card h2 { margin-top: 0; }
.doctorx-trade-links a { white-space: nowrap; }
.doctorx-trade-result { font-weight: 600; }
.doctorx-trade-scroll { overflow-x: auto; -webkit-overflow-scrolling: touch; margin: 0 0 1em; }
.doctorx-trade-table { width: 100%; border-collapse: collapse; min-width: 480px; }
.doctorx-trade-table th,
.doctorx-trade-table td { text-align: left; padding: 0.5em 0.6em; border-bottom: 1px solid var(--dxt-border); vertical-align: top; }
.doctorx-trade-table .num { text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }
.doctorx-trade-list { padding-left: 1.2em; }
.doctorx-trade-list li { margin: 0 0 0.4em; }
.dxt-line { position: relative; }
.dxt-line.has-error { border-color: var(--dxt-danger); }
.dxt-line-error { color: var(--dxt-danger); font-weight: 600; }
.dxt-line-actions { text-align: right; }
.dxt-actions { display: flex; flex-wrap: wrap; gap: 0.5em; align-items: center; margin: 0.5em 0 1em; }
.dxt-actions form { margin: 0; }
.doctorx-trade-dealers { list-style: none; padding: 0; margin: 0 0 1.5em; display: grid; gap: 0.75em; }
@media (min-width: 640px) { .doctorx-trade-dealers { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.doctorx-trade-dealers li { border: 1px solid var(--dxt-border); border-radius: 8px; padding: 0.75em 1em; }
.doctorx-trade-search .dxt-search-button { align-self: end; }
.doctorx-trade-bar { padding: 0.65em 0.9em; border-radius: 8px; background: var(--dxt-soft); border: 1px solid var(--dxt-border); margin: 0 0 1em; }
.doctorx-trade [hidden] { display: none !important; }
