/* WP EasyCart Admin — Settings › Payment ( V2 ). Layered on settings-page-v2.css; the drawer chrome
   ( .ecdrawer ) comes from settings-lists-v2.css. Accent follows the admin colorizer ( --ecst-accent ).
   6.0.3: one line per way to pay with a ⋯ menu, a searchable gateway list, one test-mode line, the terms dialog
   and drawer tabs. The second half maps the legacy gateway partials, shown inside the drawer, onto the V2 look. */

/* The page: the header's "All changes saved" chip never changes here ( the drawers save themselves ). */
#ecst[data-page="payment"] #ecst_status { display:none; }
/* 6.0.3: .ecv2-btn sets display, which beat the hidden attribute: "Save and turn on" showed on every legacy panel, and an empty
   Docs link in the drawer header. Anything marked hidden on this page or in its drawer stays hidden. */
#ecst[data-page="payment"] [hidden], .ecpay-drawer [hidden], .ecpay-terms-layer [hidden] { display:none !important; }
.ecpay-flash { margin:0 0 12px; padding:10px 14px; border-radius:var(--ecv2-r); font-size:13px; border:1px solid var(--ecv2-g200); background:var(--ecv2-g50); color:var(--ecv2-g800); }
.ecpay-flash.is-brand { background:var(--ecst-accent-soft); border-color:transparent; }
.ecpay-flash.is-amber { background:#fff7e6; border-color:#ffd591; color:#874d00; }
/* 6.0.2: "Subscriptions need Stripe" ( ecst_payment_render_subscriptions() ) shows only while it has something to say. */
#ecst-ecst_payment_subscriptions:has(> .ecst-row-html:empty) { display:none; }
#ecst-ecst_payment_subscriptions .ecv2-flash { margin:0; }
/* The section padding: the lines run edge to edge like a list. */
#ecst-sec-active .ecst-custom { padding:0; }
#ecst-sec-more .ecst-custom { padding:0; }

/* summary pills ( moved beside the page title by the script ) */
.ecpay-summary { display:flex; flex-wrap:wrap; gap:6px; padding:12px 16px 0; }
.ecpay-summary.is-header { padding:0; justify-content:flex-end; }
.ecpay-sum { display:inline-flex; align-items:center; gap:6px; padding:4px 10px; border-radius:999px; border:1px solid var(--ecv2-g200); background:#fff; font-size:12px; font-weight:600; color:var(--ecv2-g800); white-space:nowrap; }
.ecpay-dot { display:inline-block; flex:0 0 8px; width:8px; height:8px; border-radius:50%; background:var(--ecv2-g300); }
.ecpay-dot.is-on { background:#16a34a; }
.ecpay-dot.is-test, .ecpay-dot.is-warn { background:#d97706; }
.ecpay-dot.is-bad { background:#dc2626; }

/* test-mode line */
.ecpay-notice { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:10px; margin:12px 16px 0; padding:10px 14px; border-radius:var(--ecv2-r); background:#fff7e6; border:1px solid #ffd591; color:#78350f; font-size:13px; }
.ecpay-notice b { color:#92400e; }
.ecpay-notice-text { flex:1 1 280px; min-width:0; }

/* one line per way to pay */
.ecpay-lines { display:flex; flex-direction:column; margin:8px 0 0; }
.ecpay-line { display:grid; grid-template-columns:130px minmax(0,1fr) auto; align-items:center; gap:14px; padding:13px 16px; border-top:1px solid var(--ecv2-g100); }
.ecpay-lines > .ecpay-line:first-child { border-top:0; }
.ecpay-line-slot { font-size:11px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:var(--ecv2-g500); }
.ecpay-line-gw { display:flex; align-items:center; gap:12px; min-width:0; }
.ecpay-line-text { display:flex; flex-direction:column; gap:2px; min-width:0; }
.ecpay-line-text > strong { font-size:14px; font-weight:600; color:var(--ecv2-g900); }
.ecpay-state { display:inline-flex; align-items:center; gap:6px; font-size:12.5px; font-weight:600; color:var(--ecv2-g700); }
.ecpay-line.is-locked .ecpay-state { color:#991b1b; }
.ecpay-line.is-update .ecpay-state, .ecpay-line.is-incomplete .ecpay-state { color:#92400e; }
.ecpay-line-detail { font-size:12px; color:var(--ecv2-g500); line-height:1.45; overflow-wrap:anywhere; }
.ecpay-line-act { display:flex; align-items:center; justify-content:flex-end; gap:6px; flex-wrap:wrap; }
.ecpay-line-act a.ecv2-btn { text-decoration:none; }
.ecpay-line-act .ecv2-btn-primary, .ecpay-tile-act .ecv2-btn-primary, .ecpay-pro-note .ecv2-btn-primary, .ecpay-terms-act .ecv2-btn-primary { background:var(--ecst-accent); border-color:var(--ecst-accent); color:var(--ecst-on-accent); }
.ecpay-line-act .ecv2-btn-primary:hover, .ecpay-tile-act .ecv2-btn-primary:hover, .ecpay-pro-note .ecv2-btn-primary:hover { filter:brightness(.95); }
.ecpay-line .ecv2-btn.is-busy, .ecpay-tile .ecv2-btn.is-busy, .ecpay-suggest-btn.is-busy { opacity:.6; }
.ecpay-logo { width:34px; height:34px; border-radius:8px; background:var(--ecv2-g100); color:var(--ecv2-g700); display:inline-flex; align-items:center; justify-content:center; font-weight:700; font-size:12.5px; flex-shrink:0; user-select:none; letter-spacing:-.01em; }
/* an empty line: suggestions */
.ecpay-line.is-empty .ecpay-line-text { gap:6px; }
.ecpay-suggest { display:flex; flex-wrap:wrap; gap:8px; }
.ecpay-suggest-btn { display:inline-flex; align-items:center; gap:8px; padding:5px 10px 5px 5px; border:1px dashed var(--ecv2-g300); border-radius:10px; background:#fff; color:var(--ecv2-g900); font-size:13px; font-weight:600; line-height:1.2; text-decoration:none; cursor:pointer; }
.ecpay-suggest-btn:hover, .ecpay-suggest-btn:focus-visible { border-style:solid; border-color:var(--ecst-accent); color:var(--ecv2-g900); }
.ecpay-suggest-btn .ecpay-logo { width:26px; height:26px; font-size:10.5px; border-radius:7px; }
.ecpay-suggest-btn.is-locked { color:var(--ecv2-g600); }
.ecpay-suggest-btn.is-locked .ecpay-logo { filter:grayscale(.7); opacity:.75; }
.ecpay-connect[aria-disabled="true"] { cursor:pointer; }
.ecpay-rec { display:inline-block; padding:2px 6px; border-radius:5px; background:var(--ecst-accent-soft); color:var(--ecv2-g800); font-size:10.5px; font-weight:700; letter-spacing:.02em; vertical-align:1px; }

/* the ⋯ menu */
.ecpay-menu-wrap { position:relative; }
.ecpay-menu-btn { min-width:32px; justify-content:center; padding:0 7px; }
.ecpay-menu-btn svg { display:block; }
.ecpay-menu { position:absolute; right:0; top:calc(100% + 4px); z-index:30; min-width:230px; padding:6px; background:#fff; border:1px solid var(--ecv2-g200); border-radius:10px; box-shadow:0 10px 30px rgba(16,24,40,.14), 0 2px 6px rgba(16,24,40,.06); display:flex; flex-direction:column; }
.ecpay-menu[hidden] { display:none; }
.ecpay-menu-item { display:block; width:100%; text-align:left; border:0; background:transparent; color:var(--ecv2-g800); font:inherit; font-size:13px; line-height:1.3; padding:8px 10px; border-radius:6px; cursor:pointer; text-decoration:none; box-sizing:border-box; }
.ecpay-menu-item:hover, .ecpay-menu-item:focus { background:var(--ecv2-g50); color:var(--ecv2-g900); outline:none; }
.ecpay-menu-item:focus-visible { box-shadow:inset 0 0 0 2px var(--ecst-accent); }
.ecpay-menu-item.is-danger { color:#b91c1c; }
.ecpay-menu-item.is-danger:hover, .ecpay-menu-item.is-danger:focus { background:#fef2f2; color:#991b1b; }
.ecpay-menu-sep { height:1px; margin:4px 2px; background:var(--ecv2-g100); }
/* the menus open over the next section */
#ecst-sec-active, #ecst-sec-active .ecst-custom { overflow:visible; }

/* the gateway list */
.ecpay-catalog { display:flex; flex-direction:column; }
.ecpay-cat-tools { display:flex; flex-wrap:wrap; align-items:center; gap:10px; padding:12px 16px; border-bottom:1px solid var(--ecv2-g100); }
.ecpay-search { position:relative; flex:1 1 240px; min-width:0; margin:0; }
.ecpay-search svg { position:absolute; left:11px; top:50%; transform:translateY(-50%); color:var(--ecv2-g400); pointer-events:none; }
.ecpay-search input[type="search"] { width:100%; box-sizing:border-box; height:36px; margin:0; padding:0 12px 0 34px; border:1px solid var(--ecv2-g300); border-radius:var(--ecv2-r); background:var(--ecv2-g50); font-size:13px; color:var(--ecv2-g900); box-shadow:none; }
.ecpay-search input[type="search"]:focus { outline:none; background:#fff; border-color:var(--ecst-accent); box-shadow:0 0 0 3px var(--ecst-accent-soft); }
.ecpay-filters { display:flex; flex-wrap:wrap; gap:6px; }
.ecpay-filter { display:inline-flex; align-items:center; gap:5px; border:1px solid var(--ecv2-g200); background:#fff; border-radius:999px; padding:5px 11px; font-size:12px; font-weight:600; color:var(--ecv2-g600); cursor:pointer; }
.ecpay-filter em { font-style:normal; font-size:11px; font-weight:500; color:var(--ecv2-g400); }
.ecpay-filter.is-on { background:var(--ecv2-g900); border-color:var(--ecv2-g900); color:#fff; }
.ecpay-filter.is-on em { color:rgba(255,255,255,.7); }
.ecpay-filter:focus-visible, .ecpay-lock-btn:focus-visible, .ecpay-suggest-btn:focus-visible { outline:2px solid var(--ecst-accent); outline-offset:2px; }
.ecpay-pro-note { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:10px; margin:12px 16px 0; padding:10px 14px; border-radius:var(--ecv2-r); background:var(--ecst-accent-soft); }
.ecpay-pro-note p { margin:0; flex:1 1 300px; font-size:13px; color:var(--ecv2-g800); line-height:1.5; }
.ecpay-pro-note b { color:var(--ecv2-g900); }
.ecpay-tiles { display:grid; grid-template-columns:repeat(auto-fill, minmax(290px, 1fr)); gap:8px; padding:12px 16px; }
.ecpay-tile { display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; column-gap:10px; row-gap:8px; min-width:0; padding:10px 12px; border:1px solid var(--ecv2-g200); border-radius:10px; background:#fff; }
/* the actions sit under the text, so the description keeps the full width; a locked row keeps its small lock at the right */
.ecpay-tile:not(.is-locked) > .ecpay-logo { align-self:start; }
.ecpay-tile:not(.is-locked) > .ecpay-tile-act { grid-column:2 / -1; justify-content:flex-start; }
.ecpay-tile[hidden] { display:none; }
.ecpay-tile:hover { border-color:var(--ecv2-g300); }
.ecpay-tile .ecpay-logo { width:30px; height:30px; font-size:11px; border-radius:8px; }
.ecpay-tile.is-locked { cursor:pointer; }
.ecpay-tile.is-locked .ecpay-logo { filter:grayscale(.7); opacity:.75; }
.ecpay-tile.is-locked .ecpay-tile-text { opacity:.8; }
.ecpay-tile-text { flex:1 1 auto; min-width:0; display:flex; flex-direction:column; gap:1px; }
.ecpay-tile-text > b { font-size:13px; font-weight:600; color:var(--ecv2-g900); line-height:1.35; }
.ecpay-tile-text > span { font-size:11.5px; color:var(--ecv2-g500); line-height:1.4; }
.ecpay-tile-text > .ecpay-tile-state { color:var(--ecv2-g600); font-weight:600; }
.ecpay-tile-act { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:6px; min-width:0; }
.ecpay-tile-act a.ecv2-btn { text-decoration:none; }
.ecpay-lock-btn { display:inline-flex; align-items:center; justify-content:center; width:30px; height:30px; padding:0; border:1px solid var(--ecv2-g200); border-radius:8px; background:var(--ecv2-g50); color:var(--ecv2-g500); cursor:pointer; }
.ecpay-lock-btn:hover { color:var(--ecv2-g800); border-color:var(--ecv2-g300); }
.ecpay-older-row { padding:0 16px; }
.ecpay-older-row .ecst-link em { font-style:normal; font-weight:500; color:var(--ecv2-g400); margin-left:4px; }
.ecpay-older-row .ecst-link:not([hidden]) { margin:0 0 12px; }
.ecpay-cat-empty { margin:0 16px 12px; padding:14px; text-align:center; font-size:12.5px; color:var(--ecv2-g500); border:1px dashed var(--ecv2-g300); border-radius:var(--ecv2-r); }
.ecpay-cat-empty[hidden] { display:none; }
.ecpay-fee-note { margin:0; padding:10px 16px 12px; border-top:1px solid var(--ecv2-g100); font-size:12px; color:var(--ecv2-g500); line-height:1.5; }
.ecpay-fee-note b { color:var(--ecv2-g700); }
.ecpay-fee-note a { color:var(--ecst-accent); font-weight:600; text-decoration:none; }
.ecpay-fee-note a:hover { text-decoration:underline; }

/* EasyCart Connect terms ( asked when a Connect link is first used; appended to <body> ) */
.ecpay-terms-layer { --ecst-accent:var(--ec-brand, var(--ecv2-primary)); --ecst-accent-soft:var(--ec-brand-soft, var(--ecv2-primary-light)); --ecst-on-accent:var(--ec-on-brand, #fff); position:fixed; inset:0; z-index:100100; display:flex; align-items:center; justify-content:center; padding:16px; background:rgba(17,24,39,.45); }
.ecpay-terms-box { width:min(520px, 100%); box-sizing:border-box; padding:20px 22px; border-radius:12px; background:#fff; box-shadow:0 20px 50px rgba(0,0,0,.25); font-size:13px; color:var(--ecv2-g800, #1f2937); }
.ecpay-terms-box h3 { margin:0 0 8px; font-size:16px; color:var(--ecv2-g900, #111827); }
.ecpay-terms-box p { margin:0 0 14px; line-height:1.55; color:var(--ecv2-g600, #4b5563); }
.ecpay-terms-row { display:flex; gap:10px; align-items:flex-start; margin:0 0 16px; line-height:1.45; }
.ecpay-terms-row input[type="checkbox"] { margin:2px 0 0; }
.ecpay-terms-row a { color:var(--ecst-accent); font-weight:600; }
.ecpay-terms-act { display:flex; justify-content:flex-end; gap:8px; }

/* small screens */
@media (max-width:782px) {
	.ecpay-summary.is-header { justify-content:flex-start; }
	.ecpay-line { grid-template-columns:minmax(0,1fr) auto; row-gap:6px; }
	.ecpay-line-slot { grid-column:1 / -1; }
	.ecpay-tiles { grid-template-columns:minmax(0,1fr); }
}
@media (max-width:480px) {
	.ecpay-line { grid-template-columns:minmax(0,1fr); }
	.ecpay-line-act { justify-content:flex-start; }
	.ecpay-menu { right:auto; left:0; }
}

/* ================================================================== */
/* Drawer                                                              */
/* ================================================================== */
/* The drawer is appended to <body>, outside .ecst-wrap, so it defines the accent tokens itself. */
.ecpay-drawer { --ecst-accent:var(--ec-brand, var(--ecv2-primary)); --ecst-accent-soft:var(--ec-brand-soft, var(--ecv2-primary-light)); --ecst-on-accent:var(--ec-on-brand, #fff); width:640px; }
.ecpay-drawer .ecdrawer-h { flex-wrap:wrap; }
.ecpay-drawer .ecdrawer-h h3 { flex:0 1 auto; }
/* 6.0.3: the name with its account line under it, the state chips, then ( for a long panel ) the tabs on their own row */
.ecpay-drawer-titles { display:flex; flex-direction:column; gap:2px; min-width:0; flex:0 1 auto; }
.ecpay-drawer-sub { font-size:12px; color:var(--ecv2-g500); line-height:1.4; overflow-wrap:anywhere; }
.ecpay-drawer-sub:empty { display:none; }
.ecpay-tabs { flex-basis:100%; display:flex; flex-wrap:wrap; gap:4px; margin:6px 0 -4px; }
.ecpay-tabs[hidden] { display:none; }
.ecpay-tab { border:0; background:transparent; color:var(--ecv2-g500); font:inherit; font-size:12.5px; font-weight:600; padding:7px 10px; border-radius:7px; cursor:pointer; }
.ecpay-tab:hover { color:var(--ecv2-g900); background:var(--ecv2-g50); }
.ecpay-tab.is-on { background:var(--ecv2-g100); color:var(--ecv2-g900); }
.ecpay-tab:focus-visible { outline:2px solid var(--ecst-accent); outline-offset:1px; }
.ecpay-drawer .ecpay-legacy .ecpay-tabpanel.is-tab-hidden { display:none !important; }
.ecpay-drawer.has-tabs .ecpay-legacy .ecpay-tabpanel { margin-top:4px; }
.ecpay-drawer.has-tabs .ecpay-legacy .ecpay-tabpanel > .ecsq-group-t { display:none; }
.ecpay-drawer .ecpay-legacy .ecpay-tabpanel:focus { outline:none; }
.ecpay-drawer-chips { display:inline-flex; gap:6px; flex-wrap:wrap; margin-right:auto; }
.ecpay-drawer .ecdrawer-h a.ecv2-btn { text-decoration:none; }
.ecpay-drawer .ecdrawer-b { background:var(--ecv2-g50); padding:14px 16px 20px; }
/* Footer: the drawer's save bar. The right padding keeps the buttons clear of floating launchers ( help, chat or
   screenshot buttons that other plugins and browser extensions pin to the bottom-right corner of the window ). */
.ecpay-drawer .ecdrawer-f { flex-wrap:wrap; row-gap:6px; padding:12px 84px 12px 18px; background:#fff; box-shadow:0 -1px 0 var(--ecv2-g200), 0 -6px 16px rgba(16,24,40,.04); position:relative; z-index:1; }
.ecpay-drawer .ecdrawer-f .ecv2-btn-primary { background:var(--ecst-accent); border-color:var(--ecst-accent); color:var(--ecst-on-accent); }
.ecpay-drawer .ecdrawer-f .ecv2-btn-primary:hover { filter:brightness(.95); }
.ecpay-drawer .ecdrawer-f .ecv2-btn:disabled { opacity:.6; cursor:progress; }
.ecpay-drawer-loading { padding:30px; text-align:center; color:var(--ecv2-g500); font-size:13px; }
.ecpay-drawer-error { padding:14px; border:1px solid #fca5a5; background:#fff7f7; color:#991b1b; border-radius:var(--ecv2-r); font-size:13px; }
.ecpay-drawer-note { font-size:12px; color:var(--ecv2-g500); min-width:0; }
.ecpay-drawer-note.is-dirty { color:#92400e; font-weight:600; }
.ecpay-drawer-note.is-dirty:before { content:""; display:inline-block; width:7px; height:7px; border-radius:50%; background:#f59e0b; margin-right:6px; vertical-align:1px; }
body.ecdrawer-open { overflow:hidden; }
@media (max-width:640px) {
	.ecpay-drawer .ecdrawer-f { padding-right:76px; }
	.ecpay-drawer-note { flex-basis:100%; }
}

/* ------------------------------------------------------------------ */
/* Declared gateway form ( V2 fields )                                 */
/* ------------------------------------------------------------------ */
.ecpay-gwform { display:flex; flex-direction:column; gap:12px; margin:0; }
.ecpay-gwintro { margin:0; padding:10px 12px; border-radius:var(--ecv2-r); background:var(--ecst-accent-soft); color:var(--ecv2-g800); font-size:12.5px; line-height:1.5; }
.ecpay-gwsec { background:#fff; border:1px solid var(--ecv2-g200); border-radius:var(--ecv2-r); box-shadow:0 1px 2px rgba(16,24,40,.04); }
.ecpay-gwsec[hidden] { display:none; }
.ecpay-gwsec-h { display:flex; flex-direction:column; gap:2px; padding:10px 16px 9px; border-bottom:1px solid var(--ecv2-g100); }
.ecpay-gwsec-h h4 { margin:0; font-size:11px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:var(--ecv2-g600); }
.ecpay-gwsec-h span { font-size:12px; color:var(--ecv2-g500); line-height:1.45; }
.ecpay-gwrows { padding:2px 16px; }
.ecpay-gwrow { display:flex; flex-direction:column; gap:5px; padding:12px 0; border-top:1px solid var(--ecv2-g100); min-width:0; }
.ecpay-gwrows > .ecpay-gwrow:not([hidden]):first-child, .ecpay-gwrows > .ecpay-gwrow[hidden] + .ecpay-gwrow:not([hidden]) { border-top:0; }
.ecpay-gwrow[hidden] { display:none; }
.ecpay-gwlabel { font-size:13px; font-weight:600; color:var(--ecv2-g900); line-height:1.4; cursor:default; }
.ecpay-req { color:var(--ecv2-danger); font-weight:600; }
.ecpay-gwdesc { display:block; font-size:12px; color:var(--ecv2-g500); line-height:1.5; max-width:70ch; }
.ecpay-gwmsg { display:block; font-size:12px; font-weight:500; color:var(--ecv2-danger); }
.ecpay-gwmsg[hidden] { display:none; }
.ecpay-gwctl { display:flex; min-width:0; }
.ecpay-gwctl .ecv2-input { width:100%; box-sizing:border-box; min-height:34px; }
.ecpay-gwctl .ecv2-select { width:100%; max-width:100% !important; min-height:34px; box-sizing:border-box; }
.ecpay-gwrow.is-short .ecpay-gwctl { max-width:240px; }
.ecpay-gwctl .ecv2-input.is-mono, .ecpay-copy .ecv2-input.is-mono { font-family:ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size:12.5px; }
.ecpay-gwctl .ecv2-input:focus, .ecpay-gwctl .ecv2-select:focus { border-color:var(--ecst-accent); box-shadow:0 0 0 3px var(--ecst-accent-soft); }
.ecpay-gwctl textarea.ecv2-input { min-height:120px; resize:vertical; line-height:1.45; }
.ecpay-gwrow.is-error .ecv2-input, .ecpay-gwrow.is-error .ecv2-select, .ecpay-gwrow.is-error .ecst-pills { border-color:var(--ecv2-danger); box-shadow:0 0 0 3px var(--ecv2-danger-light); }
/* secrets: masked input + Show / Hide */
.ecpay-secret { display:flex; align-items:flex-start; gap:6px; width:100%; min-width:0; }
.ecpay-secret > .ecv2-input { flex:1 1 auto; min-width:0; }
.ecpay-secret > .ecpay-reveal { flex-shrink:0; min-width:56px; justify-content:center; height:34px; }
@supports ( -webkit-text-security:disc ) { .ecpay-secret.is-masked textarea { -webkit-text-security:disc; } }
@supports not ( -webkit-text-security:disc ) { .ecpay-secret.is-masked textarea { color:transparent; text-shadow:0 0 7px rgba(17,24,39,.55); } }
/* toggles and pills */
.ecpay-gwtoggle { display:flex; align-items:center; justify-content:space-between; gap:16px; }
.ecpay-gwtext { display:flex; flex-direction:column; gap:3px; min-width:0; }
.ecpay-gwtoggle .ecst-toggle { flex-shrink:0; }
.ecpay-pills .ecst-pill { position:relative; }
.ecpay-pills .ecst-pill:focus-within { box-shadow:inset 0 0 0 2px var(--ecst-accent); }
/* notes and copy rows */
.ecpay-gwrow.is-note { gap:0; }
.ecpay-gwnote { padding:10px 12px; border-radius:var(--ecv2-r); font-size:12.5px; line-height:1.55; color:var(--ecv2-g700); background:var(--ecv2-g50); border:1px solid var(--ecv2-g200); }
.ecpay-gwnote.is-warn { background:#fff7e6; border-color:#ffd591; color:#874d00; }
.ecpay-gwnote > b { display:block; margin:0 0 4px; color:var(--ecv2-g900); }
.ecpay-gwnote ol, .ecpay-gwnote ul { margin:4px 0 0 18px; padding:0; }
.ecpay-gwnote li { margin:0 0 4px; }
.ecpay-gwnote code { font-size:12px; background:#fff; padding:1px 4px; border-radius:4px; overflow-wrap:anywhere; }
.ecpay-copy { display:flex; gap:6px; width:100%; min-width:0; }
.ecpay-copy .ecv2-input { flex:1 1 auto; min-width:0; background:var(--ecv2-g50); color:var(--ecv2-g700); }
.ecpay-copy .ecpay-copy-btn { flex-shrink:0; min-width:64px; justify-content:center; height:34px; }
/* a legacy partial saved from the footer: its own Save Options button is not shown */
.ecpay-drawer .ecpay-legacy input[type].ecpay-legacy-save, .ecpay-drawer .ecpay-legacy button.ecpay-legacy-save.ecpay-legacy-save { display:none !important; }
.ecpay-drawer .ecpay-legacy { background:#fff; border:1px solid var(--ecv2-g200); border-radius:var(--ecv2-r); padding:14px 16px; }

/* Bill later wording form ( V2 ) */
.ecpay-manual-form { display:flex; flex-direction:column; gap:14px; }
.ecpay-manual-form .ecdv2-label { font-size:13px; color:var(--ecv2-g900); }
.ecpay-manual-form .ecv2-input { width:100%; box-sizing:border-box; }
.ecpay-manual-form textarea.ecv2-input { min-height:140px; resize:vertical; font-family:inherit; line-height:1.5; }
.ecpay-manual-form .ecdv2-field-desc { display:block; font-size:12px; color:var(--ecv2-g500); line-height:1.45; }

/* ------------------------------------------------------------------ */
/* Legacy gateway partial → V2 look ( scoped; the partials are untouched ) */
/* ------------------------------------------------------------------ */
.ecpay-drawer .ecpay-legacy { position:relative; font-size:13px; color:var(--ecv2-g800); line-height:1.45; }
.ecpay-drawer .ecpay-legacy:after { content:""; display:table; clear:both; }
.ecpay-drawer .ecpay-legacy * { box-sizing:border-box; }
.ecpay-drawer .ecpay-legacy .ec_admin_settings_hide { display:block; }

/* containers: no floats, no borders, no legacy paddings */
.ecpay-drawer .ecpay-legacy .ec_admin_list_line_item,
.ecpay-drawer .ecpay-legacy .ec_admin_list_line_item_fullwidth,
.ecpay-drawer .ecpay-legacy .ec_admin_slider_row,
.ecpay-drawer .ecpay-legacy .ec_admin_slider_row_description,
.ecpay-drawer .ecpay-legacy .ec_admin_stripe_holder,
.ecpay-drawer .ecpay-legacy .ec_admin_settings_input,
.ecpay-drawer .ecpay-legacy .ec_admin_settings_input > div,
.ecpay-drawer .ecpay-legacy .ec_admin_toggles_wrap,
.ecpay-drawer .ecpay-legacy .ec_admin_stripe_section,
.ecpay-drawer .ecpay-legacy .ec_admin_webhook { float:none; width:auto; min-height:0; display:block; border:0; box-shadow:none; background:transparent; padding:0; margin:0; }
.ecpay-drawer .ecpay-legacy .ec_admin_slider_row_description > div:first-child { font-size:12.5px; color:var(--ecv2-g500); margin:0 0 12px; }
.ecpay-drawer .ecpay-legacy .ec_admin_settings_input { padding:0 0 4px; }
.ecpay-drawer .ecpay-legacy .ec_admin_settings_input .ec_admin_settings_input { padding:0; }

/* duplicate gateway name headings and Help / Video buttons: the drawer header carries them */
.ecpay-drawer .ecpay-legacy .ec_admin_slider_row > h1,
.ecpay-drawer .ecpay-legacy .ec_admin_slider_row > h3,
.ecpay-drawer .ecpay-legacy .easycart-wp-heading-inline,
.ecpay-drawer .ecpay-legacy .ec_admin_settings_label,
.ecpay-drawer .ecpay-legacy > .ec_admin_settings_input > span:first-child,
.ecpay-drawer .ecpay-legacy .ec_help_icon_link,
.ecpay-drawer .ecpay-legacy .ec_admin_paypal_or { display:none !important; }
.ecpay-drawer .ecpay-legacy .ec_admin_stripe_title { font-size:14px; font-weight:600; color:var(--ecv2-g900); text-align:left; float:none; width:auto; margin:0 0 4px; }
.ecpay-drawer .ecpay-legacy .ec_admin_stripe_subtitle { font-size:12.5px; color:var(--ecv2-g500); text-align:left; float:none; width:auto; margin:0 0 12px; }
.ecpay-drawer .ecpay-legacy .ec_admin_stripe_legal { text-align:left; font-size:11.5px; color:var(--ecv2-g400); margin:8px 0 12px; }
.ecpay-drawer .ecpay-legacy .ec_admin_stripe_button_row { text-align:left; display:flex; flex-wrap:wrap; gap:8px; align-items:center; }
.ecpay-drawer .ecpay-legacy .ec_admin_stripe_button_row img { max-width:180px; height:auto; }
.ecpay-drawer .ecpay-legacy .ec_admin_stripe_section > h3,
.ecpay-drawer .ecpay-legacy #stripe_wallet_payments > h3 { float:none; width:auto; margin:18px 0 8px !important; padding:0 0 4px !important; border-bottom:1px solid var(--ecv2-g200) !important; font-size:11px !important; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:var(--ecv2-g500); }

/* rows: 13px label, 12px grey description, full-width field */
.ecpay-drawer .ecpay-legacy .ec_admin_settings_input > div,
.ecpay-drawer .ecpay-legacy .ec_admin_settings_input > label,
.ecpay-drawer .ecpay-legacy .wp-easycart-admin-toggle-group-text > label { display:flex; flex-direction:column; gap:4px; font-size:13px; font-weight:600; color:var(--ecv2-g900); margin:0 0 12px; line-height:1.4; }
.ecpay-drawer .ecpay-legacy .ec_admin_settings_input > label { margin-bottom:4px; }
.ecpay-drawer .ecpay-legacy .wp-easycart-admin-toggle-group-text { padding:0; margin:0 0 12px; min-height:0; top:auto; }
.ecpay-drawer .ecpay-legacy .wp-easycart-admin-toggle-group-text > label { margin:0 0 4px; }
.ecpay-drawer .ecpay-legacy .wp-easycart-admin-toggle-group-text > label > .subtitle,
.ecpay-drawer .ecpay-legacy .wp-easycart-admin-toggle-group-text > label > div { position:static; font-size:12px; font-weight:400; color:var(--ecv2-g500) !important; line-height:1.45; padding:0; }
.ecpay-drawer .ecpay-legacy .ec_admin_settings_input .dashicons-lock { display:none; }

/* fields: the V2 input */
.ecpay-drawer .ecpay-legacy input[type="text"],
.ecpay-drawer .ecpay-legacy input[type="password"],
.ecpay-drawer .ecpay-legacy input[type="number"],
.ecpay-drawer .ecpay-legacy input[type="email"],
.ecpay-drawer .ecpay-legacy select,
.ecpay-drawer .ecpay-legacy textarea,
.ecpay-drawer .ecpay-legacy .wp-easycart-admin-field { float:none !important; display:block; width:100% !important; max-width:100% !important; min-width:0 !important; height:34px !important; line-height:1.4 !important; min-height:0; margin:0 !important; padding:6px 10px !important; border:1px solid var(--ecv2-g300) !important; border-radius:var(--ecv2-r) !important; background:#fff !important; color:var(--ecv2-g800) !important; font-size:13px !important; font-weight:400; box-shadow:none !important; transition:border-color var(--ecv2-tr), box-shadow var(--ecv2-tr); }
.ecpay-drawer .ecpay-legacy select { padding-right:28px !important; }
.ecpay-drawer .ecpay-legacy textarea { height:auto !important; min-height:110px; resize:vertical; font-family:inherit; line-height:1.5 !important; }
.ecpay-drawer .ecpay-legacy input:focus,
.ecpay-drawer .ecpay-legacy select:focus,
.ecpay-drawer .ecpay-legacy textarea:focus { outline:none; border-color:var(--ecst-accent) !important; box-shadow:0 0 0 3px var(--ecst-accent-soft) !important; }
.ecpay-drawer .ecpay-legacy input[type="hidden"] { display:none !important; }
.ecpay-drawer .ecpay-legacy input[type="checkbox"] { width:auto !important; height:auto !important; display:inline-block; margin:0 6px 0 0 !important; padding:0 !important; }
.ecpay-drawer .ecpay-legacy .wp-easycart-admin-field-container { position:relative; }
.ecpay-drawer .ecpay-legacy .wp-easycart-admin-field-container .wp-easycart-admin-field { padding-right:40px !important; }
.ecpay-drawer .ecpay-legacy .wp-easycart-admin-icons-container { top:0; right:0; width:34px; height:34px; }
.ecpay-drawer .ecpay-legacy .wp-easycart-admin-icon-close { top:4px; right:4px; width:26px; height:26px; border-color:var(--ecv2-g200); border-radius:var(--ecv2-rs); }
.ecpay-drawer .ecpay-legacy .wp-easycart-admin-field:focus + .wp-easycart-admin-icons-container .wp-easycart-admin-icon-close > .wp-easycart-admin-icon-close-check { border-bottom-color:var(--ecst-accent); border-right-color:var(--ecst-accent); }
.ecpay-drawer .ecpay-legacy .wp-easycart-admin-icon-close .wp_easycart_toggle_saved,
.ecpay-drawer .ecpay-legacy .wp-easycart-admin-onoffswitch-switch > .dashicons-before { color:var(--ecst-accent); }
.ecpay-drawer .ecpay-legacy .select2 { width:100% !important; }

/* checkbox toggle groups ( wp-easycart-admin-toggle-group ) → V2 toggle rows */
.ecpay-drawer .ecpay-legacy .wp-easycart-admin-toggle-group { display:flex; align-items:center; justify-content:space-between; gap:12px; float:none; width:auto; min-height:0; top:auto; margin:0; padding:10px 0; border-bottom:1px solid var(--ecv2-g100); font-family:inherit; }
.ecpay-drawer .ecpay-legacy .wp-easycart-admin-toggle-group:last-child { border-bottom:0; }
.ecpay-drawer .ecpay-legacy .wp-easycart-admin-toggle-group > label { position:static; flex:1; min-width:0; height:auto; padding:0; line-height:1.4; font-size:13px; font-weight:600; color:var(--ecv2-g900); display:flex; flex-direction:column; gap:2px; }
.ecpay-drawer .ecpay-legacy .wp-easycart-admin-toggle-group > label > div { position:static; font-size:12px; font-weight:400; color:var(--ecv2-g500) !important; }
.ecpay-drawer .ecpay-legacy .wp-easycart-admin-toggle-group input[type="checkbox"] { position:absolute; opacity:0; width:1px !important; height:1px !important; margin:0 !important; }
.ecpay-drawer .ecpay-legacy .wp-easycart-admin-onoffswitch { position:relative; top:auto; left:auto; flex-shrink:0; width:36px; height:20px; font-size:0; order:2; }
.ecpay-drawer .ecpay-legacy .wp-easycart-admin-onoffswitch .wp-easycart-admin-onoffswitch-label { height:20px; border:0; border-radius:10px; background:var(--ecv2-g300); transition:background var(--ecv2-tr); }
.ecpay-drawer .ecpay-legacy .wp-easycart-admin-onoffswitch .wp-easycart-admin-onoffswitch-inner { display:none; }
.ecpay-drawer .ecpay-legacy .wp-easycart-admin-onoffswitch .wp-easycart-admin-onoffswitch-switch { position:absolute; top:2px; left:2px; right:auto; width:16px; height:16px; margin:0; background:#fff; box-shadow:0 1px 2px rgba(0,0,0,.25); transition:left var(--ecv2-tr); }
.ecpay-drawer .ecpay-legacy .wp-easycart-admin-toggle-group input[type="checkbox"]:checked ~ .wp-easycart-admin-onoffswitch .wp-easycart-admin-onoffswitch-label { background:var(--ecst-accent) !important; border-color:var(--ecst-accent) !important; }
.ecpay-drawer .ecpay-legacy .wp-easycart-admin-toggle-group input[type="checkbox"]:checked ~ .wp-easycart-admin-onoffswitch .wp-easycart-admin-onoffswitch-switch { left:18px; right:auto; }
.ecpay-drawer .ecpay-legacy .wp-easycart-admin-toggle-group input[type="checkbox"]:focus-visible ~ .wp-easycart-admin-onoffswitch { outline:none; box-shadow:0 0 0 3px var(--ecst-accent-soft); border-radius:10px; }
.ecpay-drawer .ecpay-legacy .wp-easycart-admin-onoffswitch-switch .wp_easycart_toggle_saving,
.ecpay-drawer .ecpay-legacy .wp-easycart-admin-onoffswitch-switch .wp_easycart_toggle_saved { position:absolute; left:-24px; top:-4px; }

/* slider toggles ( .ec_admin_switch, used by the Connect partials ) → V2 toggle rows */
.ecpay-drawer .ecpay-legacy .ec_admin_toggles_wrap { display:flex; flex-direction:column; margin:0 0 12px; }
.ecpay-drawer .ecpay-legacy .ec_admin_toggle { display:flex; align-items:center; justify-content:space-between; gap:12px; height:auto; padding:10px 0; border-bottom:1px solid var(--ecv2-g100); }
.ecpay-drawer .ecpay-legacy .ec_admin_toggle:last-child { border-bottom:0; }
.ecpay-drawer .ecpay-legacy .ec_admin_toggle > span { font-size:13px; font-weight:600; color:var(--ecv2-g900); line-height:1.4; flex:1; }
.ecpay-drawer .ecpay-legacy .ec_admin_toggle > a { float:none; width:auto; height:auto; display:inline-flex; flex-shrink:0; }
.ecpay-drawer .ecpay-legacy .ec_admin_toggle > a > span { position:static; width:auto; height:auto; }
/* 6.0.2: the Stripe panels wrap a switch in its connect link only while that mode has no account. The link's empty span covers
   the switch, as on the classic page, so a click opens the connection: a click on the switch itself reached only its label,
   flipped the switch and saved Stripe as the gateway with no account behind it. */
.ecpay-drawer .ecpay-legacy .ecsc .ec_admin_toggle > a { position:relative; }
.ecpay-drawer .ecpay-legacy .ecsc .ec_admin_toggle > a > span { position:absolute; top:0; right:0; bottom:0; left:0; z-index:1; }
.ecpay-drawer .ecpay-legacy .ec_admin_switch { float:none; width:36px; height:20px; margin:0; flex-shrink:0; }
.ecpay-drawer .ecpay-legacy .ec_admin_slider { background:var(--ecv2-g300); transition:background var(--ecv2-tr); }
.ecpay-drawer .ecpay-legacy .ec_admin_slider:before { width:16px; height:16px; left:2px; bottom:2px; transition:transform var(--ecv2-tr); }
.ecpay-drawer .ecpay-legacy input.ec_admin_slider_checkbox:checked + .ec_admin_slider { background:var(--ecst-accent); }
.ecpay-drawer .ecpay-legacy input.ec_admin_slider_checkbox:checked + .ec_admin_slider:before { transform:translateX(16px); }
/* 6.0.1: the drawer's "show every checkbox" rule above also revealed the switch's own checkbox, drawn as a square beside
   the track ( blue when on ). Keep it in the switch, invisible but still focusable and clickable through its label. */
.ecpay-drawer .ecpay-legacy .ec_admin_switch { position:relative; display:inline-block; }
.ecpay-drawer .ecpay-legacy .ec_admin_switch input.ec_admin_slider_checkbox { position:absolute; top:0; left:0; opacity:0; width:1px !important; height:1px !important; margin:0 !important; }
.ecpay-drawer .ecpay-legacy .ec_admin_switch input.ec_admin_slider_checkbox:focus-visible + .ec_admin_slider { box-shadow:0 0 0 3px var(--ecst-accent-soft); }

/* links and buttons → V2 buttons */
.ecpay-drawer .ecpay-legacy a:not(.ec_help_icon_link) { display:inline-flex; align-items:center; gap:4px; padding:5px 10px; border:1px solid var(--ecv2-g300); border-radius:var(--ecv2-r); background:#fff; color:var(--ecv2-g800); font-size:12px; font-weight:500; text-decoration:none; line-height:1.3; margin:2px 6px 2px 0; }
.ecpay-drawer .ecpay-legacy a:not(.ec_help_icon_link):hover { border-color:var(--ecv2-g400); background:var(--ecv2-g50); color:var(--ecv2-g900); }
.ecpay-drawer .ecpay-legacy .ec_admin_toggle > a { padding:0; border:0; background:transparent; margin:0; }
.ecpay-drawer .ecpay-legacy .ec_admin_stripe_button_row > a:first-child:not(:only-child) { padding:0; border:0; background:transparent; }
.ecpay-drawer .ecpay-legacy input[type="submit"],
.ecpay-drawer .ecpay-legacy input[type="button"],
.ecpay-drawer .ecpay-legacy .ec_admin_settings_simple_button,
.ecpay-drawer .ecpay-legacy .ec_admin_settings_input > span.ec_admin_settings_simple_button,
.ecpay-drawer .ecpay-legacy .ec_admin_settings_input > input.ec_admin_settings_simple_button { display:inline-flex !important; align-items:center; width:auto !important; height:32px !important; margin:6px 6px 0 0 !important; padding:0 14px !important; border:1px solid var(--ecst-accent) !important; border-radius:var(--ecv2-r) !important; background:var(--ecst-accent) !important; color:var(--ecst-on-accent) !important; font-size:12.5px !important; font-weight:600; line-height:1 !important; cursor:pointer; box-shadow:none !important; float:none !important; }
.ecpay-drawer .ecpay-legacy input[type="submit"]:hover,
.ecpay-drawer .ecpay-legacy input[type="button"]:hover,
.ecpay-drawer .ecpay-legacy .ec_admin_settings_simple_button:hover { filter:brightness(.95); }
.ecpay-drawer .ecpay-legacy .ec_admin_settings_input > .ec_admin_settings_input:last-child { padding:0; }

/* notes and messages */
.ecpay-drawer .ecpay-legacy .ec_admin_message_error,
.ecpay-drawer .ecpay-legacy .ec_status_error,
.ecpay-drawer .ecpay-legacy .ec_method_deactivated { float:none; width:auto; margin:6px 0 10px !important; padding:8px 10px !important; border:1px solid #ffd591 !important; border-radius:var(--ecv2-r); background:#fff7e6 !important; color:#874d00 !important; font-size:12px; line-height:1.45; box-shadow:none !important; }
.ecpay-drawer .ecpay-legacy .ec_status_error .ec_status_label { line-height:1.45 !important; }
.ecpay-drawer .ecpay-legacy .ec_admin_message_success { float:none; width:auto; margin:6px 0 10px !important; padding:8px 10px !important; border:1px solid transparent !important; border-radius:var(--ecv2-r); background:var(--ecst-accent-soft) !important; color:var(--ecv2-g900) !important; font-size:12px; }
.ecpay-drawer .ecpay-legacy .ec_admin_settings_notice { text-align:left !important; padding:0 0 8px !important; font-size:12px; color:var(--ecv2-g600); }
.ecpay-drawer .ecpay-legacy .ec_admin_webhook { margin:10px 0 0 !important; font-size:12px; color:var(--ecv2-g600); }
.ecpay-drawer .ecpay-legacy .ec_admin_webhook .dashicons { font-size:16px; width:16px; height:16px; vertical-align:middle; }
.ecpay-drawer .ecpay-legacy .ec_admin_webhook_copy { position:static; background:var(--ecv2-g900); color:#fff; padding:6px 10px; border-radius:var(--ecv2-r); font-size:12px; margin-top:6px; text-align:left; }
.ecpay-drawer .ecpay-legacy .wp-easycart-admin-icons-container .wp-easycart-admin-dual-ring { width:20px; height:20px; }

/* 6.0.1: the legacy save indicator was a dark overlay over the whole form ( spinner, then a big check ). In the drawer it
   is a small pill above the footer: "Loading…" while the request runs, a check when it is done. */
.ecpay-drawer .ecpay-legacy .ec_admin_loader { position:fixed; top:auto; left:auto; right:24px; bottom:84px; width:auto; height:auto; min-width:40px; padding:7px 12px; border-radius:999px; background:var(--ecv2-g900); opacity:1; filter:none; z-index:30; box-shadow:0 6px 16px rgba(0,0,0,.18); }
.ecpay-drawer .ecpay-legacy .ec_admin_loader_animation { position:static; margin:0; width:auto; height:auto; text-indent:0; font-size:12px; font-weight:600; color:#fff; background:none; animation:none; transform:none; }
.ecpay-drawer .ecpay-legacy .ec_admin_loader_animation:before,
.ecpay-drawer .ecpay-legacy .ec_admin_loader_animation:after { display:none; }
.ecpay-drawer .ecpay-legacy .ec_admin_loader_loaded { position:static; margin:0 auto; width:22px; }
.ecpay-drawer .ecpay-legacy .ec_admin_loader_loaded svg { display:block; width:22px; height:22px; }

/* 6.0.1: Square ( wp-easycart-pro/admin/template/settings/payments/square.php ): the drawer's groups */
.ecpay-drawer .ecpay-legacy .ecsq-actions { display:flex; flex-wrap:wrap; gap:6px; margin:0 0 6px; }
.ecpay-drawer .ecpay-legacy .ecsq-actions a { margin:0 !important; }
.ecpay-drawer .ecpay-legacy .ecsq-actions a.ecsq-danger { color:var(--ecv2-danger, #b91c1c); border-color:#fca5a5; }
.ecpay-drawer .ecpay-legacy .ecsq-actions a.ecsq-danger:hover { background:#fef2f2; border-color:#f87171; color:#991b1b; }
.ecpay-drawer .ecpay-legacy .ecsq-group { margin:18px 0 0; }
.ecpay-drawer .ecpay-legacy .ecsq-group-t { margin:0 0 4px; padding:0 0 6px; border-bottom:1px solid var(--ecv2-g200); font-size:11px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:var(--ecv2-g500); }
.ecpay-drawer .ecpay-legacy .ecsq .ec_admin_toggles_wrap { margin:0; }
.ecpay-drawer .ecpay-legacy .ecsq .ec_admin_toggle > span { display:flex; flex-direction:column; gap:2px; }
.ecpay-drawer .ecpay-legacy .ecsq .ec_admin_toggle > span small { font-size:12px; font-weight:400; color:var(--ecv2-g500); line-height:1.45; }
.ecpay-drawer .ecpay-legacy .ecsq .ec_admin_toggle.ecsq-child { padding-left:14px; position:relative; }
.ecpay-drawer .ecpay-legacy .ecsq .ec_admin_toggle.ecsq-child:before { content:""; position:absolute; left:3px; top:8px; bottom:8px; border-left:2px solid var(--ecv2-g200); }
.ecpay-drawer .ecpay-legacy .ecsq .ec_admin_toggle_note { margin:0 0 8px 14px; padding:8px 10px; border-radius:var(--ecv2-r); background:var(--ecv2-g50); font-size:12px; color:var(--ecv2-g600); }
.ecpay-drawer .ecpay-legacy .ecsq .ec_admin_toggle_note_warn { background:#fff7e6; color:#874d00; }
.ecpay-drawer .ecpay-legacy .ecsq-status { display:flex; align-items:baseline; gap:8px; }
.ecpay-drawer .ecpay-legacy .ecsq-dot { flex:0 0 8px; width:8px; height:8px; border-radius:50%; background:var(--ecv2-g300); transform:translateY(-1px); }
.ecpay-drawer .ecpay-legacy .ecsq-dot.is-on { background:#16a34a; }
.ecpay-drawer .ecpay-legacy .ecsq-field { display:flex; flex-direction:column; gap:4px; padding:10px 0; border-bottom:1px solid var(--ecv2-g100); }
.ecpay-drawer .ecpay-legacy .ecsq-field:last-of-type { border-bottom:0; }
.ecpay-drawer .ecpay-legacy .ecsq-field > label { font-size:13px; font-weight:600; color:var(--ecv2-g900); }
.ecpay-drawer .ecpay-legacy .ecsq-field > small { font-size:12px; color:var(--ecv2-g500); line-height:1.45; }
.ecpay-drawer .ecpay-legacy .ecsq-field select,
.ecpay-drawer .ecpay-legacy .ecsq-field input[type="text"] { width:100% !important; max-width:100%; float:none !important; margin:0 !important; }
.ecpay-drawer .ecpay-legacy .ecsq-save, .ecpay-drawer .ecpay-legacy input[type].ecsq-save { display:none !important; }
/* The Checkout group: admin.css styles #ec_square_options ( indented, boxed, 500px ) for the classic page, and an id
   outranks the drawer's classes. PRO's partial now uses #ec_square_checkout; the free partial keeps the old id. */
.ecpay-drawer .ecpay-legacy #ec_square_options { float:none; width:auto; max-width:none; margin:18px 0 0; border:0; clear:none; }
.ecpay-drawer .ecpay-legacy .ecsq-locked > span:first-child { opacity:.75; }
.ecpay-drawer .ecpay-legacy .ecsq-pro-chip { flex:0 0 auto; display:inline-flex; align-items:center; padding:2px 8px; border-radius:999px; background:var(--ecv2-g900); color:#fff; font-size:10px; font-weight:700; letter-spacing:.05em; text-transform:uppercase; white-space:nowrap; }
.ecpay-drawer .ecpay-legacy .ecsq-secure { display:flex; align-items:center; gap:12px; flex-wrap:wrap; }
.ecpay-drawer .ecpay-legacy .ecsq-secure-text { flex:1 1 260px; display:flex; flex-direction:column; gap:2px; }
.ecpay-drawer .ecpay-legacy .ecsq-secure-text b { font-weight:600; }
.ecpay-drawer .ecpay-legacy .ecsq-secure.is-done { background:#f0fdf4; color:#166534; }
.ecpay-drawer .ecpay-legacy button.ecsq-secure-btn { flex:0 0 auto; display:inline-flex; align-items:center; height:32px; padding:0 14px; border:1px solid var(--ecst-accent); border-radius:var(--ecv2-r); background:var(--ecst-accent); color:var(--ecst-on-accent, #fff); font-size:12.5px; font-weight:600; cursor:pointer; }
.ecpay-drawer .ecpay-legacy button.ecsq-secure-btn:disabled { opacity:.65; cursor:progress; }
/* 6.0.2: PayPal ( admin/template/settings/payments/paypal.php, FREE and WP EasyCart PRO ) uses the Square groups above,
   plus a group's one-line hint, a plan chip that opens the upgrade popup, the Notifications group's notes at full width,
   and option text that wraps rather than widening the drawer. */
.ecpay-drawer .ecpay-legacy .ecsq-group-hint { margin:6px 0 2px; font-size:12px; color:var(--ecv2-g500); line-height:1.45; }
.ecpay-drawer .ecpay-legacy button.ecsq-pro-chip { border:0; cursor:pointer; font-family:inherit; line-height:1.4; }
.ecpay-drawer .ecpay-legacy button.ecsq-pro-chip:focus-visible { outline:none; box-shadow:0 0 0 3px var(--ecst-accent-soft); }
.ecpay-drawer .ecpay-legacy .ecsq-group > .ec_admin_toggle_note { margin:8px 0 0; }
.ecpay-drawer .ecpay-legacy .ecsq-status > span:not(.ecsq-dot) { flex:1 1 auto; min-width:0; }
.ecpay-drawer .ecpay-legacy .ecsq-status b { font-weight:600; color:var(--ecv2-g900); }
.ecpay-drawer .ecpay-legacy .ecpp .ec_admin_toggle > span,
.ecpay-drawer .ecpay-legacy .ecpp .ecsq-field > small,
.ecpay-drawer .ecpay-legacy .ecpp .ecsq-secure-text { min-width:0; overflow-wrap:anywhere; }
/* 6.0.2: the Stripe panels ( stripe_connect.php here and in WP EasyCart PRO, PRO's stripe.php ) use the Square groups above plus:
   a sub-heading inside a group, a method row with its notes, an "Always on" state, method name tags ( the free panel's locked
   rows ) and a read-only address with a Copy button. Without these rules ( an older WP EasyCart ) the rows still read in order. */
.ecpay-drawer .ecpay-legacy .ecsq-sub { margin:14px 0 0; padding:0 0 2px; font-size:12px; font-weight:600; color:var(--ecv2-g700); }
.ecpay-drawer .ecpay-legacy .ecsq-method { border-bottom:1px solid var(--ecv2-g100); }
.ecpay-drawer .ecpay-legacy .ecsq-method:last-child { border-bottom:0; }
.ecpay-drawer .ecpay-legacy .ecsq-method > .ec_admin_toggle { border-bottom:0; }
.ecpay-drawer .ecpay-legacy .ecsq-method > .ec_method_deactivated,
.ecpay-drawer .ecpay-legacy .ecsq-method > .ec_status_error { margin:0 0 10px !important; }
.ecpay-drawer .ecpay-legacy .ecsq-method > .ecsq-field { padding-top:0; }
.ecpay-drawer .ecpay-legacy .ecsq-state { flex:0 0 auto; font-size:12px; font-style:normal; font-weight:500; color:var(--ecv2-g500); white-space:nowrap; }
/* A locked row's chip is a span like the label beside it, and "> span" ( flex:1, the label's dark text ) outranked it: the chip
   stretched and its text was dark on dark ( Square's free panel too ). */
.ecpay-drawer .ecpay-legacy .ec_admin_toggle > span.ecsq-pro-chip { flex:0 0 auto; display:inline-flex; color:#fff; font-size:10px; font-weight:700; line-height:1.6; }
/* admin.css floats .ec_status_label ( 90% wide ): its note box collapsed and the next rows wrapped around the float. */
.ecpay-drawer .ecpay-legacy .ecsq .ec_status_label { float:none; width:auto; }
.ecpay-drawer .ecpay-legacy .ecsq-tags { display:flex; flex-wrap:wrap; gap:4px; margin:4px 0 0; }
.ecpay-drawer .ecpay-legacy .ecsq-tags > span { padding:1px 7px; border-radius:999px; background:var(--ecv2-g100); color:var(--ecv2-g700); font-size:11px; font-weight:500; line-height:1.6; }
.ecpay-drawer .ecpay-legacy .ecsq-copy { display:flex; gap:6px; min-width:0; }
.ecpay-drawer .ecpay-legacy .ecsq-copy input[type="text"] { flex:1 1 auto; width:auto !important; min-width:0 !important; background:var(--ecv2-g50) !important; color:var(--ecv2-g700) !important; }
.ecpay-drawer .ecpay-legacy button.ecsq-copy-btn { flex:0 0 auto; display:inline-flex; align-items:center; height:34px; padding:0 12px; border:1px solid var(--ecv2-g300); border-radius:var(--ecv2-r); background:#fff; color:var(--ecv2-g800); font-size:12px; font-weight:600; cursor:pointer; }
.ecpay-drawer .ecpay-legacy button.ecsq-copy-btn:hover { border-color:var(--ecv2-g400); background:var(--ecv2-g50); }
.ecpay-drawer .ecpay-legacy .ecsq-field > .ecsq-copied { font-size:12px; font-weight:600; color:#166534; }
.ecpay-drawer .ecpay-legacy .ecsq .ecsq-group > .ec_admin_toggle_note { margin:8px 0 4px; }
.ecpay-drawer .ecpay-legacy .ecsq-status.is-warn { background:#fff7e6; color:#874d00; }
.ecpay-drawer .ecpay-legacy .ecsq-status.is-warn .ecsq-dot { background:#d97706; }
.ecpay-drawer .ecpay-legacy .ecsq-status a { display:inline; padding:0; margin:0; border:0; background:transparent; color:inherit; font-weight:600; text-decoration:underline; font-size:inherit; }

