/* WP EasyCart Admin — Settings › Taxes ( 6.0.7, the Payments and Taxes plan ): the rates card of the store's own system ( D10 ), which
   products are taxed ( D12 ) and For some stores. The rate editors themselves are settings-tax-v2.css; the rest of the page is setup-v2.css. */

/* The editors read the settings engine's accent, which this page sets as its own. */
.ecsu-tax-system { --ecst-accent: var(--ecsu-accent); --ecst-accent-soft: var(--ecsu-accent-soft); --ecst-on-accent: var(--ec-on-brand, #fff); }
.ecsu-card-head.ecsu-card-head-row { display:flex; flex-wrap:wrap; align-items:flex-start; justify-content:space-between; gap:10px 16px; }
.ecsu-card-head.ecsu-card-head-row > div { flex:1 1 360px; min-width:0; }
.ecsu-tax-system-body { display:flex; flex-direction:column; gap:14px; min-width:0; }
.ecsu-tax-system-body .ectx-rates, .ecsu-tax-system-body .ectx-canada { min-width:0; }
.ecsu-tax-system-body .ectx-rates[data-kind="state"] > .ectx-intro, .ecsu-tax-system-body .ectx-rates[data-kind="country"] > .ectx-intro { display:none; } /* the card's lead says it */
.ecsu-tax-note { margin:0; font-size:13px; line-height:1.5; color:var(--ecv2-g600); }

/* VAT: the standard rate and each tax class, with the products that use it */
.ecsu-wrap table.ecsu-tax-classes { max-width:620px; }
.ecsu-tax-classes th[scope="row"] { font-size:13px; font-weight:600; letter-spacing:0; text-transform:none; color:var(--ecv2-g900); padding:7px 8px 7px 0; border-top:1px solid var(--ecv2-g100); }
.ecsu-tax-classes td { font-variant-numeric:tabular-nums; }
.ecsu-tax-classes a { color:var(--ecsu-accent); font-weight:600; }

/* Check a VAT number */
.ecsu-tax-vatcheck { display:flex; flex-direction:column; gap:6px; max-width:620px; padding-top:12px; border-top:1px solid var(--ecv2-g200); }
.ecsu-tax-vatcheck label { font-size:13px; color:var(--ecv2-g600); }
.ecsu-tax-vatcheck label b { color:var(--ecv2-g900); }
.ecsu-tax-vatcheck-row { display:flex; flex-wrap:wrap; gap:8px; }
.ecsu-tax-vatcheck-row .ecv2-input { flex:1 1 220px; min-width:0; min-height:36px; text-transform:uppercase; }
.ecsu-tax-vatcheck-out { margin:0; font-size:13px; line-height:1.5; color:var(--ecv2-g700); }
.ecsu-tax-vatcheck-out.is-ok { color:#166534; }
.ecsu-tax-vatcheck-out.is-bad { color:#b42318; }

/* Which products are taxed */
.ecsu-tax-counts { margin:0; padding:0; list-style:none; display:grid; grid-template-columns:repeat(auto-fit, minmax(150px, 1fr)); gap:8px; }
.ecsu-tax-counts a { display:flex; flex-direction:column; gap:2px; padding:10px 12px; border:1px solid var(--ecv2-g200); border-radius:var(--ecv2-r, 10px); color:var(--ecv2-g700); text-decoration:none; font-size:13px; }
.ecsu-tax-counts a:hover, .ecsu-tax-counts a:focus-visible { border-color:var(--ecsu-accent); outline:none; }
.ecsu-tax-counts b { font-size:20px; font-weight:700; font-variant-numeric:tabular-nums; color:var(--ecv2-g900); }

/* For some stores */
.ecsu-tax-some { border:1px solid var(--ecv2-g200); border-radius:var(--ecv2-r, 10px); }
.ecsu-tax-some + .ecsu-tax-some { margin-top:8px; }
.ecsu-tax-some summary { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:8px 12px; min-height:44px; padding:6px 14px; cursor:pointer; font-size:14px; color:var(--ecv2-g900); }
.ecsu-tax-some summary:focus-visible { outline:2px solid var(--ecsu-accent); outline-offset:2px; border-radius:var(--ecv2-r, 10px); }
.ecsu-tax-some-body { display:flex; flex-wrap:wrap; align-items:center; gap:10px 16px; padding:0 14px 12px; }
.ecsu-tax-some-body p { flex:1 1 360px; min-width:0; margin:0; font-size:13px; line-height:1.5; color:var(--ecv2-g600); }

/* Canada's grid stays a table in this column ( 480–700px wide: settings-tax-v2.css makes it a card per province there, which ran
   very long beside the preview ); the frame scrolls sideways when the inputs no longer fit. Under 480px the cards stay. */
@container ectx-canada (min-width:480px) and (max-width:700px) {
	.ecsu-tax-system .ectx-canada-frame { overflow-x:auto; }
	.ecsu-tax-system .ectx-canada-table { display:table; width:100%; }
	.ecsu-tax-system .ectx-canada-table thead { display:table-header-group; }
	.ecsu-tax-system .ectx-canada-table tbody { display:table-row-group; }
	.ecsu-tax-system .ectx-canada-table tbody tr.ectx-row { display:table-row; padding:0; }
	.ecsu-tax-system .ectx-canada-table tbody tr.ectx-row[hidden] { display:none; }
	.ecsu-tax-system .ectx-canada-table tbody tr.ectx-row:after { content:none; }
	.ecsu-tax-system .ectx-canada-table tbody td { display:table-cell; padding:6px 6px; vertical-align:middle; }
	.ecsu-tax-system .ectx-canada-table .ectx-collect-cell:before, .ecsu-tax-system .ectx-canada-table .ectx-rate-cell:before { content:none; }
	.ecsu-tax-system .ectx-canada-table .ectx-rate-cell { margin-top:0; min-width:0; }
	.ecsu-tax-system .ectx-canada-table .ectx-prov { min-width:96px; }
	.ecsu-tax-system .ectx-canada-table .ectx-rate-cell .ectx-in { min-width:72px; max-width:96px; width:auto; }
}

/* What a shopper pays ( D11 ): the test addresses, one shown at a time */
.ecsu-tax-test { display:flex; flex-direction:column; gap:10px; }
.ecsu-tax-addrs { margin:0; padding:0; list-style:none; display:flex; flex-direction:column; gap:6px; }
.ecsu-tax-addr { display:flex; align-items:center; gap:8px; width:100%; min-height:44px; padding:6px 10px; border:1px solid var(--ecv2-g200); border-radius:8px; background:#fff; font:inherit; font-size:13px; color:var(--ecv2-g800); text-align:left; cursor:pointer; }
.ecsu-tax-addr:hover { border-color:var(--ecv2-g400); }
.ecsu-tax-addr:focus-visible { outline:2px solid var(--ecsu-accent); outline-offset:2px; }
.ecsu-tax-addr.is-on { border-color:var(--ecsu-accent); box-shadow:inset 0 0 0 1px var(--ecsu-accent); }
.ecsu-tax-addr-name { flex:1 1 auto; min-width:0; overflow-wrap:anywhere; }
.ecsu-tax-addr-total { flex:0 0 auto; font-variant-numeric:tabular-nums; color:var(--ecv2-g900); }
.ecsu-tax-detail { display:flex; flex-direction:column; gap:8px; padding:10px 12px; border-radius:8px; background:var(--ecv2-g50, #f9fafb); }
.ecsu-tax-detail[hidden] { display:none; }
.ecsu-tax-detail h3 { margin:0; font-size:13px; font-weight:700; color:var(--ecv2-g900); }
.ecsu-tax-lines { margin:0; display:flex; flex-direction:column; gap:4px; }
.ecsu-tax-lines > div { display:flex; justify-content:space-between; gap:12px; font-size:13px; color:var(--ecv2-g700); }
.ecsu-tax-lines dt, .ecsu-tax-lines dd { margin:0; }
.ecsu-tax-lines dd { font-variant-numeric:tabular-nums; }
.ecsu-tax-lines > div.is-total { padding-top:6px; border-top:1px solid var(--ecv2-g200); font-weight:700; font-size:14px; color:var(--ecv2-g900); }
.ecsu-tax-why { margin:0; padding-left:16px; display:flex; flex-direction:column; gap:3px; font-size:12.5px; line-height:1.45; color:var(--ecv2-g600); }
.ecsu-tax-before { margin:0; font-size:12.5px; font-weight:600; color:#92400e; }
.ecsu-tax-asked { margin:0; font-size:13px; color:var(--ecv2-g600); }
.ecsu-tax-asked.is-bad { color:#b42318; }
.ecsu-tax-detail-actions { display:flex; flex-wrap:wrap; align-items:center; gap:8px 14px; }
.ecsu-tax-addform { border:1px dashed var(--ecv2-g300); border-radius:8px; }
.ecsu-tax-addform summary { min-height:40px; padding:8px 10px; cursor:pointer; font-size:13px; font-weight:600; color:var(--ecsu-accent); }
.ecsu-tax-addform summary:focus-visible { outline:2px solid var(--ecsu-accent); outline-offset:2px; }
.ecsu-tax-addform-body { display:flex; flex-direction:column; gap:6px; padding:0 10px 10px; font-size:12.5px; color:var(--ecv2-g700); }
.ecsu-tax-addform-body .ecv2-select, .ecsu-tax-addform-body .ecv2-input { width:100%; max-width:none; min-height:34px; }
.ecsu-tax-addform-row { display:grid; grid-template-columns:repeat(auto-fit, minmax(120px, 1fr)); gap:8px; }
.ecsu-tax-addform-row > span { display:flex; flex-direction:column; gap:4px; min-width:0; }
.ecsu-tax-addform-check { display:flex; align-items:center; gap:6px; }
.ecsu-tax-addform-foot { display:flex; justify-content:flex-end; }
.ecsu-preview-foot { margin:0; font-size:12px; line-height:1.45; color:var(--ecv2-g500); }

/* 6.0.7: Ask <service> says it is asking ( a spinner on the button and in the answer ). */
.ecsu-tax-spin { display:inline-block; width:12px; height:12px; margin-right:6px; vertical-align:-1px; border:2px solid currentColor; border-right-color:transparent; border-radius:50%; animation:ecsu-tax-spin .8s linear infinite; }
.ecsu-tax-asked.is-asking { display:flex; align-items:center; gap:8px; }
.ecsu-tax-asked.is-asking::before { content:""; width:12px; height:12px; border:2px solid var(--ecv2-g400, #9ca3af); border-right-color:transparent; border-radius:50%; animation:ecsu-tax-spin .8s linear infinite; }
@keyframes ecsu-tax-spin { to { transform:rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .ecsu-tax-spin, .ecsu-tax-asked.is-asking::before { animation-duration:2.4s; } }
