/*
 * almc-tema — the controls the Elementor theme paints, raised to the floors of
 * apps/programas-wp/design/DESIGN-SYSTEM.md.
 *
 * No theme file and no plugin file is edited. Every rule here beats exactly one
 * author — the Elementor kit 100015515 — and loses to any per-widget setting,
 * to every plugin rule written with two or more classes, and to every ALMC
 * module. That is done with specificity, not with !important:
 *
 *   kit       .elementor-kit-100015515 .elementor-button       (0,2,0)
 *   here      body.elementor-kit-100015515 .elementor-button   (0,2,1)
 *   kit       .elementor-kit-100015515 button                  (0,1,1)
 *   here      body.elementor-kit-100015515 button              (0,1,2)
 *   PowerPack .pp-login-form button.pp-lf-toggle-pw            (0,2,1) still wins
 *
 * The :not(:where(...)) exclusion costs zero specificity, so the ALMC scopes
 * and the admin bar are fenced off without changing any of the weights above.
 *
 * The geometry floor (48px target) is the one rule that has to beat a
 * per-widget padding setting, so its selector repeats the kit class to reach
 * (0,4,1).
 */

/* ------------------------------------------------------------------ tokens.
 * Declared on the kit body, never on :root, so nothing leaks into a document
 * that does not carry the Elementor kit. These are the values
 * design/DESIGN-SYSTEM.md already proves; that shared file is not touched.
 *
 *   g-600 #40724D  white on it 5.63:1
 *   g-800 #2C5537  white on it 8.53:1
 *   g-900 #1E2F22  white on it 14.14:1
 *
 * The kit's own fill, the top stop of its gradient, is 3.72:1 with white and
 * is banned behind text by the design system.
 */
body.elementor-kit-100015515 {
	--almc-tema-fill-from: #40724D;
	--almc-tema-fill-to: #2C5537;
	--almc-tema-fill-hover-from: #2C5537;
	--almc-tema-fill-hover-to: #1E2F22;
	--almc-tema-on-fill: #FFFFFF;
	--almc-tema-link: #40724D;
	--almc-tema-link-hover: #2C5537;
	--almc-tema-ring: #1E2F22;
	--almc-tema-ring-gap: #FFFFFF;
	--almc-tema-on-dark: #9CCBA8;
	--almc-tema-on-dark-hover: #E4F1E7;
}

/* -------------------------------------------------------------- 1. the fill.
 * Colour only, on every control the kit paints: the Elementor button widget
 * and form submit, and the bare button/input the kit also reaches. Nothing
 * about size or spacing here, so a plugin dialog cannot be re-laid out by it.
 */
