/* Fargo Trade Connector v1.0.1
 * Brand: Cormorant Garamond display, Inter body, warm browns, square edges,
 * generous space. Headings are divs with role=heading so the theme's global
 * h1-h6 / p overrides can't reach them. */
.fwtc {
	--fwtc-ink: #38332e; --fwtc-body: #362e26; --fwtc-muted: #817365; --fwtc-cta: #564739;
	--fwtc-cta-hover: #463a2e; --fwtc-cta-ink: #fbfaf9; --fwtc-line: rgba(54, 46, 38, .12);
	--fwtc-soft: #f7f6f4; --fwtc-paper: #fdfdfc; --fwtc-serif: "Cormorant Garamond", Georgia, serif;
	--fwtc-sans: Inter, -apple-system, "Segoe UI", sans-serif;
	color: var(--fwtc-body); font-family: var(--fwtc-sans); font-size: 15px; line-height: 1.6;
}
.fwtc *, .fwtc *::before, .fwtc *::after { box-sizing: border-box; }
.fwtc label, .fwtc .fwtc-file, .fwtc select, .fwtc input, .fwtc textarea { max-width: 100%; min-width: 0; }
.fwtc a { color: var(--fwtc-cta); }

/* Type */
.fwtc .fwtc-eyebrow { font: 600 11px/1.4 var(--fwtc-sans); letter-spacing: .18em; text-transform: uppercase; color: var(--fwtc-muted); margin: 0 0 10px; }
.fwtc .fwtc-h { font: 400 40px/1.1 var(--fwtc-serif); color: var(--fwtc-ink); margin: 0; letter-spacing: -.005em; }
.fwtc .fwtc-h3 { font: 400 26px/1.2 var(--fwtc-serif); color: var(--fwtc-ink); margin: 0 0 6px; }
.fwtc .fwtc-sub { font-size: 14px; color: var(--fwtc-muted); margin: 0 0 22px; }
.fwtc .fwtc-muted, .fwtc .fwtc-help { color: var(--fwtc-muted); font-size: 14px; }

/* Surfaces */
.fwtc .fwtc-card { background: var(--fwtc-paper); border: 1px solid var(--fwtc-line); border-radius: 2px; padding: 32px; }
.fwtc .fwtc-note { background: var(--fwtc-soft); border-left: 2px solid var(--fwtc-cta); padding: 14px 18px; margin: 0 0 24px; font-size: 14px; }
.fwtc .fwtc-error { background: #fbf1ee; border-left: 2px solid #a33b2b; color: #7a2a1e; padding: 14px 18px; margin: 0 0 24px; font-size: 14px; }

/* Buttons: match the site's square, tracked CTA */
.fwtc .fwtc-btn, .fwtc button.fwtc-btn, .fwtc a.fwtc-btn {
	display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 48px;
	background: var(--fwtc-cta); color: var(--fwtc-cta-ink); border: 1px solid var(--fwtc-cta); border-radius: 2px;
	padding: 14px 26px; font: 600 12px/1 var(--fwtc-sans); letter-spacing: .16em; text-transform: uppercase;
	text-decoration: none; cursor: pointer; transition: background-color .18s ease, color .18s ease; box-shadow: none;
}
.fwtc .fwtc-btn:hover, .fwtc .fwtc-btn:focus-visible { background: var(--fwtc-cta-hover); border-color: var(--fwtc-cta-hover); color: var(--fwtc-cta-ink); }
.fwtc .fwtc-btn-ghost, .fwtc button.fwtc-btn-ghost, .fwtc a.fwtc-btn-ghost { background: transparent; color: var(--fwtc-cta); }
.fwtc .fwtc-btn-ghost:hover, .fwtc .fwtc-btn-ghost:focus-visible { background: var(--fwtc-cta); color: var(--fwtc-cta-ink); }
.fwtc .fwtc-link, .fwtc button.fwtc-link { background: none; border: 0; padding: 0; min-height: 0; color: var(--fwtc-cta); text-decoration: underline; text-underline-offset: 3px; cursor: pointer; font: inherit; font-size: 13px; letter-spacing: 0; text-transform: none; }

/* Forms */
.fwtc-form fieldset { border: 0; border-top: 1px solid var(--fwtc-line); margin: 0 0 18px; padding: 16px 0 0; }
.fwtc-form legend { font-weight: 600; padding: 0 8px 0 0; }
.fwtc .fwtc-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px 20px; }
.fwtc .fwtc-span { grid-column: 1 / -1; }
.fwtc label { display: block; margin: 0 0 16px; font: 600 11px/1.4 var(--fwtc-sans); letter-spacing: .14em; text-transform: uppercase; color: var(--fwtc-muted); }
.fwtc label input:not([type=checkbox]):not([type=file]), .fwtc label select, .fwtc label textarea {
	display: block; width: 100%; margin-top: 8px; background: #fff; border: 1px solid rgba(54, 46, 38, .18); border-radius: 2px;
	padding: 12px 14px; min-height: 48px; font: 400 16px/1.4 var(--fwtc-sans); color: var(--fwtc-body); letter-spacing: 0; text-transform: none; box-shadow: none;
}
.fwtc label textarea { min-height: 112px; resize: vertical; }
.fwtc label input:focus, .fwtc label select:focus, .fwtc label textarea:focus { outline: none; border-color: var(--fwtc-cta); box-shadow: 0 0 0 3px rgba(86, 71, 57, .12); }
.fwtc label small { display: block; color: var(--fwtc-muted); margin-top: 6px; font: 400 13px/1.4 var(--fwtc-sans); letter-spacing: 0; text-transform: none; }
.fwtc .fwtc-check { display: flex !important; gap: 10px; align-items: flex-start; margin: 8px 0 18px; font: 400 14px/1.5 var(--fwtc-sans); letter-spacing: 0; text-transform: none; color: var(--fwtc-body); }
.fwtc .fwtc-check input { margin-top: 4px; flex: none; }
.fwtc .fwtc-hp { position: absolute !important; left: -10000px !important; width: 1px; height: 1px; overflow: hidden; }

