/* Stable public selectors; override from the child theme after this file. */
:where(.onoff-led-account,.onoff-led-management,.onoff-led-price-access) {
  --onoff-led-accent:var(--gcid-primary-color,var(--onoff-led-divi-primary,#ff9a3c)); --onoff-led-background:#15191f;
  --onoff-led-surface:#202630; --onoff-led-text:#f3f5f7; --onoff-led-muted:#bac4d1;
  --onoff-led-border:#536174; --onoff-led-success:#8fe0b0; --onoff-led-warning:#ffd17a;
  --onoff-led-danger:#ffb0ad; --onoff-led-radius:10px;
  box-sizing:border-box; color:var(--onoff-led-text); line-height:1.6; font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
:where(.onoff-led-account,.onoff-led-management) {
  background:var(--onoff-led-background); border-radius:var(--onoff-led-radius);
  padding:clamp(18px,3vw,40px); margin:24px auto; width:min(100%,1200px); min-width:0;
}
:is(.onoff-led-account,.onoff-led-management) :is(h1,h2,h3,h4,label,legend) { color:var(--onoff-led-text); line-height:1.3; }
:is(.onoff-led-account,.onoff-led-management) h1 { font-size:clamp(1.6rem,3.3vw,2.5rem); overflow-wrap:normal; }
:is(.onoff-led-account,.onoff-led-management) a { color:var(--onoff-led-accent); text-underline-offset:3px; }
:is(.onoff-led-account,.onoff-led-management) :is(input,select,textarea,button) { font:inherit; box-sizing:border-box; max-width:100%; }
:is(.onoff-led-account,.onoff-led-management) :is(input:not([type=checkbox]):not([type=radio]):not([type=hidden]),select,textarea) {
  width:100%; color:var(--onoff-led-text); background:var(--onoff-led-surface); border:1px solid var(--onoff-led-border); border-radius:6px; padding:11px 12px; min-height:44px;
}
.onoff-led-form { display:grid; gap:18px; max-width:760px; }
.onoff-led-form-row { min-width:0; }
.onoff-led-label { display:block; margin-bottom:7px; font-weight:600; }
.onoff-led-account-type { padding:16px; background:var(--onoff-led-surface); border-radius:var(--onoff-led-radius); }
.onoff-led-professional[hidden] { display:none; }
:is(.onoff-led-account,.onoff-led-management) .button, .onoff-led-button {
  display:inline-block; border:1px solid var(--onoff-led-accent); border-radius:6px; background:var(--onoff-led-accent); color:#15191f;
  padding:10px 16px; min-height:44px; font-weight:700; text-decoration:none; cursor:pointer; white-space:normal; text-align:center; margin:4px 2px 4px 0;
}
.onoff-led-button-secondary { background:transparent; color:var(--onoff-led-accent); }
:is(.onoff-led-account,.onoff-led-management) a.onoff-led-button-primary { color:#15191f; }
:where(.onoff-led-account,.onoff-led-management,.onoff-led-price-access) :focus-visible { outline:3px solid var(--onoff-led-accent); outline-offset:3px; }
.onoff-led-notice { display:block; padding:14px; border-left:4px solid var(--onoff-led-accent); background:var(--onoff-led-surface); color:var(--onoff-led-text); margin:12px 0; overflow-wrap:anywhere; }
.onoff-led-notice-error { border-color:var(--onoff-led-danger); }
.onoff-led-notice-pending { border-color:var(--onoff-led-warning); }
.onoff-led-notice-approved { border-color:var(--onoff-led-success); }
.onoff-led-notice-rejected { border-color:var(--onoff-led-danger); }
.onoff-led-dashboard { display:grid; grid-template-columns:repeat(auto-fit,minmax(160px,1fr)); gap:14px; margin:20px 0; }
.onoff-led-card { border:1px solid var(--onoff-led-border); border-radius:var(--onoff-led-radius); padding:20px; margin:14px 0; background:var(--onoff-led-surface); }
.onoff-led-card strong { display:block; font-size:1.75rem; }
.onoff-led-filters { display:flex; gap:12px; flex-wrap:wrap; align-items:end; margin:20px 0; }
.onoff-led-filters .onoff-led-form-row { flex:1 1 150px; }
.onoff-led-table-wrap { width:100%; overflow-x:auto; }
.onoff-led-table { border-collapse:collapse; width:100%; min-width:720px; }
.onoff-led-table :where(th,td) { text-align:left; padding:12px; border-bottom:1px solid var(--onoff-led-border); overflow-wrap:anywhere; }
.onoff-led-management .onoff-led-table :is(th,td) { background:var(--onoff-led-surface); color:var(--onoff-led-text); }
.onoff-led-management .onoff-led-table tbody tr:nth-child(n) td { background:var(--onoff-led-surface); color:var(--onoff-led-text); }
.onoff-led-status { display:inline-block; padding:3px 10px; border-radius:20px; background:var(--onoff-led-surface); border:1px solid currentColor; }
.onoff-led-status-pending { color:var(--onoff-led-warning); }
.onoff-led-status-approved { color:var(--onoff-led-success); }
.onoff-led-status-rejected { color:var(--onoff-led-danger); }
:where(.onoff-led-management,.onoff-led-express) dt { font-weight:700; color:var(--onoff-led-muted); }
:where(.onoff-led-management,.onoff-led-express) dd { margin:0 0 12px; overflow-wrap:anywhere; }
.onoff-led-price-access { display:block; background:var(--onoff-led-background); padding:12px; border-radius:var(--onoff-led-radius); font-size:.9rem; }
.onoff-led-account .woocommerce-form-login { width:100%; box-sizing:border-box; padding:clamp(12px,2vw,20px); }
.onoff-led-account .woocommerce form .form-row input.input-text,
.onoff-led-account .woocommerce form .form-row textarea {
  color:var(--onoff-led-text); background:var(--onoff-led-surface); border:1px solid var(--onoff-led-border); border-radius:6px; box-sizing:border-box;
}
.onoff-led-account .woocommerce button.button {
  background:var(--onoff-led-accent); color:#15191f; border:1px solid var(--onoff-led-accent); border-radius:6px; padding:12px 16px;
}
.onoff-led-account .u-columns { display:block; }
.onoff-led-account :where(.u-column1,.u-column2) { width:100%; float:none; }
@media(max-width:700px) {
 .onoff-led-account .woocommerce-MyAccount-navigation,
 .onoff-led-account .woocommerce-MyAccount-content { float:none; width:100%; }
 .onoff-led-filters { display:block; }
 .onoff-led-filters .onoff-led-form-row { margin:12px 0; }
 .onoff-led-table :where(th,td) { padding:8px; }
}

/* V1.1 additive styling API. Child-theme onoff-led.css loads afterwards. */
body.onoff-led-portal-page:not(.onoff-led-management-page) { --onoff-led-background:#15191f; background:var(--onoff-led-background); }
.onoff-led-portal-page:not(.onoff-led-management-page) :is(#page,#content,#main-content,.site-content,.content-area,.site-main,.entry-content,.wp-site-blocks) { background:var(--onoff-led-background); }
.onoff-led-portal-page:not(.onoff-led-management-page) #main-content .et_pb_section { background:var(--onoff-led-background); }
.onoff-led-notice { white-space:pre-line; }
.onoff-led-registration-grid { max-width:none; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px 28px; }
.onoff-led-registration-grid > :not(.onoff-led-grid-field),.onoff-led-grid-full { grid-column:1 / -1; }
.onoff-led-grid-field { min-width:0; }
.onoff-led-management { width:min(100%,1500px); }
.onoff-led-management-header { display:flex; justify-content:space-between; align-items:start; gap:24px; flex-wrap:wrap; }
.onoff-led-brand { font-size:.8rem; color:var(--onoff-led-muted); margin:0; }
.onoff-led-management .onoff-led-dashboard { gap:24px; margin:28px 0; }
.onoff-led-management .onoff-led-card { padding:26px; margin:22px 0; }
.onoff-led-management .onoff-led-filters { gap:20px; margin:28px 0; }
.onoff-led-management .onoff-led-table :is(th,td) { padding:18px; }
.onoff-led-management > .onoff-led-form { margin:24px 0; }
.onoff-led-recovery-navigation { margin-bottom:24px; }
.onoff-led-recovery-navigation [aria-current=page] { border-width:3px; }
@media(max-width:700px) {
 .onoff-led-registration-grid { grid-template-columns:minmax(0,1fr); }
 .onoff-led-management-header { display:block; }
 .onoff-led-management .onoff-led-card { padding:16px; }
 .onoff-led-management .onoff-led-table :is(th,td) { padding:10px; }
}

/* V1.1.1: the shortcode owns its card, never the theme container or sidebar. */
.onoff-led-management { max-width:100%; box-sizing:border-box; }
.onoff-led-enrollment-results { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr)); gap:20px; }
.onoff-led-enrollment-result { min-width:0; overflow-wrap:anywhere; }
.onoff-led-enrollment-result .onoff-led-client-name { font-size:1.1rem; }

/* Registration section headings are separators, not cards. */
.onoff-led-registration-grid .onoff-led-section { border:0; border-top:1px solid var(--onoff-led-border); border-radius:0; padding:22px 0 0; margin:8px 0 0; min-width:0; background:transparent; }
.onoff-led-registration-grid .onoff-led-section-title { font-size:1.15rem; font-weight:650; padding:0 14px 0 0; margin:0 0 16px; background:transparent; color:var(--onoff-led-text); border:0; }
.onoff-led-section-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px 28px; }
.onoff-led-registration-grid [hidden] { display:none; }
.onoff-led-field-help,.onoff-led-legal { font-size:.9rem; margin:0; }
.onoff-led-billing-toggle .onoff-led-label { font-weight:400; line-height:1.6; }
.onoff-led-billing-toggle input[type=checkbox] { margin-right:8px; }
@media(max-width:700px) { .onoff-led-section-grid { grid-template-columns:minmax(0,1fr); } }

.onoff-led-management a.onoff-led-button{color:#15202b!important;line-height:1.4;min-height:48px;padding:12px 18px;display:inline-flex;align-items:center;justify-content:center}
.onoff-led-management a.onoff-led-button-secondary{color:var(--onoff-led-text,#f4f6fa)!important}
.onoff-led-management .onoff-led-navigation{gap:12px;margin-bottom:28px}.onoff-led-logistics-summary{padding:24px 0;line-height:1.8}

/* V2.1.1 stable version label, matching logistics header. */
.onoff-led-management-header{gap:16px 24px;margin-bottom:16px}
.onoff-led-management .onoff-led-brand{text-align:right}
.onoff-led-management .onoff-led-version{display:block;font-size:.75rem;line-height:1.5;font-weight:400;letter-spacing:normal;margin-top:4px;color:var(--onoff-led-muted)}
@media(max-width:540px){.onoff-led-management .onoff-led-brand{text-align:left}}

/* V2.2 commercial sections: theme-safe headings, overridable public selectors. */
.onoff-led-management :is(.onoff-led-shipping,.onoff-led-rounds) fieldset { background:var(--onoff-led-surface);color:var(--onoff-led-text);border:1px solid var(--onoff-led-border);padding:20px;margin:20px 0;min-width:0; }
.onoff-led-management :is(.onoff-led-shipping,.onoff-led-rounds) legend { background:var(--onoff-led-surface);color:var(--onoff-led-text);padding:4px 10px;font-weight:600;max-width:100%;overflow-wrap:anywhere; }
/* V2.4: stable, theme-overridable catalogue and length presentation. */
.onoff-led-lengths { margin-block: 1rem; }
.onoff-led-lengths label { display: block; }
.onoff-led-length-shortcuts { display: flex; flex-wrap: wrap; gap: .4rem; margin-block: .6rem; }
.onoff-led-length-summary { font-weight: 600; margin-block: .6rem; }
.onoff-led-length-breakdown { font-size: .94em; }
.onoff-led-catalog .onoff-led-table-wrap { max-width: 100%; overflow-x: auto; }
.onoff-led-catalog td { overflow-wrap: anywhere; vertical-align: top; }
.onoff-led-catalog details { padding-block: .6rem; border-bottom: 1px solid currentColor; }
.onoff-led-length-line .wc-block-cart-item__quantity::after { content: 'mètres au total'; display: block; font-size: .85em; }
/* Checkout already names the commercial lengths; suppress Woo's unqualified native quantity badge. */
.wc-block-components-order-summary .onoff-led-length-line .wc-block-components-order-summary-item__quantity { display: none; }
/* V2.4.1 workspace: public, stable and intentionally overridable selectors. */
.onoff-led-workspace .onoff-led-management-header { display:flex; align-items:flex-start; justify-content:space-between; flex-wrap:wrap; }
.onoff-led-workspace .onoff-led-management-header h1 { margin-bottom:.35rem; }
.onoff-led-welcome { margin:0; color:var(--onoff-led-muted); font-size:1.05rem; }
.onoff-led-header-tools { display:flex; align-items:center; gap:1.5rem; flex-wrap:wrap; }
.onoff-led-primary-nav { padding-block:1rem; border-block:1px solid var(--onoff-led-border); }
.onoff-led-primary-nav .is-active { border-color:var(--onoff-led-accent); background:var(--onoff-led-accent); color:#15202b; }
.onoff-led-secondary-nav { gap:.6rem; margin-block:1rem 2rem; }
.onoff-led-secondary-nav .is-active { box-shadow:inset 0 -3px var(--onoff-led-accent); }
.onoff-led-summary-grid,.onoff-led-engine-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:1rem; margin-block:1rem 2rem; }
.onoff-led-summary-card { display:flex; flex-direction:column; justify-content:flex-start; gap:.6rem; min-height:150px; text-decoration:none; }
.onoff-led-summary-card strong { display:block; font-size:2.2rem; line-height:1.2; color:var(--onoff-led-accent); }
.onoff-led-summary-card small { color:var(--onoff-led-muted); }
.onoff-led-workspace .onoff-led-summary-grid .onoff-led-summary-card { margin:0; padding:24px; text-decoration:none; color:var(--onoff-led-text); }
.onoff-led-workspace .onoff-led-summary-grid a.onoff-led-summary-card:hover { border-color:var(--onoff-led-accent); }
.onoff-led-management.onoff-led-workspace .onoff-led-navigation a,.onoff-led-management.onoff-led-workspace a.onoff-led-settings-link { text-decoration:none; }
.onoff-led-state { display:inline-block; font-size:.95rem; }
.onoff-led-state.is-on { color:#92d8b1; }.onoff-led-state.is-off { color:var(--onoff-led-muted); }
.onoff-led-workspace .onoff-led-table-wrap { position:relative; max-width:100%; overflow-x:auto; }
.onoff-led-capabilities-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:1rem; }
.onoff-led-capabilities-grid label { display:block; padding:.7rem; border-bottom:1px solid var(--onoff-led-border); }
.onoff-led-capabilities-grid small { display:block; color:var(--onoff-led-muted); font-size:.75rem; overflow-wrap:anywhere; }
@media(max-width:540px) { .onoff-led-summary-grid,.onoff-led-engine-grid { grid-template-columns:1fr; }.onoff-led-header-tools { width:100%;justify-content:space-between; }.onoff-led-primary-nav { display:flex; flex-wrap:wrap; }.onoff-led-primary-nav a { flex:1 1 42%; } }

/* V2.4.1 visual polish: presentation only; keep these public selectors overridable. */
.onoff-led-workspace .onoff-led-initial-import { min-width:0; max-width:100%; overflow-wrap:anywhere; background:transparent; border:0; padding:0; }
.onoff-led-workspace .onoff-led-initial-import legend { background:transparent; color:inherit; }
.onoff-led-workspace .onoff-led-header-tools { margin-left:auto; justify-content:flex-end; gap:.65rem 1rem; max-width:100%; }
.onoff-led-workspace .onoff-led-signature { margin:0; padding:0; font-size:.75rem; font-weight:400; line-height:1.5; color:var(--onoff-led-muted); text-align:right; }
.onoff-led-workspace .onoff-led-signature .onoff-led-version { display:inline; margin:0; font-size:inherit; color:inherit; }
.onoff-led-workspace .onoff-led-primary-nav + .onoff-led-secondary-nav { margin-top:1.5rem; }
.onoff-led-workspace :is(.onoff-led-primary-nav,.onoff-led-secondary-nav) a,
.onoff-led-workspace .onoff-led-settings-link { transition:background-color 140ms ease,border-color 140ms ease,transform 140ms ease; }
@media (hover:hover) {
  .onoff-led-workspace :is(.onoff-led-primary-nav,.onoff-led-secondary-nav) a:not(.is-active):hover,
  .onoff-led-workspace .onoff-led-settings-link:not(.is-active):hover { background:color-mix(in srgb,var(--onoff-led-accent) 8%,transparent); border-color:var(--onoff-led-accent); transform:translateY(-1px); }
}
@media (max-width:540px) {
  .onoff-led-workspace .onoff-led-header-tools { justify-content:flex-end; }
  .onoff-led-workspace .onoff-led-signature { flex:0 1 auto; }
}
@media (prefers-reduced-motion:reduce) {
  .onoff-led-workspace :is(.onoff-led-primary-nav,.onoff-led-secondary-nav) a,
  .onoff-led-workspace .onoff-led-settings-link { transition:none; transform:none !important; }
}