body.elementor-kit-100015515 .elementor-button:not(:where([class*="almc-"],[class*="almc-"] *,#wpadminbar,#wpadminbar *)),
body.elementor-kit-100015515 button:not(:where(.elementor-button,[class*="almc-"],[class*="almc-"] *,#wpadminbar,#wpadminbar *)),
body.elementor-kit-100015515 input[type="button"]:not(:where([class*="almc-"],[class*="almc-"] *,#wpadminbar,#wpadminbar *)),
body.elementor-kit-100015515 input[type="submit"]:not(:where([class*="almc-"],[class*="almc-"] *,#wpadminbar,#wpadminbar *)) {
	background-color: transparent;
	background-image: linear-gradient(135deg, var(--almc-tema-fill-from) 0%, var(--almc-tema-fill-to) 100%);
	color: var(--almc-tema-on-fill);
}

/* ---------------------------------------- 2. hover, focus and active states. */
body.elementor-kit-100015515 .elementor-button:not(:where([class*="almc-"],[class*="almc-"] *,#wpadminbar,#wpadminbar *)):hover,
body.elementor-kit-100015515 .elementor-button:not(:where([class*="almc-"],[class*="almc-"] *,#wpadminbar,#wpadminbar *)):focus,
body.elementor-kit-100015515 .elementor-button:not(:where([class*="almc-"],[class*="almc-"] *,#wpadminbar,#wpadminbar *)):active,
body.elementor-kit-100015515 button:not(:where(.elementor-button,[class*="almc-"],[class*="almc-"] *,#wpadminbar,#wpadminbar *)):hover,
body.elementor-kit-100015515 button:not(:where(.elementor-button,[class*="almc-"],[class*="almc-"] *,#wpadminbar,#wpadminbar *)):focus,
body.elementor-kit-100015515 button:not(:where(.elementor-button,[class*="almc-"],[class*="almc-"] *,#wpadminbar,#wpadminbar *)):active,
body.elementor-kit-100015515 input[type="submit"]:not(:where([class*="almc-"],[class*="almc-"] *,#wpadminbar,#wpadminbar *)):hover,
body.elementor-kit-100015515 input[type="submit"]:not(:where([class*="almc-"],[class*="almc-"] *,#wpadminbar,#wpadminbar *)):focus,
body.elementor-kit-100015515 input[type="button"]:not(:where([class*="almc-"],[class*="almc-"] *,#wpadminbar,#wpadminbar *)):hover,
body.elementor-kit-100015515 input[type="button"]:not(:where([class*="almc-"],[class*="almc-"] *,#wpadminbar,#wpadminbar *)):focus {
	background-color: transparent;
	background-image: linear-gradient(135deg, var(--almc-tema-fill-hover-from) 0%, var(--almc-tema-fill-hover-to) 100%);
	color: var(--almc-tema-on-fill);
}

/* ---------------------------------------------------------- 3. the focus ring.
 * A dark ring with a white gap. The indicator has three boundaries and every
 * one of them has to reach the 3:1 non-text floor: the fill against the gap,
 * the gap against the ring, and the ring against the page it sits in. A dark
 * ring straight on the dark fill would be 2.51:1 — that is what the gap is for,
 * and tests/test-tema.php measures all three.
 * almc-tema:ring #1E2F22 on #FFFFFF #F3F3F3
 * almc-tema:ringgap #FFFFFF on #40724D #2C5537 #1E2F22
 */
body.elementor-kit-100015515 .elementor-button:not(:where([class*="almc-"],[class*="almc-"] *,#wpadminbar,#wpadminbar *)):focus,
body.elementor-kit-100015515 .elementor-button:not(:where([class*="almc-"],[class*="almc-"] *,#wpadminbar,#wpadminbar *)):focus-visible,
body.elementor-kit-100015515 button:not(:where(.elementor-button,[class*="almc-"],[class*="almc-"] *,#wpadminbar,#wpadminbar *)):focus,
body.elementor-kit-100015515 button:not(:where(.elementor-button,[class*="almc-"],[class*="almc-"] *,#wpadminbar,#wpadminbar *)):focus-visible,
body.elementor-kit-100015515 input[type="submit"]:not(:where([class*="almc-"],[class*="almc-"] *,#wpadminbar,#wpadminbar *)):focus,
body.elementor-kit-100015515 input[type="button"]:not(:where([class*="almc-"],[class*="almc-"] *,#wpadminbar,#wpadminbar *)):focus {
	outline: 3px solid var(--almc-tema-ring);
	outline-offset: 3px;
	box-shadow: 0 0 0 3px var(--almc-tema-ring-gap);
}

/* ------------------------------------------------------------- 4. the label.
 * 16px is the floor of the type scale; the kit paints 14px inside a 12px line
 * box. A per-widget typography setting (three classes or more) still wins.
 */
body.elementor-kit-100015515 .elementor-button:not(:where([class*="almc-"],[class*="almc-"] *,#wpadminbar,#wpadminbar *)) {
	font-size: 16px;
	line-height: 1.2;
}

/* ------------------------------------------------------------ 5. the target.
 * 48px is the floor for an interactive target. inline-flex centres the label
 * inside the taller box without any padding of ours, so a widget's own padding
 * is left alone.
 */
body.elementor-kit-100015515.elementor-kit-100015515.elementor-kit-100015515 .elementor-button:not(:where([class*="almc-"],[class*="almc-"] *,#wpadminbar,#wpadminbar *)) {
	min-height: 48px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

/* ------------------------------------------------------------- 6. the links.
 * The kit paints every link with its primary: 3.72:1 on white and 3.36:1 on
 * the kit's own grey ground. Same banned colour, same defect.
 * almc-tema:ground #FFFFFF #F3F3F3
 */
body.elementor-kit-100015515 a:not(:where(.elementor-button,.elementor-button *,[class*="almc-"],[class*="almc-"] *,#wpadminbar,#wpadminbar *)) {
	color: var(--almc-tema-link);
}

/* almc-tema:ground #FFFFFF #F3F3F3 */
body.elementor-kit-100015515 a:not(:where(.elementor-button,.elementor-button *,[class*="almc-"],[class*="almc-"] *,#wpadminbar,#wpadminbar *)):hover,
body.elementor-kit-100015515 a:not(:where(.elementor-button,.elementor-button *,[class*="almc-"],[class*="almc-"] *,#wpadminbar,#wpadminbar *)):focus {
	color: var(--almc-tema-link-hover);
}

/* --------------------------------------------------------------- 7. the h5.
 * The kit paints h5 in the same banned primary. Colour only: the type scale of
 * the theme's headings is not this module's business.
 * almc-tema:ground #FFFFFF #F3F3F3
 */
body.elementor-kit-100015515 h5:not(:where([class*="almc-"],[class*="almc-"] *,#wpadminbar,#wpadminbar *)) {
	color: var(--almc-tema-link);
}

/* ---------------------------------------------------------- 8. the footer.
 * The site footer paints #202B38. No single link colour clears 4.5:1 on both a
 * white page and that ground — the two requirements are arithmetically
 * exclusive — so the footer takes the design system's on-dark accent instead,
 * and rules 6 and 7 above never reach it. Measured, on the live footer, before
 * this module existed: the kit's own link colour was 3.85:1 there, already
 * under the floor.
 * almc-tema:ground #202B38
 */
body.elementor-kit-100015515 footer.elementor-location-footer a:not(:where(.elementor-button,.elementor-button *,[class*="almc-"],[class*="almc-"] *)),
body.elementor-kit-100015515 footer.elementor-location-footer h5:not(:where([class*="almc-"],[class*="almc-"] *)) {
	color: var(--almc-tema-on-dark);
}

/* almc-tema:ground #202B38 */
body.elementor-kit-100015515 footer.elementor-location-footer a:not(:where(.elementor-button,.elementor-button *,[class*="almc-"],[class*="almc-"] *)):hover,
body.elementor-kit-100015515 footer.elementor-location-footer a:not(:where(.elementor-button,.elementor-button *,[class*="almc-"],[class*="almc-"] *)):focus {
	color: var(--almc-tema-on-dark-hover);
}
