/*
 * almc-kit-reset — the Elementor kit's blanket control rules, stopped at the
 * edge of an ALMC surface.
 *
 * THE DEFECT, MEASURED on the live /cuenta/ (2026-09-10, headless Chrome,
 * signed in): the kit 100015515 paints EVERY bare control on the document —
 *
 *   .elementor-kit-100015515 button,
 *   .elementor-kit-100015515 input[type="button"],
 *   .elementor-kit-100015515 input[type="submit"]            (0,1,1)
 *      colour #FFFFFF, background-image linear-gradient(180deg,#5B9069 85%,#507D5C),
 *      background-color transparent, border-style none, border-radius 10px 0,
 *      font Poppins 14px/12px 500
 *   ...same list :hover, :focus                              (0,2,1)
 *      colour #F8F8F8, background-image linear-gradient(180deg,#3F3F3F 90%,#1E2F22)
 *   .elementor-kit-100015515 label                           (0,1,1)
 *      colour #474747, Poppins 16px/20px 700, text-transform uppercase
 *
 * An ALMC module writes its controls as ONE class — `.almc-banco__mark`,
 * `.almc-banco__rev-head`, `.almc-drop` — which is (0,1,0) and therefore loses
 * to the kit on every one of those properties, whatever order the sheets
 * print in. That is the root: not a missing override in each module, an
 * arithmetic the modules cannot win. Measured consequences, before this file:
 *
 *   .almc-banco__rev-head   white on #5B9069  3.72:1, and #3F3F3F on hover
 *   .almc-banco__mark       border-style none, line-height 12px, colour #FFFFFF
 *   .almc-drop              #474747 on #2F5C3D  1.20:1, UPPERCASE
 *
 * THE FIX. One rule per kit rule, with EXACTLY the kit's own specificity, in a
 * sheet printed immediately after the kit's:
 *
 *   kit    .elementor-kit-100015515 button          (0,1,1)
 *   here   [class*="almc-"] button                  (0,1,1)   later, so it wins
 *   kit    .elementor-kit-100015515 button:hover    (0,2,1)
 *   here   [class*="almc-"] button:hover            (0,2,1)   later, so it wins
 *
 * Nothing here uses !important and nothing here is one step above the kit. The
 * consequence is the guarantee: a rule that loses to this file is a rule that
 * already loses to the kit today, so no module can regress. Every ALMC module
 * stylesheet prints later still (measured on /cuenta/: the kit is link 12,
 * this file 13, every almc-* sheet 80 and after), so a module rule that ties
 * this file wins on order.
 *
 * The scope is the attribute selector, never a route: a page with no element
 * carrying an `almc-` class matches nothing here, which is why the kit's own
 * pages — the lessons, the landings, every Elementor-authored widget — are
 * untouched by construction and not by a list that drifts.
 *
 * Per-control escape hatches: set --almc-ctl-* on the control (a custom
 * property assignment does not compete with the kit at all, so a module can
 * set it from a single class and still win).
 */

/* ------------------------------------------------------------- 1. the fill.
 * The kit's gradient and its white ink are replaced by the house base the
 * modules already ask for in their own (0,1,0) rules: the card ground and the
 * ink, from design/tokens.css, which are declared on the ALMC roots.
 * Fallbacks keep the file inert where those tokens are not declared.
 */
[class*="almc-"] button:not(:where(#wpadminbar *, .elementor-button, .elementor-button *)),
[class*="almc-"] input[type="button"]:not(:where(#wpadminbar *)),
[class*="almc-"] input[type="submit"]:not(:where(#wpadminbar *)),
button[class*="almc-"]:not(:where(#wpadminbar *, .elementor-button)) {
	background-color: var(--almc-ctl-bg, var(--card, transparent));
	background-image: var(--almc-ctl-bg-image, none);
	color: var(--almc-ctl-ink, var(--ink, currentColor));
	border-radius: var(--almc-ctl-radius, var(--r-sm, 10px));
	font-family: var(--almc-ctl-font, inherit);
	font-size: var(--almc-ctl-size, var(--fs-small, inherit));
	font-weight: var(--almc-ctl-weight, inherit);
	line-height: var(--almc-ctl-line, 1.3);
}

/* --------------------------------------------------- 2. hover, focus, active.
 * The kit repaints every control near-black on hover and on focus. Here the
 * base simply holds: a state that means something is the module's business,
 * and every module state rule is (0,2,1) or more, or prints later, or both.
 */
[class*="almc-"] button:not(:where(#wpadminbar *, .elementor-button, .elementor-button *)):hover,
[class*="almc-"] button:not(:where(#wpadminbar *, .elementor-button, .elementor-button *)):focus,
[class*="almc-"] button:not(:where(#wpadminbar *, .elementor-button, .elementor-button *)):active,
[class*="almc-"] input[type="button"]:not(:where(#wpadminbar *)):hover,
[class*="almc-"] input[type="button"]:not(:where(#wpadminbar *)):focus,
[class*="almc-"] input[type="submit"]:not(:where(#wpadminbar *)):hover,
[class*="almc-"] input[type="submit"]:not(:where(#wpadminbar *)):focus,
button[class*="almc-"]:not(:where(#wpadminbar *, .elementor-button)):hover,
button[class*="almc-"]:not(:where(#wpadminbar *, .elementor-button)):focus,
button[class*="almc-"]:not(:where(#wpadminbar *, .elementor-button)):active {
	background-color: var(--almc-ctl-bg-hover, var(--almc-ctl-bg, var(--card, transparent)));
	background-image: var(--almc-ctl-bg-image-hover, var(--almc-ctl-bg-image, none));
	color: var(--almc-ctl-ink-hover, var(--almc-ctl-ink, var(--ink, currentColor)));
}

/* ------------------------------------------------------------ 3. the label.
 * The kit shouts every label of the member area in uppercase 700 and paints it
 * #474747 — which is 1.20:1 over the dark upload panel it sits on. Case,
 * family, size, weight and colour all go back to what the surface set around
 * the label.
 *
 * The colour is `inherit`, NOT the ink token: a label sits on whatever panel
 * encloses it, and half of them are dark. Measured on /cuenta/: pinning the ink
 * token here put #1E2F22 on the #2F5C3D upload panel, 1.00:1 — a worse defect
 * than the kit's. Inheriting takes the on-dark colour the panel already set on
 * itself, and the light panels keep their own ink unchanged.
 */
[class*="almc-"] label:not(:where(#wpadminbar *)),
label[class*="almc-"]:not(:where(#wpadminbar *)) {
	color: var(--almc-ctl-label-ink, inherit);
	font-family: var(--almc-ctl-label-font, inherit);
	font-size: var(--almc-ctl-label-size, inherit);
	font-weight: var(--almc-ctl-label-weight, inherit);
	line-height: var(--almc-ctl-label-line, 1.3);
	text-transform: var(--almc-ctl-label-case, none);
}