/* Custom file picker */
.fwtc .fwtc-file { display: flex; align-items: center; gap: 12px; margin-top: 8px; min-height: 48px; padding: 6px 6px 6px 14px; background: #fff; border: 1px dashed rgba(54, 46, 38, .28); border-radius: 2px; cursor: pointer; }
.fwtc .fwtc-file input[type=file] { position: absolute; width: 1px; height: 1px; opacity: 0; overflow: hidden; }
.fwtc .fwtc-file-name { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font: 400 14px/1.4 var(--fwtc-sans); color: var(--fwtc-muted); letter-spacing: 0; text-transform: none; }
.fwtc .fwtc-file-btn { flex: none; padding: 10px 14px; background: var(--fwtc-soft); color: var(--fwtc-ink); font: 600 11px/1 var(--fwtc-sans); letter-spacing: .14em; text-transform: uppercase; }
.fwtc .fwtc-file:focus-within { border-color: var(--fwtc-cta); }

/* Dashboard */
.fwtc-dash { display: grid; gap: 28px; }
.fwtc-dash .fwtc-hero { display: grid; grid-template-columns: minmax(0, 1fr) 260px; gap: 40px; background: var(--fwtc-soft); padding: 40px; border-radius: 2px; }
.fwtc-dash .fwtc-tierline { display: flex; align-items: baseline; flex-wrap: wrap; gap: 14px; margin: 0 0 26px; }
.fwtc-dash .fwtc-badge { display: inline-block; padding: 6px 12px; border: 1px solid var(--fwtc-cta); color: var(--fwtc-cta); font: 600 11px/1 var(--fwtc-sans); letter-spacing: .16em; text-transform: uppercase; transform: translateY(-6px); }
.fwtc-dash .fwtc-prog-head { display: flex; justify-content: space-between; gap: 16px; font-size: 13px; color: var(--fwtc-muted); margin-bottom: 10px; }
.fwtc-dash .fwtc-prog-head strong { color: var(--fwtc-ink); font-weight: 600; }
.fwtc-dash .fwtc-bar { height: 4px; background: rgba(86, 71, 57, .16); overflow: hidden; }
.fwtc-dash .fwtc-bar span { display: block; height: 100%; background: var(--fwtc-cta); }
.fwtc-dash .fwtc-prog-foot { margin-top: 12px; font-size: 14px; color: var(--fwtc-body); }
.fwtc-dash .fwtc-rep { border-left: 1px solid var(--fwtc-line); padding-left: 32px; font-size: 14px; }
.fwtc-dash .fwtc-rep-name { font: 400 22px/1.2 var(--fwtc-serif); color: var(--fwtc-ink); margin: 0 0 8px; }
.fwtc-dash .fwtc-rep a { display: block; text-decoration: none; color: var(--fwtc-body); padding: 2px 0; }
.fwtc-dash .fwtc-rep a:hover { color: var(--fwtc-cta); }
.fwtc-dash .fwtc-rep a.fwtc-btn { display: flex; margin-top: 18px; width: 100%; padding: 14px 18px; color: var(--fwtc-cta-ink); }
.fwtc-dash .fwtc-rep a.fwtc-btn:hover { color: var(--fwtc-cta-ink); }
.fwtc-dash .fwtc-howto { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 1px solid var(--fwtc-line); border-bottom: 1px solid var(--fwtc-line); }
.fwtc-dash .fwtc-howto > div { padding: 22px 24px 22px 0; font-size: 14px; color: var(--fwtc-muted); }
.fwtc-dash .fwtc-howto > div + div { padding-left: 24px; border-left: 1px solid var(--fwtc-line); }
.fwtc-dash .fwtc-howto b { display: block; font: 400 19px/1.25 var(--fwtc-serif); color: var(--fwtc-ink); margin-bottom: 4px; }
.fwtc-dash .fwtc-sec-head { display: flex; justify-content: space-between; align-items: baseline; gap: 16px; margin-bottom: 14px; }
.fwtc-dash .fwtc-empty { display: flex; justify-content: space-between; align-items: center; gap: 24px; padding: 28px 32px; background: var(--fwtc-soft); }
.fwtc-dash .fwtc-empty p { margin: 0; font-size: 15px; color: var(--fwtc-body); }
.fwtc-dash .fwtc-two { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; align-items: start; }
.fwtc-dash form { margin: 0; }
.fwtc-dash .fwtc-actions { margin-top: 6px; }
.fwtc .fwtc-table { width: 100%; border-collapse: collapse; font-size: 14px; margin: 0; border: 0; }
.fwtc .fwtc-table th { text-align: left; font: 600 11px/1.4 var(--fwtc-sans); letter-spacing: .14em; text-transform: uppercase; color: var(--fwtc-muted); border: 0; border-bottom: 1px solid var(--fwtc-line); padding: 10px 12px 10px 0; background: none; }
.fwtc .fwtc-table td { border: 0; border-bottom: 1px solid var(--fwtc-line); padding: 14px 12px 14px 0; vertical-align: top; background: none; }
.fwtc .fwtc-num, .fwtc .fwtc-table .fwtc-num { text-align: right; font-variant-numeric: tabular-nums; padding-right: 0; }
.fwtc .fwtc-table { table-layout: fixed; }
.fwtc .fwtc-table .fwtc-c-order { width: 34%; }
.fwtc .fwtc-table .fwtc-c-status { width: auto; }
.fwtc .fwtc-table .fwtc-c-money { width: 17%; }
.fwtc .fwtc-table .fwtc-c-view { width: 72px; }
.fwtc .fwtc-project + .fwtc-project { margin-top: 26px; }
.fwtc .fwtc-project-name { font: 400 20px/1.3 var(--fwtc-serif); color: var(--fwtc-ink); margin-bottom: 6px; }
.fwtc .fwtc-list { list-style: none; margin: 0 0 22px; padding: 0; }
.fwtc .fwtc-list li { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 12px 0; border-bottom: 1px solid var(--fwtc-line); font-size: 14px; margin: 0; }
.fwtc .fwtc-list li:first-child { border-top: 1px solid var(--fwtc-line); }
.fwtc .fwtc-list .fwtc-muted { font-size: 13px; }
.fwtc .fwtc-pill { display: inline-block; padding: 3px 9px; font: 600 10px/1.4 var(--fwtc-sans); letter-spacing: .12em; text-transform: uppercase; background: var(--fwtc-soft); color: var(--fwtc-muted); white-space: nowrap; }
.fwtc .fwtc-pill.is-good { background: #edf3ee; color: #2f5a3a; }
.fwtc .fwtc-inline { display: inline; margin: 0; }

/* Product + shop prices for signed-in members */
.fwtc-tp { display: block; margin-top: 4px; font-family: Inter, -apple-system, sans-serif; font-size: 13px; line-height: 1.4; color: #564739; letter-spacing: 0; }
.fwtc-tp-k { font-size: 10px; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; margin-right: 6px; color: #817365; }
.fwtc-tp .woocommerce-Price-amount { font-weight: 600; color: #564739; }
.fwtc-pdp { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 14px; margin: 4px 0 22px; padding: 14px 18px; background: #f7f6f4; border-left: 2px solid #564739; font-family: Inter, -apple-system, sans-serif; }
.fwtc-pdp-k { font-size: 11px; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; color: #564739; }
.fwtc-pdp-v { font-size: 20px; font-weight: 500; color: #38332e; font-variant-numeric: tabular-nums; }
.fwtc-pdp-n { flex-basis: 100%; font-size: 13px; color: #817365; }
.fwtc-live { display: block; margin-top: 4px; font-family: Inter, -apple-system, sans-serif; font-size: 13px; font-weight: 500; color: #564739; letter-spacing: 0; text-transform: none; }
.fw-bb-txt .fwtc-live { margin-top: 2px; font-size: 12px; }
.fw-et-amount + .fwtc-live { margin-top: 6px; font-size: 15px; font-weight: 500; letter-spacing: .02em; text-align: inherit; }

.fwtc .fwtc-sm { display: block; font-size: 13px; color: var(--fwtc-muted); }
.fwtc .fwtc-table strong { font-weight: 600; color: var(--fwtc-ink); }
@media (max-width: 900px) {
	.fwtc-dash .fwtc-hero { grid-template-columns: minmax(0, 1fr); gap: 28px; padding: 28px 22px; }
	.fwtc-dash .fwtc-rep { border-left: 0; border-top: 1px solid var(--fwtc-line); padding: 24px 0 0; }
	.fwtc-dash .fwtc-two { grid-template-columns: minmax(0, 1fr); }
	.fwtc-dash .fwtc-howto { grid-template-columns: minmax(0, 1fr); }
	.fwtc-dash .fwtc-howto > div, .fwtc-dash .fwtc-howto > div + div { padding: 16px 0; border-left: 0; }
	.fwtc-dash .fwtc-howto > div + div { border-top: 1px solid var(--fwtc-line); }
}
@media (max-width: 720px) {
	.fwtc .fwtc-h { font-size: 32px; }
	.fwtc .fwtc-card { padding: 24px 20px; }
	.fwtc .fwtc-grid { grid-template-columns: minmax(0, 1fr); }
	.fwtc-dash .fwtc-empty { flex-direction: column; align-items: flex-start; padding: 22px 20px; }
	.fwtc-dash .fwtc-empty .fwtc-btn, .fwtc-dash form .fwtc-btn { width: 100%; }
	.fwtc .fwtc-table thead { display: none; }
	.fwtc .fwtc-table tr { display: block; border-bottom: 1px solid var(--fwtc-line); padding: 10px 0; }
	.fwtc .fwtc-table td { display: flex; justify-content: space-between; gap: 12px; border: 0; padding: 4px 0; text-align: right; }
	.fwtc .fwtc-table td[data-label]::before { content: attr(data-label); color: var(--fwtc-muted); font-size: 11px; letter-spacing: .12em; text-transform: uppercase; text-align: left; }
	.fwtc .fwtc-table td:empty { display: none; }
	.fwtc .fwtc-table .fwtc-cv { text-align: right; }
	.fwtc .fwtc-table td.fwtc-c-view { width: auto; justify-content: flex-end; padding-top: 6px; }
	.fwtc-dash .fwtc-prog-head { flex-direction: column; gap: 2px; }
}
.fwtc .screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(1px, 1px, 1px, 1px); white-space: nowrap; }

/* Theme link rules in My Account (body.woocommerce-account .woocommerce-MyAccount-content a { color !important })
 * outrank plain class selectors; match their specificity plus one so buttons and contact links stay legible. */
body .woocommerce-MyAccount-content .fwtc a.fwtc-btn, body .woocommerce-MyAccount-content .fwtc a.fwtc-btn:visited, body .woocommerce-MyAccount-content .fwtc a.fwtc-btn:hover, body .woocommerce-MyAccount-content .fwtc a.fwtc-btn:focus,
body .fwtc a.fwtc-btn, body .fwtc a.fwtc-btn:hover { color: #fbfaf9 !important; text-decoration: none !important; }
body .woocommerce-MyAccount-content .fwtc a.fwtc-btn-ghost, body .woocommerce-MyAccount-content .fwtc a.fwtc-btn-ghost:visited, body .fwtc a.fwtc-btn-ghost { color: #564739 !important; }
body .woocommerce-MyAccount-content .fwtc a.fwtc-btn-ghost:hover, body .woocommerce-MyAccount-content .fwtc a.fwtc-btn-ghost:focus, body .fwtc a.fwtc-btn-ghost:hover { color: #fbfaf9 !important; }
body .woocommerce-MyAccount-content .fwtc-dash .fwtc-rep a:not(.fwtc-btn) { color: #362e26 !important; text-decoration: none !important; }
body .woocommerce-MyAccount-content .fwtc-dash .fwtc-rep a:not(.fwtc-btn):hover { color: #564739 !important; }

/* My Account on phones/tablets: the site's two-column account grid squeezes the menu to 0px
 * and pushes content off-screen. Stack it: menu becomes a swipeable tab row above the content. */
.fwtc-dash > *, .woocommerce-MyAccount-content { min-width: 0; }
@media (max-width: 900px) {
	html body.woocommerce-account .woocommerce.fw-acct-grid { display: block !important; }
	html body.woocommerce-account .woocommerce.fw-acct-grid > .woocommerce-MyAccount-navigation { width: auto !important; max-width: none !important; float: none !important; margin: 0 -16px 24px !important; grid-column: auto !important; }
	html body.woocommerce-account .woocommerce.fw-acct-grid .woocommerce-MyAccount-navigation ul { display: flex !important; flex-wrap: nowrap !important; gap: 0 !important; overflow-x: auto; -webkit-overflow-scrolling: touch; scrollbar-width: none; margin: 0 !important; padding: 0 16px !important; border: 0 !important; border-bottom: 1px solid rgba(54, 46, 38, .12) !important; list-style: none; }
	html body.woocommerce-account .woocommerce.fw-acct-grid .woocommerce-MyAccount-navigation ul::-webkit-scrollbar { display: none; }
	html body.woocommerce-account .woocommerce.fw-acct-grid .woocommerce-MyAccount-navigation li { flex: none !important; border: 0 !important; margin: 0 !important; width: auto !important; }
	html body.woocommerce-account .woocommerce.fw-acct-grid .woocommerce-MyAccount-navigation li a { display: block !important; padding: 14px 12px !important; border: 0 !important; border-bottom: 2px solid transparent !important; white-space: nowrap; font-size: 11px !important; }
	html body.woocommerce-account .woocommerce.fw-acct-grid .woocommerce-MyAccount-navigation li.is-active a { border-bottom-color: #564739 !important; }
	html body.woocommerce-account .woocommerce.fw-acct-grid .woocommerce-MyAccount-navigation li a::before { display: none !important; content: none !important; }
	html body.woocommerce-account .woocommerce.fw-acct-grid > .woocommerce-MyAccount-content { width: auto !important; max-width: none !important; float: none !important; grid-column: auto !important; }
}

/* Invoices & quotes (1.1.0) */
.fwtc-inv .fwtc-inv-stats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; margin-top: 26px; border-top: 1px solid var(--fwtc-line); }
.fwtc-inv .fwtc-inv-stats > div { padding: 16px 20px 0 0; }
.fwtc-inv .fwtc-inv-stats > div + div { padding-left: 20px; border-left: 1px solid var(--fwtc-line); }
.fwtc-inv .fwtc-inv-stats span { display: block; font: 600 10px/1.4 var(--fwtc-sans); letter-spacing: .16em; text-transform: uppercase; color: var(--fwtc-muted); }
.fwtc-inv .fwtc-inv-stats strong { display: block; font: 400 26px/1.25 var(--fwtc-serif); color: var(--fwtc-ink); padding-top: 4px; font-variant-numeric: tabular-nums; }
.fwtc-inv .fwtc-inv-stats strong.is-due { color: #8a4b1f; }
.fwtc .fwtc-pill.is-due { background: #f6ece1; color: #8a4b1f; }
.fwtc .fwtc-sum { max-width: 46ch; }
.fwtc .fwtc-table .fwtc-c-act { width: 104px; }
.fwtc .fwtc-btn.fwtc-btn-sm, .fwtc a.fwtc-btn.fwtc-btn-sm { min-height: 36px; padding: 10px 18px; font-size: 11px; letter-spacing: .14em; }
body .woocommerce-MyAccount-content .fwtc a.fwtc-btn.fwtc-btn-sm { color: #fbfaf9 !important; text-decoration: none !important; }
@media (max-width: 720px) {
	.fwtc-inv .fwtc-inv-stats { grid-template-columns: minmax(0, 1fr); }
	.fwtc-inv .fwtc-inv-stats > div, .fwtc-inv .fwtc-inv-stats > div + div { padding: 12px 0; border-left: 0; border-bottom: 1px solid var(--fwtc-line); display: flex; justify-content: space-between; align-items: baseline; }
	.fwtc-inv .fwtc-inv-stats strong { font-size: 22px; padding-top: 0; }
	.fwtc .fwtc-table td.fwtc-c-act { width: auto; justify-content: flex-end; padding-top: 8px; }
	.fwtc .fwtc-sum { max-width: none; }
	.fwtc .fwtc-table .fwtc-cv { max-width: 70%; }
}
